/*!
 * # Semantic UI - Reset
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin);*,:after,:before{box-sizing:inherit}html{box-sizing:border-box}input[type=email],input[type=password],input[type=search],input[type=text]{-webkit-appearance:none;-moz-appearance:none}
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline dotted}b,strong{font-weight:bolder}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[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{color:inherit;display:table;max-width:100%;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio],legend{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-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}
/*!
 * # Semantic UI - Site
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
body,html{height:100%}html{font-size:14px}body,h1,h2,h3,h4,h5{font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;padding:0}body{margin:0;overflow-x:hidden;min-width:320px;background:#fff;font-size:14px;color:rgba(0,0,0,.87);font-smoothing:antialiased;line-height:1.4285em}h1,h2,h3,h4,h5{line-height:1.28571429em;margin:calc(2rem - .14285714em) 0 1rem;font-weight:700}h1{min-height:1rem;font-size:2rem}h2{font-size:1.71428571rem}h3{font-size:1.28571429rem}h4{font-size:1.07142857rem}h5{font-size:1rem}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,p:last-child{margin-bottom:0}p{margin:0 0 1em;line-height:1.4285em}a,a:hover{color:#4183c4;text-decoration:none}a:hover{color:#1e70bf}::-webkit-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::-moz-selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}::selection{background-color:#cce2ff;color:rgba(0,0,0,.87)}input::-webkit-selection,textarea::-webkit-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::-moz-selection,textarea::-moz-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::selection,textarea::selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}body ::-webkit-scrollbar{-webkit-appearance:none;width:10px;height:10px}body ::-webkit-scrollbar-track{background:rgba(0,0,0,.1);border-radius:0}body ::-webkit-scrollbar-thumb{cursor:pointer;border-radius:5px;background:rgba(0,0,0,.25);transition:color .2s ease}body ::-webkit-scrollbar-thumb:window-inactive{background:rgba(0,0,0,.15)}body ::-webkit-scrollbar-thumb:hover{background:rgba(128,135,139,.8)}body .ui.inverted::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}body .ui.inverted::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)}body .ui.inverted::-webkit-scrollbar-thumb:window-inactive{background:rgba(255,255,255,.15)}body .ui.inverted::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}
/*!
 * # Semantic UI - Button
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
@keyframes button-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.ui.button,.ui.button:hover{box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.button{cursor:pointer;display:inline-block;min-height:1em;outline:0;border:0;vertical-align:baseline;background:#e0e1e2;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;margin:0 .25em 0 0;padding:.78571429em 1.5em;text-transform:none;text-shadow:none;font-weight:700;line-height:1em;font-style:normal;text-align:center;text-decoration:none;border-radius:.28571429rem;user-select:none;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;will-change:'';-webkit-tap-highlight-color:transparent;color:rgba(0,0,0,.6)}.ui.button:hover{background-color:#cacbcd;background-image:none;color:rgba(0,0,0,.8)}.ui.button:hover .icon{opacity:.85}.ui.button:focus{background-color:#cacbcd;color:rgba(0,0,0,.8);background-image:''!important;box-shadow:''!important}.ui.button:focus .icon{opacity:.85}.ui.button:active{background-color:#babbbc;background-image:''}.ui.active.button:active,.ui.button:active{color:rgba(0,0,0,.9);box-shadow:0 0 0 1px transparent inset,none}.ui.active.button{box-shadow:0 0 0 1px transparent inset}.ui.active.button,.ui.active.button:hover{color:rgba(0,0,0,.95)}.ui.active.button,.ui.active.button:active,.ui.active.button:hover{background-color:#c0c1c2;background-image:none}.ui.loading.loading.loading.loading.loading.loading.button{position:relative;cursor:default;text-shadow:none!important;color:transparent!important;opacity:1;pointer-events:auto;transition:all 0s linear,opacity .1s ease}.ui.loading.button:after,.ui.loading.button:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem}.ui.loading.button:before{border:.2em solid rgba(0,0,0,.15)}.ui.loading.button:after{animation:button-spin .6s linear;animation-iteration-count:infinite;border-color:#fff transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}.ui.labeled.icon.loading.button .icon{background-color:transparent;box-shadow:none}.ui.basic.loading.button:not(.inverted):before{border-color:rgba(0,0,0,.1)}.ui.basic.loading.button:not(.inverted):after{border-top-color:#767676}.ui.button:disabled,.ui.buttons .disabled.button,.ui.disabled.active.button,.ui.disabled.button,.ui.disabled.button:hover{cursor:default;opacity:.45!important;background-image:none!important;box-shadow:none!important;pointer-events:none!important}.ui.basic.buttons .ui.disabled.button{border-color:rgba(34,36,38,.5)}.ui.animated.button{position:relative;overflow:hidden;padding-right:0!important;vertical-align:middle;z-index:1}.ui.animated.button .content{will-change:transform,opacity}.ui.animated.button .visible.content{position:relative;margin-right:1.5em}.ui.animated.button .hidden.content{position:absolute;width:100%}.ui.animated.button .hidden.content,.ui.animated.button .visible.content{transition:right .3s ease 0s}.ui.animated.button .visible.content{left:auto;right:0}.ui.animated.button .hidden.content{top:50%;left:auto;right:-100%;margin-top:-.5em}.ui.animated.button:focus .visible.content,.ui.animated.button:hover .visible.content{left:auto;right:200%}.ui.animated.button:focus .hidden.content,.ui.animated.button:hover .hidden.content{left:auto;right:0}.ui.vertical.animated.button .hidden.content,.ui.vertical.animated.button .visible.content{transition:top .3s ease,transform .3s ease}.ui.vertical.animated.button .visible.content{transform:translateY(0%);right:auto}.ui.vertical.animated.button .hidden.content{top:-50%;left:0;right:auto}.ui.vertical.animated.button:focus .visible.content,.ui.vertical.animated.button:hover .visible.content{transform:translateY(200%);right:auto}.ui.vertical.animated.button:focus .hidden.content,.ui.vertical.animated.button:hover .hidden.content{top:50%;right:auto}.ui.fade.animated.button .hidden.content,.ui.fade.animated.button .visible.content{transition:opacity .3s ease,transform .3s ease}.ui.fade.animated.button .visible.content{left:auto;right:auto;opacity:1;transform:scale(1)}.ui.fade.animated.button .hidden.content{opacity:0;left:0;right:auto;transform:scale(1.5)}.ui.fade.animated.button:focus .visible.content,.ui.fade.animated.button:hover .visible.content{left:auto;right:auto;opacity:0;transform:scale(.75)}.ui.fade.animated.button:focus .hidden.content,.ui.fade.animated.button:hover .hidden.content{left:0;right:auto;opacity:1;transform:scale(1)}.ui.inverted.button{box-shadow:0 0 0 2px #fff inset!important;background:0 0;color:#fff;text-shadow:none!important}.ui.inverted.buttons .button{margin:0 0 0 -2px}.ui.inverted.buttons .button:first-child{margin-left:0}.ui.inverted.vertical.buttons .button{margin:0 0 -2px}.ui.inverted.vertical.buttons .button:first-child{margin-top:0}.ui.inverted.button:hover{background:#fff;box-shadow:0 0 0 2px #fff inset!important;color:rgba(0,0,0,.8)}.ui.inverted.button.active,.ui.inverted.button:focus{background:#fff;box-shadow:0 0 0 2px #fff inset!important;color:rgba(0,0,0,.8)}.ui.inverted.button.active:focus{background:#dcddde;box-shadow:0 0 0 2px #dcddde inset!important;color:rgba(0,0,0,.8)}.ui.labeled.button:not(.icon){display:inline-flex;flex-direction:row;background:0 0!important;padding:0!important;border:0!important;box-shadow:none!important}.ui.labeled.button>.button{margin:0}.ui.labeled.button>.label{display:flex;align-items:center;margin:0 0 0 -1px!important;padding:'';font-size:1em;border-color:rgba(34,36,38,.15)}.ui.labeled.button>.tag.label:before{width:1.85em;height:1.85em}.ui.labeled.button:not([class*="left labeled"])>.button{border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.button:not([class*="left labeled"])>.label{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="left labeled"].button>.button{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="left labeled"].button>.label{border-top-right-radius:0;border-bottom-right-radius:0}.ui.facebook.button{background-color:#3b5998;color:#fff;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.facebook.button:hover{background-color:#304d8a;color:#fff;text-shadow:none}.ui.facebook.button:active,.ui.twitter.button,.ui.twitter.button:hover{background-color:#2d4373;color:#fff;text-shadow:none}.ui.twitter.button{background-color:#55acee;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.twitter.button:hover{background-color:#35a2f4}.ui.google.plus.button,.ui.twitter.button:active{background-color:#2795e9;color:#fff;text-shadow:none}.ui.google.plus.button{background-color:#dd4b39;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.google.plus.button:hover{background-color:#e0321c;color:#fff;text-shadow:none}.ui.google.plus.button:active{background-color:#c23321;color:#fff;text-shadow:none}.ui.linkedin.button,.ui.linkedin.button:hover{background-color:#1f88be;color:#fff;text-shadow:none}.ui.linkedin.button:hover{background-color:#147baf}.ui.linkedin.button:active,.ui.youtube.button,.ui.youtube.button:hover{background-color:#186992;color:#fff;text-shadow:none}.ui.youtube.button{background-color:red;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.youtube.button:hover{background-color:#e60000}.ui.instagram.button:hover,.ui.youtube.button:active{background-color:#c00;color:#fff;text-shadow:none}.ui.instagram.button{background-color:#49769c;text-shadow:none}.ui.instagram.button:hover{background-color:#3d698e}.ui.instagram.button:active,.ui.pinterest.button:hover{background-color:#395c79;color:#fff;text-shadow:none}.ui.instagram.button,.ui.pinterest.button,.ui.vk.button{color:#fff;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pinterest.button{text-shadow:none;background-color:#bd081c}.ui.pinterest.button:hover{background-color:#ac0013}.ui.pinterest.button:active{background-color:#8c0615;color:#fff;text-shadow:none}.ui.vk.button{background-color:#4d7198}.ui.vk.button:hover{background-color:#41648a;color:#fff}.ui.vk.button:active{background-color:#3c5876;color:#fff}.ui.button>.icon:not(.button){height:.85714286em;opacity:.8;transition:opacity .1s ease;vertical-align:'';color:''}.ui.button:not(.icon)>.icon:not(.button):not(.dropdown),.ui.button>.icon:not(.button){margin:0 .42857143em 0 -.21428571em}.ui.button:not(.icon)>.right.icon:not(.button):not(.dropdown){margin:0 -.21428571em 0 .42857143em}.ui[class*="left floated"].button,.ui[class*="left floated"].buttons{float:left;margin-left:0;margin-right:.25em}.ui[class*="right floated"].button,.ui[class*="right floated"].buttons{float:right;margin-right:0;margin-left:.25em}.ui.compact.button,.ui.compact.buttons .button{padding:.58928571em 1.125em}.ui.compact.icon.button,.ui.compact.icon.buttons .button{padding:.58928571em}.ui.compact.labeled.icon.button,.ui.compact.labeled.icon.buttons .button{padding:.58928571em 3.69642857em}.ui.mini.button,.ui.mini.buttons .button,.ui.mini.buttons .or{font-size:.78571429rem}.ui.tiny.button,.ui.tiny.buttons .button,.ui.tiny.buttons .or{font-size:.85714286rem}.ui.small.button,.ui.small.buttons .button,.ui.small.buttons .or{font-size:.92857143rem}.ui.button,.ui.buttons .button,.ui.buttons .or{font-size:1rem}.ui.large.button,.ui.large.buttons .button,.ui.large.buttons .or{font-size:1.14285714rem}.ui.big.button,.ui.big.buttons .button,.ui.big.buttons .or{font-size:1.28571429rem}.ui.huge.button,.ui.huge.buttons .button,.ui.huge.buttons .or{font-size:1.42857143rem}.ui.massive.button,.ui.massive.buttons .button,.ui.massive.buttons .or{font-size:1.71428571rem}.ui.icon.button,.ui.icon.buttons .button{padding:.78571429em}.ui.icon.button>.icon,.ui.icon.buttons .button>.icon{opacity:.9;margin:0!important;vertical-align:top}.ui.basic.button,.ui.basic.buttons .button{background:0 0!important;color:rgba(0,0,0,.6)!important;font-weight:400;border-radius:.28571429rem;text-transform:none;text-shadow:none!important;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.basic.buttons{box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem}.ui.basic.buttons .button{border-radius:0}.ui.basic.button:hover,.ui.basic.buttons .button:hover{background:#fff!important;color:rgba(0,0,0,.8)!important}.ui.basic.button:hover{box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.button:focus,.ui.basic.buttons .button:focus{background:#fff!important;color:rgba(0,0,0,.8)!important;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.button:active,.ui.basic.buttons .button:active{background:#f8f8f8!important;color:rgba(0,0,0,.9)!important}.ui.basic.button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset}.ui.basic.active.button,.ui.basic.buttons .active.button{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.basic.active.button{box-shadow:''!important}.ui.basic.active.button:hover,.ui.basic.buttons .active.button:hover{background-color:rgba(0,0,0,.05)}.ui.basic.buttons .button:hover{box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .active.button{box-shadow:''!important}.ui.basic.inverted.button,.ui.basic.inverted.buttons .button{background-color:transparent!important;color:#f9fafb!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important}.ui.basic.inverted.button:hover,.ui.basic.inverted.buttons .button:hover{color:#fff!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.inverted.button:focus,.ui.basic.inverted.buttons .button:focus{color:#fff!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.inverted.button:active,.ui.basic.inverted.buttons .button:active{background-color:rgba(255,255,255,.08)!important;color:#fff!important;box-shadow:0 0 0 2px rgba(255,255,255,.9) inset!important}.ui.basic.inverted.active.button,.ui.basic.inverted.buttons .active.button{background-color:rgba(255,255,255,.08);color:#fff;text-shadow:none;box-shadow:0 0 0 2px rgba(255,255,255,.7) inset}.ui.basic.inverted.active.button:hover,.ui.basic.inverted.buttons .active.button:hover{background-color:rgba(255,255,255,.15);box-shadow:0 0 0 2px #fff inset!important}.ui.basic.buttons .button{border-left:1px solid rgba(34,36,38,.15);box-shadow:none}.ui.basic.vertical.buttons .button{border-left:none;border-left-width:0;border-top:1px solid rgba(34,36,38,.15)}.ui.basic.vertical.buttons .button:first-child{border-top-width:0}.ui.labeled.icon.button,.ui.labeled.icon.buttons .button{position:relative;padding-left:4.07142857em!important;padding-right:1.5em!important}.ui.labeled.icon.button>.icon,.ui.labeled.icon.buttons>.button>.icon{position:absolute;height:100%;line-height:1;border-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit;text-align:center;margin:0;width:2.57142857em;background-color:rgba(0,0,0,.05);color:'';box-shadow:-1px 0 0 0 transparent inset;top:0;left:0}.ui[class*="right labeled"].icon.button{padding-right:4.07142857em!important;padding-left:1.5em!important}.ui[class*="right labeled"].icon.button>.icon{left:auto;right:0;border-radius:0;border-top-right-radius:inherit;border-bottom-right-radius:inherit;box-shadow:1px 0 0 0 transparent inset}.ui.labeled.icon.button>.icon:after,.ui.labeled.icon.button>.icon:before,.ui.labeled.icon.buttons>.button>.icon:after,.ui.labeled.icon.buttons>.button>.icon:before{display:block;position:absolute;width:100%;top:50%;text-align:center;transform:translateY(-50%)}.ui.labeled.icon.buttons .button>.icon{border-radius:0}.ui.labeled.icon.buttons .button:first-child>.icon{border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.labeled.icon.buttons .button:last-child>.icon{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.labeled.icon.buttons .button:first-child>.icon{border-radius:0;border-top-left-radius:.28571429rem}.ui.vertical.labeled.icon.buttons .button:last-child>.icon{border-radius:0;border-bottom-left-radius:.28571429rem}.ui.fluid[class*="left labeled"].icon.button,.ui.fluid[class*="right labeled"].icon.button{padding-left:1.5em!important;padding-right:1.5em!important}.ui.button.toggle.active,.ui.buttons .button.toggle.active,.ui.toggle.buttons .active.button{background-color:#21ba45!important;box-shadow:none!important;text-shadow:none;color:#fff!important}.ui.button.toggle.active:hover{background-color:#16ab39!important;text-shadow:none;color:#fff!important}.ui.circular.button{border-radius:10em}.ui.circular.button>.icon{width:1em;vertical-align:baseline}.ui.buttons .or{position:relative;width:.3em;height:2.57142857em;z-index:3}.ui.buttons .or:before{position:absolute;text-align:center;border-radius:500rem;content:'or';top:50%;left:50%;background-color:#fff;text-shadow:none;margin-top:-.89285714em;margin-left:-.89285714em;width:1.78571429em;height:1.78571429em;line-height:1.78571429em;color:rgba(0,0,0,.4);font-style:normal;font-weight:700;box-shadow:0 0 0 1px transparent inset}.ui.buttons .or[data-text]:before{content:attr(data-text)}.ui.fluid.buttons .or{width:0!important}.ui.fluid.buttons .or:after{display:none}.ui.attached.button{position:relative;display:block;margin:0;border-radius:0;box-shadow:0 0 0 1px rgba(34,36,38,.15)!important}.ui.attached.top.button{border-radius:.28571429rem .28571429rem 0 0}.ui.attached.bottom.button{border-radius:0 0 .28571429rem .28571429rem}.ui.left.attached.button{display:inline-block;border-left:none;text-align:right;padding-right:.75em;border-radius:.28571429rem 0 0 .28571429rem}.ui.right.attached.button{display:inline-block;text-align:left;padding-left:.75em;border-radius:0 .28571429rem .28571429rem 0}.ui.attached.buttons{position:relative;display:flex;border-radius:0;width:auto!important;z-index:2;margin-left:-1px;margin-right:-1px}.ui.attached.buttons .button{margin:0}.ui.attached.buttons .button:first-child{border-radius:0}.ui.attached.buttons .button:last-child{border-radius:0}.ui[class*="top attached"].buttons{margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0}.ui[class*="top attached"].buttons .button:first-child{border-radius:.28571429rem 0 0 0}.ui[class*="top attached"].buttons .button:last-child{border-radius:0 .28571429rem 0 0}.ui[class*="bottom attached"].buttons{margin-top:-1px;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].buttons .button:first-child{border-radius:0 0 0 .28571429rem}.ui[class*="bottom attached"].buttons .button:last-child{border-radius:0 0 .28571429rem 0}.ui[class*="left attached"].buttons{display:inline-flex;margin-right:0;margin-left:-1px;border-radius:0 .28571429rem .28571429rem 0}.ui[class*="left attached"].buttons .button:first-child{margin-left:-1px;border-radius:0 .28571429rem 0 0}.ui[class*="left attached"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 .28571429rem 0}.ui[class*="right attached"].buttons{display:inline-flex;margin-left:0;margin-right:-1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="right attached"].buttons .button:first-child{margin-left:-1px;border-radius:.28571429rem 0 0 0}.ui[class*="right attached"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 0 .28571429rem}.ui.fluid.button,.ui.fluid.buttons{width:100%}.ui.fluid.button{display:block}.ui.eight.buttons,.ui.eleven.buttons,.ui.five.buttons,.ui.four.buttons,.ui.nine.buttons,.ui.seven.buttons,.ui.six.buttons,.ui.ten.buttons,.ui.three.buttons,.ui.twelve.buttons,.ui.two.buttons{width:100%}.ui.two.buttons>.button{width:50%}.ui.three.buttons>.button{width:33.333%}.ui.four.buttons>.button{width:25%}.ui.five.buttons>.button{width:20%}.ui.six.buttons>.button{width:16.666%}.ui.seven.buttons>.button{width:14.285%}.ui.eight.buttons>.button{width:12.5%}.ui.nine.buttons>.button{width:11.11%}.ui.ten.buttons>.button{width:10%}.ui.eleven.buttons>.button{width:9.09%}.ui.twelve.buttons>.button{width:8.3333%}.ui.fluid.vertical.buttons,.ui.fluid.vertical.buttons>.button{display:flex;width:auto}.ui.two.vertical.buttons>.button{height:50%}.ui.three.vertical.buttons>.button{height:33.333%}.ui.four.vertical.buttons>.button{height:25%}.ui.five.vertical.buttons>.button{height:20%}.ui.six.vertical.buttons>.button{height:16.666%}.ui.seven.vertical.buttons>.button{height:14.285%}.ui.eight.vertical.buttons>.button{height:12.5%}.ui.nine.vertical.buttons>.button{height:11.11%}.ui.ten.vertical.buttons>.button{height:10%}.ui.eleven.vertical.buttons>.button{height:9.09%}.ui.twelve.vertical.buttons>.button{height:8.3333%}.ui.black.button,.ui.black.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.black.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.black.button:hover,.ui.black.buttons .button:hover{background-color:#27292a;color:#fff;text-shadow:none}.ui.black.button:focus,.ui.black.buttons .button:focus{background-color:#2f3032;color:#fff;text-shadow:none}.ui.black.button:active,.ui.black.buttons .button:active{background-color:#343637;color:#fff;text-shadow:none}.ui.black.active.button,.ui.black.button .active.button:active,.ui.black.buttons .active.button,.ui.black.buttons .active.button:active{background-color:#0f0f10;color:#fff;text-shadow:none}.ui.basic.black.button,.ui.basic.black.buttons .button{box-shadow:0 0 0 1px #1b1c1d inset!important;color:#1b1c1d!important}.ui.basic.black.button:hover,.ui.basic.black.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #27292a inset!important;color:#27292a!important}.ui.basic.black.button:focus,.ui.basic.black.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #2f3032 inset!important;color:#27292a!important}.ui.basic.black.active.button,.ui.basic.black.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #0f0f10 inset!important;color:#343637!important}.ui.basic.black.button:active,.ui.basic.black.buttons .button:active{box-shadow:0 0 0 1px #343637 inset!important;color:#343637!important}.ui.buttons:not(.vertical)>.basic.black.button:not(:first-child){margin-left:-1px}.ui.inverted.black.button,.ui.inverted.black.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d4d4d5 inset!important;color:#fff}.ui.inverted.black.button.active,.ui.inverted.black.button:active,.ui.inverted.black.button:focus,.ui.inverted.black.button:hover,.ui.inverted.black.buttons .button.active,.ui.inverted.black.buttons .button:active,.ui.inverted.black.buttons .button:focus,.ui.inverted.black.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.black.button:hover,.ui.inverted.black.buttons .button:hover{background-color:#000}.ui.inverted.black.button:focus,.ui.inverted.black.buttons .button:focus{background-color:#000}.ui.inverted.black.active.button,.ui.inverted.black.button:active,.ui.inverted.black.buttons .active.button,.ui.inverted.black.buttons .button:active{background-color:#000}.ui.inverted.black.basic.button,.ui.inverted.black.basic.buttons .button,.ui.inverted.black.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.black.basic.button:hover,.ui.inverted.black.basic.buttons .button:hover,.ui.inverted.black.buttons .basic.button:hover{box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.inverted.black.basic.button:focus,.ui.inverted.black.basic.buttons .button:focus{box-shadow:0 0 0 2px #000 inset!important;color:#545454!important}.ui.inverted.black.basic.active.button,.ui.inverted.black.basic.button:active,.ui.inverted.black.basic.buttons .active.button,.ui.inverted.black.basic.buttons .button:active,.ui.inverted.black.buttons .basic.active.button,.ui.inverted.black.buttons .basic.button:active{box-shadow:0 0 0 2px #000 inset!important;color:#fff!important}.ui.grey.button,.ui.grey.buttons .button{background-color:#767676;color:#fff;text-shadow:none;background-image:none}.ui.grey.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.grey.button:hover,.ui.grey.buttons .button:hover{background-color:#838383;color:#fff;text-shadow:none}.ui.grey.button:focus,.ui.grey.buttons .button:focus{background-color:#8a8a8a;color:#fff;text-shadow:none}.ui.grey.button:active,.ui.grey.buttons .button:active{background-color:#909090;color:#fff;text-shadow:none}.ui.grey.active.button,.ui.grey.button .active.button:active,.ui.grey.buttons .active.button,.ui.grey.buttons .active.button:active{background-color:#696969;color:#fff;text-shadow:none}.ui.basic.grey.button,.ui.basic.grey.buttons .button{box-shadow:0 0 0 1px #767676 inset!important;color:#767676!important}.ui.basic.grey.button:hover,.ui.basic.grey.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #838383 inset!important;color:#838383!important}.ui.basic.grey.button:focus,.ui.basic.grey.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #8a8a8a inset!important;color:#838383!important}.ui.basic.grey.active.button,.ui.basic.grey.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #696969 inset!important;color:#909090!important}.ui.basic.grey.button:active,.ui.basic.grey.buttons .button:active{box-shadow:0 0 0 1px #909090 inset!important;color:#909090!important}.ui.buttons:not(.vertical)>.basic.grey.button:not(:first-child){margin-left:-1px}.ui.inverted.grey.button,.ui.inverted.grey.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d4d4d5 inset!important;color:#fff}.ui.inverted.grey.button.active,.ui.inverted.grey.button:active,.ui.inverted.grey.button:focus,.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button.active,.ui.inverted.grey.buttons .button:active,.ui.inverted.grey.buttons .button:focus,.ui.inverted.grey.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button:hover{background-color:#cfd0d2}.ui.inverted.grey.button:focus,.ui.inverted.grey.buttons .button:focus{background-color:#c7c9cb}.ui.inverted.grey.active.button,.ui.inverted.grey.buttons .active.button{background-color:#cfd0d2}.ui.inverted.grey.button:active,.ui.inverted.grey.buttons .button:active{background-color:#c2c4c5}.ui.inverted.grey.basic.button,.ui.inverted.grey.basic.buttons .button,.ui.inverted.grey.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.grey.basic.button:hover,.ui.inverted.grey.basic.buttons .button:hover,.ui.inverted.grey.buttons .basic.button:hover{box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#fff!important}.ui.inverted.grey.basic.button:focus,.ui.inverted.grey.basic.buttons .button:focus{box-shadow:0 0 0 2px #c7c9cb inset!important;color:#dcddde!important}.ui.inverted.grey.basic.active.button,.ui.inverted.grey.basic.buttons .active.button,.ui.inverted.grey.buttons .basic.active.button{box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#fff!important}.ui.inverted.grey.basic.button:active,.ui.inverted.grey.basic.buttons .button:active,.ui.inverted.grey.buttons .basic.button:active{box-shadow:0 0 0 2px #c2c4c5 inset!important;color:#fff!important}.ui.brown.button,.ui.brown.buttons .button{background-color:#a5673f;color:#fff;text-shadow:none;background-image:none}.ui.brown.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.brown.button:hover,.ui.brown.buttons .button:hover{background-color:#975b33;color:#fff;text-shadow:none}.ui.brown.button:focus,.ui.brown.buttons .button:focus{background-color:#90532b;color:#fff;text-shadow:none}.ui.brown.button:active,.ui.brown.buttons .button:active{background-color:#805031;color:#fff;text-shadow:none}.ui.brown.active.button,.ui.brown.button .active.button:active,.ui.brown.buttons .active.button,.ui.brown.buttons .active.button:active{background-color:#995a31;color:#fff;text-shadow:none}.ui.basic.brown.button,.ui.basic.brown.buttons .button{box-shadow:0 0 0 1px #a5673f inset!important;color:#a5673f!important}.ui.basic.brown.button:hover,.ui.basic.brown.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #975b33 inset!important;color:#975b33!important}.ui.basic.brown.button:focus,.ui.basic.brown.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #90532b inset!important;color:#975b33!important}.ui.basic.brown.active.button,.ui.basic.brown.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #995a31 inset!important;color:#805031!important}.ui.basic.brown.button:active,.ui.basic.brown.buttons .button:active{box-shadow:0 0 0 1px #805031 inset!important;color:#805031!important}.ui.buttons:not(.vertical)>.basic.brown.button:not(:first-child){margin-left:-1px}.ui.inverted.brown.button,.ui.inverted.brown.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d67c1c inset!important;color:#d67c1c}.ui.inverted.brown.button.active,.ui.inverted.brown.button:active,.ui.inverted.brown.button:focus,.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button.active,.ui.inverted.brown.buttons .button:active,.ui.inverted.brown.buttons .button:focus,.ui.inverted.brown.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button:hover{background-color:#c86f11}.ui.inverted.brown.button:focus,.ui.inverted.brown.buttons .button:focus{background-color:#c16808}.ui.inverted.brown.active.button,.ui.inverted.brown.buttons .active.button{background-color:#cc6f0d}.ui.inverted.brown.button:active,.ui.inverted.brown.buttons .button:active{background-color:#a96216}.ui.inverted.brown.basic.button,.ui.inverted.brown.basic.buttons .button,.ui.inverted.brown.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.brown.basic.button:hover,.ui.inverted.brown.basic.buttons .button:hover,.ui.inverted.brown.buttons .basic.button:hover{box-shadow:0 0 0 2px #c86f11 inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.button:focus,.ui.inverted.brown.basic.buttons .button:focus{box-shadow:0 0 0 2px #c16808 inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.active.button,.ui.inverted.brown.basic.buttons .active.button,.ui.inverted.brown.buttons .basic.active.button{box-shadow:0 0 0 2px #cc6f0d inset!important;color:#d67c1c!important}.ui.inverted.brown.basic.button:active,.ui.inverted.brown.basic.buttons .button:active,.ui.inverted.brown.buttons .basic.button:active{box-shadow:0 0 0 2px #a96216 inset!important;color:#d67c1c!important}.ui.blue.button,.ui.blue.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.blue.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.blue.button:hover,.ui.blue.buttons .button:hover{background-color:#1678c2;color:#fff;text-shadow:none}.ui.blue.button:focus,.ui.blue.buttons .button:focus{background-color:#0d71bb;color:#fff;text-shadow:none}.ui.blue.button:active,.ui.blue.buttons .button:active{background-color:#1a69a4;color:#fff;text-shadow:none}.ui.blue.active.button,.ui.blue.button .active.button:active,.ui.blue.buttons .active.button,.ui.blue.buttons .active.button:active{background-color:#1279c6;color:#fff;text-shadow:none}.ui.basic.blue.button,.ui.basic.blue.buttons .button{box-shadow:0 0 0 1px #2185d0 inset!important;color:#2185d0!important}.ui.basic.blue.button:hover,.ui.basic.blue.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #1678c2 inset!important;color:#1678c2!important}.ui.basic.blue.button:focus,.ui.basic.blue.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #0d71bb inset!important;color:#1678c2!important}.ui.basic.blue.active.button,.ui.basic.blue.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #1279c6 inset!important;color:#1a69a4!important}.ui.basic.blue.button:active,.ui.basic.blue.buttons .button:active{box-shadow:0 0 0 1px #1a69a4 inset!important;color:#1a69a4!important}.ui.buttons:not(.vertical)>.basic.blue.button:not(:first-child){margin-left:-1px}.ui.inverted.blue.button,.ui.inverted.blue.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #54c8ff inset!important;color:#54c8ff}.ui.inverted.blue.button.active,.ui.inverted.blue.button:active,.ui.inverted.blue.button:focus,.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button.active,.ui.inverted.blue.buttons .button:active,.ui.inverted.blue.buttons .button:focus,.ui.inverted.blue.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button:hover{background-color:#3ac0ff}.ui.inverted.blue.button:focus,.ui.inverted.blue.buttons .button:focus{background-color:#2bbbff}.ui.inverted.blue.active.button,.ui.inverted.blue.buttons .active.button{background-color:#3ac0ff}.ui.inverted.blue.button:active,.ui.inverted.blue.buttons .button:active{background-color:#21b8ff}.ui.inverted.blue.basic.button,.ui.inverted.blue.basic.buttons .button,.ui.inverted.blue.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.blue.basic.button:hover,.ui.inverted.blue.basic.buttons .button:hover,.ui.inverted.blue.buttons .basic.button:hover{box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.button:focus,.ui.inverted.blue.basic.buttons .button:focus{box-shadow:0 0 0 2px #2bbbff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.active.button,.ui.inverted.blue.basic.buttons .active.button,.ui.inverted.blue.buttons .basic.active.button{box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.blue.basic.button:active,.ui.inverted.blue.basic.buttons .button:active,.ui.inverted.blue.buttons .basic.button:active{box-shadow:0 0 0 2px #21b8ff inset!important;color:#54c8ff!important}.ui.green.button,.ui.green.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.green.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.green.button:hover,.ui.green.buttons .button:hover{background-color:#16ab39;color:#fff;text-shadow:none}.ui.green.button:focus,.ui.green.buttons .button:focus{background-color:#0ea432;color:#fff;text-shadow:none}.ui.green.button:active,.ui.green.buttons .button:active{background-color:#198f35;color:#fff;text-shadow:none}.ui.green.active.button,.ui.green.button .active.button:active,.ui.green.buttons .active.button,.ui.green.buttons .active.button:active{background-color:#13ae38;color:#fff;text-shadow:none}.ui.basic.green.button,.ui.basic.green.buttons .button{box-shadow:0 0 0 1px #21ba45 inset!important;color:#21ba45!important}.ui.basic.green.button:hover,.ui.basic.green.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #16ab39 inset!important;color:#16ab39!important}.ui.basic.green.button:focus,.ui.basic.green.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #0ea432 inset!important;color:#16ab39!important}.ui.basic.green.active.button,.ui.basic.green.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #13ae38 inset!important;color:#198f35!important}.ui.basic.green.button:active,.ui.basic.green.buttons .button:active{box-shadow:0 0 0 1px #198f35 inset!important;color:#198f35!important}.ui.buttons:not(.vertical)>.basic.green.button:not(:first-child){margin-left:-1px}.ui.inverted.green.button,.ui.inverted.green.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #2ecc40 inset!important;color:#2ecc40}.ui.inverted.green.button.active,.ui.inverted.green.button:active,.ui.inverted.green.button:focus,.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button.active,.ui.inverted.green.buttons .button:active,.ui.inverted.green.buttons .button:focus,.ui.inverted.green.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button:hover{background-color:#22be34}.ui.inverted.green.button:focus,.ui.inverted.green.buttons .button:focus{background-color:#19b82b}.ui.inverted.green.active.button,.ui.inverted.green.buttons .active.button{background-color:#1fc231}.ui.inverted.green.button:active,.ui.inverted.green.buttons .button:active{background-color:#25a233}.ui.inverted.green.basic.button,.ui.inverted.green.basic.buttons .button,.ui.inverted.green.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.green.basic.button:hover,.ui.inverted.green.basic.buttons .button:hover,.ui.inverted.green.buttons .basic.button:hover{box-shadow:0 0 0 2px #22be34 inset!important;color:#2ecc40!important}.ui.inverted.green.basic.button:focus,.ui.inverted.green.basic.buttons .button:focus{box-shadow:0 0 0 2px #19b82b inset!important;color:#2ecc40!important}.ui.inverted.green.basic.active.button,.ui.inverted.green.basic.buttons .active.button,.ui.inverted.green.buttons .basic.active.button{box-shadow:0 0 0 2px #1fc231 inset!important;color:#2ecc40!important}.ui.inverted.green.basic.button:active,.ui.inverted.green.basic.buttons .button:active,.ui.inverted.green.buttons .basic.button:active{box-shadow:0 0 0 2px #25a233 inset!important;color:#2ecc40!important}.ui.orange.button,.ui.orange.buttons .button{background-color:#f2711c;color:#fff;text-shadow:none;background-image:none}.ui.orange.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.orange.button:hover,.ui.orange.buttons .button:hover{background-color:#f26202;color:#fff;text-shadow:none}.ui.orange.button:focus,.ui.orange.buttons .button:focus{background-color:#e55b00;color:#fff;text-shadow:none}.ui.orange.button:active,.ui.orange.buttons .button:active{background-color:#cf590c;color:#fff;text-shadow:none}.ui.orange.active.button,.ui.orange.button .active.button:active,.ui.orange.buttons .active.button,.ui.orange.buttons .active.button:active{background-color:#f56100;color:#fff;text-shadow:none}.ui.basic.orange.button,.ui.basic.orange.buttons .button{box-shadow:0 0 0 1px #f2711c inset!important;color:#f2711c!important}.ui.basic.orange.button:hover,.ui.basic.orange.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #f26202 inset!important;color:#f26202!important}.ui.basic.orange.button:focus,.ui.basic.orange.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #e55b00 inset!important;color:#f26202!important}.ui.basic.orange.active.button,.ui.basic.orange.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #f56100 inset!important;color:#cf590c!important}.ui.basic.orange.button:active,.ui.basic.orange.buttons .button:active{box-shadow:0 0 0 1px #cf590c inset!important;color:#cf590c!important}.ui.buttons:not(.vertical)>.basic.orange.button:not(:first-child){margin-left:-1px}.ui.inverted.orange.button,.ui.inverted.orange.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ff851b inset!important;color:#ff851b}.ui.inverted.orange.button.active,.ui.inverted.orange.button:active,.ui.inverted.orange.button:focus,.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button.active,.ui.inverted.orange.buttons .button:active,.ui.inverted.orange.buttons .button:focus,.ui.inverted.orange.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button:hover{background-color:#ff7701}.ui.inverted.orange.button:focus,.ui.inverted.orange.buttons .button:focus{background-color:#f17000}.ui.inverted.orange.active.button,.ui.inverted.orange.buttons .active.button{background-color:#ff7701}.ui.inverted.orange.button:active,.ui.inverted.orange.buttons .button:active{background-color:#e76b00}.ui.inverted.orange.basic.button,.ui.inverted.orange.basic.buttons .button,.ui.inverted.orange.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.orange.basic.button:hover,.ui.inverted.orange.basic.buttons .button:hover,.ui.inverted.orange.buttons .basic.button:hover{box-shadow:0 0 0 2px #ff7701 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.button:focus,.ui.inverted.orange.basic.buttons .button:focus{box-shadow:0 0 0 2px #f17000 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.active.button,.ui.inverted.orange.basic.buttons .active.button,.ui.inverted.orange.buttons .basic.active.button{box-shadow:0 0 0 2px #ff7701 inset!important;color:#ff851b!important}.ui.inverted.orange.basic.button:active,.ui.inverted.orange.basic.buttons .button:active,.ui.inverted.orange.buttons .basic.button:active{box-shadow:0 0 0 2px #e76b00 inset!important;color:#ff851b!important}.ui.pink.button,.ui.pink.buttons .button{background-color:#e03997;color:#fff;text-shadow:none;background-image:none}.ui.pink.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pink.button:hover,.ui.pink.buttons .button:hover{background-color:#e61a8d;color:#fff;text-shadow:none}.ui.pink.button:focus,.ui.pink.buttons .button:focus{background-color:#e10f85;color:#fff;text-shadow:none}.ui.pink.button:active,.ui.pink.buttons .button:active{background-color:#c71f7e;color:#fff;text-shadow:none}.ui.pink.active.button,.ui.pink.button .active.button:active,.ui.pink.buttons .active.button,.ui.pink.buttons .active.button:active{background-color:#ea158d;color:#fff;text-shadow:none}.ui.basic.pink.button,.ui.basic.pink.buttons .button{box-shadow:0 0 0 1px #e03997 inset!important;color:#e03997!important}.ui.basic.pink.button:hover,.ui.basic.pink.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #e61a8d inset!important;color:#e61a8d!important}.ui.basic.pink.button:focus,.ui.basic.pink.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #e10f85 inset!important;color:#e61a8d!important}.ui.basic.pink.active.button,.ui.basic.pink.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #ea158d inset!important;color:#c71f7e!important}.ui.basic.pink.button:active,.ui.basic.pink.buttons .button:active{box-shadow:0 0 0 1px #c71f7e inset!important;color:#c71f7e!important}.ui.buttons:not(.vertical)>.basic.pink.button:not(:first-child){margin-left:-1px}.ui.inverted.pink.button,.ui.inverted.pink.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ff8edf inset!important;color:#ff8edf}.ui.inverted.pink.button.active,.ui.inverted.pink.button:active,.ui.inverted.pink.button:focus,.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button.active,.ui.inverted.pink.buttons .button:active,.ui.inverted.pink.buttons .button:focus,.ui.inverted.pink.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button:hover{background-color:#ff74d8}.ui.inverted.pink.button:focus,.ui.inverted.pink.buttons .button:focus{background-color:#ff65d3}.ui.inverted.pink.active.button,.ui.inverted.pink.buttons .active.button{background-color:#ff74d8}.ui.inverted.pink.button:active,.ui.inverted.pink.buttons .button:active{background-color:#ff5bd1}.ui.inverted.pink.basic.button,.ui.inverted.pink.basic.buttons .button,.ui.inverted.pink.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.pink.basic.button:hover,.ui.inverted.pink.basic.buttons .button:hover,.ui.inverted.pink.buttons .basic.button:hover{box-shadow:0 0 0 2px #ff74d8 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.button:focus,.ui.inverted.pink.basic.buttons .button:focus{box-shadow:0 0 0 2px #ff65d3 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.active.button,.ui.inverted.pink.basic.buttons .active.button,.ui.inverted.pink.buttons .basic.active.button{box-shadow:0 0 0 2px #ff74d8 inset!important;color:#ff8edf!important}.ui.inverted.pink.basic.button:active,.ui.inverted.pink.basic.buttons .button:active,.ui.inverted.pink.buttons .basic.button:active{box-shadow:0 0 0 2px #ff5bd1 inset!important;color:#ff8edf!important}.ui.violet.button,.ui.violet.buttons .button{background-color:#6435c9;color:#fff;text-shadow:none;background-image:none}.ui.violet.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.violet.button:hover,.ui.violet.buttons .button:hover{background-color:#5829bb;color:#fff;text-shadow:none}.ui.violet.button:focus,.ui.violet.buttons .button:focus{background-color:#4f20b5;color:#fff;text-shadow:none}.ui.violet.button:active,.ui.violet.buttons .button:active{background-color:#502aa1;color:#fff;text-shadow:none}.ui.violet.active.button,.ui.violet.button .active.button:active,.ui.violet.buttons .active.button,.ui.violet.buttons .active.button:active{background-color:#5626bf;color:#fff;text-shadow:none}.ui.basic.violet.button,.ui.basic.violet.buttons .button{box-shadow:0 0 0 1px #6435c9 inset!important;color:#6435c9!important}.ui.basic.violet.button:hover,.ui.basic.violet.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #5829bb inset!important;color:#5829bb!important}.ui.basic.violet.button:focus,.ui.basic.violet.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #4f20b5 inset!important;color:#5829bb!important}.ui.basic.violet.active.button,.ui.basic.violet.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #5626bf inset!important;color:#502aa1!important}.ui.basic.violet.button:active,.ui.basic.violet.buttons .button:active{box-shadow:0 0 0 1px #502aa1 inset!important;color:#502aa1!important}.ui.buttons:not(.vertical)>.basic.violet.button:not(:first-child){margin-left:-1px}.ui.inverted.violet.button,.ui.inverted.violet.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #a291fb inset!important;color:#a291fb}.ui.inverted.violet.button.active,.ui.inverted.violet.button:active,.ui.inverted.violet.button:focus,.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button.active,.ui.inverted.violet.buttons .button:active,.ui.inverted.violet.buttons .button:focus,.ui.inverted.violet.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button:hover{background-color:#8a73ff}.ui.inverted.violet.button:focus,.ui.inverted.violet.buttons .button:focus{background-color:#7d64ff}.ui.inverted.violet.active.button,.ui.inverted.violet.buttons .active.button{background-color:#8a73ff}.ui.inverted.violet.button:active,.ui.inverted.violet.buttons .button:active{background-color:#7860f9}.ui.inverted.violet.basic.button,.ui.inverted.violet.basic.buttons .button,.ui.inverted.violet.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.violet.basic.button:hover,.ui.inverted.violet.basic.buttons .button:hover,.ui.inverted.violet.buttons .basic.button:hover{box-shadow:0 0 0 2px #8a73ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.button:focus,.ui.inverted.violet.basic.buttons .button:focus{box-shadow:0 0 0 2px #7d64ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.active.button,.ui.inverted.violet.basic.buttons .active.button,.ui.inverted.violet.buttons .basic.active.button{box-shadow:0 0 0 2px #8a73ff inset!important;color:#a291fb!important}.ui.inverted.violet.basic.button:active,.ui.inverted.violet.basic.buttons .button:active,.ui.inverted.violet.buttons .basic.button:active{box-shadow:0 0 0 2px #7860f9 inset!important;color:#a291fb!important}.ui.purple.button,.ui.purple.buttons .button{background-color:#a333c8;color:#fff;text-shadow:none;background-image:none}.ui.purple.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.purple.button:hover,.ui.purple.buttons .button:hover{background-color:#9627ba;color:#fff;text-shadow:none}.ui.purple.button:focus,.ui.purple.buttons .button:focus{background-color:#8f1eb4;color:#fff;text-shadow:none}.ui.purple.button:active,.ui.purple.buttons .button:active{background-color:#82299f;color:#fff;text-shadow:none}.ui.purple.active.button,.ui.purple.button .active.button:active,.ui.purple.buttons .active.button,.ui.purple.buttons .active.button:active{background-color:#9724be;color:#fff;text-shadow:none}.ui.basic.purple.button,.ui.basic.purple.buttons .button{box-shadow:0 0 0 1px #a333c8 inset!important;color:#a333c8!important}.ui.basic.purple.button:hover,.ui.basic.purple.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #9627ba inset!important;color:#9627ba!important}.ui.basic.purple.button:focus,.ui.basic.purple.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #8f1eb4 inset!important;color:#9627ba!important}.ui.basic.purple.active.button,.ui.basic.purple.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #9724be inset!important;color:#82299f!important}.ui.basic.purple.button:active,.ui.basic.purple.buttons .button:active{box-shadow:0 0 0 1px #82299f inset!important;color:#82299f!important}.ui.buttons:not(.vertical)>.basic.purple.button:not(:first-child){margin-left:-1px}.ui.inverted.purple.button,.ui.inverted.purple.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #dc73ff inset!important;color:#dc73ff}.ui.inverted.purple.button.active,.ui.inverted.purple.button:active,.ui.inverted.purple.button:focus,.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button.active,.ui.inverted.purple.buttons .button:active,.ui.inverted.purple.buttons .button:focus,.ui.inverted.purple.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button:hover{background-color:#d65aff}.ui.inverted.purple.button:focus,.ui.inverted.purple.buttons .button:focus{background-color:#d24aff}.ui.inverted.purple.active.button,.ui.inverted.purple.buttons .active.button{background-color:#d65aff}.ui.inverted.purple.button:active,.ui.inverted.purple.buttons .button:active{background-color:#cf40ff}.ui.inverted.purple.basic.button,.ui.inverted.purple.basic.buttons .button,.ui.inverted.purple.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.purple.basic.button:hover,.ui.inverted.purple.basic.buttons .button:hover,.ui.inverted.purple.buttons .basic.button:hover{box-shadow:0 0 0 2px #d65aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.button:focus,.ui.inverted.purple.basic.buttons .button:focus{box-shadow:0 0 0 2px #d24aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.active.button,.ui.inverted.purple.basic.buttons .active.button,.ui.inverted.purple.buttons .basic.active.button{box-shadow:0 0 0 2px #d65aff inset!important;color:#dc73ff!important}.ui.inverted.purple.basic.button:active,.ui.inverted.purple.basic.buttons .button:active,.ui.inverted.purple.buttons .basic.button:active{box-shadow:0 0 0 2px #cf40ff inset!important;color:#dc73ff!important}.ui.red.button,.ui.red.buttons .button{background-color:#db2828;color:#fff;text-shadow:none;background-image:none}.ui.red.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.red.button:hover,.ui.red.buttons .button:hover{background-color:#d01919;color:#fff;text-shadow:none}.ui.red.button:focus,.ui.red.buttons .button:focus{background-color:#ca1010;color:#fff;text-shadow:none}.ui.red.button:active,.ui.red.buttons .button:active{background-color:#b21e1e;color:#fff;text-shadow:none}.ui.red.active.button,.ui.red.button .active.button:active,.ui.red.buttons .active.button,.ui.red.buttons .active.button:active{background-color:#d41515;color:#fff;text-shadow:none}.ui.basic.red.button,.ui.basic.red.buttons .button{box-shadow:0 0 0 1px #db2828 inset!important;color:#db2828!important}.ui.basic.red.button:hover,.ui.basic.red.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #d01919 inset!important;color:#d01919!important}.ui.basic.red.button:focus,.ui.basic.red.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #ca1010 inset!important;color:#d01919!important}.ui.basic.red.active.button,.ui.basic.red.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #d41515 inset!important;color:#b21e1e!important}.ui.basic.red.button:active,.ui.basic.red.buttons .button:active{box-shadow:0 0 0 1px #b21e1e inset!important;color:#b21e1e!important}.ui.buttons:not(.vertical)>.basic.red.button:not(:first-child){margin-left:-1px}.ui.inverted.red.button,.ui.inverted.red.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ff695e inset!important;color:#ff695e}.ui.inverted.red.button.active,.ui.inverted.red.button:active,.ui.inverted.red.button:focus,.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button.active,.ui.inverted.red.buttons .button:active,.ui.inverted.red.buttons .button:focus,.ui.inverted.red.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button:hover{background-color:#ff5144}.ui.inverted.red.button:focus,.ui.inverted.red.buttons .button:focus{background-color:#ff4335}.ui.inverted.red.active.button,.ui.inverted.red.buttons .active.button{background-color:#ff5144}.ui.inverted.red.button:active,.ui.inverted.red.buttons .button:active{background-color:#ff392b}.ui.inverted.red.basic.button,.ui.inverted.red.basic.buttons .button,.ui.inverted.red.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.red.basic.button:hover,.ui.inverted.red.basic.buttons .button:hover,.ui.inverted.red.buttons .basic.button:hover{box-shadow:0 0 0 2px #ff5144 inset!important;color:#ff695e!important}.ui.inverted.red.basic.button:focus,.ui.inverted.red.basic.buttons .button:focus{box-shadow:0 0 0 2px #ff4335 inset!important;color:#ff695e!important}.ui.inverted.red.basic.active.button,.ui.inverted.red.basic.buttons .active.button,.ui.inverted.red.buttons .basic.active.button{box-shadow:0 0 0 2px #ff5144 inset!important;color:#ff695e!important}.ui.inverted.red.basic.button:active,.ui.inverted.red.basic.buttons .button:active,.ui.inverted.red.buttons .basic.button:active{box-shadow:0 0 0 2px #ff392b inset!important;color:#ff695e!important}.ui.teal.button,.ui.teal.buttons .button{background-color:#00b5ad;color:#fff;text-shadow:none;background-image:none}.ui.teal.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.teal.button:hover,.ui.teal.buttons .button:hover{background-color:#009c95;color:#fff;text-shadow:none}.ui.teal.button:focus,.ui.teal.buttons .button:focus{background-color:#008c86;color:#fff;text-shadow:none}.ui.teal.button:active,.ui.teal.buttons .button:active{background-color:#00827c;color:#fff;text-shadow:none}.ui.teal.active.button,.ui.teal.button .active.button:active,.ui.teal.buttons .active.button,.ui.teal.buttons .active.button:active{background-color:#009c95;color:#fff;text-shadow:none}.ui.basic.teal.button,.ui.basic.teal.buttons .button{box-shadow:0 0 0 1px #00b5ad inset!important;color:#00b5ad!important}.ui.basic.teal.button:hover,.ui.basic.teal.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#009c95!important}.ui.basic.teal.button:focus,.ui.basic.teal.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #008c86 inset!important;color:#009c95!important}.ui.basic.teal.active.button,.ui.basic.teal.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#00827c!important}.ui.basic.teal.button:active,.ui.basic.teal.buttons .button:active{box-shadow:0 0 0 1px #00827c inset!important;color:#00827c!important}.ui.buttons:not(.vertical)>.basic.teal.button:not(:first-child){margin-left:-1px}.ui.inverted.teal.button,.ui.inverted.teal.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #6dffff inset!important;color:#6dffff}.ui.inverted.teal.button.active,.ui.inverted.teal.button:active,.ui.inverted.teal.button:focus,.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button.active,.ui.inverted.teal.buttons .button:active,.ui.inverted.teal.buttons .button:focus,.ui.inverted.teal.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button:hover{background-color:#54ffff}.ui.inverted.teal.button:focus,.ui.inverted.teal.buttons .button:focus{background-color:#4ff}.ui.inverted.teal.active.button,.ui.inverted.teal.buttons .active.button{background-color:#54ffff}.ui.inverted.teal.button:active,.ui.inverted.teal.buttons .button:active{background-color:#3affff}.ui.inverted.teal.basic.button,.ui.inverted.teal.basic.buttons .button,.ui.inverted.teal.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.teal.basic.button:hover,.ui.inverted.teal.basic.buttons .button:hover,.ui.inverted.teal.buttons .basic.button:hover{box-shadow:0 0 0 2px #54ffff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.button:focus,.ui.inverted.teal.basic.buttons .button:focus{box-shadow:0 0 0 2px #4ff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.active.button,.ui.inverted.teal.basic.buttons .active.button,.ui.inverted.teal.buttons .basic.active.button{box-shadow:0 0 0 2px #54ffff inset!important;color:#6dffff!important}.ui.inverted.teal.basic.button:active,.ui.inverted.teal.basic.buttons .button:active,.ui.inverted.teal.buttons .basic.button:active{box-shadow:0 0 0 2px #3affff inset!important;color:#6dffff!important}.ui.olive.button,.ui.olive.buttons .button{background-color:#b5cc18;color:#fff;text-shadow:none;background-image:none}.ui.olive.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.olive.button:hover,.ui.olive.buttons .button:hover{background-color:#a7bd0d;color:#fff;text-shadow:none}.ui.olive.button:focus,.ui.olive.buttons .button:focus{background-color:#a0b605;color:#fff;text-shadow:none}.ui.olive.button:active,.ui.olive.buttons .button:active{background-color:#8d9e13;color:#fff;text-shadow:none}.ui.olive.active.button,.ui.olive.button .active.button:active,.ui.olive.buttons .active.button,.ui.olive.buttons .active.button:active{background-color:#aac109;color:#fff;text-shadow:none}.ui.basic.olive.button,.ui.basic.olive.buttons .button{box-shadow:0 0 0 1px #b5cc18 inset!important;color:#b5cc18!important}.ui.basic.olive.button:hover,.ui.basic.olive.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #a7bd0d inset!important;color:#a7bd0d!important}.ui.basic.olive.button:focus,.ui.basic.olive.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #a0b605 inset!important;color:#a7bd0d!important}.ui.basic.olive.active.button,.ui.basic.olive.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #aac109 inset!important;color:#8d9e13!important}.ui.basic.olive.button:active,.ui.basic.olive.buttons .button:active{box-shadow:0 0 0 1px #8d9e13 inset!important;color:#8d9e13!important}.ui.buttons:not(.vertical)>.basic.olive.button:not(:first-child){margin-left:-1px}.ui.inverted.olive.button,.ui.inverted.olive.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #d9e778 inset!important;color:#d9e778}.ui.inverted.olive.button.active,.ui.inverted.olive.button:active,.ui.inverted.olive.button:focus,.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button.active,.ui.inverted.olive.buttons .button:active,.ui.inverted.olive.buttons .button:focus,.ui.inverted.olive.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button:hover{background-color:#d8ea5c}.ui.inverted.olive.button:focus,.ui.inverted.olive.buttons .button:focus{background-color:#daef47}.ui.inverted.olive.active.button,.ui.inverted.olive.buttons .active.button{background-color:#daed59}.ui.inverted.olive.button:active,.ui.inverted.olive.buttons .button:active{background-color:#cddf4d}.ui.inverted.olive.basic.button,.ui.inverted.olive.basic.buttons .button,.ui.inverted.olive.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.olive.basic.button:hover,.ui.inverted.olive.basic.buttons .button:hover,.ui.inverted.olive.buttons .basic.button:hover{box-shadow:0 0 0 2px #d8ea5c inset!important;color:#d9e778!important}.ui.inverted.olive.basic.button:focus,.ui.inverted.olive.basic.buttons .button:focus{box-shadow:0 0 0 2px #daef47 inset!important;color:#d9e778!important}.ui.inverted.olive.basic.active.button,.ui.inverted.olive.basic.buttons .active.button,.ui.inverted.olive.buttons .basic.active.button{box-shadow:0 0 0 2px #daed59 inset!important;color:#d9e778!important}.ui.inverted.olive.basic.button:active,.ui.inverted.olive.basic.buttons .button:active,.ui.inverted.olive.buttons .basic.button:active{box-shadow:0 0 0 2px #cddf4d inset!important;color:#d9e778!important}.ui.yellow.button,.ui.yellow.buttons .button{background-color:#fbbd08;color:#fff;text-shadow:none;background-image:none}.ui.yellow.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.yellow.button:hover,.ui.yellow.buttons .button:hover{background-color:#eaae00;color:#fff;text-shadow:none}.ui.yellow.button:focus,.ui.yellow.buttons .button:focus{background-color:#daa300;color:#fff;text-shadow:none}.ui.yellow.button:active,.ui.yellow.buttons .button:active{background-color:#cd9903;color:#fff;text-shadow:none}.ui.yellow.active.button,.ui.yellow.button .active.button:active,.ui.yellow.buttons .active.button,.ui.yellow.buttons .active.button:active{background-color:#eaae00;color:#fff;text-shadow:none}.ui.basic.yellow.button,.ui.basic.yellow.buttons .button{box-shadow:0 0 0 1px #fbbd08 inset!important;color:#fbbd08!important}.ui.basic.yellow.button:hover,.ui.basic.yellow.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#eaae00!important}.ui.basic.yellow.button:focus,.ui.basic.yellow.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #daa300 inset!important;color:#eaae00!important}.ui.basic.yellow.active.button,.ui.basic.yellow.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#cd9903!important}.ui.basic.yellow.button:active,.ui.basic.yellow.buttons .button:active{box-shadow:0 0 0 1px #cd9903 inset!important;color:#cd9903!important}.ui.buttons:not(.vertical)>.basic.yellow.button:not(:first-child){margin-left:-1px}.ui.inverted.yellow.button,.ui.inverted.yellow.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #ffe21f inset!important;color:#ffe21f}.ui.inverted.yellow.button.active,.ui.inverted.yellow.button:active,.ui.inverted.yellow.button:focus,.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button.active,.ui.inverted.yellow.buttons .button:active,.ui.inverted.yellow.buttons .button:focus,.ui.inverted.yellow.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button:hover{background-color:#ffdf05}.ui.inverted.yellow.button:focus,.ui.inverted.yellow.buttons .button:focus{background-color:#f5d500}.ui.inverted.yellow.active.button,.ui.inverted.yellow.buttons .active.button{background-color:#ffdf05}.ui.inverted.yellow.button:active,.ui.inverted.yellow.buttons .button:active{background-color:#ebcd00}.ui.inverted.yellow.basic.button,.ui.inverted.yellow.basic.buttons .button,.ui.inverted.yellow.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.yellow.basic.button:hover,.ui.inverted.yellow.basic.buttons .button:hover,.ui.inverted.yellow.buttons .basic.button:hover{box-shadow:0 0 0 2px #ffdf05 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.button:focus,.ui.inverted.yellow.basic.buttons .button:focus{box-shadow:0 0 0 2px #f5d500 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.active.button,.ui.inverted.yellow.basic.buttons .active.button,.ui.inverted.yellow.buttons .basic.active.button{box-shadow:0 0 0 2px #ffdf05 inset!important;color:#ffe21f!important}.ui.inverted.yellow.basic.button:active,.ui.inverted.yellow.basic.buttons .button:active,.ui.inverted.yellow.buttons .basic.button:active{box-shadow:0 0 0 2px #ebcd00 inset!important;color:#ffe21f!important}.ui.primary.button,.ui.primary.buttons .button{background-color:#2185d0;color:#fff;text-shadow:none;background-image:none}.ui.primary.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.primary.button:hover,.ui.primary.buttons .button:hover{background-color:#1678c2;color:#fff;text-shadow:none}.ui.primary.button:focus,.ui.primary.buttons .button:focus{background-color:#0d71bb;color:#fff;text-shadow:none}.ui.primary.button:active,.ui.primary.buttons .button:active{background-color:#1a69a4;color:#fff;text-shadow:none}.ui.primary.active.button,.ui.primary.button .active.button:active,.ui.primary.buttons .active.button,.ui.primary.buttons .active.button:active{background-color:#1279c6;color:#fff;text-shadow:none}.ui.basic.primary.button,.ui.basic.primary.buttons .button{box-shadow:0 0 0 1px #2185d0 inset!important;color:#2185d0!important}.ui.basic.primary.button:hover,.ui.basic.primary.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #1678c2 inset!important;color:#1678c2!important}.ui.basic.primary.button:focus,.ui.basic.primary.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #0d71bb inset!important;color:#1678c2!important}.ui.basic.primary.active.button,.ui.basic.primary.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #1279c6 inset!important;color:#1a69a4!important}.ui.basic.primary.button:active,.ui.basic.primary.buttons .button:active{box-shadow:0 0 0 1px #1a69a4 inset!important;color:#1a69a4!important}.ui.inverted.primary.button,.ui.inverted.primary.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #54c8ff inset!important;color:#54c8ff}.ui.inverted.primary.button.active,.ui.inverted.primary.button:active,.ui.inverted.primary.button:focus,.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button.active,.ui.inverted.primary.buttons .button:active,.ui.inverted.primary.buttons .button:focus,.ui.inverted.primary.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.primary.button:hover,.ui.inverted.primary.buttons .button:hover{background-color:#3ac0ff}.ui.inverted.primary.button:focus,.ui.inverted.primary.buttons .button:focus{background-color:#2bbbff}.ui.inverted.primary.active.button,.ui.inverted.primary.buttons .active.button{background-color:#3ac0ff}.ui.inverted.primary.button:active,.ui.inverted.primary.buttons .button:active{background-color:#21b8ff}.ui.inverted.primary.basic.button,.ui.inverted.primary.basic.buttons .button,.ui.inverted.primary.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.primary.basic.button:hover,.ui.inverted.primary.basic.buttons .button:hover,.ui.inverted.primary.buttons .basic.button:hover{box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.button:focus,.ui.inverted.primary.basic.buttons .button:focus{box-shadow:0 0 0 2px #2bbbff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.active.button,.ui.inverted.primary.basic.buttons .active.button,.ui.inverted.primary.buttons .basic.active.button{box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54c8ff!important}.ui.inverted.primary.basic.button:active,.ui.inverted.primary.basic.buttons .button:active,.ui.inverted.primary.buttons .basic.button:active{box-shadow:0 0 0 2px #21b8ff inset!important;color:#54c8ff!important}.ui.secondary.button,.ui.secondary.buttons .button{background-color:#1b1c1d;color:#fff;text-shadow:none;background-image:none}.ui.secondary.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.secondary.button:hover,.ui.secondary.buttons .button:hover{background-color:#27292a;color:#fff;text-shadow:none}.ui.secondary.button:focus,.ui.secondary.buttons .button:focus{background-color:#2e3032;color:#fff;text-shadow:none}.ui.secondary.button:active,.ui.secondary.buttons .button:active{background-color:#343637;color:#fff;text-shadow:none}.ui.secondary.active.button,.ui.secondary.button .active.button:active,.ui.secondary.buttons .active.button,.ui.secondary.buttons .active.button:active{background-color:#27292a;color:#fff;text-shadow:none}.ui.basic.secondary.button,.ui.basic.secondary.buttons .button{box-shadow:0 0 0 1px #1b1c1d inset!important;color:#1b1c1d!important}.ui.basic.secondary.button:hover,.ui.basic.secondary.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #27292a inset!important;color:#27292a!important}.ui.basic.secondary.button:focus,.ui.basic.secondary.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #2e3032 inset!important;color:#27292a!important}.ui.basic.secondary.active.button,.ui.basic.secondary.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #27292a inset!important;color:#343637!important}.ui.basic.secondary.button:active,.ui.basic.secondary.buttons .button:active{box-shadow:0 0 0 1px #343637 inset!important;color:#343637!important}.ui.inverted.secondary.button,.ui.inverted.secondary.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #545454 inset!important;color:#545454}.ui.inverted.secondary.button.active,.ui.inverted.secondary.button:active,.ui.inverted.secondary.button:focus,.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button.active,.ui.inverted.secondary.buttons .button:active,.ui.inverted.secondary.buttons .button:focus,.ui.inverted.secondary.buttons .button:hover{box-shadow:none!important;color:#fff}.ui.inverted.secondary.button:hover,.ui.inverted.secondary.buttons .button:hover{background-color:#616161}.ui.inverted.secondary.button:focus,.ui.inverted.secondary.buttons .button:focus{background-color:#686868}.ui.inverted.secondary.active.button,.ui.inverted.secondary.buttons .active.button{background-color:#616161}.ui.inverted.secondary.button:active,.ui.inverted.secondary.buttons .button:active{background-color:#6e6e6e}.ui.inverted.secondary.basic.button,.ui.inverted.secondary.basic.buttons .button,.ui.inverted.secondary.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#fff!important}.ui.inverted.secondary.basic.button:hover,.ui.inverted.secondary.basic.buttons .button:hover,.ui.inverted.secondary.buttons .basic.button:hover{box-shadow:0 0 0 2px #616161 inset!important;color:#545454!important}.ui.inverted.secondary.basic.button:focus,.ui.inverted.secondary.basic.buttons .button:focus{box-shadow:0 0 0 2px #686868 inset!important;color:#545454!important}.ui.inverted.secondary.basic.active.button,.ui.inverted.secondary.basic.buttons .active.button,.ui.inverted.secondary.buttons .basic.active.button{box-shadow:0 0 0 2px #616161 inset!important;color:#545454!important}.ui.inverted.secondary.basic.button:active,.ui.inverted.secondary.basic.buttons .button:active,.ui.inverted.secondary.buttons .basic.button:active{box-shadow:0 0 0 2px #6e6e6e inset!important;color:#545454!important}.ui.positive.button,.ui.positive.buttons .button{background-color:#21ba45;color:#fff;text-shadow:none;background-image:none}.ui.positive.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.positive.button:hover,.ui.positive.buttons .button:hover{background-color:#16ab39;color:#fff;text-shadow:none}.ui.positive.button:focus,.ui.positive.buttons .button:focus{background-color:#0ea432;color:#fff;text-shadow:none}.ui.positive.button:active,.ui.positive.buttons .button:active{background-color:#198f35;color:#fff;text-shadow:none}.ui.positive.active.button,.ui.positive.button .active.button:active,.ui.positive.buttons .active.button,.ui.positive.buttons .active.button:active{background-color:#13ae38;color:#fff;text-shadow:none}.ui.basic.positive.button,.ui.basic.positive.buttons .button{box-shadow:0 0 0 1px #21ba45 inset!important;color:#21ba45!important}.ui.basic.positive.button:hover,.ui.basic.positive.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #16ab39 inset!important;color:#16ab39!important}.ui.basic.positive.button:focus,.ui.basic.positive.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #0ea432 inset!important;color:#16ab39!important}.ui.basic.positive.active.button,.ui.basic.positive.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #13ae38 inset!important;color:#198f35!important}.ui.basic.positive.button:active,.ui.basic.positive.buttons .button:active{box-shadow:0 0 0 1px #198f35 inset!important;color:#198f35!important}.ui.buttons:not(.vertical)>.basic.primary.button:not(:first-child){margin-left:-1px}.ui.negative.button,.ui.negative.buttons .button{background-color:#db2828;color:#fff;text-shadow:none;background-image:none}.ui.negative.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.negative.button:hover,.ui.negative.buttons .button:hover{background-color:#d01919;color:#fff;text-shadow:none}.ui.negative.button:focus,.ui.negative.buttons .button:focus{background-color:#ca1010;color:#fff;text-shadow:none}.ui.negative.button:active,.ui.negative.buttons .button:active{background-color:#b21e1e;color:#fff;text-shadow:none}.ui.negative.active.button,.ui.negative.button .active.button:active,.ui.negative.buttons .active.button,.ui.negative.buttons .active.button:active{background-color:#d41515;color:#fff;text-shadow:none}.ui.basic.negative.button,.ui.basic.negative.buttons .button{box-shadow:0 0 0 1px #db2828 inset!important;color:#db2828!important}.ui.basic.negative.button:hover,.ui.basic.negative.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #d01919 inset!important;color:#d01919!important}.ui.basic.negative.button:focus,.ui.basic.negative.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #ca1010 inset!important;color:#d01919!important}.ui.basic.negative.active.button,.ui.basic.negative.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #d41515 inset!important;color:#b21e1e!important}.ui.basic.negative.button:active,.ui.basic.negative.buttons .button:active{box-shadow:0 0 0 1px #b21e1e inset!important;color:#b21e1e!important}.ui.buttons{display:inline-flex;flex-direction:row;font-size:0;vertical-align:baseline;margin:0 .25em 0 0}.ui.buttons:not(.basic):not(.inverted){box-shadow:none}.ui.buttons:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.buttons .button{flex:1 0 auto;border-radius:0;margin:0}.ui.buttons:not(.basic):not(.inverted)>.button,.ui.buttons>.ui.button:not(.basic):not(.inverted){box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.buttons .button:first-child{border-left:none;margin-left:0;border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.buttons .button:last-child{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.buttons{display:inline-flex;flex-direction:column}.ui.vertical.buttons .button{display:block;float:none;width:100%;margin:0;box-shadow:none;border-radius:0}.ui.vertical.buttons .button:first-child{border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.vertical.buttons .button:last-child{margin-bottom:0;border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.buttons .button:only-child{border-radius:.28571429rem}
/*!
 * # Semantic UI - Container
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.container{display:block;max-width:100%!important}@media only screen and (max-width:767px){.ui.container{margin-left:1em!important;margin-right:1em!important}.ui.container,.ui.grid.container,.ui.relaxed.grid.container,.ui.very.relaxed.grid.container{width:auto!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.container{width:723px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(723px + 2rem)!important}.ui.relaxed.grid.container{width:calc(723px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(723px + 5rem)!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.container{width:933px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(933px + 2rem)!important}.ui.relaxed.grid.container{width:calc(933px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(933px + 5rem)!important}}@media only screen and (min-width:1200px){.ui.container{width:1127px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(1127px + 2rem)!important}.ui.relaxed.grid.container{width:calc(1127px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(1127px + 5rem)!important}}.ui.text.container{font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;max-width:700px!important;line-height:1.5;font-size:1.14285714rem}.ui.fluid.container{width:100%}.ui[class*="left aligned"].container{text-align:left}.ui[class*="center aligned"].container{text-align:center}.ui[class*="right aligned"].container{text-align:right}.ui.justified.container{text-align:justify;hyphens:auto}
/*!
 * # Semantic UI - Divider
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.divider{margin:1rem 0;line-height:1;height:0;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:rgba(0,0,0,.85);user-select:none;-webkit-tap-highlight-color:transparent;font-size:1rem}.ui.divider:not(.vertical):not(.horizontal){border-top:1px solid rgba(34,36,38,.15);border-bottom:1px solid rgba(255,255,255,.1)}.ui.grid>.column+.divider,.ui.grid>.row>.column+.divider{left:auto}.ui.horizontal.divider{display:table;white-space:nowrap;height:auto;margin:'';line-height:1;text-align:center}.ui.horizontal.divider:after,.ui.horizontal.divider:before{content:'';display:table-cell;position:relative;top:50%;width:50%;background-repeat:no-repeat}.ui.horizontal.divider:before{background-position:right 1em top 50%}.ui.horizontal.divider:after{background-position:left 1em top 50%}.ui.vertical.divider{position:absolute;z-index:2;top:50%;left:50%;margin:0;padding:0;width:auto;height:50%;line-height:0;text-align:center;transform:translateX(-50%)}.ui.vertical.divider:after,.ui.vertical.divider:before{position:absolute;left:50%;content:'';z-index:3;border-left:1px solid rgba(34,36,38,.15);border-right:1px solid rgba(255,255,255,.1);width:0%;height:calc(100% - 1rem)}.ui.vertical.divider:before{top:-100%}.ui.vertical.divider:after{top:auto;bottom:0}@media only screen and (max-width:767px){.ui.grid .stackable.row .ui.vertical.divider,.ui.stackable.grid .ui.vertical.divider{display:table;white-space:nowrap;height:auto;margin:'';overflow:hidden;line-height:1;text-align:center;position:static;top:0;left:0;transform:none}.ui.grid .stackable.row .ui.vertical.divider:after,.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:before{left:0;border-left:none;border-right:none;content:'';display:table-cell;position:relative;top:50%;width:50%;background-repeat:no-repeat}.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:before{background-position:right 1em top 50%}.ui.grid .stackable.row .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:after{background-position:left 1em top 50%}}.ui.divider>.icon{margin:0;font-size:1rem;height:1em;vertical-align:middle}.ui.hidden.divider{border-color:transparent!important}.ui.hidden.divider:after,.ui.hidden.divider:before{display:none}.ui.divider.inverted,.ui.horizontal.inverted.divider,.ui.vertical.inverted.divider{color:#fff}.ui.divider.inverted,.ui.divider.inverted:after,.ui.divider.inverted:before{border-color:rgba(34,36,38,.15) rgba(255,255,255,.15) rgba(255,255,255,.15) rgba(34,36,38,.15)!important}.ui.fitted.divider{margin:0}.ui.clearing.divider{clear:both}.ui.section.divider{margin-top:2rem;margin-bottom:2rem}.ui.horizontal.divider:after,.ui.horizontal.divider:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC)}@media only screen and (max-width:767px){.ui.grid .stackable.row .ui.vertical.divider:after,.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:before{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC)}}
/*!
 * # Semantic UI - Flag
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
i.flag:not(.icon){display:inline-block;width:16px;height:11px;line-height:11px;vertical-align:baseline;margin:0 .5em 0 0;text-decoration:inherit;speak:none;font-smoothing:antialiased;backface-visibility:hidden}i.flag:not(.icon):before{display:inline-block;content:'';background:url(../../themes/default/assets/images/flags.png) no-repeat -108px -1976px;width:16px;height:11px}i.flag.ad:before,i.flag.andorra:before{background-position:0 0}i.flag.ae:before,i.flag.uae:before,i.flag.united.arab.emirates:before{background-position:0 -26px}i.flag.af:before,i.flag.afghanistan:before{background-position:0 -52px}i.flag.ag:before,i.flag.antigua:before{background-position:0 -78px}i.flag.ai:before,i.flag.anguilla:before{background-position:0 -104px}i.flag.al:before,i.flag.albania:before{background-position:0 -130px}i.flag.am:before,i.flag.armenia:before{background-position:0 -156px}i.flag.an:before,i.flag.netherlands.antilles:before{background-position:0 -182px}i.flag.angola:before,i.flag.ao:before{background-position:0 -208px}i.flag.ar:before,i.flag.argentina:before{background-position:0 -234px}i.flag.american.samoa:before,i.flag.as:before{background-position:0 -260px}i.flag.at:before,i.flag.austria:before{background-position:0 -286px}i.flag.au:before,i.flag.australia:before{background-position:0 -312px}i.flag.aruba:before,i.flag.aw:before{background-position:0 -338px}i.flag.aland.islands:before,i.flag.ax:before{background-position:0 -364px}i.flag.az:before,i.flag.azerbaijan:before{background-position:0 -390px}i.flag.ba:before,i.flag.bosnia:before{background-position:0 -416px}i.flag.barbados:before,i.flag.bb:before{background-position:0 -442px}i.flag.bangladesh:before,i.flag.bd:before{background-position:0 -468px}i.flag.be:before,i.flag.belgium:before{background-position:0 -494px}i.flag.bf:before,i.flag.burkina.faso:before{background-position:0 -520px}i.flag.bg:before,i.flag.bulgaria:before{background-position:0 -546px}i.flag.bahrain:before,i.flag.bh:before{background-position:0 -572px}i.flag.bi:before,i.flag.burundi:before{background-position:0 -598px}i.flag.benin:before,i.flag.bj:before{background-position:0 -624px}i.flag.bermuda:before,i.flag.bm:before{background-position:0 -650px}i.flag.bn:before,i.flag.brunei:before{background-position:0 -676px}i.flag.bo:before,i.flag.bolivia:before{background-position:0 -702px}i.flag.br:before,i.flag.brazil:before{background-position:0 -728px}i.flag.bahamas:before,i.flag.bs:before{background-position:0 -754px}i.flag.bhutan:before,i.flag.bt:before{background-position:0 -780px}i.flag.bouvet.island:before,i.flag.bv:before{background-position:0 -806px}i.flag.botswana:before,i.flag.bw:before{background-position:0 -832px}i.flag.belarus:before,i.flag.by:before{background-position:0 -858px}i.flag.belize:before,i.flag.bz:before{background-position:0 -884px}i.flag.ca:before,i.flag.canada:before{background-position:0 -910px}i.flag.cc:before,i.flag.cocos.islands:before{background-position:0 -962px}i.flag.cd:before,i.flag.congo:before{background-position:0 -988px}i.flag.central.african.republic:before,i.flag.cf:before{background-position:0 -1014px}i.flag.cg:before,i.flag.congo.brazzaville:before{background-position:0 -1040px}i.flag.ch:before,i.flag.switzerland:before{background-position:0 -1066px}i.flag.ci:before,i.flag.cote.divoire:before{background-position:0 -1092px}i.flag.ck:before,i.flag.cook.islands:before{background-position:0 -1118px}i.flag.chile:before,i.flag.cl:before{background-position:0 -1144px}i.flag.cameroon:before,i.flag.cm:before{background-position:0 -1170px}i.flag.china:before,i.flag.cn:before{background-position:0 -1196px}i.flag.co:before,i.flag.colombia:before{background-position:0 -1222px}i.flag.costa.rica:before,i.flag.cr:before{background-position:0 -1248px}i.flag.cs:before{background-position:0 -1274px}i.flag.cu:before,i.flag.cuba:before{background-position:0 -1300px}i.flag.cape.verde:before,i.flag.cv:before{background-position:0 -1326px}i.flag.christmas.island:before,i.flag.cx:before{background-position:0 -1352px}i.flag.cy:before,i.flag.cyprus:before{background-position:0 -1378px}i.flag.cz:before,i.flag.czech.republic:before{background-position:0 -1404px}i.flag.de:before,i.flag.germany:before{background-position:0 -1430px}i.flag.dj:before,i.flag.djibouti:before{background-position:0 -1456px}i.flag.denmark:before,i.flag.dk:before{background-position:0 -1482px}i.flag.dm:before,i.flag.dominica:before{background-position:0 -1508px}i.flag.do:before,i.flag.dominican.republic:before{background-position:0 -1534px}i.flag.algeria:before,i.flag.dz:before{background-position:0 -1560px}i.flag.ec:before,i.flag.ecuador:before{background-position:0 -1586px}i.flag.ee:before,i.flag.estonia:before{background-position:0 -1612px}i.flag.eg:before,i.flag.egypt:before{background-position:0 -1638px}i.flag.eh:before,i.flag.western.sahara:before{background-position:0 -1664px}i.flag.england:before,i.flag.gb.eng:before{background-position:0 -1690px}i.flag.er:before,i.flag.eritrea:before{background-position:0 -1716px}i.flag.es:before,i.flag.spain:before{background-position:0 -1742px}i.flag.et:before,i.flag.ethiopia:before{background-position:0 -1768px}i.flag.eu:before,i.flag.european.union:before{background-position:0 -1794px}i.flag.fi:before,i.flag.finland:before{background-position:0 -1846px}i.flag.fiji:before,i.flag.fj:before{background-position:0 -1872px}i.flag.falkland.islands:before,i.flag.fk:before{background-position:0 -1898px}i.flag.fm:before,i.flag.micronesia:before{background-position:0 -1924px}i.flag.faroe.islands:before,i.flag.fo:before{background-position:0 -1950px}i.flag.fr:before,i.flag.france:before{background-position:0 -1976px}i.flag.ga:before,i.flag.gabon:before{background-position:-36px 0}i.flag.gb:before,i.flag.uk:before,i.flag.united.kingdom:before{background-position:-36px -26px}i.flag.gd:before,i.flag.grenada:before{background-position:-36px -52px}i.flag.ge:before,i.flag.georgia:before{background-position:-36px -78px}i.flag.french.guiana:before,i.flag.gf:before{background-position:-36px -104px}i.flag.gh:before,i.flag.ghana:before{background-position:-36px -130px}i.flag.gi:before,i.flag.gibraltar:before{background-position:-36px -156px}i.flag.gl:before,i.flag.greenland:before{background-position:-36px -182px}i.flag.gambia:before,i.flag.gm:before{background-position:-36px -208px}i.flag.gn:before,i.flag.guinea:before{background-position:-36px -234px}i.flag.gp:before,i.flag.guadeloupe:before{background-position:-36px -260px}i.flag.equatorial.guinea:before,i.flag.gq:before{background-position:-36px -286px}i.flag.gr:before,i.flag.greece:before{background-position:-36px -312px}i.flag.gs:before,i.flag.sandwich.islands:before{background-position:-36px -338px}i.flag.gt:before,i.flag.guatemala:before{background-position:-36px -364px}i.flag.gu:before,i.flag.guam:before{background-position:-36px -390px}i.flag.guinea-bissau:before,i.flag.gw:before{background-position:-36px -416px}i.flag.guyana:before,i.flag.gy:before{background-position:-36px -442px}i.flag.hk:before,i.flag.hong.kong:before{background-position:-36px -468px}i.flag.heard.island:before,i.flag.hm:before{background-position:-36px -494px}i.flag.hn:before,i.flag.honduras:before{background-position:-36px -520px}i.flag.croatia:before,i.flag.hr:before{background-position:-36px -546px}i.flag.haiti:before,i.flag.ht:before{background-position:-36px -572px}i.flag.hu:before,i.flag.hungary:before{background-position:-36px -598px}i.flag.id:before,i.flag.indonesia:before{background-position:-36px -624px}i.flag.ie:before,i.flag.ireland:before{background-position:-36px -650px}i.flag.il:before,i.flag.israel:before{background-position:-36px -676px}i.flag.in:before,i.flag.india:before{background-position:-36px -702px}i.flag.indian.ocean.territory:before,i.flag.io:before{background-position:-36px -728px}i.flag.iq:before,i.flag.iraq:before{background-position:-36px -754px}i.flag.ir:before,i.flag.iran:before{background-position:-36px -780px}i.flag.iceland:before,i.flag.is:before{background-position:-36px -806px}i.flag.it:before,i.flag.italy:before{background-position:-36px -832px}i.flag.jamaica:before,i.flag.jm:before{background-position:-36px -858px}i.flag.jo:before,i.flag.jordan:before{background-position:-36px -884px}i.flag.japan:before,i.flag.jp:before{background-position:-36px -910px}i.flag.ke:before,i.flag.kenya:before{background-position:-36px -936px}i.flag.kg:before,i.flag.kyrgyzstan:before{background-position:-36px -962px}i.flag.cambodia:before,i.flag.kh:before{background-position:-36px -988px}i.flag.ki:before,i.flag.kiribati:before{background-position:-36px -1014px}i.flag.comoros:before,i.flag.km:before{background-position:-36px -1040px}i.flag.kn:before,i.flag.saint.kitts.and.nevis:before{background-position:-36px -1066px}i.flag.kp:before,i.flag.north.korea:before{background-position:-36px -1092px}i.flag.kr:before,i.flag.south.korea:before{background-position:-36px -1118px}i.flag.kuwait:before,i.flag.kw:before{background-position:-36px -1144px}i.flag.cayman.islands:before,i.flag.ky:before{background-position:-36px -1170px}i.flag.kazakhstan:before,i.flag.kz:before{background-position:-36px -1196px}i.flag.la:before,i.flag.laos:before{background-position:-36px -1222px}i.flag.lb:before,i.flag.lebanon:before{background-position:-36px -1248px}i.flag.lc:before,i.flag.saint.lucia:before{background-position:-36px -1274px}i.flag.li:before,i.flag.liechtenstein:before{background-position:-36px -1300px}i.flag.lk:before,i.flag.sri.lanka:before{background-position:-36px -1326px}i.flag.liberia:before,i.flag.lr:before{background-position:-36px -1352px}i.flag.lesotho:before,i.flag.ls:before{background-position:-36px -1378px}i.flag.lithuania:before,i.flag.lt:before{background-position:-36px -1404px}i.flag.lu:before,i.flag.luxembourg:before{background-position:-36px -1430px}i.flag.latvia:before,i.flag.lv:before{background-position:-36px -1456px}i.flag.libya:before,i.flag.ly:before{background-position:-36px -1482px}i.flag.ma:before,i.flag.morocco:before{background-position:-36px -1508px}i.flag.mc:before,i.flag.monaco:before{background-position:-36px -1534px}i.flag.md:before,i.flag.moldova:before{background-position:-36px -1560px}i.flag.me:before,i.flag.montenegro:before{background-position:-36px -1586px}i.flag.madagascar:before,i.flag.mg:before{background-position:-36px -1613px}i.flag.marshall.islands:before,i.flag.mh:before{background-position:-36px -1639px}i.flag.macedonia:before,i.flag.mk:before{background-position:-36px -1665px}i.flag.mali:before,i.flag.ml:before{background-position:-36px -1691px}i.flag.burma:before,i.flag.mm:before,i.flag.myanmar:before{background-position:-73px -1821px}i.flag.mn:before,i.flag.mongolia:before{background-position:-36px -1743px}i.flag.macau:before,i.flag.mo:before{background-position:-36px -1769px}i.flag.mp:before,i.flag.northern.mariana.islands:before{background-position:-36px -1795px}i.flag.martinique:before,i.flag.mq:before{background-position:-36px -1821px}i.flag.mauritania:before,i.flag.mr:before{background-position:-36px -1847px}i.flag.montserrat:before,i.flag.ms:before{background-position:-36px -1873px}i.flag.malta:before,i.flag.mt:before{background-position:-36px -1899px}i.flag.mauritius:before,i.flag.mu:before{background-position:-36px -1925px}i.flag.maldives:before,i.flag.mv:before{background-position:-36px -1951px}i.flag.malawi:before,i.flag.mw:before{background-position:-36px -1977px}i.flag.mexico:before,i.flag.mx:before{background-position:-72px 0}i.flag.malaysia:before,i.flag.my:before{background-position:-72px -26px}i.flag.mozambique:before,i.flag.mz:before{background-position:-72px -52px}i.flag.na:before,i.flag.namibia:before{background-position:-72px -78px}i.flag.nc:before,i.flag.new.caledonia:before{background-position:-72px -104px}i.flag.ne:before,i.flag.niger:before{background-position:-72px -130px}i.flag.nf:before,i.flag.norfolk.island:before{background-position:-72px -156px}i.flag.ng:before,i.flag.nigeria:before{background-position:-72px -182px}i.flag.ni:before,i.flag.nicaragua:before{background-position:-72px -208px}i.flag.netherlands:before,i.flag.nl:before{background-position:-72px -234px}i.flag.no:before,i.flag.norway:before{background-position:-72px -260px}i.flag.nepal:before,i.flag.np:before{background-position:-72px -286px}i.flag.nauru:before,i.flag.nr:before{background-position:-72px -312px}i.flag.niue:before,i.flag.nu:before{background-position:-72px -338px}i.flag.new.zealand:before,i.flag.nz:before{background-position:-72px -364px}i.flag.om:before,i.flag.oman:before{background-position:-72px -390px}i.flag.pa:before,i.flag.panama:before{background-position:-72px -416px}i.flag.pe:before,i.flag.peru:before{background-position:-72px -442px}i.flag.french.polynesia:before,i.flag.pf:before{background-position:-72px -468px}i.flag.new.guinea:before,i.flag.pg:before{background-position:-72px -494px}i.flag.ph:before,i.flag.philippines:before{background-position:-72px -520px}i.flag.pakistan:before,i.flag.pk:before{background-position:-72px -546px}i.flag.pl:before,i.flag.poland:before{background-position:-72px -572px}i.flag.pm:before,i.flag.saint.pierre:before{background-position:-72px -598px}i.flag.pitcairn.islands:before,i.flag.pn:before{background-position:-72px -624px}i.flag.pr:before,i.flag.puerto.rico:before{background-position:-72px -650px}i.flag.palestine:before,i.flag.ps:before{background-position:-72px -676px}i.flag.portugal:before,i.flag.pt:before{background-position:-72px -702px}i.flag.palau:before,i.flag.pw:before{background-position:-72px -728px}i.flag.paraguay:before,i.flag.py:before{background-position:-72px -754px}i.flag.qa:before,i.flag.qatar:before{background-position:-72px -780px}i.flag.re:before,i.flag.reunion:before{background-position:-72px -806px}i.flag.ro:before,i.flag.romania:before{background-position:-72px -832px}i.flag.rs:before,i.flag.serbia:before{background-position:-72px -858px}i.flag.ru:before,i.flag.russia:before{background-position:-72px -884px}i.flag.rw:before,i.flag.rwanda:before{background-position:-72px -910px}i.flag.sa:before,i.flag.saudi.arabia:before{background-position:-72px -936px}i.flag.sb:before,i.flag.solomon.islands:before{background-position:-72px -962px}i.flag.sc:before,i.flag.seychelles:before{background-position:-72px -988px}i.flag.gb.sct:before,i.flag.scotland:before{background-position:-72px -1014px}i.flag.sd:before,i.flag.sudan:before{background-position:-72px -1040px}i.flag.se:before,i.flag.sweden:before{background-position:-72px -1066px}i.flag.sg:before,i.flag.singapore:before{background-position:-72px -1092px}i.flag.saint.helena:before,i.flag.sh:before{background-position:-72px -1118px}i.flag.si:before,i.flag.slovenia:before{background-position:-72px -1144px}i.flag.jan.mayen:before,i.flag.sj:before,i.flag.svalbard:before{background-position:-72px -1170px}i.flag.sk:before,i.flag.slovakia:before{background-position:-72px -1196px}i.flag.sierra.leone:before,i.flag.sl:before{background-position:-72px -1222px}i.flag.san.marino:before,i.flag.sm:before{background-position:-72px -1248px}i.flag.senegal:before,i.flag.sn:before{background-position:-72px -1274px}i.flag.so:before,i.flag.somalia:before{background-position:-72px -1300px}i.flag.sr:before,i.flag.suriname:before{background-position:-72px -1326px}i.flag.sao.tome:before,i.flag.st:before{background-position:-72px -1352px}i.flag.el.salvador:before,i.flag.sv:before{background-position:-72px -1378px}i.flag.sy:before,i.flag.syria:before{background-position:-72px -1404px}i.flag.swaziland:before,i.flag.sz:before{background-position:-72px -1430px}i.flag.caicos.islands:before,i.flag.tc:before{background-position:-72px -1456px}i.flag.chad:before,i.flag.td:before{background-position:-72px -1482px}i.flag.french.territories:before,i.flag.tf:before{background-position:-72px -1508px}i.flag.tg:before,i.flag.togo:before{background-position:-72px -1534px}i.flag.th:before,i.flag.thailand:before{background-position:-72px -1560px}i.flag.tajikistan:before,i.flag.tj:before{background-position:-72px -1586px}i.flag.tk:before,i.flag.tokelau:before{background-position:-72px -1612px}i.flag.timorleste:before,i.flag.tl:before{background-position:-72px -1638px}i.flag.tm:before,i.flag.turkmenistan:before{background-position:-72px -1664px}i.flag.tn:before,i.flag.tunisia:before{background-position:-72px -1690px}i.flag.to:before,i.flag.tonga:before{background-position:-72px -1716px}i.flag.tr:before,i.flag.turkey:before{background-position:-72px -1742px}i.flag.trinidad:before,i.flag.tt:before{background-position:-72px -1768px}i.flag.tuvalu:before,i.flag.tv:before{background-position:-72px -1794px}i.flag.taiwan:before,i.flag.tw:before{background-position:-72px -1820px}i.flag.tanzania:before,i.flag.tz:before{background-position:-72px -1846px}i.flag.ua:before,i.flag.ukraine:before{background-position:-72px -1872px}i.flag.ug:before,i.flag.uganda:before{background-position:-72px -1898px}i.flag.um:before,i.flag.us.minor.islands:before{background-position:-72px -1924px}i.flag.america:before,i.flag.united.states:before,i.flag.us:before{background-position:-72px -1950px}i.flag.uruguay:before,i.flag.uy:before{background-position:-72px -1976px}i.flag.uz:before,i.flag.uzbekistan:before{background-position:-108px 0}i.flag.va:before,i.flag.vatican.city:before{background-position:-108px -26px}i.flag.saint.vincent:before,i.flag.vc:before{background-position:-108px -52px}i.flag.ve:before,i.flag.venezuela:before{background-position:-108px -78px}i.flag.british.virgin.islands:before,i.flag.vg:before{background-position:-108px -104px}i.flag.us.virgin.islands:before,i.flag.vi:before{background-position:-108px -130px}i.flag.vietnam:before,i.flag.vn:before{background-position:-108px -156px}i.flag.vanuatu:before,i.flag.vu:before{background-position:-108px -182px}i.flag.gb.wls:before,i.flag.wales:before{background-position:-108px -208px}i.flag.wallis.and.futuna:before,i.flag.wf:before{background-position:-108px -234px}i.flag.samoa:before,i.flag.ws:before{background-position:-108px -260px}i.flag.ye:before,i.flag.yemen:before{background-position:-108px -286px}i.flag.mayotte:before,i.flag.yt:before{background-position:-108px -312px}i.flag.south.africa:before,i.flag.za:before{background-position:-108px -338px}i.flag.zambia:before,i.flag.zm:before{background-position:-108px -364px}i.flag.zimbabwe:before,i.flag.zw:before{background-position:-108px -390px}
/*!
 * # Semantic UI - Header
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.header{border:0;margin:calc(2rem - .14285714em) 0 1rem;padding:0;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;font-weight:700;line-height:1.28571429em;text-transform:none;color:rgba(0,0,0,.87)}.ui.header:first-child{margin-top:-.14285714em}.ui.header:last-child{margin-bottom:0}.ui.header .sub.header{display:block;font-weight:400;padding:0;margin:0;line-height:1.2em;color:rgba(0,0,0,.6)}.ui.header>.icon{display:table-cell;opacity:1;font-size:1.5em;padding-top:0;vertical-align:middle}.ui.header .icon:only-child{display:inline-block;padding:0;margin-right:.75rem}.ui.header>.image:not(.icon),.ui.header>img{display:inline-block;margin-top:.14285714em;width:2.5em;height:auto;vertical-align:middle}.ui.header>.image:not(.icon):only-child,.ui.header>img:only-child{margin-right:.75rem}.ui.header .content{display:inline-block;vertical-align:top}.ui.header>.icon+.content,.ui.header>.image+.content,.ui.header>img+.content{padding-left:.75rem;vertical-align:middle}.ui.header>.icon+.content{display:table-cell}.ui.header .ui.label{font-size:'';margin-left:.5rem;vertical-align:middle}.ui.header+p{margin-top:0}h1.ui.header{font-size:2rem}h2.ui.header{font-size:1.71428571rem}h3.ui.header{font-size:1.28571429rem}h4.ui.header{font-size:1.07142857rem}.ui.huge.header .sub.header,.ui.large.header .sub.header,h1.ui.header .sub.header,h2.ui.header .sub.header{font-size:1.14285714rem}.ui.header .sub.header,.ui.small.header .sub.header,h3.ui.header .sub.header,h4.ui.header .sub.header,h5.ui.header{font-size:1rem}.ui.tiny.header .sub.header,h5.ui.header .sub.header{font-size:.92857143rem}.ui.huge.header{min-height:1em;font-size:2em}.ui.large.header{font-size:1.71428571em}.ui.medium.header{font-size:1.28571429em}.ui.small.header{font-size:1.07142857em}.ui.tiny.header{font-size:1em}.ui.sub.header{padding:0;margin-bottom:.14285714rem;font-weight:700;text-transform:uppercase;color:'';font-size:.85714286em}.ui.small.sub.header{font-size:.78571429em}.ui.large.sub.header{font-size:.92857143em}.ui.huge.sub.header{font-size:1em}.ui.icon.header{display:inline-block;text-align:center;margin:2rem 0 1rem}.ui.icon.header:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.icon.header:first-child{margin-top:0}.ui.icon.header .icon{float:none;width:auto;height:auto;line-height:1;font-size:3em;margin:0 auto .5rem;opacity:1}.ui.icon.header .content,.ui.icon.header .icon{display:block;padding:0}.ui.icon.header .circular.icon,.ui.icon.header .square.icon{font-size:2em}.ui.block.icon.header .icon{margin-bottom:0}.ui.icon.header.aligned{margin-left:auto;margin-right:auto;display:block}.ui.disabled.header{opacity:.45}.ui.inverted.header{color:#fff}.ui.inverted.header .sub.header{color:rgba(255,255,255,.8)}.ui.inverted.attached.header,.ui.inverted.block.header{background:#545454 linear-gradient(transparent,rgba(0,0,0,.05));box-shadow:none}.ui.inverted.attached.header{border-color:transparent}.ui.inverted.block.header{border-bottom:none}.ui.red.header{color:#db2828!important}a.ui.red.header:hover{color:#d01919!important}.ui.red.dividing.header{border-bottom:2px solid #db2828}.ui.inverted.red.header{color:#ff695e!important}a.ui.inverted.red.header:hover{color:#ff5144!important}.ui.orange.header{color:#f2711c!important}a.ui.orange.header:hover{color:#f26202!important}.ui.orange.dividing.header{border-bottom:2px solid #f2711c}.ui.inverted.orange.header{color:#ff851b!important}a.ui.inverted.orange.header:hover{color:#ff7701!important}.ui.olive.header{color:#b5cc18!important}a.ui.olive.header:hover{color:#a7bd0d!important}.ui.olive.dividing.header{border-bottom:2px solid #b5cc18}.ui.inverted.olive.header{color:#d9e778!important}a.ui.inverted.olive.header:hover{color:#d8ea5c!important}.ui.yellow.header{color:#fbbd08!important}a.ui.yellow.header:hover{color:#eaae00!important}.ui.yellow.dividing.header{border-bottom:2px solid #fbbd08}.ui.inverted.yellow.header{color:#ffe21f!important}a.ui.inverted.yellow.header:hover{color:#ffdf05!important}.ui.green.header{color:#21ba45!important}a.ui.green.header:hover{color:#16ab39!important}.ui.green.dividing.header{border-bottom:2px solid #21ba45}.ui.inverted.green.header{color:#2ecc40!important}a.ui.inverted.green.header:hover{color:#22be34!important}.ui.teal.header{color:#00b5ad!important}a.ui.teal.header:hover{color:#009c95!important}.ui.teal.dividing.header{border-bottom:2px solid #00b5ad}.ui.inverted.teal.header{color:#6dffff!important}a.ui.inverted.teal.header:hover{color:#54ffff!important}.ui.blue.header{color:#2185d0!important}a.ui.blue.header:hover{color:#1678c2!important}.ui.blue.dividing.header{border-bottom:2px solid #2185d0}.ui.inverted.blue.header{color:#54c8ff!important}a.ui.inverted.blue.header:hover{color:#3ac0ff!important}.ui.violet.header{color:#6435c9!important}a.ui.violet.header:hover{color:#5829bb!important}.ui.violet.dividing.header{border-bottom:2px solid #6435c9}.ui.inverted.violet.header{color:#a291fb!important}a.ui.inverted.violet.header:hover{color:#8a73ff!important}.ui.purple.header{color:#a333c8!important}a.ui.purple.header:hover{color:#9627ba!important}.ui.purple.dividing.header{border-bottom:2px solid #a333c8}.ui.inverted.purple.header{color:#dc73ff!important}a.ui.inverted.purple.header:hover{color:#d65aff!important}.ui.pink.header{color:#e03997!important}a.ui.pink.header:hover{color:#e61a8d!important}.ui.pink.dividing.header{border-bottom:2px solid #e03997}.ui.inverted.pink.header{color:#ff8edf!important}a.ui.inverted.pink.header:hover{color:#ff74d8!important}.ui.brown.header{color:#a5673f!important}a.ui.brown.header:hover{color:#975b33!important}.ui.brown.dividing.header{border-bottom:2px solid #a5673f}.ui.inverted.brown.header{color:#d67c1c!important}a.ui.inverted.brown.header:hover{color:#c86f11!important}.ui.grey.header{color:#767676!important}a.ui.grey.header:hover{color:#838383!important}.ui.grey.dividing.header{border-bottom:2px solid #767676}.ui.inverted.grey.header{color:#dcddde!important}a.ui.inverted.grey.header:hover{color:#cfd0d2!important}.ui.left.aligned.header{text-align:left}.ui.right.aligned.header{text-align:right}.ui.center.aligned.header,.ui.centered.header{text-align:center}.ui.justified.header{text-align:justify}.ui.justified.header:after{display:inline-block;content:'';width:100%}.ui.floated.header,.ui[class*="left floated"].header{float:left;margin-top:0;margin-right:.5em}.ui[class*="right floated"].header{float:right;margin-top:0;margin-left:.5em}.ui.fitted.header{padding:0}.ui.dividing.header{border-bottom:1px solid rgba(34,36,38,.15)}.ui.dividing.header,.ui.dividing.header .sub.header{padding-bottom:.21428571rem}.ui.dividing.header .icon{margin-bottom:0}.ui.inverted.dividing.header{border-bottom-color:rgba(255,255,255,.1)}.ui.block.header{background:#f3f4f5;padding:.78571429rem 1rem;box-shadow:none;border:1px solid #d4d4d5;border-radius:.28571429rem}.ui.tiny.block.header{font-size:.85714286rem}.ui.small.block.header{font-size:.92857143rem}.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1rem}.ui.large.block.header{font-size:1.14285714rem}.ui.huge.block.header{font-size:1.42857143rem}.ui.attached.header{background:#fff;padding:.78571429rem 1rem;margin-left:-1px;margin-right:-1px;box-shadow:none;border:1px solid #d4d4d5}.ui.attached.block.header{background:#f3f4f5}.ui.attached:not(.top):not(.bottom).header{margin-top:0;margin-bottom:0;border-top:none;border-radius:0}.ui.top.attached.header{margin-bottom:0;border-radius:.28571429rem .28571429rem 0 0}.ui.bottom.attached.header{margin-top:0;border-top:none;border-radius:0 0 .28571429rem .28571429rem}.ui.tiny.attached.header{font-size:.85714286em}.ui.small.attached.header{font-size:.92857143em}.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1em}.ui.large.attached.header{font-size:1.14285714em}.ui.huge.attached.header{font-size:1.42857143em}.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1.28571429em}
/*!
 * # Semantic UI - Icon
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
@keyframes icon-loading{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}@font-face{font-family:'Icons';src:url(../../themes/default/assets/fonts/icons.eot);src:url(../../themes/default/assets/fonts/icons.eot?#iefix) format('embedded-opentype'),url(../../themes/default/assets/fonts/icons.woff2) format('woff2'),url(../../themes/default/assets/fonts/icons.woff) format('woff'),url(../../themes/default/assets/fonts/icons.ttf) format('truetype'),url(../../themes/default/assets/fonts/icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon{display:inline-block;opacity:1;margin:0 .25rem 0 0;width:1.18em;height:1em;font-family:'Icons';font-style:normal;font-weight:400;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;backface-visibility:hidden}i.icon:before{background:0 0!important}i.icon.loading{height:1em;line-height:1;animation:icon-loading 2s linear infinite}i.emphasized.icon,i.icon.active,i.icon.hover,i.link.icon:hover,i.link.icons:hover{opacity:1!important}i.disabled.icon{opacity:.45!important}i.fitted.icon{width:auto;margin:0!important}i.link.icon,i.link.icons{cursor:pointer;opacity:.8;transition:opacity .1s ease}i.circular.icon{border-radius:500em!important;line-height:1!important;padding:.5em 0!important;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;width:2em!important;height:2em!important}i.circular.inverted.icon{border:0;box-shadow:none}i.flipped.icon,i.horizontally.flipped.icon{transform:scale(-1,1)}i.vertically.flipped.icon{transform:scale(1,-1)}i.clockwise.rotated.icon,i.right.rotated.icon,i.rotated.icon{transform:rotate(90deg)}i.counterclockwise.rotated.icon,i.left.rotated.icon{transform:rotate(-90deg)}i.bordered.icon{line-height:1;vertical-align:baseline;width:2em;height:2em;padding:.5em 0!important;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset}i.bordered.inverted.icon{border:0;box-shadow:none}i.inverted.bordered.icon,i.inverted.circular.icon{background-color:#1b1c1d!important;color:#fff!important}i.inverted.icon{color:#fff}i.red.icon{color:#db2828!important}i.inverted.red.icon{color:#ff695e!important}i.inverted.bordered.red.icon,i.inverted.circular.red.icon{background-color:#db2828!important;color:#fff!important}i.orange.icon{color:#f2711c!important}i.inverted.orange.icon{color:#ff851b!important}i.inverted.bordered.orange.icon,i.inverted.circular.orange.icon{background-color:#f2711c!important;color:#fff!important}i.yellow.icon{color:#fbbd08!important}i.inverted.yellow.icon{color:#ffe21f!important}i.inverted.bordered.yellow.icon,i.inverted.circular.yellow.icon{background-color:#fbbd08!important;color:#fff!important}i.olive.icon{color:#b5cc18!important}i.inverted.olive.icon{color:#d9e778!important}i.inverted.bordered.olive.icon,i.inverted.circular.olive.icon{background-color:#b5cc18!important;color:#fff!important}i.green.icon{color:#21ba45!important}i.inverted.green.icon{color:#2ecc40!important}i.inverted.bordered.green.icon,i.inverted.circular.green.icon{background-color:#21ba45!important;color:#fff!important}i.teal.icon{color:#00b5ad!important}i.inverted.teal.icon{color:#6dffff!important}i.inverted.bordered.teal.icon,i.inverted.circular.teal.icon{background-color:#00b5ad!important;color:#fff!important}i.blue.icon{color:#2185d0!important}i.inverted.blue.icon{color:#54c8ff!important}i.inverted.bordered.blue.icon,i.inverted.circular.blue.icon{background-color:#2185d0!important;color:#fff!important}i.violet.icon{color:#6435c9!important}i.inverted.violet.icon{color:#a291fb!important}i.inverted.bordered.violet.icon,i.inverted.circular.violet.icon{background-color:#6435c9!important;color:#fff!important}i.purple.icon{color:#a333c8!important}i.inverted.purple.icon{color:#dc73ff!important}i.inverted.bordered.purple.icon,i.inverted.circular.purple.icon{background-color:#a333c8!important;color:#fff!important}i.pink.icon{color:#e03997!important}i.inverted.pink.icon{color:#ff8edf!important}i.inverted.bordered.pink.icon,i.inverted.circular.pink.icon{background-color:#e03997!important;color:#fff!important}i.brown.icon{color:#a5673f!important}i.inverted.brown.icon{color:#d67c1c!important}i.inverted.bordered.brown.icon,i.inverted.circular.brown.icon{background-color:#a5673f!important;color:#fff!important}i.grey.icon{color:#767676!important}i.inverted.grey.icon{color:#dcddde!important}i.inverted.bordered.grey.icon,i.inverted.circular.grey.icon{background-color:#767676!important;color:#fff!important}i.black.icon{color:#1b1c1d!important}i.inverted.black.icon{color:#545454!important}i.inverted.bordered.black.icon,i.inverted.circular.black.icon{background-color:#1b1c1d!important;color:#fff!important}i.mini.icon,i.mini.icons{line-height:1;font-size:.4em}i.tiny.icon,i.tiny.icons{line-height:1;font-size:.5em}i.small.icon,i.small.icons{line-height:1;font-size:.75em}i.icon,i.icons{font-size:1em}i.big.icon,i.big.icons,i.large.icon,i.large.icons{line-height:1;vertical-align:middle;font-size:1.5em}i.big.icon,i.big.icons{font-size:2em}i.huge.icon,i.huge.icons,i.massive.icon,i.massive.icons{line-height:1;vertical-align:middle;font-size:4em}i.massive.icon,i.massive.icons{font-size:8em}i.icons{display:inline-block;position:relative;line-height:1}i.icons .icon{position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);margin:0}i.icons .icon:first-child{position:static;width:auto;height:auto;vertical-align:top;transform:none;margin-right:.25rem}i.icons .corner.icon{top:auto;left:auto;right:0;bottom:0;transform:none;font-size:.45em;text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff}i.icons .top.right.corner.icon{top:0;left:auto;right:0;bottom:auto}i.icons .top.left.corner.icon{top:0;left:0;right:auto;bottom:auto}i.icons .bottom.left.corner.icon{top:auto;left:0;right:auto;bottom:0}i.icons .bottom.right.corner.icon{top:auto;left:auto;right:0;bottom:0}i.icons .inverted.corner.icon{text-shadow:-1px -1px 0 #1b1c1d,1px -1px 0 #1b1c1d,-1px 1px 0 #1b1c1d,1px 1px 0 #1b1c1d}i.icon.linkedin.in:before{content:"\f0e1"}i.icon.zoom.in:before{content:"\f00e"}i.icon.zoom.out:before{content:"\f010"}i.icon.sign.in:before{content:"\f2f6"}i.icon.in.cart:before{content:"\f218"}i.icon.log.out:before,i.icon.sign.out:before{content:"\f2f5"}i.icon.\35 00px:before{content:"\f26e"}i.icon.accessible.icon:before{content:"\f368"}i.icon.accusoft:before{content:"\f369"}i.icon.address.book:before{content:"\f2b9"}i.icon.address.card:before{content:"\f2bb"}i.icon.adjust:before{content:"\f042"}i.icon.adn:before{content:"\f170"}i.icon.adversal:before{content:"\f36a"}i.icon.affiliatetheme:before{content:"\f36b"}i.icon.algolia:before{content:"\f36c"}i.icon.align.center:before{content:"\f037"}i.icon.align.justify:before{content:"\f039"}i.icon.align.left:before{content:"\f036"}i.icon.align.right:before{content:"\f038"}i.icon.amazon:before{content:"\f270"}i.icon.amazon.pay:before{content:"\f42c"}i.icon.ambulance:before{content:"\f0f9"}i.icon.american.sign.language.interpreting:before{content:"\f2a3"}i.icon.amilia:before{content:"\f36d"}i.icon.anchor:before{content:"\f13d"}i.icon.android:before{content:"\f17b"}i.icon.angellist:before{content:"\f209"}i.icon.angle.double.down:before{content:"\f103"}i.icon.angle.double.left:before{content:"\f100"}i.icon.angle.double.right:before{content:"\f101"}i.icon.angle.double.up:before{content:"\f102"}i.icon.angle.down:before{content:"\f107"}i.icon.angle.left:before{content:"\f104"}i.icon.angle.right:before{content:"\f105"}i.icon.angle.up:before{content:"\f106"}i.icon.angrycreative:before{content:"\f36e"}i.icon.angular:before{content:"\f420"}i.icon.app.store:before{content:"\f36f"}i.icon.app.store.ios:before{content:"\f370"}i.icon.apper:before{content:"\f371"}i.icon.apple:before{content:"\f179"}i.icon.apple.pay:before{content:"\f415"}i.icon.archive:before{content:"\f187"}i.icon.arrow.alternate.circle.down.outline:before,i.icon.arrow.alternate.circle.down:before{content:"\f358"}i.icon.arrow.alternate.circle.left.outline:before,i.icon.arrow.alternate.circle.left:before{content:"\f359"}i.icon.arrow.alternate.circle.right.outline:before,i.icon.arrow.alternate.circle.right:before{content:"\f35a"}i.icon.arrow.alternate.circle.up.outline:before,i.icon.arrow.alternate.circle.up:before{content:"\f35b"}i.icon.arrow.circle.down:before{content:"\f0ab"}i.icon.arrow.circle.left:before{content:"\f0a8"}i.icon.arrow.circle.right:before{content:"\f0a9"}i.icon.arrow.circle.up:before{content:"\f0aa"}i.icon.arrow.down:before{content:"\f063"}i.icon.arrow.left:before{content:"\f060"}i.icon.arrow.right:before{content:"\f061"}i.icon.arrow.up:before{content:"\f062"}i.icon.arrows.alternate:before{content:"\f0b2"}i.icon.arrows.alternate.horizontal:before{content:"\f337"}i.icon.arrows.alternate.vertical:before{content:"\f338"}i.icon.assistive.listening.systems:before{content:"\f2a2"}i.icon.asterisk:before{content:"\f069"}i.icon.asymmetrik:before{content:"\f372"}i.icon.at:before{content:"\f1fa"}i.icon.audible:before{content:"\f373"}i.icon.audio.description:before{content:"\f29e"}i.icon.autoprefixer:before{content:"\f41c"}i.icon.avianex:before{content:"\f374"}i.icon.aviato:before{content:"\f421"}i.icon.aws:before{content:"\f375"}i.icon.backward:before{content:"\f04a"}i.icon.balance.scale:before{content:"\f24e"}i.icon.ban:before{content:"\f05e"}i.icon.band.aid:before{content:"\f462"}i.icon.bandcamp:before{content:"\f2d5"}i.icon.barcode:before{content:"\f02a"}i.icon.bars:before{content:"\f0c9"}i.icon.baseball.ball:before{content:"\f433"}i.icon.basketball.ball:before{content:"\f434"}i.icon.bath:before{content:"\f2cd"}i.icon.battery.empty:before{content:"\f244"}i.icon.battery.full:before{content:"\f240"}i.icon.battery.half:before{content:"\f242"}i.icon.battery.quarter:before{content:"\f243"}i.icon.battery.three.quarters:before{content:"\f241"}i.icon.bed:before{content:"\f236"}i.icon.beer:before{content:"\f0fc"}i.icon.behance:before{content:"\f1b4"}i.icon.behance.square:before{content:"\f1b5"}i.icon.bell:before{content:"\f0f3"}i.icon.bell.slash:before{content:"\f1f6"}i.icon.bicycle:before{content:"\f206"}i.icon.bimobject:before{content:"\f378"}i.icon.binoculars:before{content:"\f1e5"}i.icon.birthday.cake:before{content:"\f1fd"}i.icon.bitbucket:before{content:"\f171"}i.icon.bitcoin:before{content:"\f379"}i.icon.bity:before{content:"\f37a"}i.icon.black.tie:before{content:"\f27e"}i.icon.blackberry:before{content:"\f37b"}i.icon.blind:before{content:"\f29d"}i.icon.blogger:before{content:"\f37c"}i.icon.blogger.b:before{content:"\f37d"}i.icon.bluetooth:before{content:"\f293"}i.icon.bluetooth.b:before{content:"\f294"}i.icon.bold:before{content:"\f032"}i.icon.bolt:before{content:"\f0e7"}i.icon.bomb:before{content:"\f1e2"}i.icon.book:before{content:"\f02d"}i.icon.bookmark:before{content:"\f02e"}i.icon.bowling.ball:before{content:"\f436"}i.icon.box:before{content:"\f466"}i.icon.boxes:before{content:"\f468"}i.icon.braille:before{content:"\f2a1"}i.icon.briefcase:before{content:"\f0b1"}i.icon.btc:before{content:"\f15a"}i.icon.bug:before{content:"\f188"}i.icon.building:before{content:"\f1ad"}i.icon.bullhorn:before{content:"\f0a1"}i.icon.bullseye:before{content:"\f140"}i.icon.buromobelexperte:before{content:"\f37f"}i.icon.bus:before{content:"\f207"}i.icon.buysellads:before{content:"\f20d"}i.icon.calculator:before{content:"\f1ec"}i.icon.calendar:before{content:"\f133"}i.icon.calendar.alternate:before{content:"\f073"}i.icon.calendar.check:before{content:"\f274"}i.icon.calendar.minus:before{content:"\f272"}i.icon.calendar.plus:before{content:"\f271"}i.icon.calendar.times:before{content:"\f273"}i.icon.camera:before{content:"\f030"}i.icon.camera.retro:before{content:"\f083"}i.icon.car:before{content:"\f1b9"}i.icon.caret.down:before{content:"\f0d7"}i.icon.caret.left:before{content:"\f0d9"}i.icon.caret.right:before{content:"\f0da"}i.icon.caret.square.down:before{content:"\f150"}i.icon.caret.square.left:before{content:"\f191"}i.icon.caret.square.right:before{content:"\f152"}i.icon.caret.square.up:before{content:"\f151"}i.icon.caret.up:before{content:"\f0d8"}i.icon.cart.arrow.down:before{content:"\f218"}i.icon.cart.plus:before{content:"\f217"}i.icon.cc.amazon.pay:before{content:"\f42d"}i.icon.cc.amex:before{content:"\f1f3"}i.icon.cc.apple.pay:before{content:"\f416"}i.icon.cc.diners.club:before{content:"\f24c"}i.icon.cc.discover:before{content:"\f1f2"}i.icon.cc.jcb:before{content:"\f24b"}i.icon.cc.mastercard:before{content:"\f1f1"}i.icon.cc.paypal:before{content:"\f1f4"}i.icon.cc.stripe:before{content:"\f1f5"}i.icon.cc.visa:before{content:"\f1f0"}i.icon.centercode:before{content:"\f380"}i.icon.certificate:before{content:"\f0a3"}i.icon.chart.area:before{content:"\f1fe"}i.icon.chart.bar:before{content:"\f080"}i.icon.chart.line:before{content:"\f201"}i.icon.chart.pie:before{content:"\f200"}i.icon.check:before{content:"\f00c"}i.icon.check.circle:before{content:"\f058"}i.icon.check.square:before{content:"\f14a"}i.icon.chess:before{content:"\f439"}i.icon.chess.bishop:before{content:"\f43a"}i.icon.chess.board:before{content:"\f43c"}i.icon.chess.king:before{content:"\f43f"}i.icon.chess.knight:before{content:"\f441"}i.icon.chess.pawn:before{content:"\f443"}i.icon.chess.queen:before{content:"\f445"}i.icon.chess.rook:before{content:"\f447"}i.icon.chevron.circle.down:before{content:"\f13a"}i.icon.chevron.circle.left:before{content:"\f137"}i.icon.chevron.circle.right:before{content:"\f138"}i.icon.chevron.circle.up:before{content:"\f139"}i.icon.chevron.down:before{content:"\f078"}i.icon.chevron.left:before{content:"\f053"}i.icon.chevron.right:before{content:"\f054"}i.icon.chevron.up:before{content:"\f077"}i.icon.child:before{content:"\f1ae"}i.icon.chrome:before{content:"\f268"}i.icon.circle:before{content:"\f111"}i.icon.circle.notch:before{content:"\f1ce"}i.icon.clipboard:before{content:"\f328"}i.icon.clipboard.check:before{content:"\f46c"}i.icon.clipboard.list:before{content:"\f46d"}i.icon.clock:before{content:"\f017"}i.icon.clone:before{content:"\f24d"}i.icon.closed.captioning:before{content:"\f20a"}i.icon.cloud:before{content:"\f0c2"}i.icon.cloudscale:before{content:"\f383"}i.icon.cloudsmith:before{content:"\f384"}i.icon.cloudversify:before{content:"\f385"}i.icon.code:before{content:"\f121"}i.icon.code.branch:before{content:"\f126"}i.icon.codepen:before{content:"\f1cb"}i.icon.codiepie:before{content:"\f284"}i.icon.coffee:before{content:"\f0f4"}i.icon.cog:before{content:"\f013"}i.icon.cogs:before{content:"\f085"}i.icon.columns:before{content:"\f0db"}i.icon.comment:before{content:"\f075"}i.icon.comment.alternate:before{content:"\f27a"}i.icon.comments:before{content:"\f086"}i.icon.compass:before{content:"\f14e"}i.icon.compress:before{content:"\f066"}i.icon.connectdevelop:before{content:"\f20e"}i.icon.contao:before{content:"\f26d"}i.icon.copy:before{content:"\f0c5"}i.icon.copyright:before{content:"\f1f9"}i.icon.cpanel:before{content:"\f388"}i.icon.creative.commons:before{content:"\f25e"}i.icon.credit.card:before{content:"\f09d"}i.icon.crop:before{content:"\f125"}i.icon.crosshairs:before{content:"\f05b"}i.icon.css3:before{content:"\f13c"}i.icon.css3.alternate:before{content:"\f38b"}i.icon.cube:before{content:"\f1b2"}i.icon.cubes:before{content:"\f1b3"}i.icon.cut:before{content:"\f0c4"}i.icon.cuttlefish:before{content:"\f38c"}i.icon.d.and.d:before{content:"\f38d"}i.icon.dashcube:before{content:"\f210"}i.icon.database:before{content:"\f1c0"}i.icon.deaf:before{content:"\f2a4"}i.icon.delicious:before{content:"\f1a5"}i.icon.deploydog:before{content:"\f38e"}i.icon.deskpro:before{content:"\f38f"}i.icon.desktop:before{content:"\f108"}i.icon.deviantart:before{content:"\f1bd"}i.icon.digg:before{content:"\f1a6"}i.icon.digital.ocean:before{content:"\f391"}i.icon.discord:before{content:"\f392"}i.icon.discourse:before{content:"\f393"}i.icon.dna:before{content:"\f471"}i.icon.dochub:before{content:"\f394"}i.icon.docker:before{content:"\f395"}i.icon.dollar.sign:before{content:"\f155"}i.icon.dolly:before{content:"\f472"}i.icon.dolly.flatbed:before{content:"\f474"}i.icon.dot.circle:before{content:"\f192"}i.icon.download:before{content:"\f019"}i.icon.draft2digital:before{content:"\f396"}i.icon.dribbble:before{content:"\f17d"}i.icon.dribbble.square:before{content:"\f397"}i.icon.dropbox:before{content:"\f16b"}i.icon.drupal:before{content:"\f1a9"}i.icon.dyalog:before{content:"\f399"}i.icon.earlybirds:before{content:"\f39a"}i.icon.edge:before{content:"\f282"}i.icon.edit:before{content:"\f044"}i.icon.eject:before{content:"\f052"}i.icon.elementor:before{content:"\f430"}i.icon.ellipsis.horizontal:before{content:"\f141"}i.icon.ellipsis.vertical:before{content:"\f142"}i.icon.ember:before{content:"\f423"}i.icon.empire:before{content:"\f1d1"}i.icon.envelope:before{content:"\f0e0"}i.icon.envelope.open:before{content:"\f2b6"}i.icon.envelope.square:before{content:"\f199"}i.icon.envira:before{content:"\f299"}i.icon.eraser:before{content:"\f12d"}i.icon.erlang:before{content:"\f39d"}i.icon.ethereum:before{content:"\f42e"}i.icon.etsy:before{content:"\f2d7"}i.icon.euro.sign:before{content:"\f153"}i.icon.exchange.alternate:before{content:"\f362"}i.icon.exclamation:before{content:"\f12a"}i.icon.exclamation.circle:before{content:"\f06a"}i.icon.exclamation.triangle:before{content:"\f071"}i.icon.expand:before{content:"\f065"}i.icon.expand.arrows.alternate:before{content:"\f31e"}i.icon.expeditedssl:before{content:"\f23e"}i.icon.external.alternate:before{content:"\f35d"}i.icon.external.square.alternate:before{content:"\f360"}i.icon.eye:before{content:"\f06e"}i.icon.eye.dropper:before{content:"\f1fb"}i.icon.eye.slash:before{content:"\f070"}i.icon.facebook:before{content:"\f09a"}i.icon.facebook.f:before{content:"\f39e"}i.icon.facebook.messenger:before{content:"\f39f"}i.icon.facebook.square:before{content:"\f082"}i.icon.fast.backward:before{content:"\f049"}i.icon.fast.forward:before{content:"\f050"}i.icon.fax:before{content:"\f1ac"}i.icon.female:before{content:"\f182"}i.icon.fighter.jet:before{content:"\f0fb"}i.icon.file:before{content:"\f15b"}i.icon.file.alternate:before{content:"\f15c"}i.icon.file.archive:before{content:"\f1c6"}i.icon.file.audio:before{content:"\f1c7"}i.icon.file.code:before{content:"\f1c9"}i.icon.file.excel:before{content:"\f1c3"}i.icon.file.image:before{content:"\f1c5"}i.icon.file.pdf:before{content:"\f1c1"}i.icon.file.powerpoint:before{content:"\f1c4"}i.icon.file.video:before{content:"\f1c8"}i.icon.file.word:before{content:"\f1c2"}i.icon.film:before{content:"\f008"}i.icon.filter:before{content:"\f0b0"}i.icon.fire:before{content:"\f06d"}i.icon.fire.extinguisher:before{content:"\f134"}i.icon.firefox:before{content:"\f269"}i.icon.first.order:before{content:"\f2b0"}i.icon.firstdraft:before{content:"\f3a1"}i.icon.flag:before{content:"\f024"}i.icon.flag.checkered:before{content:"\f11e"}i.icon.flask:before{content:"\f0c3"}i.icon.flickr:before{content:"\f16e"}i.icon.flipboard:before{content:"\f44d"}i.icon.fly:before{content:"\f417"}i.icon.folder:before{content:"\f07b"}i.icon.folder.open:before{content:"\f07c"}i.icon.font:before{content:"\f031"}i.icon.font.awesome:before{content:"\f2b4"}i.icon.font.awesome.alternate:before{content:"\f35c"}i.icon.font.awesome.flag:before{content:"\f425"}i.icon.fonticons:before{content:"\f280"}i.icon.fonticons.fi:before{content:"\f3a2"}i.icon.football.ball:before{content:"\f44e"}i.icon.fort.awesome:before{content:"\f286"}i.icon.fort.awesome.alternate:before{content:"\f3a3"}i.icon.forumbee:before{content:"\f211"}i.icon.forward:before{content:"\f04e"}i.icon.foursquare:before{content:"\f180"}i.icon.free.code.camp:before{content:"\f2c5"}i.icon.freebsd:before{content:"\f3a4"}i.icon.frown:before{content:"\f119"}i.icon.futbol:before{content:"\f1e3"}i.icon.gamepad:before{content:"\f11b"}i.icon.gavel:before{content:"\f0e3"}i.icon.gem:before{content:"\f3a5"}i.icon.genderless:before{content:"\f22d"}i.icon.get.pocket:before{content:"\f265"}i.icon.gg:before{content:"\f260"}i.icon.gg.circle:before{content:"\f261"}i.icon.gift:before{content:"\f06b"}i.icon.git:before{content:"\f1d3"}i.icon.git.square:before{content:"\f1d2"}i.icon.github:before{content:"\f09b"}i.icon.github.alternate:before{content:"\f113"}i.icon.github.square:before{content:"\f092"}i.icon.gitkraken:before{content:"\f3a6"}i.icon.gitlab:before{content:"\f296"}i.icon.gitter:before{content:"\f426"}i.icon.glass.martini:before{content:"\f000"}i.icon.glide:before{content:"\f2a5"}i.icon.glide.g:before{content:"\f2a6"}i.icon.globe:before{content:"\f0ac"}i.icon.gofore:before{content:"\f3a7"}i.icon.golf.ball:before{content:"\f450"}i.icon.goodreads:before{content:"\f3a8"}i.icon.goodreads.g:before{content:"\f3a9"}i.icon.google:before{content:"\f1a0"}i.icon.google.drive:before{content:"\f3aa"}i.icon.google.play:before{content:"\f3ab"}i.icon.google.plus:before{content:"\f2b3"}i.icon.google.plus.g:before{content:"\f0d5"}i.icon.google.plus.square:before{content:"\f0d4"}i.icon.google.wallet:before{content:"\f1ee"}i.icon.graduation.cap:before{content:"\f19d"}i.icon.gratipay:before{content:"\f184"}i.icon.grav:before{content:"\f2d6"}i.icon.gripfire:before{content:"\f3ac"}i.icon.grunt:before{content:"\f3ad"}i.icon.gulp:before{content:"\f3ae"}i.icon.h.square:before{content:"\f0fd"}i.icon.hacker.news:before{content:"\f1d4"}i.icon.hacker.news.square:before{content:"\f3af"}i.icon.hand.lizard:before{content:"\f258"}i.icon.hand.paper:before{content:"\f256"}i.icon.hand.peace:before{content:"\f25b"}i.icon.hand.point.down:before{content:"\f0a7"}i.icon.hand.point.left:before{content:"\f0a5"}i.icon.hand.point.right:before{content:"\f0a4"}i.icon.hand.point.up:before{content:"\f0a6"}i.icon.hand.pointer:before{content:"\f25a"}i.icon.hand.rock:before{content:"\f255"}i.icon.hand.scissors:before{content:"\f257"}i.icon.hand.spock:before{content:"\f259"}i.icon.handshake:before{content:"\f2b5"}i.icon.hashtag:before{content:"\f292"}i.icon.hdd:before{content:"\f0a0"}i.icon.heading:before{content:"\f1dc"}i.icon.headphones:before{content:"\f025"}i.icon.heart:before{content:"\f004"}i.icon.heartbeat:before{content:"\f21e"}i.icon.hips:before{content:"\f452"}i.icon.hire.a.helper:before{content:"\f3b0"}i.icon.history:before{content:"\f1da"}i.icon.hockey.puck:before{content:"\f453"}i.icon.home:before{content:"\f015"}i.icon.hooli:before{content:"\f427"}i.icon.hospital:before{content:"\f0f8"}i.icon.hospital.symbol:before{content:"\f47e"}i.icon.hotjar:before{content:"\f3b1"}i.icon.hourglass:before{content:"\f254"}i.icon.hourglass.end:before{content:"\f253"}i.icon.hourglass.half:before{content:"\f252"}i.icon.hourglass.start:before{content:"\f251"}i.icon.houzz:before{content:"\f27c"}i.icon.html5:before{content:"\f13b"}i.icon.hubspot:before{content:"\f3b2"}i.icon.i.cursor:before{content:"\f246"}i.icon.id.badge:before{content:"\f2c1"}i.icon.id.card:before{content:"\f2c2"}i.icon.image:before{content:"\f03e"}i.icon.images:before{content:"\f302"}i.icon.imdb:before{content:"\f2d8"}i.icon.inbox:before{content:"\f01c"}i.icon.indent:before{content:"\f03c"}i.icon.industry:before{content:"\f275"}i.icon.info:before{content:"\f129"}i.icon.info.circle:before{content:"\f05a"}i.icon.instagram:before{content:"\f16d"}i.icon.internet.explorer:before{content:"\f26b"}i.icon.ioxhost:before{content:"\f208"}i.icon.italic:before{content:"\f033"}i.icon.itunes:before{content:"\f3b4"}i.icon.itunes.note:before{content:"\f3b5"}i.icon.jenkins:before{content:"\f3b6"}i.icon.joget:before{content:"\f3b7"}i.icon.joomla:before{content:"\f1aa"}i.icon.js:before{content:"\f3b8"}i.icon.js.square:before{content:"\f3b9"}i.icon.jsfiddle:before{content:"\f1cc"}i.icon.key:before{content:"\f084"}i.icon.keyboard:before{content:"\f11c"}i.icon.keycdn:before{content:"\f3ba"}i.icon.kickstarter:before{content:"\f3bb"}i.icon.kickstarter.k:before{content:"\f3bc"}i.icon.korvue:before{content:"\f42f"}i.icon.language:before{content:"\f1ab"}i.icon.laptop:before{content:"\f109"}i.icon.laravel:before{content:"\f3bd"}i.icon.lastfm:before{content:"\f202"}i.icon.lastfm.square:before{content:"\f203"}i.icon.leaf:before{content:"\f06c"}i.icon.leanpub:before{content:"\f212"}i.icon.lemon:before{content:"\f094"}i.icon.less:before{content:"\f41d"}i.icon.level.down.alternate:before{content:"\f3be"}i.icon.level.up.alternate:before{content:"\f3bf"}i.icon.life.ring:before{content:"\f1cd"}i.icon.lightbulb:before{content:"\f0eb"}i.icon.linechat:before{content:"\f3c0"}i.icon.linkedin:before{content:"\f08c"}i.icon.linkedin.alt:before{content:"\f0e1"}i.icon.linode:before{content:"\f2b8"}i.icon.linux:before{content:"\f17c"}i.icon.lira.sign:before{content:"\f195"}i.icon.list:before{content:"\f03a"}i.icon.list.alternate:before{content:"\f022"}i.icon.list.ol:before{content:"\f0cb"}i.icon.list.ul:before{content:"\f0ca"}i.icon.location.arrow:before{content:"\f124"}i.icon.lock:before{content:"\f023"}i.icon.lock.open:before{content:"\f3c1"}i.icon.long.arrow.alternate.down:before{content:"\f309"}i.icon.long.arrow.alternate.left:before{content:"\f30a"}i.icon.long.arrow.alternate.right:before{content:"\f30b"}i.icon.long.arrow.alternate.up:before{content:"\f30c"}i.icon.low.vision:before{content:"\f2a8"}i.icon.lyft:before{content:"\f3c3"}i.icon.magento:before{content:"\f3c4"}i.icon.magic:before{content:"\f0d0"}i.icon.magnet:before{content:"\f076"}i.icon.male:before{content:"\f183"}i.icon.map:before{content:"\f279"}i.icon.map.marker:before{content:"\f041"}i.icon.map.marker.alternate:before{content:"\f3c5"}i.icon.map.pin:before{content:"\f276"}i.icon.map.signs:before{content:"\f277"}i.icon.mars:before{content:"\f222"}i.icon.mars.double:before{content:"\f227"}i.icon.mars.stroke:before{content:"\f229"}i.icon.mars.stroke.horizontal:before{content:"\f22b"}i.icon.mars.stroke.vertical:before{content:"\f22a"}i.icon.maxcdn:before{content:"\f136"}i.icon.medapps:before{content:"\f3c6"}i.icon.medium:before{content:"\f23a"}i.icon.medium.m:before{content:"\f3c7"}i.icon.medkit:before{content:"\f0fa"}i.icon.medrt:before{content:"\f3c8"}i.icon.meetup:before{content:"\f2e0"}i.icon.meh:before{content:"\f11a"}i.icon.mercury:before{content:"\f223"}i.icon.microchip:before{content:"\f2db"}i.icon.microphone:before{content:"\f130"}i.icon.microphone.slash:before{content:"\f131"}i.icon.microsoft:before{content:"\f3ca"}i.icon.minus:before{content:"\f068"}i.icon.minus.circle:before{content:"\f056"}i.icon.minus.square:before{content:"\f146"}i.icon.mix:before{content:"\f3cb"}i.icon.mixcloud:before{content:"\f289"}i.icon.mizuni:before{content:"\f3cc"}i.icon.mobile:before{content:"\f10b"}i.icon.mobile.alternate:before{content:"\f3cd"}i.icon.modx:before{content:"\f285"}i.icon.monero:before{content:"\f3d0"}i.icon.money.bill.alternate:before{content:"\f3d1"}i.icon.moon:before{content:"\f186"}i.icon.motorcycle:before{content:"\f21c"}i.icon.mouse.pointer:before{content:"\f245"}i.icon.music:before{content:"\f001"}i.icon.napster:before{content:"\f3d2"}i.icon.neuter:before{content:"\f22c"}i.icon.newspaper:before{content:"\f1ea"}i.icon.nintendo.switch:before{content:"\f418"}i.icon.node:before{content:"\f419"}i.icon.node.js:before{content:"\f3d3"}i.icon.npm:before{content:"\f3d4"}i.icon.ns8:before{content:"\f3d5"}i.icon.nutritionix:before{content:"\f3d6"}i.icon.object.group:before{content:"\f247"}i.icon.object.ungroup:before{content:"\f248"}i.icon.odnoklassniki:before{content:"\f263"}i.icon.odnoklassniki.square:before{content:"\f264"}i.icon.opencart:before{content:"\f23d"}i.icon.openid:before{content:"\f19b"}i.icon.opera:before{content:"\f26a"}i.icon.optin.monster:before{content:"\f23c"}i.icon.osi:before{content:"\f41a"}i.icon.outdent:before{content:"\f03b"}i.icon.page4:before{content:"\f3d7"}i.icon.pagelines:before{content:"\f18c"}i.icon.paint.brush:before{content:"\f1fc"}i.icon.palfed:before{content:"\f3d8"}i.icon.pallet:before{content:"\f482"}i.icon.paper.plane:before{content:"\f1d8"}i.icon.paperclip:before{content:"\f0c6"}i.icon.paragraph:before{content:"\f1dd"}i.icon.paste:before{content:"\f0ea"}i.icon.patreon:before{content:"\f3d9"}i.icon.pause:before{content:"\f04c"}i.icon.pause.circle:before{content:"\f28b"}i.icon.paw:before{content:"\f1b0"}i.icon.paypal:before{content:"\f1ed"}i.icon.pen.square:before{content:"\f14b"}i.icon.pencil.alternate:before{content:"\f303"}i.icon.percent:before{content:"\f295"}i.icon.periscope:before{content:"\f3da"}i.icon.phabricator:before{content:"\f3db"}i.icon.phoenix.framework:before{content:"\f3dc"}i.icon.phone:before{content:"\f095"}i.icon.phone.square:before{content:"\f098"}i.icon.phone.volume:before{content:"\f2a0"}i.icon.php:before{content:"\f457"}i.icon.pied.piper:before{content:"\f2ae"}i.icon.pied.piper.alternate:before{content:"\f1a8"}i.icon.pied.piper.pp:before{content:"\f1a7"}i.icon.pills:before{content:"\f484"}i.icon.pinterest:before{content:"\f0d2"}i.icon.pinterest.p:before{content:"\f231"}i.icon.pinterest.square:before{content:"\f0d3"}i.icon.plane:before{content:"\f072"}i.icon.play:before{content:"\f04b"}i.icon.play.circle:before{content:"\f144"}i.icon.playstation:before{content:"\f3df"}i.icon.plug:before{content:"\f1e6"}i.icon.plus:before{content:"\f067"}i.icon.plus.circle:before{content:"\f055"}i.icon.plus.square:before{content:"\f0fe"}i.icon.podcast:before{content:"\f2ce"}i.icon.pound.sign:before{content:"\f154"}i.icon.power.off:before{content:"\f011"}i.icon.print:before{content:"\f02f"}i.icon.product.hunt:before{content:"\f288"}i.icon.pushed:before{content:"\f3e1"}i.icon.puzzle.piece:before{content:"\f12e"}i.icon.python:before{content:"\f3e2"}i.icon.qq:before{content:"\f1d6"}i.icon.qrcode:before{content:"\f029"}i.icon.question:before{content:"\f128"}i.icon.question.circle:before{content:"\f059"}i.icon.quidditch:before{content:"\f458"}i.icon.quinscape:before{content:"\f459"}i.icon.quora:before{content:"\f2c4"}i.icon.quote.left:before{content:"\f10d"}i.icon.quote.right:before{content:"\f10e"}i.icon.random:before{content:"\f074"}i.icon.ravelry:before{content:"\f2d9"}i.icon.react:before{content:"\f41b"}i.icon.rebel:before{content:"\f1d0"}i.icon.recycle:before{content:"\f1b8"}i.icon.redriver:before{content:"\f3e3"}i.icon.reddit:before{content:"\f1a1"}i.icon.reddit.alien:before{content:"\f281"}i.icon.reddit.square:before{content:"\f1a2"}i.icon.redo:before{content:"\f01e"}i.icon.redo.alternate:before{content:"\f2f9"}i.icon.registered:before{content:"\f25d"}i.icon.rendact:before{content:"\f3e4"}i.icon.renren:before{content:"\f18b"}i.icon.reply:before{content:"\f3e5"}i.icon.reply.all:before{content:"\f122"}i.icon.replyd:before{content:"\f3e6"}i.icon.resolving:before{content:"\f3e7"}i.icon.retweet:before{content:"\f079"}i.icon.road:before{content:"\f018"}i.icon.rocket:before{content:"\f135"}i.icon.rocketchat:before{content:"\f3e8"}i.icon.rockrms:before{content:"\f3e9"}i.icon.rss:before{content:"\f09e"}i.icon.rss.square:before{content:"\f143"}i.icon.ruble.sign:before{content:"\f158"}i.icon.rupee.sign:before{content:"\f156"}i.icon.safari:before{content:"\f267"}i.icon.sass:before{content:"\f41e"}i.icon.save:before{content:"\f0c7"}i.icon.schlix:before{content:"\f3ea"}i.icon.scribd:before{content:"\f28a"}i.icon.search:before{content:"\f002"}i.icon.search.minus:before{content:"\f010"}i.icon.search.plus:before{content:"\f00e"}i.icon.searchengin:before{content:"\f3eb"}i.icon.sellcast:before{content:"\f2da"}i.icon.sellsy:before{content:"\f213"}i.icon.server:before{content:"\f233"}i.icon.servicestack:before{content:"\f3ec"}i.icon.share:before{content:"\f064"}i.icon.share.alternate:before{content:"\f1e0"}i.icon.share.alternate.square:before{content:"\f1e1"}i.icon.share.square:before{content:"\f14d"}i.icon.shekel.sign:before{content:"\f20b"}i.icon.shield.alternate:before{content:"\f3ed"}i.icon.ship:before{content:"\f21a"}i.icon.shipping.fast:before{content:"\f48b"}i.icon.shirtsinbulk:before{content:"\f214"}i.icon.shopping.bag:before{content:"\f290"}i.icon.shopping.basket:before{content:"\f291"}i.icon.shopping.cart:before{content:"\f07a"}i.icon.shower:before{content:"\f2cc"}i.icon.sign.language:before{content:"\f2a7"}i.icon.signal:before{content:"\f012"}i.icon.simplybuilt:before{content:"\f215"}i.icon.sistrix:before{content:"\f3ee"}i.icon.sitemap:before{content:"\f0e8"}i.icon.skyatlas:before{content:"\f216"}i.icon.skype:before{content:"\f17e"}i.icon.slack:before{content:"\f198"}i.icon.slack.hash:before{content:"\f3ef"}i.icon.sliders.horizontal:before{content:"\f1de"}i.icon.slideshare:before{content:"\f1e7"}i.icon.smile:before{content:"\f118"}i.icon.snapchat:before{content:"\f2ab"}i.icon.snapchat.ghost:before{content:"\f2ac"}i.icon.snapchat.square:before{content:"\f2ad"}i.icon.snowflake:before{content:"\f2dc"}i.icon.sort:before{content:"\f0dc"}i.icon.sort.alphabet.down:before{content:"\f15d"}i.icon.sort.alphabet.up:before{content:"\f15e"}i.icon.sort.amount.down:before{content:"\f160"}i.icon.sort.amount.up:before{content:"\f161"}i.icon.sort.down:before{content:"\f0dd"}i.icon.sort.numeric.down:before{content:"\f162"}i.icon.sort.numeric.up:before{content:"\f163"}i.icon.sort.up:before{content:"\f0de"}i.icon.soundcloud:before{content:"\f1be"}i.icon.space.shuttle:before{content:"\f197"}i.icon.speakap:before{content:"\f3f3"}i.icon.spinner:before{content:"\f110"}i.icon.spotify:before{content:"\f1bc"}i.icon.square:before{content:"\f0c8"}i.icon.square.full:before{content:"\f45c"}i.icon.stack.exchange:before{content:"\f18d"}i.icon.stack.overflow:before{content:"\f16c"}i.icon.star:before{content:"\f005"}i.icon.star.half:before{content:"\f089"}i.icon.staylinked:before{content:"\f3f5"}i.icon.steam:before{content:"\f1b6"}i.icon.steam.square:before{content:"\f1b7"}i.icon.steam.symbol:before{content:"\f3f6"}i.icon.step.backward:before{content:"\f048"}i.icon.step.forward:before{content:"\f051"}i.icon.stethoscope:before{content:"\f0f1"}i.icon.sticker.mule:before{content:"\f3f7"}i.icon.sticky.note:before{content:"\f249"}i.icon.stop:before{content:"\f04d"}i.icon.stop.circle:before{content:"\f28d"}i.icon.stopwatch:before{content:"\f2f2"}i.icon.strava:before{content:"\f428"}i.icon.street.view:before{content:"\f21d"}i.icon.strikethrough:before{content:"\f0cc"}i.icon.stripe:before{content:"\f429"}i.icon.stripe.s:before{content:"\f42a"}i.icon.studiovinari:before{content:"\f3f8"}i.icon.stumbleupon:before{content:"\f1a4"}i.icon.stumbleupon.circle:before{content:"\f1a3"}i.icon.subscript:before{content:"\f12c"}i.icon.subway:before{content:"\f239"}i.icon.suitcase:before{content:"\f0f2"}i.icon.sun:before{content:"\f185"}i.icon.superpowers:before{content:"\f2dd"}i.icon.superscript:before{content:"\f12b"}i.icon.supple:before{content:"\f3f9"}i.icon.sync:before{content:"\f021"}i.icon.sync.alternate:before{content:"\f2f1"}i.icon.syringe:before{content:"\f48e"}i.icon.table:before{content:"\f0ce"}i.icon.table.tennis:before{content:"\f45d"}i.icon.tablet:before{content:"\f10a"}i.icon.tablet.alternate:before{content:"\f3fa"}i.icon.tachometer.alternate:before{content:"\f3fd"}i.icon.tag:before{content:"\f02b"}i.icon.tags:before{content:"\f02c"}i.icon.tasks:before{content:"\f0ae"}i.icon.taxi:before{content:"\f1ba"}i.icon.telegram:before{content:"\f2c6"}i.icon.telegram.plane:before{content:"\f3fe"}i.icon.tencent.weibo:before{content:"\f1d5"}i.icon.terminal:before{content:"\f120"}i.icon.text.height:before{content:"\f034"}i.icon.text.width:before{content:"\f035"}i.icon.th:before{content:"\f00a"}i.icon.th.large:before{content:"\f009"}i.icon.th.list:before{content:"\f00b"}i.icon.themeisle:before{content:"\f2b2"}i.icon.thermometer.empty:before{content:"\f2cb"}i.icon.thermometer.full:before{content:"\f2c7"}i.icon.thermometer.half:before{content:"\f2c9"}i.icon.thermometer.quarter:before{content:"\f2ca"}i.icon.thermometer.three.quarters:before{content:"\f2c8"}i.icon.thumbs.down:before{content:"\f165"}i.icon.thumbs.up:before{content:"\f164"}i.icon.thumbtack:before{content:"\f08d"}i.icon.ticket.alternate:before{content:"\f3ff"}i.icon.times:before{content:"\f00d"}i.icon.times.circle:before{content:"\f057"}i.icon.tint:before{content:"\f043"}i.icon.toggle.off:before{content:"\f204"}i.icon.toggle.on:before{content:"\f205"}i.icon.trademark:before{content:"\f25c"}i.icon.train:before{content:"\f238"}i.icon.transgender:before{content:"\f224"}i.icon.transgender.alternate:before{content:"\f225"}i.icon.trash:before{content:"\f1f8"}i.icon.trash.alternate:before{content:"\f2ed"}i.icon.tree:before{content:"\f1bb"}i.icon.trello:before{content:"\f181"}i.icon.tripadvisor:before{content:"\f262"}i.icon.trophy:before{content:"\f091"}i.icon.truck:before{content:"\f0d1"}i.icon.tty:before{content:"\f1e4"}i.icon.tumblr:before{content:"\f173"}i.icon.tumblr.square:before{content:"\f174"}i.icon.tv:before{content:"\f26c"}i.icon.twitch:before{content:"\f1e8"}i.icon.twitter:before{content:"\f099"}i.icon.twitter.square:before{content:"\f081"}i.icon.typo3:before{content:"\f42b"}i.icon.uber:before{content:"\f402"}i.icon.uikit:before{content:"\f403"}i.icon.umbrella:before{content:"\f0e9"}i.icon.underline:before{content:"\f0cd"}i.icon.undo:before{content:"\f0e2"}i.icon.undo.alternate:before{content:"\f2ea"}i.icon.uniregistry:before{content:"\f404"}i.icon.universal.access:before{content:"\f29a"}i.icon.university:before{content:"\f19c"}i.icon.unlink:before{content:"\f127"}i.icon.unlock:before{content:"\f09c"}i.icon.unlock.alternate:before{content:"\f13e"}i.icon.untappd:before{content:"\f405"}i.icon.upload:before{content:"\f093"}i.icon.usb:before{content:"\f287"}i.icon.user:before{content:"\f007"}i.icon.user.circle:before{content:"\f2bd"}i.icon.user.md:before{content:"\f0f0"}i.icon.user.plus:before{content:"\f234"}i.icon.user.secret:before{content:"\f21b"}i.icon.user.times:before{content:"\f235"}i.icon.users:before{content:"\f0c0"}i.icon.ussunnah:before{content:"\f407"}i.icon.utensil.spoon:before{content:"\f2e5"}i.icon.utensils:before{content:"\f2e7"}i.icon.vaadin:before{content:"\f408"}i.icon.venus:before{content:"\f221"}i.icon.venus.double:before{content:"\f226"}i.icon.venus.mars:before{content:"\f228"}i.icon.viacoin:before{content:"\f237"}i.icon.viadeo:before{content:"\f2a9"}i.icon.viadeo.square:before{content:"\f2aa"}i.icon.viber:before{content:"\f409"}i.icon.video:before{content:"\f03d"}i.icon.vimeo:before{content:"\f40a"}i.icon.vimeo.square:before{content:"\f194"}i.icon.vimeo.v:before{content:"\f27d"}i.icon.vine:before{content:"\f1ca"}i.icon.vk:before{content:"\f189"}i.icon.vnv:before{content:"\f40b"}i.icon.volleyball.ball:before{content:"\f45f"}i.icon.volume.down:before{content:"\f027"}i.icon.volume.off:before{content:"\f026"}i.icon.volume.up:before{content:"\f028"}i.icon.vuejs:before{content:"\f41f"}i.icon.warehouse:before{content:"\f494"}i.icon.weibo:before{content:"\f18a"}i.icon.weight:before{content:"\f496"}i.icon.weixin:before{content:"\f1d7"}i.icon.whatsapp:before{content:"\f232"}i.icon.whatsapp.square:before{content:"\f40c"}i.icon.wheelchair:before{content:"\f193"}i.icon.whmcs:before{content:"\f40d"}i.icon.wifi:before{content:"\f1eb"}i.icon.wikipedia.w:before{content:"\f266"}i.icon.window.close:before{content:"\f410"}i.icon.window.maximize:before{content:"\f2d0"}i.icon.window.minimize:before{content:"\f2d1"}i.icon.window.restore:before{content:"\f2d2"}i.icon.windows:before{content:"\f17a"}i.icon.won.sign:before{content:"\f159"}i.icon.wordpress:before{content:"\f19a"}i.icon.wordpress.simple:before{content:"\f411"}i.icon.wpbeginner:before{content:"\f297"}i.icon.wpexplorer:before{content:"\f2de"}i.icon.wpforms:before{content:"\f298"}i.icon.wrench:before{content:"\f0ad"}i.icon.xbox:before{content:"\f412"}i.icon.xing:before{content:"\f168"}i.icon.xing.square:before{content:"\f169"}i.icon.y.combinator:before{content:"\f23b"}i.icon.yahoo:before{content:"\f19e"}i.icon.yandex:before{content:"\f413"}i.icon.yandex.international:before{content:"\f414"}i.icon.yelp:before{content:"\f1e9"}i.icon.yen.sign:before{content:"\f157"}i.icon.yoast:before{content:"\f2b1"}i.icon.youtube:before{content:"\f167"}i.icon.youtube.square:before{content:"\f431"}i.icon.chess.rock:before{content:"\f447"}i.icon.ordered.list:before{content:"\f0cb"}i.icon.unordered.list:before{content:"\f0ca"}i.icon.user.doctor:before{content:"\f0f0"}i.icon.shield:before{content:"\f3ed"}i.icon.puzzle:before{content:"\f12e"}i.icon.credit.card.amazon.pay:before{content:"\f42d"}i.icon.credit.card.american.express:before{content:"\f1f3"}i.icon.credit.card.diners.club:before{content:"\f24c"}i.icon.credit.card.discover:before{content:"\f1f2"}i.icon.credit.card.jcb:before,i.icon.japan.credit.bureau.card:before{content:"\f24b"}i.icon.credit.card.mastercard:before{content:"\f1f1"}i.icon.credit.card.paypal:before{content:"\f1f4"}i.icon.credit.card.stripe:before{content:"\f1f5"}i.icon.credit.card.visa:before{content:"\f1f0"}i.icon.add.circle:before{content:"\f055"}i.icon.add.square:before{content:"\f0fe"}i.icon.add.to.calendar:before{content:"\f271"}i.icon.add.to.cart:before{content:"\f217"}i.icon.add.user:before{content:"\f234"}i.icon.add:before{content:"\f067"}i.icon.alarm.mute:before{content:"\f1f6"}i.icon.alarm:before{content:"\f0f3"}i.icon.ald:before,i.icon.als:before{content:"\f2a2"}i.icon.american.express.card:before,i.icon.american.express:before,i.icon.amex:before{content:"\f1f3"}i.icon.announcement:before{content:"\f0a1"}i.icon.area.chart:before,i.icon.area.graph:before{content:"\f1fe"}i.icon.arrow.down.cart:before{content:"\f218"}i.icon.asexual:before{content:"\f22d"}i.icon.asl.interpreting:before,i.icon.asl:before{content:"\f2a3"}i.icon.assistive.listening.devices:before{content:"\f2a2"}i.icon.attach:before{content:"\f0c6"}i.icon.attention:before{content:"\f06a"}i.icon.balance:before{content:"\f24e"}i.icon.bar:before{content:"\f0fc"}i.icon.bathtub:before{content:"\f2cd"}i.icon.battery.four:before{content:"\f240"}i.icon.battery.high:before{content:"\f241"}i.icon.battery.low:before{content:"\f243"}i.icon.battery.medium:before{content:"\f242"}i.icon.battery.one:before{content:"\f243"}i.icon.battery.three:before{content:"\f241"}i.icon.battery.two:before{content:"\f242"}i.icon.battery.zero:before{content:"\f244"}i.icon.birthday:before{content:"\f1fd"}i.icon.block.layout:before{content:"\f009"}i.icon.bluetooth.alternative:before{content:"\f294"}i.icon.broken.chain:before{content:"\f127"}i.icon.browser:before{content:"\f022"}i.icon.call.square:before{content:"\f098"}i.icon.call:before{content:"\f095"}i.icon.cancel:before{content:"\f00d"}i.icon.cart:before{content:"\f07a"}i.icon.cc:before{content:"\f20a"}i.icon.chain:before{content:"\f0c1"}i.icon.chat:before{content:"\f075"}i.icon.checked.calendar:before{content:"\f274"}i.icon.checkmark:before{content:"\f00c"}i.icon.circle.notched:before{content:"\f1ce"}i.icon.close:before{content:"\f00d"}i.icon.cny:before{content:"\f157"}i.icon.cocktail:before{content:"\f000"}i.icon.commenting:before{content:"\f27a"}i.icon.computer:before{content:"\f108"}i.icon.configure:before{content:"\f0ad"}i.icon.content:before{content:"\f0c9"}i.icon.deafness:before{content:"\f2a4"}i.icon.delete.calendar:before{content:"\f273"}i.icon.delete:before{content:"\f00d"}i.icon.detective:before{content:"\f21b"}i.icon.diners.club.card:before,i.icon.diners.club:before{content:"\f24c"}i.icon.discover.card:before,i.icon.discover:before{content:"\f1f2"}i.icon.discussions:before{content:"\f086"}i.icon.doctor:before{content:"\f0f0"}i.icon.dollar:before{content:"\f155"}i.icon.dont:before{content:"\f05e"}i.icon.dribble:before{content:"\f17d"}i.icon.drivers.license:before{content:"\f2c2"}i.icon.dropdown:before{content:"\f0d7"}i.icon.eercast:before{content:"\f2da"}i.icon.emergency:before{content:"\f0f9"}i.icon.envira.gallery:before{content:"\f299"}i.icon.erase:before{content:"\f12d"}i.icon.eur:before,i.icon.euro:before{content:"\f153"}i.icon.eyedropper:before{content:"\f1fb"}i.icon.fa:before{content:"\f2b4"}i.icon.factory:before{content:"\f275"}i.icon.favorite:before{content:"\f005"}i.icon.feed:before{content:"\f09e"}i.icon.female.homosexual:before{content:"\f226"}i.icon.file.text:before{content:"\f15c"}i.icon.find:before{content:"\f1e5"}i.icon.first.aid:before{content:"\f0fa"}i.icon.five.hundred.pixels:before{content:"\f26e"}i.icon.fork:before{content:"\f126"}i.icon.game:before{content:"\f11b"}i.icon.gay:before{content:"\f227"}i.icon.gbp:before{content:"\f154"}i.icon.gittip:before{content:"\f184"}i.icon.google.plus.circle:before,i.icon.google.plus.official:before{content:"\f2b3"}i.icon.grab:before{content:"\f255"}i.icon.graduation:before{content:"\f19d"}i.icon.grid.layout:before{content:"\f00a"}i.icon.group:before{content:"\f0c0"}i.icon.h:before{content:"\f0fd"}i.icon.hand.victory:before{content:"\f25b"}i.icon.handicap:before{content:"\f193"}i.icon.hard.of.hearing:before{content:"\f2a4"}i.icon.header:before{content:"\f1dc"}i.icon.help.circle:before{content:"\f059"}i.icon.help:before{content:"\f128"}i.icon.heterosexual:before{content:"\f228"}i.icon.hide:before{content:"\f070"}i.icon.hotel:before{content:"\f236"}i.icon.hourglass.four:before,i.icon.hourglass.full:before{content:"\f254"}i.icon.hourglass.one:before{content:"\f251"}i.icon.hourglass.three:before{content:"\f253"}i.icon.hourglass.two:before{content:"\f252"}i.icon.idea:before{content:"\f0eb"}i.icon.ils:before{content:"\f20b"}i.icon.in-cart:before{content:"\f218"}i.icon.inr:before{content:"\f156"}i.icon.intergender:before,i.icon.intersex:before{content:"\f224"}i.icon.japan.credit.bureau:before,i.icon.jcb:before{content:"\f24b"}i.icon.jpy:before{content:"\f157"}i.icon.krw:before{content:"\f159"}i.icon.lab:before{content:"\f0c3"}i.icon.law:before{content:"\f24e"}i.icon.legal:before{content:"\f0e3"}i.icon.lesbian:before{content:"\f226"}i.icon.lightning:before{content:"\f0e7"}i.icon.like:before{content:"\f004"}i.icon.line.graph:before{content:"\f201"}i.icon.linkedin.square:before{content:"\f08c"}i.icon.linkify:before{content:"\f0c1"}i.icon.lira:before{content:"\f195"}i.icon.list.layout:before{content:"\f00b"}i.icon.magnify:before{content:"\f00e"}i.icon.mail.forward:before{content:"\f064"}i.icon.mail.square:before{content:"\f199"}i.icon.mail:before{content:"\f0e0"}i.icon.male.homosexual:before{content:"\f227"}i.icon.man:before{content:"\f222"}i.icon.marker:before{content:"\f041"}i.icon.mars.alternate:before{content:"\f229"}i.icon.mars.horizontal:before{content:"\f22b"}i.icon.mars.vertical:before{content:"\f22a"}i.icon.mastercard.card:before,i.icon.mastercard:before{content:"\f1f1"}i.icon.microsoft.edge:before,i.icon.ms.edge:before{content:"\f282"}i.icon.military:before{content:"\f0fb"}i.icon.mute:before{content:"\f131"}i.icon.new.pied.piper:before{content:"\f2ae"}i.icon.non.binary.transgender:before{content:"\f223"}i.icon.numbered.list:before{content:"\f0cb"}i.icon.optinmonster:before{content:"\f23c"}i.icon.options:before{content:"\f1de"}i.icon.other.gender.horizontal:before{content:"\f22b"}i.icon.other.gender.vertical:before{content:"\f22a"}i.icon.other.gender:before{content:"\f229"}i.icon.payment:before{content:"\f09d"}i.icon.paypal.card:before{content:"\f1f4"}i.icon.pencil.square:before{content:"\f14b"}i.icon.photo:before{content:"\f030"}i.icon.picture:before{content:"\f03e"}i.icon.pie.chart:before,i.icon.pie.graph:before{content:"\f200"}i.icon.pied.piper.hat:before{content:"\f2ae"}i.icon.pin:before{content:"\f08d"}i.icon.plus.cart:before{content:"\f217"}i.icon.pocket:before{content:"\f265"}i.icon.point:before{content:"\f041"}i.icon.pointing.down:before{content:"\f0a7"}i.icon.pointing.left:before{content:"\f0a5"}i.icon.pointing.right:before{content:"\f0a4"}i.icon.pointing.up:before{content:"\f0a6"}i.icon.pound:before{content:"\f154"}i.icon.power.cord:before{content:"\f1e6"}i.icon.power:before{content:"\f011"}i.icon.privacy:before{content:"\f084"}i.icon.r.circle:before{content:"\f25d"}i.icon.rain:before{content:"\f0e9"}i.icon.record:before{content:"\f03d"}i.icon.refresh:before{content:"\f021"}i.icon.remove.circle:before{content:"\f057"}i.icon.remove.from.calendar:before{content:"\f272"}i.icon.remove.user:before{content:"\f235"}i.icon.remove:before{content:"\f00d"}i.icon.repeat:before{content:"\f01e"}i.icon.rmb:before{content:"\f157"}i.icon.rouble:before,i.icon.rub:before,i.icon.ruble:before{content:"\f158"}i.icon.rupee:before{content:"\f156"}i.icon.s15:before{content:"\f2cd"}i.icon.selected.radio:before{content:"\f192"}i.icon.send:before{content:"\f1d8"}i.icon.setting:before{content:"\f013"}i.icon.settings:before{content:"\f085"}i.icon.shekel:before,i.icon.sheqel:before{content:"\f20b"}i.icon.shipping:before{content:"\f0d1"}i.icon.shop:before{content:"\f07a"}i.icon.shuffle:before{content:"\f074"}i.icon.shutdown:before{content:"\f011"}i.icon.sidebar:before{content:"\f0c9"}i.icon.signing:before{content:"\f2a7"}i.icon.signup:before{content:"\f044"}i.icon.sliders:before{content:"\f1de"}i.icon.soccer:before{content:"\f1e3"}i.icon.sort.alphabet.ascending:before{content:"\f15d"}i.icon.sort.alphabet.descending:before{content:"\f15e"}i.icon.sort.ascending:before{content:"\f0de"}i.icon.sort.content.ascending:before{content:"\f160"}i.icon.sort.content.descending:before{content:"\f161"}i.icon.sort.descending:before{content:"\f0dd"}i.icon.sort.numeric.ascending:before{content:"\f162"}i.icon.sort.numeric.descending:before{content:"\f163"}i.icon.sound:before{content:"\f025"}i.icon.spy:before{content:"\f21b"}i.icon.stripe.card:before{content:"\f1f5"}i.icon.student:before{content:"\f19d"}i.icon.talk:before{content:"\f27a"}i.icon.target:before{content:"\f140"}i.icon.teletype:before{content:"\f1e4"}i.icon.television:before{content:"\f26c"}i.icon.text.cursor:before{content:"\f246"}i.icon.text.telephone:before{content:"\f1e4"}i.icon.theme.isle:before{content:"\f2b2"}i.icon.theme:before{content:"\f043"}i.icon.thermometer:before{content:"\f2c7"}i.icon.thumb.tack:before{content:"\f08d"}i.icon.time:before{content:"\f017"}i.icon.tm:before{content:"\f25c"}i.icon.caret.square.down.outline:before,i.icon.toggle.down:before{content:"\f150"}i.icon.caret.square.left.outline:before,i.icon.toggle.left:before{content:"\f191"}i.icon.caret.square.right.outline:before,i.icon.toggle.right:before{content:"\f152"}i.icon.caret.square.up.outline:before,i.icon.toggle.up:before{content:"\f151"}i.icon.translate:before{content:"\f1ab"}i.icon.travel:before{content:"\f0b1"}i.icon.treatment:before{content:"\f0f1"}i.icon.triangle.down:before{content:"\f0d7"}i.icon.triangle.left:before{content:"\f0d9"}i.icon.triangle.right:before{content:"\f0da"}i.icon.triangle.up:before{content:"\f0d8"}i.icon.try:before{content:"\f195"}i.icon.unhide:before{content:"\f06e"}i.icon.unlinkify:before{content:"\f127"}i.icon.unmute:before{content:"\f130"}i.icon.usd:before{content:"\f155"}i.icon.user.cancel:before,i.icon.user.close:before,i.icon.user.delete:before,i.icon.user.x:before{content:"\f235"}i.icon.vcard:before{content:"\f2bb"}i.icon.video.camera:before{content:"\f03d"}i.icon.video.play:before{content:"\f144"}i.icon.visa.card:before,i.icon.visa:before{content:"\f1f0"}i.icon.volume.control.phone:before{content:"\f2a0"}i.icon.wait:before{content:"\f017"}i.icon.warning.circle:before{content:"\f06a"}i.icon.warning.sign:before{content:"\f071"}i.icon.warning:before{content:"\f12a"}i.icon.wechat:before{content:"\f1d7"}i.icon.wi-fi:before{content:"\f1eb"}i.icon.wikipedia:before{content:"\f266"}i.icon.winner:before{content:"\f091"}i.icon.wizard:before{content:"\f0d0"}i.icon.woman:before{content:"\f221"}i.icon.won:before{content:"\f159"}i.icon.wordpress.beginner:before{content:"\f297"}i.icon.wordpress.forms:before{content:"\f298"}i.icon.world:before{content:"\f0ac"}i.icon.write.square:before{content:"\f14b"}i.icon.x:before{content:"\f00d"}i.icon.yc:before,i.icon.ycombinator:before{content:"\f23b"}i.icon.yen:before{content:"\f157"}i.icon.zip:before{content:"\f187"}i.icon.zoom-in:before{content:"\f00e"}i.icon.zoom-out:before{content:"\f010"}i.icon.zoom:before{content:"\f00e"}i.icon.bitbucket.square:before{content:"\f171"}i.icon.checkmark.box:before{content:"\f14a"}i.icon.circle.thin:before{content:"\f111"}i.icon.cloud.download:before{content:"\f381"}i.icon.cloud.upload:before{content:"\f382"}i.icon.compose:before{content:"\f303"}i.icon.conversation:before{content:"\f086"}i.icon.credit.card.alternative:before{content:"\f09d"}i.icon.currency:before{content:"\f3d1"}i.icon.dashboard:before{content:"\f3fd"}i.icon.diamond:before{content:"\f3a5"}i.icon.disk:before{content:"\f0a0"}i.icon.exchange:before{content:"\f362"}i.icon.external.share:before{content:"\f14d"}i.icon.external.square:before{content:"\f360"}i.icon.external:before{content:"\f35d"}i.icon.facebook.official:before{content:"\f082"}i.icon.food:before{content:"\f2e7"}i.icon.hourglass.zero:before{content:"\f253"}i.icon.level.down:before{content:"\f3be"}i.icon.level.up:before{content:"\f3bf"}i.icon.logout:before{content:"\f2f5"}i.icon.meanpath:before{content:"\f0c8"}i.icon.money:before{content:"\f3d1"}i.icon.move:before{content:"\f0b2"}i.icon.pencil:before{content:"\f303"}i.icon.protect:before{content:"\f023"}i.icon.radio:before{content:"\f192"}i.icon.remove.bookmark:before{content:"\f02e"}i.icon.resize.horizontal:before{content:"\f337"}i.icon.resize.vertical:before{content:"\f338"}i.icon.sign-in:before{content:"\f2f6"}i.icon.sign-out:before{content:"\f2f5"}i.icon.spoon:before{content:"\f2e5"}i.icon.star.half.empty:before,i.icon.star.half.full:before{content:"\f089"}i.icon.ticket:before{content:"\f3ff"}i.icon.times.rectangle:before{content:"\f410"}i.icon.write:before{content:"\f303"}i.icon.youtube.play:before{content:"\f167"}@font-face{font-family:'outline-icons';src:url(../../themes/default/assets/fonts/outline-icons.eot);src:url(../../themes/default/assets/fonts/outline-icons.eot?#iefix) format('embedded-opentype'),url(../../themes/default/assets/fonts/outline-icons.woff2) format('woff2'),url(../../themes/default/assets/fonts/outline-icons.woff) format('woff'),url(../../themes/default/assets/fonts/outline-icons.ttf) format('truetype'),url(../../themes/default/assets/fonts/outline-icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon.heart.empty,i.icon.outline,i.icon.star.empty{font-family:'outline-icons'}i.icon.address.book.outline:before{content:"\f2b9"}i.icon.address.card.outline:before{content:"\f2bb"}i.icon.bell.outline:before{content:"\f0f3"}i.icon.bell.slash.outline:before{content:"\f1f6"}i.icon.bookmark.outline:before{content:"\f02e"}i.icon.building.outline:before{content:"\f1ad"}i.icon.calendar.outline:before{content:"\f133"}i.icon.calendar.alternate.outline:before{content:"\f073"}i.icon.calendar.check.outline:before{content:"\f274"}i.icon.calendar.minus.outline:before{content:"\f272"}i.icon.calendar.plus.outline:before{content:"\f271"}i.icon.calendar.times.outline:before{content:"\f273"}i.icon.chart.bar.outline:before{content:"\f080"}i.icon.check.circle.outline:before{content:"\f058"}i.icon.check.square.outline:before{content:"\f14a"}i.icon.circle.outline:before{content:"\f111"}i.icon.clipboard.outline:before{content:"\f328"}i.icon.clock.outline:before{content:"\f017"}i.icon.clone.outline:before{content:"\f24d"}i.icon.closed.captioning.outline:before{content:"\f20a"}i.icon.comment.outline:before{content:"\f075"}i.icon.comment.alternate.outline:before{content:"\f27a"}i.icon.comments.outline:before{content:"\f086"}i.icon.compass.outline:before{content:"\f14e"}i.icon.copy.outline:before{content:"\f0c5"}i.icon.copyright.outline:before{content:"\f1f9"}i.icon.credit.card.outline:before{content:"\f09d"}i.icon.dot.circle.outline:before{content:"\f192"}i.icon.edit.outline:before{content:"\f044"}i.icon.envelope.outline:before{content:"\f0e0"}i.icon.envelope.open.outline:before{content:"\f2b6"}i.icon.eye.slash.outline:before{content:"\f070"}i.icon.file.outline:before{content:"\f15b"}i.icon.file.alternate.outline:before{content:"\f15c"}i.icon.file.archive.outline:before{content:"\f1c6"}i.icon.file.audio.outline:before{content:"\f1c7"}i.icon.file.code.outline:before{content:"\f1c9"}i.icon.file.excel.outline:before{content:"\f1c3"}i.icon.file.image.outline:before{content:"\f1c5"}i.icon.file.pdf.outline:before{content:"\f1c1"}i.icon.file.powerpoint.outline:before{content:"\f1c4"}i.icon.file.video.outline:before{content:"\f1c8"}i.icon.file.word.outline:before{content:"\f1c2"}i.icon.flag.outline:before{content:"\f024"}i.icon.folder.outline:before{content:"\f07b"}i.icon.folder.open.outline:before{content:"\f07c"}i.icon.frown.outline:before{content:"\f119"}i.icon.futbol.outline:before{content:"\f1e3"}i.icon.gem.outline:before{content:"\f3a5"}i.icon.hand.lizard.outline:before{content:"\f258"}i.icon.hand.paper.outline:before{content:"\f256"}i.icon.hand.peace.outline:before{content:"\f25b"}i.icon.hand.point.down.outline:before{content:"\f0a7"}i.icon.hand.point.left.outline:before{content:"\f0a5"}i.icon.hand.point.right.outline:before{content:"\f0a4"}i.icon.hand.point.up.outline:before{content:"\f0a6"}i.icon.hand.pointer.outline:before{content:"\f25a"}i.icon.hand.rock.outline:before{content:"\f255"}i.icon.hand.scissors.outline:before{content:"\f257"}i.icon.hand.spock.outline:before{content:"\f259"}i.icon.handshake.outline:before{content:"\f2b5"}i.icon.hdd.outline:before{content:"\f0a0"}i.icon.heart.outline:before{content:"\f004"}i.icon.hospital.outline:before{content:"\f0f8"}i.icon.hourglass.outline:before{content:"\f254"}i.icon.id.badge.outline:before{content:"\f2c1"}i.icon.id.card.outline:before{content:"\f2c2"}i.icon.image.outline:before{content:"\f03e"}i.icon.images.outline:before{content:"\f302"}i.icon.keyboard.outline:before{content:"\f11c"}i.icon.lemon.outline:before{content:"\f094"}i.icon.life.ring.outline:before{content:"\f1cd"}i.icon.lightbulb.outline:before{content:"\f0eb"}i.icon.list.alternate.outline:before{content:"\f022"}i.icon.map.outline:before{content:"\f279"}i.icon.meh.outline:before{content:"\f11a"}i.icon.minus.square.outline:before{content:"\f146"}i.icon.money.bill.alternate.outline:before{content:"\f3d1"}i.icon.moon.outline:before{content:"\f186"}i.icon.newspaper.outline:before{content:"\f1ea"}i.icon.object.group.outline:before{content:"\f247"}i.icon.object.ungroup.outline:before{content:"\f248"}i.icon.paper.plane.outline:before{content:"\f1d8"}i.icon.pause.circle.outline:before{content:"\f28b"}i.icon.play.circle.outline:before{content:"\f144"}i.icon.plus.square.outline:before{content:"\f0fe"}i.icon.question.circle.outline:before{content:"\f059"}i.icon.registered.outline:before{content:"\f25d"}i.icon.save.outline:before{content:"\f0c7"}i.icon.share.square.outline:before{content:"\f14d"}i.icon.smile.outline:before{content:"\f118"}i.icon.snowflake.outline:before{content:"\f2dc"}i.icon.square.outline:before{content:"\f0c8"}i.icon.star.outline:before{content:"\f005"}i.icon.star.half.outline:before{content:"\f089"}i.icon.sticky.note.outline:before{content:"\f249"}i.icon.stop.circle.outline:before{content:"\f28d"}i.icon.sun.outline:before{content:"\f185"}i.icon.thumbs.down.outline:before{content:"\f165"}i.icon.thumbs.up.outline:before{content:"\f164"}i.icon.times.circle.outline:before{content:"\f057"}i.icon.trash.alternate.outline:before{content:"\f2ed"}i.icon.user.outline:before{content:"\f007"}i.icon.user.circle.outline:before{content:"\f2bd"}i.icon.window.close.outline:before{content:"\f410"}i.icon.window.maximize.outline:before{content:"\f2d0"}i.icon.window.minimize.outline:before{content:"\f2d1"}i.icon.window.restore.outline:before{content:"\f2d2"}i.icon.disk.outline:before{content:"\f0a0"}i.icon.heart.empty:before{content:"\f004"}i.icon.star.empty:before{content:"\f089"}@font-face{font-family:'brand-icons';src:url(../../themes/default/assets/fonts/brand-icons.eot);src:url(../../themes/default/assets/fonts/brand-icons.eot?#iefix) format('embedded-opentype'),url(../../themes/default/assets/fonts/brand-icons.woff2) format('woff2'),url(../../themes/default/assets/fonts/brand-icons.woff) format('woff'),url(../../themes/default/assets/fonts/brand-icons.ttf) format('truetype'),url(../../themes/default/assets/fonts/brand-icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon.\35 00px,i.icon.accessible.icon,i.icon.accusoft,i.icon.adn,i.icon.adversal,i.icon.affiliatetheme,i.icon.algolia,i.icon.amazon,i.icon.amazon.pay,i.icon.amilia,i.icon.android,i.icon.angellist,i.icon.angrycreative,i.icon.angular,i.icon.app.store,i.icon.app.store.ios,i.icon.apper,i.icon.apple,i.icon.apple.pay,i.icon.asymmetrik,i.icon.audible,i.icon.autoprefixer,i.icon.avianex,i.icon.aviato,i.icon.aws,i.icon.bandcamp,i.icon.behance,i.icon.behance.square,i.icon.bimobject,i.icon.bitbucket,i.icon.bitcoin,i.icon.bity,i.icon.black.tie,i.icon.blackberry,i.icon.blogger,i.icon.blogger.b,i.icon.bluetooth,i.icon.bluetooth.b,i.icon.btc,i.icon.buromobelexperte,i.icon.buysellads,i.icon.cc.amazon.pay,i.icon.cc.amex,i.icon.cc.apple.pay,i.icon.cc.diners.club,i.icon.cc.discover,i.icon.cc.jcb,i.icon.cc.mastercard,i.icon.cc.paypal,i.icon.cc.stripe,i.icon.cc.visa,i.icon.centercode,i.icon.chrome,i.icon.cloudscale,i.icon.cloudsmith,i.icon.cloudversify,i.icon.codepen,i.icon.codiepie,i.icon.connectdevelop,i.icon.contao,i.icon.cpanel,i.icon.creative.commons,i.icon.css3,i.icon.css3.alternate,i.icon.cuttlefish,i.icon.d.and.d,i.icon.dashcube,i.icon.delicious,i.icon.deploydog,i.icon.deskpro,i.icon.deviantart,i.icon.digg,i.icon.digital.ocean,i.icon.discord,i.icon.discourse,i.icon.dochub,i.icon.docker,i.icon.draft2digital,i.icon.dribbble,i.icon.dribbble.square,i.icon.dropbox,i.icon.drupal,i.icon.dyalog,i.icon.earlybirds,i.icon.edge,i.icon.elementor,i.icon.ember,i.icon.empire,i.icon.envira,i.icon.erlang,i.icon.ethereum,i.icon.etsy,i.icon.expeditedssl,i.icon.facebook,i.icon.facebook.f,i.icon.facebook.messenger,i.icon.facebook.square,i.icon.firefox,i.icon.first.order,i.icon.firstdraft,i.icon.flickr,i.icon.flipboard,i.icon.fly,i.icon.font.awesome,i.icon.font.awesome.alternate,i.icon.font.awesome.flag,i.icon.fonticons,i.icon.fonticons.fi,i.icon.fort.awesome,i.icon.fort.awesome.alternate,i.icon.forumbee,i.icon.foursquare,i.icon.free.code.camp,i.icon.freebsd,i.icon.get.pocket,i.icon.gg,i.icon.gg.circle,i.icon.git,i.icon.git.square,i.icon.github,i.icon.github.alternate,i.icon.github.square,i.icon.gitkraken,i.icon.gitlab,i.icon.gitter,i.icon.glide,i.icon.glide.g,i.icon.gofore,i.icon.goodreads,i.icon.goodreads.g,i.icon.google,i.icon.google.drive,i.icon.google.play,i.icon.google.plus,i.icon.google.plus.g,i.icon.google.plus.square,i.icon.google.wallet,i.icon.gratipay,i.icon.grav,i.icon.gripfire,i.icon.grunt,i.icon.gulp,i.icon.hacker.news,i.icon.hacker.news.square,i.icon.hips,i.icon.hire.a.helper,i.icon.hooli,i.icon.hotjar,i.icon.houzz,i.icon.html5,i.icon.hubspot,i.icon.imdb,i.icon.instagram,i.icon.internet.explorer,i.icon.ioxhost,i.icon.itunes,i.icon.itunes.note,i.icon.jenkins,i.icon.joget,i.icon.joomla,i.icon.js,i.icon.js.square,i.icon.jsfiddle,i.icon.keycdn,i.icon.kickstarter,i.icon.kickstarter.k,i.icon.korvue,i.icon.laravel,i.icon.lastfm,i.icon.lastfm.square,i.icon.leanpub,i.icon.less,i.icon.linechat,i.icon.linkedin,i.icon.linkedin.alternate,i.icon.linkedin.in,i.icon.linode,i.icon.linux,i.icon.lyft,i.icon.magento,i.icon.maxcdn,i.icon.medapps,i.icon.medium,i.icon.medium.m,i.icon.medrt,i.icon.meetup,i.icon.microsoft,i.icon.mix,i.icon.mixcloud,i.icon.mizuni,i.icon.modx,i.icon.monero,i.icon.napster,i.icon.nintendo.switch,i.icon.node,i.icon.node.js,i.icon.npm,i.icon.ns8,i.icon.nutritionix,i.icon.odnoklassniki,i.icon.odnoklassniki.square,i.icon.opencart,i.icon.openid,i.icon.opera,i.icon.optin.monster,i.icon.osi,i.icon.page4,i.icon.pagelines,i.icon.palfed,i.icon.patreon,i.icon.paypal,i.icon.periscope,i.icon.phabricator,i.icon.phoenix.framework,i.icon.php,i.icon.pied.piper,i.icon.pied.piper.alternate,i.icon.pied.piper.pp,i.icon.pinterest,i.icon.pinterest.p,i.icon.pinterest.square,i.icon.playstation,i.icon.product.hunt,i.icon.pushed,i.icon.python,i.icon.qq,i.icon.quinscape,i.icon.quora,i.icon.ravelry,i.icon.react,i.icon.rebel,i.icon.reddit,i.icon.reddit.alien,i.icon.reddit.square,i.icon.redriver,i.icon.rendact,i.icon.renren,i.icon.replyd,i.icon.resolving,i.icon.rocketchat,i.icon.rockrms,i.icon.safari,i.icon.sass,i.icon.schlix,i.icon.scribd,i.icon.searchengin,i.icon.sellcast,i.icon.sellsy,i.icon.servicestack,i.icon.shirtsinbulk,i.icon.simplybuilt,i.icon.sistrix,i.icon.skyatlas,i.icon.skype,i.icon.slack,i.icon.slack.hash,i.icon.slideshare,i.icon.snapchat,i.icon.snapchat.ghost,i.icon.snapchat.square,i.icon.soundcloud,i.icon.speakap,i.icon.spotify,i.icon.stack.exchange,i.icon.stack.overflow,i.icon.staylinked,i.icon.steam,i.icon.steam.square,i.icon.steam.symbol,i.icon.sticker.mule,i.icon.strava,i.icon.stripe,i.icon.stripe.s,i.icon.studiovinari,i.icon.stumbleupon,i.icon.stumbleupon.circle,i.icon.superpowers,i.icon.supple,i.icon.telegram,i.icon.telegram.plane,i.icon.tencent.weibo,i.icon.themeisle,i.icon.trello,i.icon.tripadvisor,i.icon.tumblr,i.icon.tumblr.square,i.icon.twitch,i.icon.twitter,i.icon.twitter.square,i.icon.typo3,i.icon.uber,i.icon.uikit,i.icon.uniregistry,i.icon.untappd,i.icon.usb,i.icon.ussunnah,i.icon.vaadin,i.icon.viacoin,i.icon.viadeo,i.icon.viadeo.square,i.icon.viber,i.icon.vimeo,i.icon.vimeo.square,i.icon.vimeo.v,i.icon.vine,i.icon.vk,i.icon.vnv,i.icon.vuejs,i.icon.wechat,i.icon.weibo,i.icon.weixin,i.icon.whatsapp,i.icon.whatsapp.square,i.icon.whmcs,i.icon.wikipedia.w,i.icon.windows,i.icon.wordpress,i.icon.wordpress.simple,i.icon.wpbeginner,i.icon.wpexplorer,i.icon.wpforms,i.icon.xbox,i.icon.xing,i.icon.xing.square,i.icon.y.combinator,i.icon.yahoo,i.icon.yandex,i.icon.yandex.international,i.icon.yelp,i.icon.yoast,i.icon.youtube,i.icon.youtube.square{font-family:'brand-icons'}
/*!
 * # Semantic UI - Image
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.image{position:relative;display:inline-block;vertical-align:middle;max-width:100%;background-color:transparent}img.ui.image{display:block}.ui.image img,.ui.image svg{display:block;max-width:100%;height:auto}.ui.hidden.image,.ui.hidden.images{display:none}.ui.hidden.transition.image,.ui.hidden.transition.images{display:block;visibility:hidden}.ui.images>.hidden.transition{display:inline-block;visibility:hidden}.ui.disabled.image,.ui.disabled.images{cursor:default;opacity:.45}.ui.inline.image,.ui.inline.image img,.ui.inline.image svg{display:inline-block}.ui.top.aligned.image,.ui.top.aligned.image img,.ui.top.aligned.image svg,.ui.top.aligned.images .image{display:inline-block;vertical-align:top}.ui.middle.aligned.image,.ui.middle.aligned.image img,.ui.middle.aligned.image svg,.ui.middle.aligned.images .image{display:inline-block;vertical-align:middle}.ui.bottom.aligned.image,.ui.bottom.aligned.image img,.ui.bottom.aligned.image svg,.ui.bottom.aligned.images .image{display:inline-block;vertical-align:bottom}.ui.rounded.image,.ui.rounded.image>*,.ui.rounded.images .image,.ui.rounded.images .image>*{border-radius:.3125em}.ui.bordered.image img,.ui.bordered.image svg,.ui.bordered.images .image,.ui.bordered.images img,.ui.bordered.images svg,img.ui.bordered.image{border:1px solid rgba(0,0,0,.1)}.ui.circular.image,.ui.circular.images{overflow:hidden}.ui.circular.image,.ui.circular.image>*,.ui.circular.images .image,.ui.circular.images .image>*{-webkit-border-radius:500rem;-moz-border-radius:500rem;border-radius:500rem}.ui.fluid.image,.ui.fluid.image img,.ui.fluid.image svg,.ui.fluid.images,.ui.fluid.images img,.ui.fluid.images svg{display:block;width:100%;height:auto}.ui.avatar.image,.ui.avatar.image img,.ui.avatar.image svg,.ui.avatar.images .image,.ui.avatar.images img,.ui.avatar.images svg{margin-right:.25em;display:inline-block;width:2em;height:2em;-webkit-border-radius:500rem;-moz-border-radius:500rem;border-radius:500rem}.ui.spaced.image{display:inline-block!important;margin-left:.5em;margin-right:.5em}.ui[class*="left spaced"].image{margin-left:.5em;margin-right:0}.ui[class*="right spaced"].image{margin-left:0;margin-right:.5em}.ui.floated.image,.ui.floated.images{float:left;margin-right:1em;margin-bottom:1em}.ui.right.floated.image,.ui.right.floated.images{float:right;margin-right:0;margin-bottom:1em;margin-left:1em}.ui.floated.image:last-child,.ui.floated.images:last-child{margin-bottom:0}.ui.centered.image,.ui.centered.images{margin-left:auto;margin-right:auto}.ui.mini.image,.ui.mini.images .image,.ui.mini.images img,.ui.mini.images svg{width:35px;height:auto;font-size:.78571429rem}.ui.tiny.image,.ui.tiny.images .image,.ui.tiny.images img,.ui.tiny.images svg{width:80px;height:auto;font-size:.85714286rem}.ui.small.image,.ui.small.images .image,.ui.small.images img,.ui.small.images svg{width:150px;height:auto;font-size:.92857143rem}.ui.medium.image,.ui.medium.images .image,.ui.medium.images img,.ui.medium.images svg{width:300px;height:auto;font-size:1rem}.ui.large.image,.ui.large.images .image,.ui.large.images img,.ui.large.images svg{width:450px;height:auto;font-size:1.14285714rem}.ui.big.image,.ui.big.images .image,.ui.big.images img,.ui.big.images svg{width:600px;height:auto;font-size:1.28571429rem}.ui.huge.image,.ui.huge.images .image,.ui.huge.images img,.ui.huge.images svg{width:800px;height:auto;font-size:1.42857143rem}.ui.massive.image,.ui.massive.images .image,.ui.massive.images img,.ui.massive.images svg{width:960px;height:auto;font-size:1.71428571rem}.ui.images{font-size:0;margin:0 -.25rem}.ui.images .image,.ui.images>img,.ui.images>svg{display:inline-block;margin:0 .25rem .5rem}
/*!
 * # Semantic UI - Input
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.input{position:relative;font-weight:400;font-style:normal;display:inline-flex;color:rgba(0,0,0,.87);font-size:1em}.ui.input>input{margin:0;max-width:100%;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:transparent;text-align:left;line-height:1.21428571em;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;padding:.67857143em 1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);border-radius:.28571429rem;transition:box-shadow .1s ease,border-color .1s ease;box-shadow:none}.ui.input>input::-webkit-input-placeholder{color:rgba(191,191,191,.87)}.ui.input>input::-moz-placeholder{color:rgba(191,191,191,.87)}.ui.input>input:-ms-input-placeholder{color:rgba(191,191,191,.87)}.ui.disabled.input,.ui.input:not(.disabled) input[disabled]{opacity:.45}.ui.disabled.input>input,.ui.input:not(.disabled) input[disabled]{pointer-events:none}.ui.input.down input,.ui.input>input:active{border-color:rgba(0,0,0,.3);background:#fafafa;color:rgba(0,0,0,.87);box-shadow:none}.ui.loading.loading.input>i.icon:after,.ui.loading.loading.input>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem}.ui.loading.loading.input>i.icon:before{border:.2em solid rgba(0,0,0,.1)}.ui.loading.loading.input>i.icon:after{animation:button-spin .6s linear;animation-iteration-count:infinite;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}.ui.input.focus>input,.ui.input>input:focus{border-color:#85b7d9;background:#fff;color:rgba(0,0,0,.8);box-shadow:none}.ui.input.focus>input::-webkit-input-placeholder,.ui.input>input:focus::-webkit-input-placeholder{color:rgba(115,115,115,.87)}.ui.input.focus>input::-moz-placeholder,.ui.input>input:focus::-moz-placeholder{color:rgba(115,115,115,.87)}.ui.input.focus>input:-ms-input-placeholder,.ui.input>input:focus:-ms-input-placeholder{color:rgba(115,115,115,.87)}.ui.input.error>input{background-color:#fff6f6;border-color:#e0b4b4;color:#9f3a38;box-shadow:none}.ui.input.error>input::-webkit-input-placeholder{color:#e7bdbc}.ui.input.error>input::-moz-placeholder{color:#e7bdbc}.ui.input.error>input:-ms-input-placeholder{color:#e7bdbc!important}.ui.input.error>input:focus::-webkit-input-placeholder{color:#da9796}.ui.input.error>input:focus::-moz-placeholder{color:#da9796}.ui.input.error>input:focus:-ms-input-placeholder{color:#da9796!important}.ui.transparent.input>input{border-color:transparent!important;background-color:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important}.ui.transparent.icon.input>i.icon{width:1.1em}.ui.transparent.icon.input>input{padding-left:0!important;padding-right:2em!important}.ui.transparent[class*="left icon"].input>input{padding-left:2em!important;padding-right:0!important}.ui.transparent.inverted.input{color:#fff}.ui.transparent.inverted.input>input{color:inherit}.ui.transparent.inverted.input>input::-webkit-input-placeholder{color:rgba(255,255,255,.5)}.ui.transparent.inverted.input>input::-moz-placeholder{color:rgba(255,255,255,.5)}.ui.transparent.inverted.input>input:-ms-input-placeholder{color:rgba(255,255,255,.5)}.ui.icon.input>i.icon{cursor:default;position:absolute;line-height:1;text-align:center;top:0;right:0;margin:0;height:100%;width:2.67142857em;opacity:.5;border-radius:0 .28571429rem .28571429rem 0;transition:opacity .3s ease}.ui.icon.input>i.icon:not(.link){pointer-events:none}.ui.icon.input>input{padding-right:2.67142857em!important}.ui.icon.input>i.icon:after,.ui.icon.input>i.icon:before{left:0;position:absolute;text-align:center;top:50%;width:100%;margin-top:-.5em}.ui.icon.input>i.link.icon{cursor:pointer}.ui.icon.input>i.circular.icon{top:.35em;right:.5em}.ui[class*="left icon"].input>i.icon{right:auto;left:1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="left icon"].input>i.circular.icon{right:auto;left:.5em}.ui[class*="left icon"].input>input{padding-left:2.67142857em!important;padding-right:1em!important}.ui.icon.input>input:focus~i.icon{opacity:1}.ui.labeled.input>.label{flex:0 0 auto;margin:0;font-size:1em}.ui.labeled.input>.label:not(.corner){padding-top:.78571429em;padding-bottom:.78571429em}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child+input{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:transparent}.ui.labeled.input:not([class*="corner labeled"]) .label:first-child+input:focus{border-left-color:#85b7d9}.ui[class*="right labeled"].input>input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right-color:transparent!important}.ui[class*="right labeled"].input>input+.label{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*="right labeled"].input>input:focus{border-right-color:#85b7d9!important}.ui.labeled.input .corner.label{top:1px;right:1px;font-size:.64285714em;border-radius:0 .28571429rem 0 0}.ui[class*="corner labeled"]:not([class*="left corner labeled"]).labeled.input>input{padding-right:2.5em!important}.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"])>input{padding-right:3.25em!important}.ui[class*="corner labeled"].icon.input:not([class*="left corner labeled"])>.icon{margin-right:1.25em}.ui[class*="left corner labeled"].labeled.input>input{padding-left:2.5em!important}.ui[class*="left corner labeled"].icon.input>input{padding-left:3.25em!important}.ui[class*="left corner labeled"].icon.input>.icon{margin-left:1.25em}.ui.input>.ui.corner.label{top:1px;right:1px}.ui.input>.ui.left.corner.label{right:auto;left:1px}.ui.action.input>.button,.ui.action.input>.buttons{display:flex;align-items:center;flex:0 0 auto}.ui.action.input>.button,.ui.action.input>.buttons>.button{padding-top:.78571429em;padding-bottom:.78571429em;margin:0}.ui.action.input:not([class*="left action"])>input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right-color:transparent!important}.ui.action.input:not([class*="left action"])>.button:not(:first-child),.ui.action.input:not([class*="left action"])>.buttons:not(:first-child)>.button,.ui.action.input:not([class*="left action"])>.dropdown:not(:first-child){border-radius:0}.ui.action.input:not([class*="left action"])>.button:last-child,.ui.action.input:not([class*="left action"])>.buttons:last-child>.button,.ui.action.input:not([class*="left action"])>.dropdown:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.action.input:not([class*="left action"])>input:focus{border-right-color:#85b7d9!important}.ui[class*="left action"].input>input{border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-left-color:transparent!important}.ui[class*="left action"].input>.button,.ui[class*="left action"].input>.buttons>.button,.ui[class*="left action"].input>.dropdown{border-radius:0}.ui[class*="left action"].input>.button:first-child,.ui[class*="left action"].input>.buttons:first-child>.button,.ui[class*="left action"].input>.dropdown:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="left action"].input>input:focus{border-left-color:#85b7d9!important}.ui.inverted.input>input{border:0}.ui.fluid.input{display:flex}.ui.fluid.input>input{width:0!important}.ui.mini.input{font-size:.78571429em}.ui.small.input{font-size:.92857143em}.ui.large.input{font-size:1.14285714em}.ui.big.input{font-size:1.28571429em}.ui.huge.input{font-size:1.42857143em}.ui.massive.input{font-size:1.71428571em}
/*!
 * # Semantic UI - Label
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.label{display:inline-block;line-height:1;vertical-align:baseline;margin:0 .14285714em;background-color:#e8e8e8;background-image:none;padding:.5833em .833em;color:rgba(0,0,0,.6);text-transform:none;font-weight:700;border:0 solid transparent;border-radius:.28571429rem;transition:background .1s ease}.ui.label:first-child{margin-left:0}.ui.label:last-child{margin-right:0}.ui.label>a,a.ui.label{cursor:pointer}.ui.label>a{color:inherit;opacity:.5;transition:.1s opacity ease}.ui.label>.delete.icon:hover,.ui.label>a:hover{opacity:1}.ui.label>img{width:auto!important;vertical-align:middle;height:2.1666em!important}.ui.label>.icon{width:auto;margin:0 .75em 0 0}.ui.label>.detail{display:inline-block;vertical-align:top;font-weight:700;margin-left:1em;opacity:.8}.ui.label>.detail .icon{margin:0 .25em 0 0}.ui.label>.close.icon,.ui.label>.delete.icon{cursor:pointer;margin-right:0;margin-left:.5em;font-size:.92857143em;opacity:.5;transition:background .1s ease}.ui.labels>.label{margin:0 .5em .5em 0}.ui.header>.ui.label{margin-top:-.29165em}.ui.attached.segment>.ui.top.left.attached.label,.ui.bottom.attached.segment>.ui.top.left.attached.label{border-top-left-radius:0}.ui.attached.segment>.ui.top.right.attached.label,.ui.bottom.attached.segment>.ui.top.right.attached.label{border-top-right-radius:0}.ui.top.attached.segment>.ui.bottom.left.attached.label{border-bottom-left-radius:0}.ui.top.attached.segment>.ui.bottom.right.attached.label{border-bottom-right-radius:0}.ui.top.attached.label+[class*="right floated"]+*,.ui.top.attached.label:first-child+:not(.attached){margin-top:2rem!important}.ui.bottom.attached.label:first-child~:last-child:not(.attached){margin-top:0;margin-bottom:2rem!important}.ui.image.label{width:auto!important;margin-top:0;margin-bottom:0;max-width:9999px;vertical-align:baseline;text-transform:none;background:#e8e8e8;padding:.5833em .833em .5833em .5em;border-radius:.28571429rem;box-shadow:none}.ui.image.label img{display:inline-block;vertical-align:top;height:2.1666em;margin:-.5833em .5em -.5833em -.5em;border-radius:.28571429rem 0 0 .28571429rem}.ui.image.label .detail{background:rgba(0,0,0,.1);margin:-.5833em -.833em -.5833em .5em;padding:.5833em .833em;border-radius:0 .28571429rem .28571429rem 0}.ui.tag.label,.ui.tag.labels .label{margin-left:1em;position:relative;padding-left:1.5em;padding-right:1.5em;border-radius:0 .28571429rem .28571429rem 0;transition:none}.ui.tag.label:before,.ui.tag.labels .label:before{position:absolute;transform:translateY(-50%) translateX(50%) rotate(-45deg);top:50%;right:100%;content:'';background-color:inherit;background-image:none;width:1.56em;height:1.56em;transition:none}.ui.tag.label:after,.ui.tag.labels .label:after{position:absolute;content:'';top:50%;left:-.25em;margin-top:-.25em;background-color:#fff!important;width:.5em;height:.5em;box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);border-radius:500rem}.ui.corner.label,.ui.corner.label:after{right:0;transition:border-color .1s ease;top:0}.ui.corner.label{position:absolute;margin:0;padding:0;text-align:center;border-color:#e8e8e8;width:4em;height:4em;background-color:transparent!important;z-index:1}.ui.corner.label:after,.ui.ribbon.label:after{position:absolute;background-color:transparent!important;border-right-color:inherit;width:0;height:0}.ui.corner.label:after{z-index:-1;border-top:0 solid transparent;border-right:4em solid transparent;border-bottom:4em solid transparent;border-left:0 solid transparent;content:""}.ui.corner.label .icon{cursor:default;position:relative;top:.64285714em;left:.78571429em;font-size:1.14285714em;margin:0}.ui.left.corner.label,.ui.left.corner.label:after{right:auto;left:0}.ui.left.corner.label:after{border-top:4em solid transparent;border-right:4em solid transparent;border-bottom:0 solid transparent;border-left:0 solid transparent;border-top-color:inherit}.ui.left.corner.label .icon{left:-.78571429em}.ui.segment>.ui.corner.label{top:-1px;right:-1px}.ui.segment>.ui.left.corner.label{right:auto;left:-1px}.ui.ribbon.label{position:relative;min-width:max-content;border-radius:0 .28571429rem .28571429rem 0;border-color:rgba(0,0,0,.15);left:calc(-1rem - 1.2em);margin:0 -1.2em 0 0;padding-left:calc(1rem + 1.2em);padding-right:1.2em}.ui.ribbon.label:after{content:'';top:100%;left:0;border-style:solid;border-width:0 1.2em 1.2em 0;border-color:transparent}.ui[class*="right ribbon"].label{left:calc(100% + 1rem + 1.2em);padding-left:1.2em;padding-right:calc(1rem + 1.2em);text-align:left;transform:translateX(-100%);border-radius:.28571429rem 0 0 .28571429rem}.ui[class*="right ribbon"].label:after{left:auto;right:0;border-style:solid;border-width:1.2em 1.2em 0 0;border-color:transparent;border-top-color:inherit}.ui.card .image>.ribbon.label,.ui.image>.ribbon.label{position:absolute;top:1rem}.ui.card .image>.ui.ribbon.label,.ui.image>.ui.ribbon.label{left:calc(--.05rem - 1.2em)}.ui.card .image>.ui[class*="right ribbon"].label,.ui.image>.ui[class*="right ribbon"].label{left:calc(100% + -.05rem + 1.2em);padding-left:.833em}.ui.table td>.ui.ribbon.label{left:calc(-.78571429em - 1.2em)}.ui.table td>.ui[class*="right ribbon"].label{left:calc(100% + .78571429em + 1.2em);padding-left:.833em}.ui.attached.label,.ui[class*="top attached"].label{width:100%;position:absolute;margin:0;top:0;left:0;padding:.75em 1em;border-radius:.21428571rem .21428571rem 0 0}.ui[class*="bottom attached"].label{top:auto;bottom:0;border-radius:0 0 .21428571rem .21428571rem}.ui[class*="top left attached"].label{width:auto;margin-top:0!important;border-radius:.21428571rem 0 .28571429rem 0}.ui[class*="top right attached"].label{width:auto;left:auto;right:0;border-radius:0 .21428571rem 0 .28571429rem}.ui[class*="bottom left attached"].label{width:auto;top:auto;bottom:0;border-radius:0 .28571429rem 0 .21428571rem}.ui[class*="bottom right attached"].label{top:auto;bottom:0;left:auto;right:0;width:auto;border-radius:.28571429rem 0 .21428571rem 0}.ui.label.disabled{opacity:.5}a.ui.label:hover,a.ui.labels .label:hover{background-color:#e0e0e0;border-color:#e0e0e0;background-image:none;color:rgba(0,0,0,.8)}.ui.labels a.label:hover:before,a.ui.label:hover:before{color:rgba(0,0,0,.8)}.ui.active.label{border-color:#d0d0d0}.ui.active.label,.ui.active.label:before{background-color:#d0d0d0;background-image:none;color:rgba(0,0,0,.95)}a.ui.active.label:hover,a.ui.labels .active.label:hover{background-color:#c8c8c8;border-color:#c8c8c8;background-image:none;color:rgba(0,0,0,.95)}.ui.labels a.active.label:ActiveHover:before,a.ui.active.label:ActiveHover:before{background-color:#c8c8c8;background-image:none;color:rgba(0,0,0,.95)}.ui.label.visible:not(.dropdown),.ui.labels.visible .label{display:inline-block!important}.ui.label.hidden,.ui.labels.hidden .label{display:none!important}.ui.red.label,.ui.red.labels .label{background-color:#db2828!important;border-color:#db2828!important;color:#fff!important}.ui.red.labels .label:hover,a.ui.red.label:hover{background-color:#d01919!important;border-color:#d01919!important;color:#fff!important}.ui.red.corner.label,.ui.red.corner.label:hover{background-color:transparent!important}.ui.red.ribbon.label{border-color:#b21e1e!important}.ui.basic.red.label{background:#fff!important;color:#db2828!important;border-color:#db2828!important}.ui.basic.red.labels a.label:hover,a.ui.basic.red.label:hover{background-color:#fff!important;color:#d01919!important;border-color:#d01919!important}.ui.orange.label,.ui.orange.labels .label{background-color:#f2711c!important;border-color:#f2711c!important;color:#fff!important}.ui.orange.labels .label:hover,a.ui.orange.label:hover{background-color:#f26202!important;border-color:#f26202!important;color:#fff!important}.ui.orange.corner.label,.ui.orange.corner.label:hover{background-color:transparent!important}.ui.orange.ribbon.label{border-color:#cf590c!important}.ui.basic.orange.label{background:#fff!important;color:#f2711c!important;border-color:#f2711c!important}.ui.basic.orange.labels a.label:hover,a.ui.basic.orange.label:hover{background-color:#fff!important;color:#f26202!important;border-color:#f26202!important}.ui.yellow.label,.ui.yellow.labels .label{background-color:#fbbd08!important;border-color:#fbbd08!important;color:#fff!important}.ui.yellow.labels .label:hover,a.ui.yellow.label:hover{background-color:#eaae00!important;border-color:#eaae00!important;color:#fff!important}.ui.yellow.corner.label,.ui.yellow.corner.label:hover{background-color:transparent!important}.ui.yellow.ribbon.label{border-color:#cd9903!important}.ui.basic.yellow.label{background:#fff!important;color:#fbbd08!important;border-color:#fbbd08!important}.ui.basic.yellow.labels a.label:hover,a.ui.basic.yellow.label:hover{background-color:#fff!important;color:#eaae00!important;border-color:#eaae00!important}.ui.olive.label,.ui.olive.labels .label{background-color:#b5cc18!important;border-color:#b5cc18!important;color:#fff!important}.ui.olive.labels .label:hover,a.ui.olive.label:hover{background-color:#a7bd0d!important;border-color:#a7bd0d!important;color:#fff!important}.ui.olive.corner.label,.ui.olive.corner.label:hover{background-color:transparent!important}.ui.olive.ribbon.label{border-color:#198f35!important}.ui.basic.olive.label{background:#fff!important;color:#b5cc18!important;border-color:#b5cc18!important}.ui.basic.olive.labels a.label:hover,a.ui.basic.olive.label:hover{background-color:#fff!important;color:#a7bd0d!important;border-color:#a7bd0d!important}.ui.green.label,.ui.green.labels .label{background-color:#21ba45!important;border-color:#21ba45!important;color:#fff!important}.ui.green.labels .label:hover,a.ui.green.label:hover{background-color:#16ab39!important;border-color:#16ab39!important;color:#fff!important}.ui.green.corner.label,.ui.green.corner.label:hover{background-color:transparent!important}.ui.green.ribbon.label{border-color:#198f35!important}.ui.basic.green.label{background:#fff!important;color:#21ba45!important;border-color:#21ba45!important}.ui.basic.green.labels a.label:hover,a.ui.basic.green.label:hover{background-color:#fff!important;color:#16ab39!important;border-color:#16ab39!important}.ui.teal.label,.ui.teal.labels .label{background-color:#00b5ad!important;border-color:#00b5ad!important;color:#fff!important}.ui.teal.labels .label:hover,a.ui.teal.label:hover{background-color:#009c95!important;border-color:#009c95!important;color:#fff!important}.ui.teal.corner.label,.ui.teal.corner.label:hover{background-color:transparent!important}.ui.teal.ribbon.label{border-color:#00827c!important}.ui.basic.teal.label{background:#fff!important;color:#00b5ad!important;border-color:#00b5ad!important}.ui.basic.teal.labels a.label:hover,a.ui.basic.teal.label:hover{background-color:#fff!important;color:#009c95!important;border-color:#009c95!important}.ui.blue.label,.ui.blue.labels .label{background-color:#2185d0!important;border-color:#2185d0!important;color:#fff!important}.ui.blue.labels .label:hover,a.ui.blue.label:hover{background-color:#1678c2!important;border-color:#1678c2!important;color:#fff!important}.ui.blue.corner.label,.ui.blue.corner.label:hover{background-color:transparent!important}.ui.blue.ribbon.label{border-color:#1a69a4!important}.ui.basic.blue.label{background:#fff!important;color:#2185d0!important;border-color:#2185d0!important}.ui.basic.blue.labels a.label:hover,a.ui.basic.blue.label:hover{background-color:#fff!important;color:#1678c2!important;border-color:#1678c2!important}.ui.violet.label,.ui.violet.labels .label{background-color:#6435c9!important;border-color:#6435c9!important;color:#fff!important}.ui.violet.labels .label:hover,a.ui.violet.label:hover{background-color:#5829bb!important;border-color:#5829bb!important;color:#fff!important}.ui.violet.corner.label,.ui.violet.corner.label:hover{background-color:transparent!important}.ui.violet.ribbon.label{border-color:#502aa1!important}.ui.basic.violet.label{background:#fff!important;color:#6435c9!important;border-color:#6435c9!important}.ui.basic.violet.labels a.label:hover,a.ui.basic.violet.label:hover{background-color:#fff!important;color:#5829bb!important;border-color:#5829bb!important}.ui.purple.label,.ui.purple.labels .label{background-color:#a333c8!important;border-color:#a333c8!important;color:#fff!important}.ui.purple.labels .label:hover,a.ui.purple.label:hover{background-color:#9627ba!important;border-color:#9627ba!important;color:#fff!important}.ui.purple.corner.label,.ui.purple.corner.label:hover{background-color:transparent!important}.ui.purple.ribbon.label{border-color:#82299f!important}.ui.basic.purple.label{background:#fff!important;color:#a333c8!important;border-color:#a333c8!important}.ui.basic.purple.labels a.label:hover,a.ui.basic.purple.label:hover{background-color:#fff!important;color:#9627ba!important;border-color:#9627ba!important}.ui.pink.label,.ui.pink.labels .label{background-color:#e03997!important;border-color:#e03997!important;color:#fff!important}.ui.pink.labels .label:hover,a.ui.pink.label:hover{background-color:#e61a8d!important;border-color:#e61a8d!important;color:#fff!important}.ui.pink.corner.label,.ui.pink.corner.label:hover{background-color:transparent!important}.ui.pink.ribbon.label{border-color:#c71f7e!important}.ui.basic.pink.label{background:#fff!important;color:#e03997!important;border-color:#e03997!important}.ui.basic.pink.labels a.label:hover,a.ui.basic.pink.label:hover{background-color:#fff!important;color:#e61a8d!important;border-color:#e61a8d!important}.ui.brown.label,.ui.brown.labels .label{background-color:#a5673f!important;border-color:#a5673f!important;color:#fff!important}.ui.brown.labels .label:hover,a.ui.brown.label:hover{background-color:#975b33!important;border-color:#975b33!important;color:#fff!important}.ui.brown.corner.label,.ui.brown.corner.label:hover{background-color:transparent!important}.ui.brown.ribbon.label{border-color:#805031!important}.ui.basic.brown.label{background:#fff!important;color:#a5673f!important;border-color:#a5673f!important}.ui.basic.brown.labels a.label:hover,a.ui.basic.brown.label:hover{background-color:#fff!important;color:#975b33!important;border-color:#975b33!important}.ui.grey.label,.ui.grey.labels .label{background-color:#767676!important;border-color:#767676!important;color:#fff!important}.ui.grey.labels .label:hover,a.ui.grey.label:hover{background-color:#838383!important;border-color:#838383!important;color:#fff!important}.ui.grey.corner.label,.ui.grey.corner.label:hover{background-color:transparent!important}.ui.grey.ribbon.label{border-color:#805031!important}.ui.basic.grey.label{background:#fff!important;color:#767676!important;border-color:#767676!important}.ui.basic.grey.labels a.label:hover,a.ui.basic.grey.label:hover{background-color:#fff!important;color:#838383!important;border-color:#838383!important}.ui.black.label,.ui.black.labels .label{background-color:#1b1c1d!important;border-color:#1b1c1d!important;color:#fff!important}.ui.black.labels .label:hover,a.ui.black.label:hover{background-color:#27292a!important;border-color:#27292a!important;color:#fff!important}.ui.black.corner.label,.ui.black.corner.label:hover{background-color:transparent!important}.ui.black.ribbon.label{border-color:#805031!important}.ui.basic.black.label{background:#fff!important;color:#1b1c1d!important;border-color:#1b1c1d!important}.ui.basic.black.labels a.label:hover,a.ui.basic.black.label:hover{background-color:#fff!important;color:#27292a!important;border-color:#27292a!important}.ui.basic.label{background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);box-shadow:none}a.ui.basic.label:hover{text-decoration:none;background:#fff;color:#1e70bf;box-shadow:1px solid rgba(34,36,38,.15);box-shadow:none}.ui.basic.pointing.label:before{border-color:inherit}.ui.fluid.labels>.label,.ui.label.fluid{width:100%;box-sizing:border-box}.ui.inverted.label,.ui.inverted.labels .label{color:rgba(255,255,255,.9)!important}.ui.horizontal.label,.ui.horizontal.labels .label{margin:0 .5em 0 0;padding:.4em .833em;min-width:3em;text-align:center}.ui.circular.label,.ui.circular.labels .label{min-width:2em;min-height:2em;padding:.5em!important;line-height:1em;text-align:center;border-radius:500rem}.ui.empty.circular.label,.ui.empty.circular.labels .label{min-width:0;min-height:0;overflow:hidden;width:.5em;height:.5em;vertical-align:baseline}.ui.pointing.label{position:relative;margin-top:1em}.ui.attached.pointing.label{position:absolute}.ui.pointing.label:before{background-color:inherit;border-style:solid;border-color:inherit;position:absolute;content:'';transform:rotate(45deg);background-image:none;z-index:2;width:.6666em;height:.6666em;transition:background .1s ease}.ui[class*="pointing above"].label{margin-top:1em}.ui.pointing.label:before,.ui[class*="pointing above"].label:before{border-width:1px 0 0 1px;transform:translateX(-50%) translateY(-50%) rotate(45deg);top:0;left:50%}.ui[class*="bottom pointing"].label,.ui[class*="pointing below"].label{margin-top:0;margin-bottom:1em}.ui[class*="bottom pointing"].label:before,.ui[class*="left pointing"].label:before,.ui[class*="pointing below"].label:before{border-width:0 1px 1px 0;right:auto;transform:translateX(-50%) translateY(-50%) rotate(45deg);top:100%;left:50%}.ui[class*="left pointing"].label{margin-top:0;margin-left:.6666em}.ui[class*="left pointing"].label:before{border-width:0 0 1px 1px;bottom:auto;top:50%;left:0}.ui[class*="right pointing"].label{margin-top:0;margin-right:.6666em}.ui[class*="right pointing"].label:before{border-width:1px 1px 0 0;transform:translateX(50%) translateY(-50%) rotate(45deg);top:50%;right:0;bottom:auto;left:auto}.ui.basic.pointing.label:before,.ui.basic[class*="pointing above"].label:before{margin-top:-1px}.ui.basic[class*="bottom pointing"].label:before,.ui.basic[class*="pointing below"].label:before{bottom:auto;top:100%;margin-top:1px}.ui.basic[class*="left pointing"].label:before{top:50%;left:-1px}.ui.basic[class*="right pointing"].label:before{top:50%;right:-1px}.ui.floating.label{position:absolute;z-index:100;top:-1em;left:100%;margin:0 0 0 -1.5em!important}.ui.mini.label,.ui.mini.labels .label{font-size:.64285714rem}.ui.tiny.label,.ui.tiny.labels .label{font-size:.71428571rem}.ui.small.label,.ui.small.labels .label{font-size:.78571429rem}.ui.label,.ui.labels .label{font-size:.85714286rem}.ui.large.label,.ui.large.labels .label{font-size:1rem}.ui.big.label,.ui.big.labels .label{font-size:1.28571429rem}.ui.huge.label,.ui.huge.labels .label{font-size:1.42857143rem}.ui.massive.label,.ui.massive.labels .label{font-size:1.71428571rem}
/*!
 * # Semantic UI - List
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.list,ul.ui.list{list-style-type:none}.ui.list,ol.ui.list,ul.ui.list{margin:1em 0;padding:0}.ui.list:first-child,ol.ui.list:first-child,ul.ui.list:first-child{margin-top:0;padding-top:0}.ui.list:last-child,ol.ui.list:last-child,ul.ui.list:last-child{margin-bottom:0;padding-bottom:0}ul.ui.list li{list-style-type:none;padding:.21428571em 0;line-height:1.14285714em}.ui.list .list>.item,.ui.list>.item,ol.ui.list li,ul.ui.list li{display:list-item;table-layout:fixed;list-style-position:outside}.ui.list>.item,ol.ui.list li{padding:.21428571em 0;line-height:1.14285714em}.ui.list .list>.item,.ui.list>.item{list-style-type:none}.ui.list>.item:after,.ui.list>.list>.item,ol.ui.list>li:first-child:after,ul.ui.list>li:first-child:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.list .list>.item:first-child,.ui.list>.item:first-child,ol.ui.list li:first-child,ul.ui.list li:first-child{padding-top:0}.ui.list .list>.item:last-child,.ui.list>.item:last-child,ol.ui.list li:last-child,ul.ui.list li:last-child{padding-bottom:0}.ui.list .list,ol.ui.list ol,ul.ui.list ul{clear:both;margin:0;padding:.75em 0 .25em .5em}.ui.list .list>.item,ol.ui.list ol li,ul.ui.list ul li{padding:.14285714em 0;line-height:inherit}.ui.list .list>.item>i.icon,.ui.list>.item>i.icon{display:table-cell;margin:0;padding-top:0;padding-right:.28571429em;vertical-align:top;transition:color .1s ease}.ui.list .list>.item>i.icon:only-child,.ui.list>.item>i.icon:only-child{display:inline-block;vertical-align:top}.ui.list .list>.item>.image,.ui.list>.item>.image{display:table-cell;background-color:transparent;margin:0;vertical-align:top}.ui.list .list>.item>.image:not(:only-child):not(img),.ui.list>.item>.image:not(:only-child):not(img){padding-right:.5em}.ui.list .list>.item>.image img,.ui.list>.item>.image img{vertical-align:top}.ui.list .list>.item>.image:only-child,.ui.list .list>.item>img.image,.ui.list>.item>.image:only-child,.ui.list>.item>img.image{display:inline-block}.ui.list .list>.item>.content,.ui.list>.item>.content{line-height:1.14285714em}.ui.list .list>.item>.icon+.content,.ui.list .list>.item>.image+.content,.ui.list>.item>.icon+.content,.ui.list>.item>.image+.content{display:table-cell;width:100%;padding:0 0 0 .5em;vertical-align:top}.ui.list .list>.item>img.image+.content,.ui.list>.item>img.image+.content{display:inline-block;width:auto}.ui.list .list>.item>.content>.list,.ui.list>.item>.content>.list{margin-left:0;padding-left:0}.ui.list .list>.item .header,.ui.list>.item .header{display:block;margin:0;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;font-weight:700;color:rgba(0,0,0,.87)}.ui.list .list>.item .description,.ui.list>.item .description{display:block;color:rgba(0,0,0,.7)}.ui.list .list>.item a,.ui.list>.item a{cursor:pointer}.ui.list .list>a.item,.ui.list>a.item{cursor:pointer;color:#4183c4}.ui.list .list>a.item:hover,.ui.list>a.item:hover{color:#1e70bf}.ui.list .list>a.item i.icon,.ui.list>a.item i.icon{color:rgba(0,0,0,.4)}.ui.list .list>.item a.header,.ui.list>.item a.header{cursor:pointer;color:#4183c4!important}.ui.list .list>.item a.header:hover,.ui.list>.item a.header:hover{color:#1e70bf!important}.ui[class*="left floated"].list{float:left}.ui[class*="right floated"].list{float:right}.ui.list .list>.item [class*="left floated"],.ui.list>.item [class*="left floated"]{float:left;margin:0 1em 0 0}.ui.list .list>.item [class*="right floated"],.ui.list>.item [class*="right floated"]{float:right;margin:0 0 0 1em}.ui.menu .ui.list .list>.item,.ui.menu .ui.list>.item{display:list-item;table-layout:fixed;background-color:transparent;list-style-type:none;list-style-position:outside;padding:.21428571em 0;line-height:1.14285714em}.ui.menu .ui.list .list>.item:before,.ui.menu .ui.list>.item:before{border:0;background:0 0}.ui.menu .ui.list .list>.item:first-child,.ui.menu .ui.list>.item:first-child{padding-top:0}.ui.menu .ui.list .list>.item:last-child,.ui.menu .ui.list>.item:last-child{padding-bottom:0}.ui.horizontal.list{display:inline-block;font-size:0}.ui.horizontal.list>.item{display:inline-block;margin-left:1em}.ui.horizontal.list:not(.celled)>.item:first-child{margin-left:0!important;padding-left:0!important}.ui.horizontal.list .list{padding-left:0;padding-bottom:0}.ui.horizontal.list .list>.item>.content,.ui.horizontal.list .list>.item>.icon,.ui.horizontal.list .list>.item>.image,.ui.horizontal.list>.item>.content,.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.image{vertical-align:middle}.ui.horizontal.list>.item:first-child,.ui.horizontal.list>.item:last-child{padding-top:.21428571em;padding-bottom:.21428571em}.ui.horizontal.list>.item>i.icon{margin:0;padding:0 .25em 0 0}.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.icon+.content{float:none;display:inline-block}.ui.list .list>.disabled.item,.ui.list>.disabled.item{pointer-events:none;color:rgba(40,40,40,.3)!important}.ui.inverted.list .list>.disabled.item,.ui.inverted.list>.disabled.item{color:rgba(225,225,225,.3)!important}.ui.list .list>a.item:hover .icon,.ui.list>a.item:hover .icon{color:rgba(0,0,0,.87)}.ui.inverted.list .list>.item .header,.ui.inverted.list>.item .header{color:rgba(255,255,255,.9)}.ui.inverted.list .list>.item .description,.ui.inverted.list .list>a.item>.icon,.ui.inverted.list>.item .description,.ui.inverted.list>a.item>.icon{color:rgba(255,255,255,.7)}.ui.inverted.list .list>a.item,.ui.inverted.list>a.item{cursor:pointer;color:rgba(255,255,255,.9)}.ui.inverted.list .list>a.item:hover,.ui.inverted.list>a.item:hover{color:#1e70bf}.ui.inverted.list .item a:not(.ui){color:rgba(255,255,255,.9)!important}.ui.inverted.list .item a:not(.ui):hover{color:#1e70bf!important}.ui.list [class*="top aligned"],.ui.list[class*="top aligned"] .content,.ui.list[class*="top aligned"] .image{vertical-align:top!important}.ui.list [class*="middle aligned"],.ui.list[class*="middle aligned"] .content,.ui.list[class*="middle aligned"] .image{vertical-align:middle!important}.ui.list [class*="bottom aligned"],.ui.list[class*="bottom aligned"] .content,.ui.list[class*="bottom aligned"] .image{vertical-align:bottom!important}.ui.link.list .item,.ui.link.list .item a:not(.ui),.ui.link.list a.item{color:rgba(0,0,0,.4);transition:.1s color ease}.ui.link.list.list .item a:not(.ui):hover,.ui.link.list.list a.item:hover{color:rgba(0,0,0,.8)}.ui.link.list.list .item a:not(.ui):active,.ui.link.list.list a.item:active{color:rgba(0,0,0,.9)}.ui.link.list.list .active.item,.ui.link.list.list .active.item a:not(.ui){color:rgba(0,0,0,.95)}.ui.inverted.link.list .item,.ui.inverted.link.list .item a:not(.ui),.ui.inverted.link.list a.item{color:rgba(255,255,255,.5)}.ui.inverted.link.list.list .active.item a:not(.ui),.ui.inverted.link.list.list .item a:not(.ui):active,.ui.inverted.link.list.list .item a:not(.ui):hover,.ui.inverted.link.list.list a.active.item,.ui.inverted.link.list.list a.item:active,.ui.inverted.link.list.list a.item:hover{color:#fff}.ui.selection.list .list>.item,.ui.selection.list>.item{cursor:pointer;background:0 0;padding:.5em;margin:0;color:rgba(0,0,0,.4);border-radius:.5em;transition:.1s color ease,.1s padding-left ease,.1s background-color ease}.ui.selection.list .list>.item:last-child,.ui.selection.list>.item:last-child{margin-bottom:0}.ui.selection.list.list>.item:hover,.ui.selection.list>.item:hover{background:rgba(0,0,0,.03);color:rgba(0,0,0,.8)}.ui.selection.list .list>.item:active,.ui.selection.list>.item:active{background:rgba(0,0,0,.05);color:rgba(0,0,0,.9)}.ui.selection.list .list>.item.active,.ui.selection.list>.item.active{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.inverted.selection.list>.item{background:0 0;color:rgba(255,255,255,.5)}.ui.inverted.selection.list>.item:hover{background:rgba(255,255,255,.02);color:#fff}.ui.inverted.selection.list>.item.active,.ui.inverted.selection.list>.item:active{background:rgba(255,255,255,.08);color:#fff}.ui.celled.selection.list .list>.item,.ui.celled.selection.list>.item{border-radius:0}.ui.animated.list>.item{transition:.25s color ease .1s,.25s padding-left ease .1s,.25s background-color ease .1s}.ui.animated.list:not(.horizontal)>.item:hover{padding-left:1em}.ui.fitted.list:not(.selection) .list>.item,.ui.fitted.list:not(.selection)>.item{padding-left:0;padding-right:0}.ui.fitted.selection.list .list>.item,.ui.fitted.selection.list>.item{margin-left:-.5em;margin-right:-.5em}.ui.bulleted.list,ul.ui.list{margin-left:1.25rem}.ui.bulleted.list .list>.item,.ui.bulleted.list>.item,ul.ui.list li{position:relative}.ui.bulleted.list .list>.item:before,.ui.bulleted.list>.item:before,ul.ui.list li:before{user-select:none;pointer-events:none;position:absolute;top:auto;left:auto;font-weight:400;margin-left:-1.25rem;content:'•';opacity:1;color:inherit;vertical-align:top}.ui.bulleted.list .list>a.item:before,.ui.bulleted.list>a.item:before,.ui.horizontal.bulleted.list>.item::before,ul.ui.horizontal.bulleted.list li::before,ul.ui.list li:before{color:rgba(0,0,0,.87)}.ui.bulleted.list .list,ul.ui.list ul{padding-left:1.25rem}.ui.horizontal.bulleted.list,ul.ui.horizontal.bulleted.list{margin-left:0}.ui.horizontal.bulleted.list>.item,ul.ui.horizontal.bulleted.list li{margin-left:1.75rem}.ui.horizontal.bulleted.list>.item:first-child,ul.ui.horizontal.bulleted.list li:first-child{margin-left:0}.ui.horizontal.bulleted.list>.item:first-child::before,ul.ui.horizontal.bulleted.list li:first-child::before{display:none}.ui.ordered.list,.ui.ordered.list .list,ol.ui.list,ol.ui.list ol{counter-reset:ordered;margin-left:1.25rem;list-style-type:none}.ui.ordered.list .list>.item,.ui.ordered.list>.item,ol.ui.list li{list-style-type:none;position:relative}.ui.ordered.list .list>.item:before,.ui.ordered.list>.item:before,ol.ui.list li:before{position:absolute;top:auto;left:auto;user-select:none;pointer-events:none;margin-left:-1.25rem;counter-increment:ordered;content:counters(ordered,".") " ";text-align:right;color:rgba(0,0,0,.87);vertical-align:middle;opacity:.8}.ui.ordered.inverted.list .list>.item:before,.ui.ordered.inverted.list>.item:before,ol.ui.inverted.list li:before{color:rgba(255,255,255,.7)}.ui.ordered.list>.item[data-value],.ui.ordered.list>.list>.item[data-value]{content:attr(data-value)}ol.ui.list li[value]:before{content:attr(value)}.ui.ordered.list .list,ol.ui.list ol{margin-left:1em}.ui.ordered.list .list>.item:before,ol.ui.list ol li:before{margin-left:-2em}.ui.ordered.horizontal.list,ol.ui.horizontal.list{margin-left:0}.ui.ordered.horizontal.list .list>.item:before,.ui.ordered.horizontal.list>.item:before,ol.ui.horizontal.list li:before{position:static;margin:0 .5em 0 0}.ui.divided.list>.item{border-top:1px solid rgba(34,36,38,.15)}.ui.divided.list .item .list>.item,.ui.divided.list .list>.item{border-top:none}.ui.divided.list .list>.item:first-child,.ui.divided.list>.item:first-child{border-top:none}.ui.divided.list:not(.horizontal) .list>.item:first-child{border-top-width:1px}.ui.divided.bulleted.list .list,.ui.divided.bulleted.list:not(.horizontal){margin-left:0;padding-left:0}.ui.divided.bulleted.list>.item:not(.horizontal){padding-left:1.25rem}.ui.divided.horizontal.list,.ui.divided.ordered.list{margin-left:0}.ui.divided.ordered.list .list>.item,.ui.divided.ordered.list>.item{padding-left:1.25rem}.ui.divided.ordered.list .item .list{margin-left:0;margin-right:0;padding-bottom:.21428571em}.ui.divided.ordered.list .item .list>.item{padding-left:1em}.ui.divided.selection.list .list>.item,.ui.divided.selection.list>.item{margin:0;border-radius:0}.ui.divided.horizontal.list>.item:not(:first-child){padding-left:.5em}.ui.divided.horizontal.list>.item:not(:last-child){padding-right:.5em}.ui.divided.horizontal.list>.item{border-top:none;border-left:1px solid rgba(34,36,38,.15);margin:0;line-height:.6}.ui.horizontal.divided.list>.item:first-child{border-left:none}.ui.divided.inverted.horizontal.list>.item,.ui.divided.inverted.list>.item,.ui.divided.inverted.list>.list{border-color:rgba(255,255,255,.1)}.ui.celled.list>.item,.ui.celled.list>.list{border-top:1px solid rgba(34,36,38,.15);padding-left:.5em;padding-right:.5em}.ui.celled.list>.item:last-child{border-bottom:1px solid rgba(34,36,38,.15)}.ui.celled.list>.item:first-child,.ui.celled.list>.item:last-child{padding-top:.21428571em;padding-bottom:.21428571em}.ui.celled.list .item .list>.item{border-width:0}.ui.celled.list .list>.item:first-child{border-top-width:0}.ui.celled.bulleted.list,.ui.celled.ordered.list,.ui.horizontal.celled.list{margin-left:0}.ui.celled.bulleted.list .list>.item,.ui.celled.bulleted.list>.item{padding-left:1.25rem}.ui.celled.bulleted.list .item .list{margin-left:-1.25rem;margin-right:-1.25rem;padding-bottom:.21428571em}.ui.celled.ordered.list .list>.item,.ui.celled.ordered.list>.item{padding-left:1.25rem}.ui.celled.ordered.list .item .list{margin-left:0;margin-right:0;padding-bottom:.21428571em}.ui.celled.ordered.list .list>.item{padding-left:1em}.ui.horizontal.celled.list .list>.item,.ui.horizontal.celled.list>.item{border-top:none;border-left:1px solid rgba(34,36,38,.15);margin:0;padding-left:.5em;padding-right:.5em;line-height:.6}.ui.horizontal.celled.list .list>.item:last-child,.ui.horizontal.celled.list>.item:last-child{border-bottom:none;border-right:1px solid rgba(34,36,38,.15)}.ui.celled.inverted.horizontal.list .list>.item,.ui.celled.inverted.horizontal.list>.item,.ui.celled.inverted.list>.item,.ui.celled.inverted.list>.list{border-color:1px solid rgba(255,255,255,.1)}.ui.relaxed.list:not(.horizontal)>.item:not(:first-child){padding-top:.42857143em}.ui.relaxed.list:not(.horizontal)>.item:not(:last-child){padding-bottom:.42857143em}.ui.horizontal.relaxed.list .list>.item:not(:first-child),.ui.horizontal.relaxed.list>.item:not(:first-child){padding-left:1rem}.ui.horizontal.relaxed.list .list>.item:not(:last-child),.ui.horizontal.relaxed.list>.item:not(:last-child){padding-right:1rem}.ui[class*="very relaxed"].list:not(.horizontal)>.item:not(:first-child){padding-top:.85714286em}.ui[class*="very relaxed"].list:not(.horizontal)>.item:not(:last-child){padding-bottom:.85714286em}.ui.horizontal[class*="very relaxed"].list .list>.item:not(:first-child),.ui.horizontal[class*="very relaxed"].list>.item:not(:first-child){padding-left:1.5rem}.ui.horizontal[class*="very relaxed"].list .list>.item:not(:last-child),.ui.horizontal[class*="very relaxed"].list>.item:not(:last-child){padding-right:1.5rem}.ui.mini.list{font-size:.78571429em}.ui.tiny.list{font-size:.85714286em}.ui.small.list{font-size:.92857143em}.ui.list{font-size:1em}.ui.large.list{font-size:1.14285714em}.ui.big.list{font-size:1.28571429em}.ui.huge.list{font-size:1.42857143em}.ui.massive.list{font-size:1.71428571em}.ui.mini.horizontal.list .list>.item,.ui.mini.horizontal.list>.item{font-size:.78571429rem}.ui.tiny.horizontal.list .list>.item,.ui.tiny.horizontal.list>.item{font-size:.85714286rem}.ui.small.horizontal.list .list>.item,.ui.small.horizontal.list>.item{font-size:.92857143rem}.ui.horizontal.list .list>.item,.ui.horizontal.list>.item{font-size:1rem}.ui.large.horizontal.list .list>.item,.ui.large.horizontal.list>.item{font-size:1.14285714rem}.ui.big.horizontal.list .list>.item,.ui.big.horizontal.list>.item{font-size:1.28571429rem}.ui.huge.horizontal.list .list>.item,.ui.huge.horizontal.list>.item{font-size:1.42857143rem}.ui.massive.horizontal.list .list>.item,.ui.massive.horizontal.list>.item{font-size:1.71428571rem}
/*!
 * # Semantic UI - Loader
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
@keyframes loader{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.ui.loader{display:none;position:absolute;top:50%;left:50%;margin:0;text-align:center;z-index:1000;transform:translateX(-50%) translateY(-50%)}.ui.loader:after,.ui.loader:before{position:absolute;content:'';top:0;left:50%;width:100%;height:100%;border-radius:500rem}.ui.loader:before{border:.2em solid rgba(0,0,0,.1)}.ui.loader:after{animation:loader .6s linear;animation-iteration-count:infinite;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}.ui.mini.loader:after,.ui.mini.loader:before{width:1rem;height:1rem;margin:0 0 0 -.5rem}.ui.tiny.loader:after,.ui.tiny.loader:before{width:1.14285714rem;height:1.14285714rem;margin:0 0 0 -.57142857rem}.ui.small.loader:after,.ui.small.loader:before{width:1.71428571rem;height:1.71428571rem;margin:0 0 0 -.85714286rem}.ui.loader:after,.ui.loader:before{width:2.28571429rem;height:2.28571429rem;margin:0 0 0 -1.14285714rem}.ui.large.loader:after,.ui.large.loader:before{width:3.42857143rem;height:3.42857143rem;margin:0 0 0 -1.71428571rem}.ui.big.loader:after,.ui.big.loader:before{width:3.71428571rem;height:3.71428571rem;margin:0 0 0 -1.85714286rem}.ui.huge.loader:after,.ui.huge.loader:before{width:4.14285714rem;height:4.14285714rem;margin:0 0 0 -2.07142857rem}.ui.massive.loader:after,.ui.massive.loader:before{width:4.57142857rem;height:4.57142857rem;margin:0 0 0 -2.28571429rem}.ui.dimmer .loader{display:block}.ui.dimmer .ui.loader{color:rgba(255,255,255,.9)}.ui.dimmer .ui.loader:before{border-color:rgba(255,255,255,.15)}.ui.dimmer .ui.loader:after{border-color:#fff transparent transparent}.ui.inverted.dimmer .ui.loader{color:rgba(0,0,0,.87)}.ui.inverted.dimmer .ui.loader:before{border-color:rgba(0,0,0,.1)}.ui.inverted.dimmer .ui.loader:after{border-color:#767676 transparent transparent}.ui.text.loader{width:auto!important;height:auto!important;text-align:center;font-style:normal}.ui.indeterminate.loader:after{animation-direction:reverse;animation-duration:1.2s}.ui.loader.active,.ui.loader.visible{display:block}.ui.loader.disabled,.ui.loader.hidden{display:none}.ui.inverted.dimmer .ui.mini.loader,.ui.mini.loader{width:1rem;height:1rem;font-size:.78571429em}.ui.inverted.dimmer .ui.tiny.loader,.ui.tiny.loader{width:1.14285714rem;height:1.14285714rem;font-size:.85714286em}.ui.inverted.dimmer .ui.small.loader,.ui.small.loader{width:1.71428571rem;height:1.71428571rem;font-size:.92857143em}.ui.inverted.dimmer .ui.loader,.ui.loader{width:2.28571429rem;height:2.28571429rem;font-size:1em}.ui.inverted.dimmer .ui.large.loader,.ui.large.loader{width:3.42857143rem;height:3.42857143rem;font-size:1.14285714em}.ui.big.loader,.ui.inverted.dimmer .ui.big.loader{width:3.71428571rem;height:3.71428571rem;font-size:1.28571429em}.ui.huge.loader,.ui.inverted.dimmer .ui.huge.loader{width:4.14285714rem;height:4.14285714rem;font-size:1.42857143em}.ui.inverted.dimmer .ui.massive.loader,.ui.massive.loader{width:4.57142857rem;height:4.57142857rem;font-size:1.71428571em}.ui.mini.text.loader{min-width:1rem;padding-top:1.78571429rem}.ui.tiny.text.loader{min-width:1.14285714rem;padding-top:1.92857143rem}.ui.small.text.loader{min-width:1.71428571rem;padding-top:2.5rem}.ui.text.loader{min-width:2.28571429rem;padding-top:3.07142857rem}.ui.large.text.loader{min-width:3.42857143rem;padding-top:4.21428571rem}.ui.big.text.loader{min-width:3.71428571rem;padding-top:4.5rem}.ui.huge.text.loader{min-width:4.14285714rem;padding-top:4.92857143rem}.ui.massive.text.loader{min-width:4.57142857rem;padding-top:5.35714286rem}.ui.inverted.loader{color:rgba(255,255,255,.9)}.ui.inverted.loader:before{border-color:rgba(255,255,255,.15)}.ui.inverted.loader:after{border-top-color:#fff}.ui.inline.loader{position:relative;vertical-align:middle;margin:0;left:0;top:0;transform:none}.ui.inline.loader.active,.ui.inline.loader.visible{display:inline-block}.ui.centered.inline.loader.active,.ui.centered.inline.loader.visible{display:block;margin-left:auto;margin-right:auto}
/*!
 * # Semantic UI - Loader
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
@keyframes placeholderShimmer{0%{background-position:-1200px 0}to{background-position:1200px 0}}.ui.placeholder{position:static;overflow:hidden;animation:placeholderShimmer 2s linear;animation-iteration-count:infinite;background-image:linear-gradient(to right,rgba(0,0,0,.08) 0%,rgba(0,0,0,.15) 15%,rgba(0,0,0,.08) 30%);background-size:1200px 100%;max-width:30rem}.ui.placeholder+.ui.placeholder{margin-top:2rem;animation-delay:.15s}.ui.placeholder+.ui.placeholder+.ui.placeholder{animation-delay:.3s}.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder{animation-delay:.45s}.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder+.ui.placeholder{animation-delay:.6s}.ui.placeholder,.ui.placeholder .image.header:after,.ui.placeholder .line,.ui.placeholder>:before{background-color:#fff}.ui.placeholder .image:not(.header):not(.ui){height:100px}.ui.placeholder .square.image:not(.header){height:0;overflow:hidden;padding-top:100%}.ui.placeholder .rectangular.image:not(.header){height:0;overflow:hidden;padding-top:75%}.ui.placeholder .line{position:relative;height:.85714286em;margin-bottom:.5em}.ui.placeholder .line:after,.ui.placeholder .line:before{top:100%;position:absolute;content:'';background-color:inherit}.ui.placeholder .line:before{left:0}.ui.placeholder .line:after{right:0}.ui.placeholder .line:after,.ui.placeholder .line:before{height:.5em}.ui.placeholder .line:not(:first-child){margin-top:.5em}.ui.placeholder .header{position:relative;overflow:hidden}.ui.placeholder .line:nth-child(1):after{width:0%}.ui.placeholder .line:nth-child(2):after{width:50%}.ui.placeholder .line:nth-child(3):after{width:10%}.ui.placeholder .line:nth-child(4):after{width:35%}.ui.placeholder .line:nth-child(5):after{width:65%}.ui.placeholder .header .line{margin-bottom:.64285714em}.ui.placeholder .header .line:after,.ui.placeholder .header .line:before{height:.64285714em}.ui.placeholder .header .line:not(:first-child){margin-top:.64285714em}.ui.placeholder .header .line:after{width:20%}.ui.placeholder .header .line:nth-child(2):after{width:60%}.ui.placeholder .image.header .line{margin-left:3em}.ui.placeholder .image.header .line:before{width:.71428571rem}.ui.placeholder .image.header:after{display:block;height:.85714286em;content:'';margin-left:3em}.ui.placeholder .header .line:first-child,.ui.placeholder .image .line:first-child,.ui.placeholder .paragraph .line:first-child{height:.01px}.ui.placeholder .header:not(:first-child):before,.ui.placeholder .image:not(:first-child):before,.ui.placeholder .paragraph:not(:first-child):before{height:1.42857143em;content:'';display:block}.ui.inverted.placeholder{background-image:linear-gradient(to right,rgba(255,255,255,.08) 0%,rgba(255,255,255,.14) 15%,rgba(255,255,255,.08) 30%);background-color:#1b1c1d}.ui.inverted.placeholder .image.header:after,.ui.inverted.placeholder .line,.ui.inverted.placeholder .line:after,.ui.inverted.placeholder>:before{background-color:#1b1c1d}.ui.placeholder .full.line.line.line:after{width:0%}.ui.placeholder .very.long.line.line.line:after{width:10%}.ui.placeholder .long.line.line.line:after{width:35%}.ui.placeholder .medium.line.line.line:after{width:50%}.ui.placeholder .short.line.line.line:after{width:65%}.ui.placeholder .very.short.line.line.line:after{width:80%}.ui.fluid.placeholder{max-width:none}
/*!
 * # Semantic UI - Rail
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.rail{position:absolute;top:0;width:300px;height:100%;font-size:1rem}.ui.left.rail{left:auto;right:100%;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.left.internal.rail,.ui.right.rail{left:100%;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.left.internal.rail{left:0}.ui.right.internal.rail{left:auto;right:0;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.dividing.rail{width:302.5px}.ui.left.dividing.rail{padding:0 2.5rem 0 0;margin:0 2.5rem 0 0;border-right:1px solid rgba(34,36,38,.15)}.ui.right.dividing.rail{border-left:1px solid rgba(34,36,38,.15);padding:0 0 0 2.5rem;margin:0 0 0 2.5rem}.ui.close.rail{width:calc(300px + 1em)}.ui.close.left.rail{padding:0 1em 0 0;margin:0 1em 0 0}.ui.close.right.rail{padding:0 0 0 1em;margin:0 0 0 1em}.ui.very.close.rail{width:calc(300px + .5em)}.ui.very.close.left.rail{padding:0 .5em 0 0;margin:0 .5em 0 0}.ui.very.close.right.rail{padding:0 0 0 .5em;margin:0 0 0 .5em}.ui.attached.left.rail,.ui.attached.right.rail{padding:0;margin:0}.ui.mini.rail{font-size:.78571429rem}.ui.tiny.rail{font-size:.85714286rem}.ui.small.rail{font-size:.92857143rem}.ui.large.rail{font-size:1.14285714rem}.ui.big.rail{font-size:1.28571429rem}.ui.huge.rail{font-size:1.42857143rem}.ui.massive.rail{font-size:1.71428571rem}
/*!
 * # Semantic UI - Reveal
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.reveal{display:inherit;position:relative!important;font-size:0!important}.ui.reveal>.visible.content{position:absolute!important;top:0!important;left:0!important;z-index:3!important;transition:all .5s ease .1s}.ui.reveal>.hidden.content{position:relative!important;z-index:2!important}.ui.active.reveal .visible.content,.ui.reveal:hover .visible.content{z-index:4!important}.ui.move.reveal,.ui.slide.reveal{position:relative!important;overflow:hidden!important;white-space:nowrap}.ui.move.reveal>.content,.ui.slide.reveal>.content{display:block;float:left;white-space:normal;margin:0}.ui.slide.reveal>.content{width:100%;transition:transform .5s ease .1s}.ui.slide.reveal>.visible.content{position:relative!important}.ui.slide.reveal>.hidden.content{position:absolute!important;left:0!important;width:100%!important}.ui.slide.active.reveal>.visible.content,.ui.slide.reveal:hover>.visible.content{transform:translateX(-100%)!important}.ui.slide.active.reveal>.hidden.content,.ui.slide.reveal:hover>.hidden.content,.ui.slide.right.reveal>.visible.content{transform:translateX(0%)!important}.ui.slide.right.reveal>.hidden.content{transform:translateX(-100%)!important}.ui.slide.reveal>.hidden.content,.ui.slide.right.active.reveal>.visible.content,.ui.slide.right.reveal:hover>.visible.content{transform:translateX(100%)!important}.ui.slide.right.active.reveal>.hidden.content,.ui.slide.right.reveal:hover>.hidden.content{transform:translateX(0%)!important}.ui.slide.up.reveal>.hidden.content{transform:translateY(100%)!important}.ui.slide.down.reveal>.hidden.content,.ui.slide.up.active.reveal>.visible.content,.ui.slide.up.reveal:hover>.visible.content{transform:translateY(-100%)!important}.ui.slide.up.active.reveal>.hidden.content,.ui.slide.up.reveal:hover>.hidden.content{transform:translateY(0%)!important}.ui.slide.down.active.reveal>.visible.content,.ui.slide.down.reveal:hover>.visible.content{transform:translateY(100%)!important}.ui.slide.down.active.reveal>.hidden.content,.ui.slide.down.reveal:hover>.hidden.content{transform:translateY(0%)!important}.ui.fade.reveal>.visible.content{opacity:1}.ui.fade.active.reveal>.visible.content,.ui.fade.reveal:hover>.visible.content{opacity:0}.ui.move.reveal>.content{transition:transform .5s cubic-bezier(.175,.885,.32,1) .1s}.ui.move.reveal>.visible.content{position:relative!important}.ui.move.reveal>.hidden.content{position:absolute!important;left:0!important;width:100%!important}.ui.move.active.reveal>.visible.content,.ui.move.reveal:hover>.visible.content{transform:translateX(-100%)!important}.ui.move.right.active.reveal>.visible.content,.ui.move.right.reveal:hover>.visible.content{transform:translateX(100%)!important}.ui.move.up.active.reveal>.visible.content,.ui.move.up.reveal:hover>.visible.content{transform:translateY(-100%)!important}.ui.move.down.active.reveal>.visible.content,.ui.move.down.reveal:hover>.visible.content{transform:translateY(100%)!important}.ui.rotate.reveal>.visible.content{transition-duration:.5s;transform:rotate(0deg);transform-origin:bottom right}.ui.rotate.right.reveal>.visible.content{transform-origin:bottom right}.ui.rotate.active.reveal>.visible.content,.ui.rotate.reveal:hover>.visible.content,.ui.rotate.right.active.reveal>.visible.content,.ui.rotate.right.reveal:hover>.visible.content{transform:rotate(110deg)}.ui.rotate.left.reveal>.visible.content{transform-origin:bottom left}.ui.rotate.left.active.reveal>.visible.content,.ui.rotate.left.reveal:hover>.visible.content{transform:rotate(-110deg)}.ui.disabled.reveal:hover>.visible.visible.content{position:static!important;display:block!important;opacity:1!important;top:0!important;left:0!important;right:auto!important;bottom:auto!important;transform:none!important}.ui.disabled.reveal:hover>.hidden.hidden.content{display:none!important}.ui.reveal>.ui.ribbon.label{z-index:5}.ui.visible.reveal{overflow:visible}.ui.instant.reveal>.content{transition-delay:0s!important}.ui.reveal>.content{font-size:1rem!important}
/*!
 * # Semantic UI - Segment
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
@keyframes segment-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.ui.segment{position:relative;background:#fff;box-shadow:0 1px 2px 0 rgba(34,36,38,.15);margin:1rem 0;padding:1em;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.segment:first-child{margin-top:0}.ui.segment:last-child{margin-bottom:0}.ui.vertical.segment{margin:0;padding-left:0;padding-right:0;background:0 0;border-radius:0;box-shadow:none;border:0;border-bottom:1px solid rgba(34,36,38,.15)}.ui.vertical.segment:last-child{border-bottom:none}.ui.inverted.segment>.ui.header{color:#fff}.ui[class*="bottom attached"].segment>[class*="top attached"].label{border-top-left-radius:0;border-top-right-radius:0}.ui[class*="top attached"].segment>[class*="bottom attached"].label{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.attached.segment:not(.top):not(.bottom)>[class*="top attached"].label{border-top-left-radius:0;border-top-right-radius:0}.ui.attached.segment:not(.top):not(.bottom)>[class*="bottom attached"].label{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.grid>.row>.ui.segment.column,.ui.grid>.ui.segment.column,.ui.page.grid.segment{padding-top:2em;padding-bottom:2em}.ui.grid.segment{margin:1rem 0;border-radius:.28571429rem}.ui.basic.table.segment{background:#fff;border:1px solid rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15)}.ui[class*="very basic"].table.segment{padding:1em}.ui.placeholder.segment{display:flex;flex-direction:column;justify-content:center;align-items:stretch;max-width:initial;animation:none;overflow:visible;padding:1em;min-height:18rem;background:#f9fafb;border-color:rgba(34,36,38,.15);box-shadow:0 2px 25px 0 rgba(34,36,38,.05) inset}.ui.placeholder.segment .button,.ui.placeholder.segment textarea{display:block}.ui.placeholder.segment .button,.ui.placeholder.segment .column .button,.ui.placeholder.segment .column .field,.ui.placeholder.segment .column textarea,.ui.placeholder.segment .column>.ui.input,.ui.placeholder.segment .field,.ui.placeholder.segment textarea,.ui.placeholder.segment>.ui.input{max-width:15rem;margin-left:auto;margin-right:auto}.ui.placeholder.segment>.inline{align-self:center}.ui.placeholder.segment>.inline>.button{display:inline-block;width:auto;margin:0 .35714286rem 0 0}.ui.placeholder.segment>.inline>.button:last-child{margin-right:0}.ui.piled.segment,.ui.piled.segments{margin:3em 0;box-shadow:'';z-index:auto}.ui.piled.segment:first-child,.ui.piled.segment[class*="top attached"]:first-child{margin-top:0}.ui.piled.segment:last-child,.ui.piled.segment[class*="bottom attached"]:last-child{margin-bottom:0}.ui.piled.segment:after,.ui.piled.segment:before,.ui.piled.segments:after,.ui.piled.segments:before{background-color:#fff;visibility:visible;content:'';display:block;height:100%;left:0;position:absolute;width:100%;border:1px solid rgba(34,36,38,.15);box-shadow:''}.ui.piled.segment:before,.ui.piled.segments:before{transform:rotate(-1.2deg);top:0;z-index:-2}.ui.piled.segment:after,.ui.piled.segments:after{transform:rotate(1.2deg);top:0;z-index:-1}.ui[class*="top attached"].piled.segment{margin-top:3em;margin-bottom:0}.ui.piled.segment[class*="bottom attached"]{margin-top:0;margin-bottom:3em}.ui.stacked.segment{padding-bottom:1.4em}.ui.stacked.segment:after,.ui.stacked.segment:before,.ui.stacked.segments:after,.ui.stacked.segments:before{content:'';position:absolute;bottom:-3px;left:0;border-top:1px solid rgba(34,36,38,.15);background:rgba(0,0,0,.03);width:100%;height:6px;visibility:visible}.ui.stacked.segment:before,.ui.stacked.segments:before{display:none}.ui.tall.stacked.segment:before,.ui.tall.stacked.segments:before{display:block;bottom:0}.ui.stacked.inverted.segment:after,.ui.stacked.inverted.segment:before,.ui.stacked.inverted.segments:after,.ui.stacked.inverted.segments:before{background-color:rgba(0,0,0,.03);border-top:1px solid rgba(34,36,38,.35)}.ui.padded.segment{padding:1.5em}.ui[class*="very padded"].segment{padding:3em}.ui.padded.segment.vertical.segment,.ui[class*="very padded"].vertical.segment{padding-left:0;padding-right:0}.ui.compact.segment{display:table}.ui.compact.segments{display:inline-flex}.ui.compact.segments .segment,.ui.segments .compact.segment{display:block;flex:0 1 auto}.ui.circular.segment{display:table-cell;padding:2em;text-align:center;vertical-align:middle;border-radius:500em}.ui.raised.segment,.ui.raised.segments{box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.segments{flex-direction:column;position:relative;margin:1rem 0;border:1px solid rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);border-radius:.28571429rem}.ui.segments:first-child{margin-top:0}.ui.segments:last-child{margin-bottom:0}.ui.segments>.segment{top:0;bottom:0;border-radius:0;margin:0;width:auto;box-shadow:none;border:0;border-top:1px solid rgba(34,36,38,.15)}.ui.segments:not(.horizontal)>.segment:first-child{border-top:none;margin-top:0;bottom:0;margin-bottom:0;top:0;border-radius:.28571429rem .28571429rem 0 0}.ui.segments:not(.horizontal)>.segment:last-child{top:0;bottom:0;margin-top:0;margin-bottom:0;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui.segments:not(.horizontal)>.segment:only-child{border-radius:.28571429rem}.ui.segments>.ui.segments{border-top:1px solid rgba(34,36,38,.15);margin:1rem}.ui.segments>.segments:first-child{border-top:none}.ui.segments>.segment+.segments:not(.horizontal){margin-top:0}.ui.horizontal.segments{display:flex;flex-direction:row;border-radius:0;padding:0;background-color:#fff;box-shadow:0 1px 2px 0 rgba(34,36,38,.15);margin:1rem 0;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.horizontal.segments>.segment,.ui.segments>.horizontal.segments{margin:0;background-color:transparent;border-radius:0;border:0;box-shadow:none}.ui.segments>.horizontal.segments{border-top:1px solid rgba(34,36,38,.15)}.ui.horizontal.segments>.segment{flex:1 1 auto;-ms-flex:1 1 0px;min-width:0;border-left:1px solid rgba(34,36,38,.15)}.ui.segments>.horizontal.segments:first-child{border-top:none}.ui.horizontal.segments>.segment:first-child{border-left:none}.ui.disabled.segment{opacity:.45;color:rgba(40,40,40,.3)}.ui.loading.segment{position:relative;cursor:default;pointer-events:none;text-shadow:none!important;color:transparent!important;transition:all 0s linear}.ui.loading.segment:before{position:absolute;content:'';top:0;left:0;background:rgba(255,255,255,.8);width:100%;height:100%;border-radius:.28571429rem;z-index:100}.ui.loading.segment:after{position:absolute;content:'';top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;animation:segment-spin .6s linear;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 rgba(0,0,0,.1) rgba(0,0,0,.1);border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}.ui.basic.segment{background:0 0;box-shadow:none;border:0;border-radius:0}.ui.clearing.segment:after{content:".";display:block;height:0;clear:both;visibility:hidden}.ui.red.segment:not(.inverted){border-top:2px solid #db2828!important}.ui.inverted.red.segment{background-color:#db2828!important;color:#fff!important}.ui.orange.segment:not(.inverted){border-top:2px solid #f2711c!important}.ui.inverted.orange.segment{background-color:#f2711c!important;color:#fff!important}.ui.yellow.segment:not(.inverted){border-top:2px solid #fbbd08!important}.ui.inverted.yellow.segment{background-color:#fbbd08!important;color:#fff!important}.ui.olive.segment:not(.inverted){border-top:2px solid #b5cc18!important}.ui.inverted.olive.segment{background-color:#b5cc18!important;color:#fff!important}.ui.green.segment:not(.inverted){border-top:2px solid #21ba45!important}.ui.inverted.green.segment{background-color:#21ba45!important;color:#fff!important}.ui.teal.segment:not(.inverted){border-top:2px solid #00b5ad!important}.ui.inverted.teal.segment{background-color:#00b5ad!important;color:#fff!important}.ui.blue.segment:not(.inverted){border-top:2px solid #2185d0!important}.ui.inverted.blue.segment{background-color:#2185d0!important;color:#fff!important}.ui.violet.segment:not(.inverted){border-top:2px solid #6435c9!important}.ui.inverted.violet.segment{background-color:#6435c9!important;color:#fff!important}.ui.purple.segment:not(.inverted){border-top:2px solid #a333c8!important}.ui.inverted.purple.segment{background-color:#a333c8!important;color:#fff!important}.ui.pink.segment:not(.inverted){border-top:2px solid #e03997!important}.ui.inverted.pink.segment{background-color:#e03997!important;color:#fff!important}.ui.brown.segment:not(.inverted){border-top:2px solid #a5673f!important}.ui.inverted.brown.segment{background-color:#a5673f!important;color:#fff!important}.ui.grey.segment:not(.inverted){border-top:2px solid #767676!important}.ui.inverted.grey.segment{background-color:#767676!important;color:#fff!important}.ui.black.segment:not(.inverted){border-top:2px solid #1b1c1d!important}.ui.inverted.black.segment{background-color:#1b1c1d!important;color:#fff!important}.ui[class*="left aligned"].segment{text-align:left}.ui[class*="right aligned"].segment{text-align:right}.ui[class*="center aligned"].segment{text-align:center}.ui.floated.segment,.ui[class*="left floated"].segment{float:left;margin-right:1em}.ui[class*="right floated"].segment{float:right;margin-left:1em}.ui.inverted.segment{border:0;box-shadow:none;background:#1b1c1d}.ui.primary.inverted.segment{background:#1b1c1d;color:rgba(255,255,255,.9)}.ui.inverted.segment .segment{color:rgba(0,0,0,.87)}.ui.inverted.segment,.ui.inverted.segment .inverted.segment{color:rgba(255,255,255,.9)}.ui.inverted.attached.segment{border-color:#555}.ui.secondary.segment{background:#f3f4f5;color:rgba(0,0,0,.6)}.ui.secondary.inverted.segment{background:#4c4f52 linear-gradient(rgba(255,255,255,.2) 0%,rgba(255,255,255,.2) 100%);color:rgba(255,255,255,.8)}.ui.tertiary.segment{background:#dcddde;color:rgba(0,0,0,.6)}.ui.tertiary.inverted.segment{background:#717579 linear-gradient(rgba(255,255,255,.35) 0%,rgba(255,255,255,.35) 100%);color:rgba(255,255,255,.8)}.ui.attached.segment{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% - (-1px*2));max-width:calc(100% - (-1px*2));box-shadow:none;border:1px solid #d4d4d5}.ui.attached:not(.message)+.ui.attached.segment:not(.top){border-top:none}.ui[class*="top attached"].segment{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.segment[class*="top attached"]:first-child{margin-top:0}.ui.segment[class*="bottom attached"]{bottom:0;margin-top:0;top:0;margin-bottom:1rem;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui.segment[class*="bottom attached"]:last-child{margin-bottom:0}.ui.mini.segment,.ui.mini.segments .segment{font-size:.78571429rem}.ui.tiny.segment,.ui.tiny.segments .segment{font-size:.85714286rem}.ui.small.segment,.ui.small.segments .segment{font-size:.92857143rem}.ui.segment,.ui.segments .segment{font-size:1rem}.ui.large.segment,.ui.large.segments .segment{font-size:1.14285714rem}.ui.big.segment,.ui.big.segments .segment{font-size:1.28571429rem}.ui.huge.segment,.ui.huge.segments .segment{font-size:1.42857143rem}.ui.massive.segment,.ui.massive.segments .segment{font-size:1.71428571rem}
/*!
 * # Semantic UI - Step
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.steps{display:inline-flex;flex-direction:row;align-items:stretch;margin:1em 0;background:'';box-shadow:none;line-height:1.14285714em;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.steps:first-child{margin-top:0}.ui.steps:last-child{margin-bottom:0}.ui.steps .step,.ui.steps .step:after{transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease}.ui.steps .step{display:flex;flex:1 0 auto;flex-wrap:wrap;flex-direction:row;vertical-align:middle;align-items:center;justify-content:center;margin:0;padding:1.14285714em 2em;background:#fff;color:rgba(0,0,0,.87);box-shadow:none;border-radius:0;border-right:1px solid rgba(34,36,38,.15);position:relative;border:0}.ui.steps .step:after{position:absolute;z-index:2;content:'';top:50%;right:0;border:medium;background-color:#fff;width:1.14285714em;height:1.14285714em;border-style:solid;border-color:rgba(34,36,38,.15);border-width:0 1px 1px 0;transform:translateY(-50%) translateX(50%) rotate(-45deg)}.ui.steps .step:first-child{padding-left:2em;border-radius:.28571429rem 0 0 .28571429rem}.ui.steps .step:last-child{border-radius:0 .28571429rem .28571429rem 0;border-right:none;margin-right:0}.ui.steps .step:only-child{border-radius:.28571429rem}.ui.steps .step .title{font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;font-size:1.14285714em;font-weight:700}.ui.steps .step>.title{width:100%}.ui.steps .step .description{font-weight:400;font-size:.92857143em;color:rgba(0,0,0,.87)}.ui.steps .step>.description{width:100%}.ui.steps .step .title~.description{margin-top:.25em}.ui.steps .step>.icon{line-height:1;font-size:2.5em;margin:0 1rem 0 0;display:block;flex:0 1 auto;align-self:middle}.ui.steps .step>.icon~.content{display:block;flex:0 1 auto;align-self:middle;flex-grow:1 0 auto}.ui.steps:not(.vertical) .step>.icon{width:auto}.ui.steps .link.step,.ui.steps a.step{cursor:pointer}.ui.ordered.steps{counter-reset:ordered}.ui.ordered.steps .step:before{position:static;text-align:center;content:counters(ordered,".");margin-right:1rem;font-size:2.5em;counter-increment:ordered;font-family:inherit;font-weight:700}.ui.ordered.steps .step:before,.ui.ordered.steps .step>*{display:block;align-self:middle}.ui.vertical.steps{display:inline-flex;flex-direction:column;overflow:visible}.ui.vertical.steps .step{justify-content:flex-start;border-radius:0;padding:1.14285714em 2em;border-right:none;border-bottom:1px solid rgba(34,36,38,.15)}.ui.vertical.steps .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.steps .step:last-child{border-bottom:none;border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.steps .step:only-child{border-radius:.28571429rem}.ui.vertical.steps .step:after{top:50%;right:0;border-width:0 1px 1px 0;display:none}.ui.steps .step:after,.ui.vertical.steps .active.step:after{display:block}.ui.vertical.steps .step:last-child:after{display:none}.ui.vertical.steps .active.step:last-child:after{display:block}@media only screen and (max-width:767px){.ui.steps:not(.unstackable){display:inline-flex;overflow:visible;flex-direction:column}.ui.steps:not(.unstackable) .step{width:100%!important;flex-direction:column;border-radius:0;padding:1.14285714em 2em}.ui.steps:not(.unstackable) .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui.steps:not(.unstackable) .step:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.steps:not(.unstackable) .step:after{display:none!important}.ui.steps:not(.unstackable) .step .content{text-align:center}.ui.ordered.steps:not(.unstackable) .step:before,.ui.steps:not(.unstackable) .step>.icon{margin:0 0 1rem}}.ui.steps .link.step:hover,.ui.steps .link.step:hover::after,.ui.steps a.step:hover,.ui.steps a.step:hover::after{background:#f9fafb;color:rgba(0,0,0,.8)}.ui.steps .link.step:active,.ui.steps .link.step:active::after,.ui.steps a.step:active,.ui.steps a.step:active::after{background:#f3f4f5;color:rgba(0,0,0,.9)}.ui.steps .step.active{cursor:auto;background:#f3f4f5}.ui.steps .step.active:after{background:#f3f4f5}.ui.steps .step.active .title{color:#4183c4}.ui.ordered.steps .step.active:before,.ui.steps .active.step .icon{color:rgba(0,0,0,.85)}.ui.steps .active.step:after{display:block}.ui.steps .active.step:last-child:after,.ui.steps .step:last-child:after{display:none}.ui.steps .link.active.step:hover,.ui.steps .link.active.step:hover::after,.ui.steps a.active.step:hover,.ui.steps a.active.step:hover::after{cursor:pointer;background:#dcddde;color:rgba(0,0,0,.87)}.ui.ordered.steps .step.completed:before,.ui.steps .step.completed>.icon:before{color:#21ba45}.ui.steps .disabled.step{cursor:auto;background:#fff;pointer-events:none;color:rgba(40,40,40,.3)}.ui.steps .disabled.step .description,.ui.steps .disabled.step .title{color:rgba(40,40,40,.3)}.ui.steps .disabled.step:after{background:#fff}@media only screen and (max-width:991px){.ui[class*="tablet stackable"].steps{display:inline-flex;overflow:visible;flex-direction:column}.ui[class*="tablet stackable"].steps .step{flex-direction:column;border-radius:0;padding:1.14285714em 2em}.ui[class*="tablet stackable"].steps .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui[class*="tablet stackable"].steps .step:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui[class*="tablet stackable"].steps .step:after{display:none!important}.ui[class*="tablet stackable"].steps .step .content{text-align:center}.ui[class*="tablet stackable"].ordered.steps .step:before,.ui[class*="tablet stackable"].steps .step>.icon{margin:0 0 1rem}}.ui.fluid.steps{display:flex;width:100%}.ui.attached.steps{width:calc(100% + (--1px*2))!important;margin:0 -1px;max-width:calc(100% + (--1px*2));border-radius:.28571429rem .28571429rem 0 0}.ui.attached.steps .step:first-child{border-radius:.28571429rem 0 0 0}.ui.attached.steps .step:last-child{border-radius:0 .28571429rem 0 0}.ui.bottom.attached.steps{margin:0 -1px;border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.attached.steps .step:first-child{border-radius:0 0 0 .28571429rem}.ui.bottom.attached.steps .step:last-child{border-radius:0 0 .28571429rem 0}.ui.eight.steps>.step,.ui.five.steps>.step,.ui.four.steps>.step,.ui.one.steps>.step,.ui.seven.steps>.step,.ui.six.steps>.step,.ui.three.steps>.step,.ui.two.steps>.step{flex-wrap:nowrap}.ui.eight.steps,.ui.five.steps,.ui.four.steps,.ui.one.steps,.ui.one.steps>.step,.ui.seven.steps,.ui.six.steps,.ui.three.steps,.ui.two.steps{width:100%}.ui.two.steps>.step{width:50%}.ui.three.steps>.step{width:33.333%}.ui.four.steps>.step{width:25%}.ui.five.steps>.step{width:20%}.ui.six.steps>.step{width:16.666%}.ui.seven.steps>.step{width:14.285%}.ui.eight.steps>.step{width:12.5%}.ui.mini.step,.ui.mini.steps .step{font-size:.78571429rem}.ui.tiny.step,.ui.tiny.steps .step{font-size:.85714286rem}.ui.small.step,.ui.small.steps .step{font-size:.92857143rem}.ui.step,.ui.steps .step{font-size:1rem}.ui.large.step,.ui.large.steps .step{font-size:1.14285714rem}.ui.big.step,.ui.big.steps .step{font-size:1.28571429rem}.ui.huge.step,.ui.huge.steps .step{font-size:1.42857143rem}.ui.massive.step,.ui.massive.steps .step{font-size:1.71428571rem}@font-face{font-family:'Step';src:url(data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA) format('woff')}.ui.ordered.steps .step.completed:before,.ui.steps .step.completed>.icon:before{font-family:'Step';content:'\e800'}
/*!
 * # Semantic UI - Breadcrumb
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.breadcrumb{line-height:1;display:inline-block;margin:0;vertical-align:middle;font-size:1rem}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183c4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.78571429em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.78571429rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem}
/*!
 * # Semantic UI - Form
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
@keyframes form-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.ui.form{position:relative;max-width:100%;font-size:1rem}.ui.form>p{margin:1em 0}.ui.form .field{clear:both;margin:0 0 1em}.ui.form .field:last-child,.ui.form .fields:last-child .field{margin-bottom:0}.ui.form .fields .field{clear:both;margin:0}.ui.form .field>label{display:block;margin:0 0 .28571429rem;color:rgba(0,0,0,.87);font-size:.92857143em;font-weight:700;text-transform:none}.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=file],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url],.ui.form textarea{width:100%;vertical-align:top}.ui.form ::-webkit-datetime-edit,.ui.form ::-webkit-inner-spin-button{height:1.21428571em}.ui.form input:not([type]),.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=email],.ui.form input[type=file],.ui.form input[type=number],.ui.form input[type=password],.ui.form input[type=search],.ui.form input[type=tel],.ui.form input[type=text],.ui.form input[type=time],.ui.form input[type=url]{font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;margin:0;outline:0;-webkit-appearance:none;tap-highlight-color:transparent;line-height:1.21428571em;padding:.67857143em 1em;font-size:1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;transition:color .1s ease,border-color .1s ease}.ui.form textarea{margin:0;-webkit-appearance:none;tap-highlight-color:transparent;padding:.78571429em 1em;background:#fff;border:1px solid rgba(34,36,38,.15);outline:0;color:rgba(0,0,0,.87);border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;transition:color .1s ease,border-color .1s ease;font-size:1em;line-height:1.2857;resize:vertical}.ui.form textarea:not([rows]){height:12em;min-height:8em;max-height:24em}.ui.form input[type=checkbox],.ui.form textarea{vertical-align:top}.ui.form select{display:block;height:auto;width:100%;background:#fff;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;padding:.62em 1em;color:rgba(0,0,0,.87);transition:color .1s ease,border-color .1s ease}.ui.form .field>.selection.dropdown{width:100%}.ui.form .field>.selection.dropdown>.dropdown.icon{float:right}.ui.form .field .ui.input input,.ui.form .fields .field .ui.input input,.ui.form .inline.field>.selection.dropdown,.ui.form .inline.fields .field>.selection.dropdown,.ui.form input.attached{width:auto}.ui.form .inline.field>.selection.dropdown>.dropdown.icon,.ui.form .inline.fields .field>.selection.dropdown>.dropdown.icon{float:none}.ui.form .field .ui.input,.ui.form .fields .field .ui.input,.ui.form .wide.field .ui.input{width:100%}.ui.form .inline.field:not(.wide) .ui.input,.ui.form .inline.fields .field:not(.wide) .ui.input{width:auto;vertical-align:middle}.ui.form .eight.fields .ui.input input,.ui.form .five.fields .ui.input input,.ui.form .four.fields .ui.input input,.ui.form .nine.fields .ui.input input,.ui.form .seven.fields .ui.input input,.ui.form .six.fields .ui.input input,.ui.form .ten.fields .ui.input input,.ui.form .three.fields .ui.input input,.ui.form .two.fields .ui.input input,.ui.form .wide.field .ui.input input{flex:1 0 auto;width:0}.ui.form .error.message,.ui.form .success.message,.ui.form .warning.message{display:none}.ui.form .message:first-child{margin-top:0}.ui.form .field .prompt.label{white-space:normal;background:#fff!important;border:1px solid #e0b4b4!important;color:#9f3a38!important}.ui.form .inline.field .prompt,.ui.form .inline.fields .field .prompt{vertical-align:top;margin:-.25em 0 -.5em .5em}.ui.form .inline.field .prompt:before,.ui.form .inline.fields .field .prompt:before{border-width:0 0 1px 1px;bottom:auto;right:auto;top:50%;left:0}.ui.form .field.field input:-webkit-autofill{box-shadow:0 0 0 100px ivory inset!important;border-color:#e5dfa1!important}.ui.form .field.field input:-webkit-autofill:focus{box-shadow:0 0 0 100px ivory inset!important;border-color:#d5c315!important}.ui.form .error.error input:-webkit-autofill{box-shadow:0 0 0 100px #fffaf0 inset!important;border-color:#e0b4b4!important}.ui.form ::-webkit-input-placeholder{color:rgba(191,191,191,.87)}.ui.form :-ms-input-placeholder{color:rgba(191,191,191,.87)!important}.ui.form ::-moz-placeholder{color:rgba(191,191,191,.87)}.ui.form :focus::-webkit-input-placeholder{color:rgba(115,115,115,.87)}.ui.form :focus:-ms-input-placeholder{color:rgba(115,115,115,.87)!important}.ui.form :focus::-moz-placeholder{color:rgba(115,115,115,.87)}.ui.form .error ::-webkit-input-placeholder{color:#e7bdbc}.ui.form .error :-ms-input-placeholder{color:#e7bdbc!important}.ui.form .error ::-moz-placeholder{color:#e7bdbc}.ui.form .error :focus::-webkit-input-placeholder{color:#da9796}.ui.form .error :focus:-ms-input-placeholder{color:#da9796!important}.ui.form .error :focus::-moz-placeholder{color:#da9796}.ui.form input:not([type]):focus,.ui.form input[type=date]:focus,.ui.form input[type=datetime-local]:focus,.ui.form input[type=email]:focus,.ui.form input[type=file]:focus,.ui.form input[type=number]:focus,.ui.form input[type=password]:focus,.ui.form input[type=search]:focus,.ui.form input[type=tel]:focus,.ui.form input[type=text]:focus,.ui.form input[type=time]:focus,.ui.form input[type=url]:focus{color:rgba(0,0,0,.95);border-color:#85b7d9;border-radius:.28571429rem;background:#fff;box-shadow:0 0 0 0 rgba(34,36,38,.35) inset}.ui.form textarea:focus{color:rgba(0,0,0,.95);border-color:#85b7d9;border-radius:.28571429rem;background:#fff;box-shadow:0 0 0 0 rgba(34,36,38,.35) inset;-webkit-appearance:none}.ui.form.error .error.message:not(:empty),.ui.form.success .success.message:not(:empty),.ui.form.warning .warning.message:not(:empty){display:block}.ui.form.success .compact.success.message:not(:empty){display:inline-block}.ui.form.success .icon.success.message:not(:empty){display:flex}.ui.form.warning .compact.warning.message:not(:empty){display:inline-block}.ui.form.warning .icon.warning.message:not(:empty){display:flex}.ui.form.error .compact.error.message:not(:empty){display:inline-block}.ui.form.error .icon.error.message:not(:empty){display:flex}.ui.form .field.error .checkbox .box:after,.ui.form .field.error .checkbox label:after,.ui.form .field.error .input,.ui.form .field.error label,.ui.form .fields.error .field .checkbox .box:after,.ui.form .fields.error .field .checkbox label:after,.ui.form .fields.error .field .input,.ui.form .fields.error .field label{color:#9f3a38}.ui.form .field.error .corner.label,.ui.form .fields.error .field .corner.label{border-color:#9f3a38;color:#fff}.ui.form .field.error input:not([type]),.ui.form .field.error input[type=date],.ui.form .field.error input[type=datetime-local],.ui.form .field.error input[type=email],.ui.form .field.error input[type=file],.ui.form .field.error input[type=number],.ui.form .field.error input[type=password],.ui.form .field.error input[type=search],.ui.form .field.error input[type=tel],.ui.form .field.error input[type=text],.ui.form .field.error input[type=time],.ui.form .field.error input[type=url],.ui.form .field.error select,.ui.form .field.error textarea,.ui.form .fields.error .field input:not([type]),.ui.form .fields.error .field input[type=date],.ui.form .fields.error .field input[type=datetime-local],.ui.form .fields.error .field input[type=email],.ui.form .fields.error .field input[type=file],.ui.form .fields.error .field input[type=number],.ui.form .fields.error .field input[type=password],.ui.form .fields.error .field input[type=search],.ui.form .fields.error .field input[type=tel],.ui.form .fields.error .field input[type=text],.ui.form .fields.error .field input[type=time],.ui.form .fields.error .field input[type=url],.ui.form .fields.error .field select,.ui.form .fields.error .field textarea{background:#fff6f6;border-color:#e0b4b4;color:#9f3a38;border-radius:'';box-shadow:none}.ui.form .field.error input:not([type]):focus,.ui.form .field.error input[type=date]:focus,.ui.form .field.error input[type=datetime-local]:focus,.ui.form .field.error input[type=email]:focus,.ui.form .field.error input[type=file]:focus,.ui.form .field.error input[type=number]:focus,.ui.form .field.error input[type=password]:focus,.ui.form .field.error input[type=search]:focus,.ui.form .field.error input[type=tel]:focus,.ui.form .field.error input[type=text]:focus,.ui.form .field.error input[type=time]:focus,.ui.form .field.error input[type=url]:focus,.ui.form .field.error select:focus,.ui.form .field.error textarea:focus{background:#fff6f6;border-color:#e0b4b4;color:#9f3a38;-webkit-appearance:none;box-shadow:none}.ui.form .field.error select{-webkit-appearance:menulist-button}.ui.form .field.error .ui.dropdown,.ui.form .field.error .ui.dropdown .item,.ui.form .field.error .ui.dropdown .text,.ui.form .fields.error .field .ui.dropdown,.ui.form .fields.error .field .ui.dropdown .item{background:#fff6f6;color:#9f3a38}.ui.form .field.error .ui.dropdown,.ui.form .field.error .ui.dropdown:hover,.ui.form .fields.error .field .ui.dropdown,.ui.form .fields.error .field .ui.dropdown:hover{border-color:#e0b4b4!important}.ui.form .field.error .ui.dropdown:hover .menu,.ui.form .fields.error .field .ui.dropdown:hover .menu{border-color:#e0b4b4}.ui.form .field.error .ui.multiple.selection.dropdown>.label,.ui.form .fields.error .field .ui.multiple.selection.dropdown>.label{background-color:#eacbcb;color:#9f3a38}.ui.form .field.error .ui.dropdown .menu .item:hover,.ui.form .field.error .ui.dropdown .menu .selected.item,.ui.form .fields.error .field .ui.dropdown .menu .item:hover,.ui.form .fields.error .field .ui.dropdown .menu .selected.item{background-color:#fbe7e7}.ui.form .field.error .ui.dropdown .menu .active.item,.ui.form .fields.error .field .ui.dropdown .menu .active.item{background-color:#fdcfcf!important}.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label{color:#9f3a38}.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before{background:#fff6f6;border-color:#e0b4b4}.ui.form .disabled.field,.ui.form .disabled.fields .field,.ui.form .field :disabled{pointer-events:none;opacity:.45}.ui.form .field.disabled>label,.ui.form .fields.disabled>label{opacity:.45}.ui.form .field.disabled :disabled{opacity:1}.ui.loading.form{position:relative;cursor:default;pointer-events:none}.ui.loading.form:before{position:absolute;content:'';top:0;left:0;background:rgba(255,255,255,.8);width:100%;height:100%;z-index:100}.ui.loading.form:after{position:absolute;content:'';top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;animation:form-spin .6s linear;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 rgba(0,0,0,.1) rgba(0,0,0,.1);border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}.ui.form .required.field>.checkbox:after,.ui.form .required.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.fields:not(.grouped)>.field>.checkbox:after,.ui.form .required.fields:not(.grouped)>.field>label:after{margin:-.2em 0 0 .2em;content:'*';color:#db2828}.ui.form .required.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.fields:not(.grouped)>.field>label:after{display:inline-block;vertical-align:top}.ui.form .required.field>.checkbox:after,.ui.form .required.fields:not(.grouped)>.field>.checkbox:after{position:absolute;top:0;left:100%}.ui.form .inverted.segment .ui.checkbox .box,.ui.form .inverted.segment .ui.checkbox label,.ui.form .inverted.segment label,.ui.inverted.form .inline.field>label,.ui.inverted.form .inline.field>p,.ui.inverted.form .inline.fields .field>label,.ui.inverted.form .inline.fields .field>p,.ui.inverted.form .inline.fields>label,.ui.inverted.form .ui.checkbox .box,.ui.inverted.form .ui.checkbox label,.ui.inverted.form label{color:rgba(255,255,255,.9)}.ui.inverted.form input:not([type]),.ui.inverted.form input[type=date],.ui.inverted.form input[type=datetime-local],.ui.inverted.form input[type=email],.ui.inverted.form input[type=file],.ui.inverted.form input[type=number],.ui.inverted.form input[type=password],.ui.inverted.form input[type=search],.ui.inverted.form input[type=tel],.ui.inverted.form input[type=text],.ui.inverted.form input[type=time],.ui.inverted.form input[type=url]{background:#fff;border-color:rgba(255,255,255,.1);color:rgba(0,0,0,.87);box-shadow:none}.ui.form .grouped.fields{display:block;margin:0 0 1em}.ui.form .grouped.fields:last-child{margin-bottom:0}.ui.form .grouped.fields>label{margin:0 0 .28571429rem;color:rgba(0,0,0,.87);font-size:.92857143em;font-weight:700;text-transform:none}.ui.form .grouped.fields .field,.ui.form .grouped.inline.fields .field{display:block;margin:.5em 0;padding:0}.ui.form .fields{display:flex;flex-direction:row;margin:0 -.5em 1em}.ui.form .fields>.field{flex:0 1 auto;padding-left:.5em;padding-right:.5em}.ui.form .fields>.field:first-child{border-left:none;box-shadow:none}.ui.form .two.fields>.field,.ui.form .two.fields>.fields{width:50%}.ui.form .three.fields>.field,.ui.form .three.fields>.fields{width:33.33333333%}.ui.form .four.fields>.field,.ui.form .four.fields>.fields{width:25%}.ui.form .five.fields>.field,.ui.form .five.fields>.fields{width:20%}.ui.form .six.fields>.field,.ui.form .six.fields>.fields{width:16.66666667%}.ui.form .seven.fields>.field,.ui.form .seven.fields>.fields{width:14.28571429%}.ui.form .eight.fields>.field,.ui.form .eight.fields>.fields{width:12.5%}.ui.form .nine.fields>.field,.ui.form .nine.fields>.fields{width:11.11111111%}.ui.form .ten.fields>.field,.ui.form .ten.fields>.fields{width:10%}@media only screen and (max-width:767px){.ui.form .fields{flex-wrap:wrap}.ui.form:not(.unstackable) .eight.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .eight.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .nine.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .nine.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .seven.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .seven.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .six.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .six.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .ten.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .ten.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) [class*="equal width"].fields:not(.unstackable)>.field,.ui[class*="equal width"].form:not(.unstackable) .fields>.field{width:100%!important;margin:0 0 1em}}.ui.form .fields .wide.field{width:6.25%;padding-left:.5em;padding-right:.5em}.ui.form .one.wide.field{width:6.25%!important}.ui.form .two.wide.field{width:12.5%!important}.ui.form .three.wide.field{width:18.75%!important}.ui.form .four.wide.field{width:25%!important}.ui.form .five.wide.field{width:31.25%!important}.ui.form .six.wide.field{width:37.5%!important}.ui.form .seven.wide.field{width:43.75%!important}.ui.form .eight.wide.field{width:50%!important}.ui.form .nine.wide.field{width:56.25%!important}.ui.form .ten.wide.field{width:62.5%!important}.ui.form .eleven.wide.field{width:68.75%!important}.ui.form .twelve.wide.field{width:75%!important}.ui.form .thirteen.wide.field{width:81.25%!important}.ui.form .fourteen.wide.field{width:87.5%!important}.ui.form .fifteen.wide.field{width:93.75%!important}.ui.form .sixteen.wide.field{width:100%!important}@media only screen and (max-width:767px){.ui.form:not(.unstackable) .fields:not(.unstackable)>.eight.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.eleven.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.fifteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.five.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.four.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.fourteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.nine.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.seven.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.six.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.sixteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.ten.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.thirteen.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.three.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.twelve.wide.field,.ui.form:not(.unstackable) .fields:not(.unstackable)>.two.wide.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .five.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .four.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .three.fields:not(.unstackable)>.fields,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.field,.ui.form:not(.unstackable) .two.fields:not(.unstackable)>.fields{width:100%!important}.ui.form .fields{margin-bottom:0}}.ui.form [class*="equal width"].fields>.field,.ui[class*="equal width"].form .fields>.field{width:100%;flex:1 1 auto}.ui.form .inline.fields{margin:0 0 1em;align-items:center}.ui.form .inline.fields .field{margin:0;padding:0 1em 0 0}.ui.form .inline.field>label,.ui.form .inline.field>p,.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p,.ui.form .inline.fields>label{display:inline-block;width:auto;vertical-align:baseline;font-size:.92857143em;font-weight:700;color:rgba(0,0,0,.87);text-transform:none}.ui.form .inline.field>label,.ui.form .inline.field>p,.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p{margin-top:0;margin-bottom:0}.ui.form .inline.fields>label{margin:.035714em 1em 0 0}.ui.form .inline.field>input,.ui.form .inline.field>select,.ui.form .inline.fields .field>input,.ui.form .inline.fields .field>select{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:middle;font-size:1em}.ui.form .inline.field>:first-child,.ui.form .inline.fields .field>:first-child{margin:0 .85714286em 0 0}.ui.form .inline.field>:only-child,.ui.form .inline.fields .field>:only-child{margin:0}.ui.form .inline.fields .wide.field{display:flex;align-items:center}.ui.form .inline.fields .wide.field>input,.ui.form .inline.fields .wide.field>select{width:100%}.ui.mini.form{font-size:.78571429rem}.ui.tiny.form{font-size:.85714286rem}.ui.small.form{font-size:.92857143rem}.ui.large.form{font-size:1.14285714rem}.ui.big.form{font-size:1.28571429rem}.ui.huge.form{font-size:1.42857143rem}.ui.massive.form{font-size:1.71428571rem}
/*!
 * # Semantic UI - Grid
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.grid{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;padding:0;margin:-1rem}.ui.relaxed.grid{margin-left:-1.5rem;margin-right:-1.5rem}.ui[class*="very relaxed"].grid{margin-left:-2.5rem;margin-right:-2.5rem}.ui.grid+.grid{margin-top:1rem}.ui.grid>.column:not(.row),.ui.grid>.row>.column{position:relative;display:inline-block;width:6.25%;padding-left:1rem;padding-right:1rem;vertical-align:top}.ui.grid>*{padding-left:1rem;padding-right:1rem}.ui.grid>.row{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:inherit;align-items:stretch;width:100%!important;padding:0;padding-top:1rem;padding-bottom:1rem}.ui.grid>.column:not(.row){padding-top:1rem;padding-bottom:1rem}.ui.grid>.row>.column{margin-top:0;margin-bottom:0}.ui.grid>.row>.column>img,.ui.grid>.row>img{max-width:100%}.ui.grid>.ui.grid:first-child{margin-top:0}.ui.grid>.ui.grid:last-child{margin-bottom:0}.ui.aligned.grid .column>.segment:not(.compact):not(.attached),.ui.grid .aligned.row>.column>.segment:not(.compact):not(.attached){width:100%}.ui.grid .row+.ui.divider{flex-grow:1;margin:1rem}.ui.grid .column+.ui.vertical.divider{height:calc(50% - (2rem/2))}.ui.grid>.column:last-child>.horizontal.segment,.ui.grid>.row>.column:last-child>.horizontal.segment{box-shadow:none}@media only screen and (max-width:767px){.ui.page.grid{width:auto;padding-left:0;padding-right:0;margin-left:0;margin-right:0}}@media only screen and (min-width:768px) and (max-width:991px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:2em;padding-right:2em}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:3%;padding-right:3%}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:15%;padding-right:15%}}@media only screen and (min-width:1920px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:23%;padding-right:23%}}.ui.grid>.column:only-child,.ui.grid>.row>.column:only-child{width:100%}.ui[class*="one column"].grid>.column:not(.row),.ui[class*="one column"].grid>.row>.column{width:100%}.ui[class*="two column"].grid>.column:not(.row),.ui[class*="two column"].grid>.row>.column{width:50%}.ui[class*="three column"].grid>.column:not(.row),.ui[class*="three column"].grid>.row>.column{width:33.33333333%}.ui[class*="four column"].grid>.column:not(.row),.ui[class*="four column"].grid>.row>.column{width:25%}.ui[class*="five column"].grid>.column:not(.row),.ui[class*="five column"].grid>.row>.column{width:20%}.ui[class*="six column"].grid>.column:not(.row),.ui[class*="six column"].grid>.row>.column{width:16.66666667%}.ui[class*="seven column"].grid>.column:not(.row),.ui[class*="seven column"].grid>.row>.column{width:14.28571429%}.ui[class*="eight column"].grid>.column:not(.row),.ui[class*="eight column"].grid>.row>.column{width:12.5%}.ui[class*="nine column"].grid>.column:not(.row),.ui[class*="nine column"].grid>.row>.column{width:11.11111111%}.ui[class*="ten column"].grid>.column:not(.row),.ui[class*="ten column"].grid>.row>.column{width:10%}.ui[class*="eleven column"].grid>.column:not(.row),.ui[class*="eleven column"].grid>.row>.column{width:9.09090909%}.ui[class*="twelve column"].grid>.column:not(.row),.ui[class*="twelve column"].grid>.row>.column{width:8.33333333%}.ui[class*="thirteen column"].grid>.column:not(.row),.ui[class*="thirteen column"].grid>.row>.column{width:7.69230769%}.ui[class*="fourteen column"].grid>.column:not(.row),.ui[class*="fourteen column"].grid>.row>.column{width:7.14285714%}.ui[class*="fifteen column"].grid>.column:not(.row),.ui[class*="fifteen column"].grid>.row>.column{width:6.66666667%}.ui[class*="sixteen column"].grid>.column:not(.row),.ui[class*="sixteen column"].grid>.row>.column{width:6.25%}.ui.grid>[class*="one column"].row>.column{width:100%!important}.ui.grid>[class*="two column"].row>.column{width:50%!important}.ui.grid>[class*="three column"].row>.column{width:33.33333333%!important}.ui.grid>[class*="four column"].row>.column{width:25%!important}.ui.grid>[class*="five column"].row>.column{width:20%!important}.ui.grid>[class*="six column"].row>.column{width:16.66666667%!important}.ui.grid>[class*="seven column"].row>.column{width:14.28571429%!important}.ui.grid>[class*="eight column"].row>.column{width:12.5%!important}.ui.grid>[class*="nine column"].row>.column{width:11.11111111%!important}.ui.grid>[class*="ten column"].row>.column{width:10%!important}.ui.grid>[class*="eleven column"].row>.column{width:9.09090909%!important}.ui.grid>[class*="twelve column"].row>.column{width:8.33333333%!important}.ui.grid>[class*="thirteen column"].row>.column{width:7.69230769%!important}.ui.grid>[class*="fourteen column"].row>.column{width:7.14285714%!important}.ui.grid>[class*="fifteen column"].row>.column{width:6.66666667%!important}.ui.celled.page.grid{box-shadow:none}.ui.column.grid>[class*="one wide"].column,.ui.grid>.column.row>[class*="one wide"].column,.ui.grid>.row>[class*="one wide"].column,.ui.grid>[class*="one wide"].column,.ui.grid>[class*="sixteen column"].row>.column{width:6.25%!important}.ui.column.grid>[class*="two wide"].column,.ui.grid>.column.row>[class*="two wide"].column,.ui.grid>.row>[class*="two wide"].column,.ui.grid>[class*="two wide"].column{width:12.5%!important}.ui.column.grid>[class*="three wide"].column,.ui.grid>.column.row>[class*="three wide"].column,.ui.grid>.row>[class*="three wide"].column,.ui.grid>[class*="three wide"].column{width:18.75%!important}.ui.column.grid>[class*="four wide"].column,.ui.grid>.column.row>[class*="four wide"].column,.ui.grid>.row>[class*="four wide"].column,.ui.grid>[class*="four wide"].column{width:25%!important}.ui.column.grid>[class*="five wide"].column,.ui.grid>.column.row>[class*="five wide"].column,.ui.grid>.row>[class*="five wide"].column,.ui.grid>[class*="five wide"].column{width:31.25%!important}.ui.column.grid>[class*="six wide"].column,.ui.grid>.column.row>[class*="six wide"].column,.ui.grid>.row>[class*="six wide"].column,.ui.grid>[class*="six wide"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide"].column,.ui.grid>.column.row>[class*="seven wide"].column,.ui.grid>.row>[class*="seven wide"].column,.ui.grid>[class*="seven wide"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide"].column,.ui.grid>.column.row>[class*="eight wide"].column,.ui.grid>.row>[class*="eight wide"].column,.ui.grid>[class*="eight wide"].column{width:50%!important}.ui.column.grid>[class*="nine wide"].column,.ui.grid>.column.row>[class*="nine wide"].column,.ui.grid>.row>[class*="nine wide"].column,.ui.grid>[class*="nine wide"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide"].column,.ui.grid>.column.row>[class*="ten wide"].column,.ui.grid>.row>[class*="ten wide"].column,.ui.grid>[class*="ten wide"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide"].column,.ui.grid>.column.row>[class*="eleven wide"].column,.ui.grid>.row>[class*="eleven wide"].column,.ui.grid>[class*="eleven wide"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide"].column,.ui.grid>.column.row>[class*="twelve wide"].column,.ui.grid>.row>[class*="twelve wide"].column,.ui.grid>[class*="twelve wide"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide"].column,.ui.grid>.column.row>[class*="thirteen wide"].column,.ui.grid>.row>[class*="thirteen wide"].column,.ui.grid>[class*="thirteen wide"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide"].column,.ui.grid>.column.row>[class*="fourteen wide"].column,.ui.grid>.row>[class*="fourteen wide"].column,.ui.grid>[class*="fourteen wide"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide"].column,.ui.grid>.column.row>[class*="fifteen wide"].column,.ui.grid>.row>[class*="fifteen wide"].column,.ui.grid>[class*="fifteen wide"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide"].column,.ui.grid>.column.row>[class*="sixteen wide"].column,.ui.grid>.row>[class*="sixteen wide"].column,.ui.grid>[class*="sixteen wide"].column{width:100%!important}@media only screen and (min-width:320px) and (max-width:767px){.ui.column.grid>[class*="one wide mobile"].column,.ui.grid>.column.row>[class*="one wide mobile"].column,.ui.grid>.row>[class*="one wide mobile"].column,.ui.grid>[class*="one wide mobile"].column{width:6.25%!important}.ui.column.grid>[class*="two wide mobile"].column,.ui.grid>.column.row>[class*="two wide mobile"].column,.ui.grid>.row>[class*="two wide mobile"].column,.ui.grid>[class*="two wide mobile"].column{width:12.5%!important}.ui.column.grid>[class*="three wide mobile"].column,.ui.grid>.column.row>[class*="three wide mobile"].column,.ui.grid>.row>[class*="three wide mobile"].column,.ui.grid>[class*="three wide mobile"].column{width:18.75%!important}.ui.column.grid>[class*="four wide mobile"].column,.ui.grid>.column.row>[class*="four wide mobile"].column,.ui.grid>.row>[class*="four wide mobile"].column,.ui.grid>[class*="four wide mobile"].column{width:25%!important}.ui.column.grid>[class*="five wide mobile"].column,.ui.grid>.column.row>[class*="five wide mobile"].column,.ui.grid>.row>[class*="five wide mobile"].column,.ui.grid>[class*="five wide mobile"].column{width:31.25%!important}.ui.column.grid>[class*="six wide mobile"].column,.ui.grid>.column.row>[class*="six wide mobile"].column,.ui.grid>.row>[class*="six wide mobile"].column,.ui.grid>[class*="six wide mobile"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide mobile"].column,.ui.grid>.column.row>[class*="seven wide mobile"].column,.ui.grid>.row>[class*="seven wide mobile"].column,.ui.grid>[class*="seven wide mobile"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide mobile"].column,.ui.grid>.column.row>[class*="eight wide mobile"].column,.ui.grid>.row>[class*="eight wide mobile"].column,.ui.grid>[class*="eight wide mobile"].column{width:50%!important}.ui.column.grid>[class*="nine wide mobile"].column,.ui.grid>.column.row>[class*="nine wide mobile"].column,.ui.grid>.row>[class*="nine wide mobile"].column,.ui.grid>[class*="nine wide mobile"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide mobile"].column,.ui.grid>.column.row>[class*="ten wide mobile"].column,.ui.grid>.row>[class*="ten wide mobile"].column,.ui.grid>[class*="ten wide mobile"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide mobile"].column,.ui.grid>.column.row>[class*="eleven wide mobile"].column,.ui.grid>.row>[class*="eleven wide mobile"].column,.ui.grid>[class*="eleven wide mobile"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide mobile"].column,.ui.grid>.column.row>[class*="twelve wide mobile"].column,.ui.grid>.row>[class*="twelve wide mobile"].column,.ui.grid>[class*="twelve wide mobile"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide mobile"].column,.ui.grid>.column.row>[class*="thirteen wide mobile"].column,.ui.grid>.row>[class*="thirteen wide mobile"].column,.ui.grid>[class*="thirteen wide mobile"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide mobile"].column,.ui.grid>.column.row>[class*="fourteen wide mobile"].column,.ui.grid>.row>[class*="fourteen wide mobile"].column,.ui.grid>[class*="fourteen wide mobile"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide mobile"].column,.ui.grid>.column.row>[class*="fifteen wide mobile"].column,.ui.grid>.row>[class*="fifteen wide mobile"].column,.ui.grid>[class*="fifteen wide mobile"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide mobile"].column,.ui.grid>.column.row>[class*="sixteen wide mobile"].column,.ui.grid>.row>[class*="sixteen wide mobile"].column,.ui.grid>[class*="sixteen wide mobile"].column{width:100%!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.column.grid>[class*="one wide tablet"].column,.ui.grid>.column.row>[class*="one wide tablet"].column,.ui.grid>.row>[class*="one wide tablet"].column,.ui.grid>[class*="one wide tablet"].column{width:6.25%!important}.ui.column.grid>[class*="two wide tablet"].column,.ui.grid>.column.row>[class*="two wide tablet"].column,.ui.grid>.row>[class*="two wide tablet"].column,.ui.grid>[class*="two wide tablet"].column{width:12.5%!important}.ui.column.grid>[class*="three wide tablet"].column,.ui.grid>.column.row>[class*="three wide tablet"].column,.ui.grid>.row>[class*="three wide tablet"].column,.ui.grid>[class*="three wide tablet"].column{width:18.75%!important}.ui.column.grid>[class*="four wide tablet"].column,.ui.grid>.column.row>[class*="four wide tablet"].column,.ui.grid>.row>[class*="four wide tablet"].column,.ui.grid>[class*="four wide tablet"].column{width:25%!important}.ui.column.grid>[class*="five wide tablet"].column,.ui.grid>.column.row>[class*="five wide tablet"].column,.ui.grid>.row>[class*="five wide tablet"].column,.ui.grid>[class*="five wide tablet"].column{width:31.25%!important}.ui.column.grid>[class*="six wide tablet"].column,.ui.grid>.column.row>[class*="six wide tablet"].column,.ui.grid>.row>[class*="six wide tablet"].column,.ui.grid>[class*="six wide tablet"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide tablet"].column,.ui.grid>.column.row>[class*="seven wide tablet"].column,.ui.grid>.row>[class*="seven wide tablet"].column,.ui.grid>[class*="seven wide tablet"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide tablet"].column,.ui.grid>.column.row>[class*="eight wide tablet"].column,.ui.grid>.row>[class*="eight wide tablet"].column,.ui.grid>[class*="eight wide tablet"].column{width:50%!important}.ui.column.grid>[class*="nine wide tablet"].column,.ui.grid>.column.row>[class*="nine wide tablet"].column,.ui.grid>.row>[class*="nine wide tablet"].column,.ui.grid>[class*="nine wide tablet"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide tablet"].column,.ui.grid>.column.row>[class*="ten wide tablet"].column,.ui.grid>.row>[class*="ten wide tablet"].column,.ui.grid>[class*="ten wide tablet"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide tablet"].column,.ui.grid>.column.row>[class*="eleven wide tablet"].column,.ui.grid>.row>[class*="eleven wide tablet"].column,.ui.grid>[class*="eleven wide tablet"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide tablet"].column,.ui.grid>.column.row>[class*="twelve wide tablet"].column,.ui.grid>.row>[class*="twelve wide tablet"].column,.ui.grid>[class*="twelve wide tablet"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide tablet"].column,.ui.grid>.column.row>[class*="thirteen wide tablet"].column,.ui.grid>.row>[class*="thirteen wide tablet"].column,.ui.grid>[class*="thirteen wide tablet"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide tablet"].column,.ui.grid>.column.row>[class*="fourteen wide tablet"].column,.ui.grid>.row>[class*="fourteen wide tablet"].column,.ui.grid>[class*="fourteen wide tablet"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide tablet"].column,.ui.grid>.column.row>[class*="fifteen wide tablet"].column,.ui.grid>.row>[class*="fifteen wide tablet"].column,.ui.grid>[class*="fifteen wide tablet"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide tablet"].column,.ui.grid>.column.row>[class*="sixteen wide tablet"].column,.ui.grid>.row>[class*="sixteen wide tablet"].column,.ui.grid>[class*="sixteen wide tablet"].column{width:100%!important}}@media only screen and (min-width:992px){.ui.column.grid>[class*="one wide computer"].column,.ui.grid>.column.row>[class*="one wide computer"].column,.ui.grid>.row>[class*="one wide computer"].column,.ui.grid>[class*="one wide computer"].column{width:6.25%!important}.ui.column.grid>[class*="two wide computer"].column,.ui.grid>.column.row>[class*="two wide computer"].column,.ui.grid>.row>[class*="two wide computer"].column,.ui.grid>[class*="two wide computer"].column{width:12.5%!important}.ui.column.grid>[class*="three wide computer"].column,.ui.grid>.column.row>[class*="three wide computer"].column,.ui.grid>.row>[class*="three wide computer"].column,.ui.grid>[class*="three wide computer"].column{width:18.75%!important}.ui.column.grid>[class*="four wide computer"].column,.ui.grid>.column.row>[class*="four wide computer"].column,.ui.grid>.row>[class*="four wide computer"].column,.ui.grid>[class*="four wide computer"].column{width:25%!important}.ui.column.grid>[class*="five wide computer"].column,.ui.grid>.column.row>[class*="five wide computer"].column,.ui.grid>.row>[class*="five wide computer"].column,.ui.grid>[class*="five wide computer"].column{width:31.25%!important}.ui.column.grid>[class*="six wide computer"].column,.ui.grid>.column.row>[class*="six wide computer"].column,.ui.grid>.row>[class*="six wide computer"].column,.ui.grid>[class*="six wide computer"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide computer"].column,.ui.grid>.column.row>[class*="seven wide computer"].column,.ui.grid>.row>[class*="seven wide computer"].column,.ui.grid>[class*="seven wide computer"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide computer"].column,.ui.grid>.column.row>[class*="eight wide computer"].column,.ui.grid>.row>[class*="eight wide computer"].column,.ui.grid>[class*="eight wide computer"].column{width:50%!important}.ui.column.grid>[class*="nine wide computer"].column,.ui.grid>.column.row>[class*="nine wide computer"].column,.ui.grid>.row>[class*="nine wide computer"].column,.ui.grid>[class*="nine wide computer"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide computer"].column,.ui.grid>.column.row>[class*="ten wide computer"].column,.ui.grid>.row>[class*="ten wide computer"].column,.ui.grid>[class*="ten wide computer"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide computer"].column,.ui.grid>.column.row>[class*="eleven wide computer"].column,.ui.grid>.row>[class*="eleven wide computer"].column,.ui.grid>[class*="eleven wide computer"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide computer"].column,.ui.grid>.column.row>[class*="twelve wide computer"].column,.ui.grid>.row>[class*="twelve wide computer"].column,.ui.grid>[class*="twelve wide computer"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide computer"].column,.ui.grid>.column.row>[class*="thirteen wide computer"].column,.ui.grid>.row>[class*="thirteen wide computer"].column,.ui.grid>[class*="thirteen wide computer"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide computer"].column,.ui.grid>.column.row>[class*="fourteen wide computer"].column,.ui.grid>.row>[class*="fourteen wide computer"].column,.ui.grid>[class*="fourteen wide computer"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide computer"].column,.ui.grid>.column.row>[class*="fifteen wide computer"].column,.ui.grid>.row>[class*="fifteen wide computer"].column,.ui.grid>[class*="fifteen wide computer"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide computer"].column,.ui.grid>.column.row>[class*="sixteen wide computer"].column,.ui.grid>.row>[class*="sixteen wide computer"].column,.ui.grid>[class*="sixteen wide computer"].column{width:100%!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.column.grid>[class*="one wide large screen"].column,.ui.grid>.column.row>[class*="one wide large screen"].column,.ui.grid>.row>[class*="one wide large screen"].column,.ui.grid>[class*="one wide large screen"].column{width:6.25%!important}.ui.column.grid>[class*="two wide large screen"].column,.ui.grid>.column.row>[class*="two wide large screen"].column,.ui.grid>.row>[class*="two wide large screen"].column,.ui.grid>[class*="two wide large screen"].column{width:12.5%!important}.ui.column.grid>[class*="three wide large screen"].column,.ui.grid>.column.row>[class*="three wide large screen"].column,.ui.grid>.row>[class*="three wide large screen"].column,.ui.grid>[class*="three wide large screen"].column{width:18.75%!important}.ui.column.grid>[class*="four wide large screen"].column,.ui.grid>.column.row>[class*="four wide large screen"].column,.ui.grid>.row>[class*="four wide large screen"].column,.ui.grid>[class*="four wide large screen"].column{width:25%!important}.ui.column.grid>[class*="five wide large screen"].column,.ui.grid>.column.row>[class*="five wide large screen"].column,.ui.grid>.row>[class*="five wide large screen"].column,.ui.grid>[class*="five wide large screen"].column{width:31.25%!important}.ui.column.grid>[class*="six wide large screen"].column,.ui.grid>.column.row>[class*="six wide large screen"].column,.ui.grid>.row>[class*="six wide large screen"].column,.ui.grid>[class*="six wide large screen"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide large screen"].column,.ui.grid>.column.row>[class*="seven wide large screen"].column,.ui.grid>.row>[class*="seven wide large screen"].column,.ui.grid>[class*="seven wide large screen"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide large screen"].column,.ui.grid>.column.row>[class*="eight wide large screen"].column,.ui.grid>.row>[class*="eight wide large screen"].column,.ui.grid>[class*="eight wide large screen"].column{width:50%!important}.ui.column.grid>[class*="nine wide large screen"].column,.ui.grid>.column.row>[class*="nine wide large screen"].column,.ui.grid>.row>[class*="nine wide large screen"].column,.ui.grid>[class*="nine wide large screen"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide large screen"].column,.ui.grid>.column.row>[class*="ten wide large screen"].column,.ui.grid>.row>[class*="ten wide large screen"].column,.ui.grid>[class*="ten wide large screen"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide large screen"].column,.ui.grid>.column.row>[class*="eleven wide large screen"].column,.ui.grid>.row>[class*="eleven wide large screen"].column,.ui.grid>[class*="eleven wide large screen"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide large screen"].column,.ui.grid>.column.row>[class*="twelve wide large screen"].column,.ui.grid>.row>[class*="twelve wide large screen"].column,.ui.grid>[class*="twelve wide large screen"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide large screen"].column,.ui.grid>.column.row>[class*="thirteen wide large screen"].column,.ui.grid>.row>[class*="thirteen wide large screen"].column,.ui.grid>[class*="thirteen wide large screen"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide large screen"].column,.ui.grid>.column.row>[class*="fourteen wide large screen"].column,.ui.grid>.row>[class*="fourteen wide large screen"].column,.ui.grid>[class*="fourteen wide large screen"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide large screen"].column,.ui.grid>.column.row>[class*="fifteen wide large screen"].column,.ui.grid>.row>[class*="fifteen wide large screen"].column,.ui.grid>[class*="fifteen wide large screen"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide large screen"].column,.ui.grid>.column.row>[class*="sixteen wide large screen"].column,.ui.grid>.row>[class*="sixteen wide large screen"].column,.ui.grid>[class*="sixteen wide large screen"].column{width:100%!important}}@media only screen and (min-width:1920px){.ui.column.grid>[class*="one wide widescreen"].column,.ui.grid>.column.row>[class*="one wide widescreen"].column,.ui.grid>.row>[class*="one wide widescreen"].column,.ui.grid>[class*="one wide widescreen"].column{width:6.25%!important}.ui.column.grid>[class*="two wide widescreen"].column,.ui.grid>.column.row>[class*="two wide widescreen"].column,.ui.grid>.row>[class*="two wide widescreen"].column,.ui.grid>[class*="two wide widescreen"].column{width:12.5%!important}.ui.column.grid>[class*="three wide widescreen"].column,.ui.grid>.column.row>[class*="three wide widescreen"].column,.ui.grid>.row>[class*="three wide widescreen"].column,.ui.grid>[class*="three wide widescreen"].column{width:18.75%!important}.ui.column.grid>[class*="four wide widescreen"].column,.ui.grid>.column.row>[class*="four wide widescreen"].column,.ui.grid>.row>[class*="four wide widescreen"].column,.ui.grid>[class*="four wide widescreen"].column{width:25%!important}.ui.column.grid>[class*="five wide widescreen"].column,.ui.grid>.column.row>[class*="five wide widescreen"].column,.ui.grid>.row>[class*="five wide widescreen"].column,.ui.grid>[class*="five wide widescreen"].column{width:31.25%!important}.ui.column.grid>[class*="six wide widescreen"].column,.ui.grid>.column.row>[class*="six wide widescreen"].column,.ui.grid>.row>[class*="six wide widescreen"].column,.ui.grid>[class*="six wide widescreen"].column{width:37.5%!important}.ui.column.grid>[class*="seven wide widescreen"].column,.ui.grid>.column.row>[class*="seven wide widescreen"].column,.ui.grid>.row>[class*="seven wide widescreen"].column,.ui.grid>[class*="seven wide widescreen"].column{width:43.75%!important}.ui.column.grid>[class*="eight wide widescreen"].column,.ui.grid>.column.row>[class*="eight wide widescreen"].column,.ui.grid>.row>[class*="eight wide widescreen"].column,.ui.grid>[class*="eight wide widescreen"].column{width:50%!important}.ui.column.grid>[class*="nine wide widescreen"].column,.ui.grid>.column.row>[class*="nine wide widescreen"].column,.ui.grid>.row>[class*="nine wide widescreen"].column,.ui.grid>[class*="nine wide widescreen"].column{width:56.25%!important}.ui.column.grid>[class*="ten wide widescreen"].column,.ui.grid>.column.row>[class*="ten wide widescreen"].column,.ui.grid>.row>[class*="ten wide widescreen"].column,.ui.grid>[class*="ten wide widescreen"].column{width:62.5%!important}.ui.column.grid>[class*="eleven wide widescreen"].column,.ui.grid>.column.row>[class*="eleven wide widescreen"].column,.ui.grid>.row>[class*="eleven wide widescreen"].column,.ui.grid>[class*="eleven wide widescreen"].column{width:68.75%!important}.ui.column.grid>[class*="twelve wide widescreen"].column,.ui.grid>.column.row>[class*="twelve wide widescreen"].column,.ui.grid>.row>[class*="twelve wide widescreen"].column,.ui.grid>[class*="twelve wide widescreen"].column{width:75%!important}.ui.column.grid>[class*="thirteen wide widescreen"].column,.ui.grid>.column.row>[class*="thirteen wide widescreen"].column,.ui.grid>.row>[class*="thirteen wide widescreen"].column,.ui.grid>[class*="thirteen wide widescreen"].column{width:81.25%!important}.ui.column.grid>[class*="fourteen wide widescreen"].column,.ui.grid>.column.row>[class*="fourteen wide widescreen"].column,.ui.grid>.row>[class*="fourteen wide widescreen"].column,.ui.grid>[class*="fourteen wide widescreen"].column{width:87.5%!important}.ui.column.grid>[class*="fifteen wide widescreen"].column,.ui.grid>.column.row>[class*="fifteen wide widescreen"].column,.ui.grid>.row>[class*="fifteen wide widescreen"].column,.ui.grid>[class*="fifteen wide widescreen"].column{width:93.75%!important}.ui.column.grid>[class*="sixteen wide widescreen"].column,.ui.grid>.column.row>[class*="sixteen wide widescreen"].column,.ui.grid>.row>[class*="sixteen wide widescreen"].column,.ui.grid>[class*="sixteen wide widescreen"].column{width:100%!important}}.ui.centered.grid,.ui.centered.grid>.row,.ui.grid>.centered.row{text-align:center;justify-content:center}.ui.centered.grid>.column:not(.aligned):not(.justified):not(.row),.ui.centered.grid>.row>.column:not(.aligned):not(.justified),.ui.grid .centered.row>.column:not(.aligned):not(.justified){text-align:left}.ui.grid>.centered.column,.ui.grid>.row>.centered.column{display:block;margin-left:auto;margin-right:auto}.ui.grid>.relaxed.row>.column,.ui.relaxed.grid>.column:not(.row),.ui.relaxed.grid>.row>.column{padding-left:1.5rem;padding-right:1.5rem}.ui.grid>[class*="very relaxed"].row>.column,.ui[class*="very relaxed"].grid>.column:not(.row),.ui[class*="very relaxed"].grid>.row>.column{padding-left:2.5rem;padding-right:2.5rem}.ui.grid .relaxed.row+.ui.divider,.ui.relaxed.grid .row+.ui.divider{margin-left:1.5rem;margin-right:1.5rem}.ui.grid [class*="very relaxed"].row+.ui.divider,.ui[class*="very relaxed"].grid .row+.ui.divider{margin-left:2.5rem;margin-right:2.5rem}.ui.padded.grid:not(.vertically):not(.horizontally){margin:0!important}[class*="horizontally padded"].ui.grid{margin-left:0!important;margin-right:0!important}[class*="vertically padded"].ui.grid{margin-top:0!important;margin-bottom:0!important}.ui.grid [class*="left floated"].column{margin-right:auto}.ui.grid [class*="right floated"].column{margin-left:auto}.ui.divided.grid:not([class*="vertically divided"])>.column:not(.row),.ui.divided.grid:not([class*="vertically divided"])>.row>.column{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="vertically divided"].grid>.column:not(.row),.ui[class*="vertically divided"].grid>.row>.column{margin-top:1rem;margin-bottom:1rem;padding-top:0;padding-bottom:0}.ui[class*="vertically divided"].grid>.row{margin-top:0;margin-bottom:0;position:relative}.ui.divided.grid:not([class*="vertically divided"])>.column:first-child,.ui.divided.grid:not([class*="vertically divided"])>.row>.column:first-child,.ui.inverted.divided.grid:not([class*="vertically divided"])>.column:not(.row):first-child,.ui.inverted.divided.grid:not([class*="vertically divided"])>.row>.column:first-child{box-shadow:none}.ui[class*="vertically divided"].grid>.row:first-child>.column{margin-top:0}.ui.grid>.divided.row>.column{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui.grid>.divided.row>.column:first-child,.ui[class*="vertically divided"].grid>.row:first-child:before{box-shadow:none}.ui[class*="vertically divided"].grid>.row:before{position:absolute;content:"";top:0;left:0;width:calc(100% - 2rem);height:1px;margin:0 1rem;box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.padded.divided.grid:not(.vertically):not(.horizontally),[class*="horizontally padded"].ui.divided.grid{width:100%}.ui.inverted.divided.grid:not([class*="vertically divided"])>.column:not(.row),.ui.inverted.divided.grid:not([class*="vertically divided"])>.row>.column{box-shadow:-1px 0 0 0 rgba(255,255,255,.1)}.ui.inverted[class*="vertically divided"].grid>.row:before{box-shadow:0 -1px 0 0 rgba(255,255,255,.1)}.ui.relaxed[class*="vertically divided"].grid>.row:before{margin-left:1.5rem;margin-right:1.5rem;width:calc(100% - 3rem)}.ui[class*="very relaxed"][class*="vertically divided"].grid>.row:before{margin-left:2.5rem;margin-right:2.5rem;width:calc(100% - 5rem)}.ui.celled.grid{width:100%;margin:1em 0;box-shadow:0 0 0 1px #d4d4d5}.ui.celled.grid>.row{width:100%!important;margin:0;padding:0;box-shadow:0 -1px 0 0 #d4d4d5}.ui.celled.grid>.column:not(.row),.ui.celled.grid>.row>.column{box-shadow:-1px 0 0 0 #d4d4d5}.ui.celled.grid>.column:first-child,.ui.celled.grid>.row>.column:first-child{box-shadow:none}.ui.celled.grid>.column:not(.row),.ui.celled.grid>.row>.column{padding:1em}.ui.relaxed.celled.grid>.column:not(.row),.ui.relaxed.celled.grid>.row>.column{padding:1.5em}.ui[class*="very relaxed"].celled.grid>.column:not(.row),.ui[class*="very relaxed"].celled.grid>.row>.column{padding:2em}.ui[class*="internally celled"].grid{box-shadow:none;margin:0}.ui[class*="internally celled"].grid>.row:first-child,.ui[class*="internally celled"].grid>.row>.column:first-child{box-shadow:none}.ui.grid>.row>[class*="top aligned"].column,.ui.grid>[class*="top aligned"].column:not(.row),.ui.grid>[class*="top aligned"].row>.column,.ui[class*="top aligned"].grid>.column:not(.row),.ui[class*="top aligned"].grid>.row>.column{flex-direction:column;vertical-align:top;align-self:flex-start!important}.ui.grid>.row>[class*="middle aligned"].column,.ui.grid>[class*="middle aligned"].column:not(.row),.ui.grid>[class*="middle aligned"].row>.column,.ui[class*="middle aligned"].grid>.column:not(.row),.ui[class*="middle aligned"].grid>.row>.column{flex-direction:column;vertical-align:middle;align-self:center!important}.ui.grid>.row>[class*="bottom aligned"].column,.ui.grid>[class*="bottom aligned"].column:not(.row),.ui.grid>[class*="bottom aligned"].row>.column,.ui[class*="bottom aligned"].grid>.column:not(.row),.ui[class*="bottom aligned"].grid>.row>.column{flex-direction:column;vertical-align:bottom;align-self:flex-end!important}.ui.grid>.row>.stretched.column,.ui.grid>.stretched.column:not(.row),.ui.grid>.stretched.row>.column,.ui.stretched.grid>.column,.ui.stretched.grid>.row>.column{display:inline-flex!important;align-self:stretch;flex-direction:column}.ui.grid>.row>.stretched.column>*,.ui.grid>.stretched.column:not(.row)>*,.ui.grid>.stretched.row>.column>*,.ui.stretched.grid>.column>*,.ui.stretched.grid>.row>.column>*{flex-grow:1}.ui.grid>.row>[class*="left aligned"].column.column,.ui.grid>[class*="left aligned"].column.column,.ui.grid>[class*="left aligned"].row>.column,.ui[class*="left aligned"].grid>.column,.ui[class*="left aligned"].grid>.row>.column{text-align:left;align-self:inherit}.ui.grid>.row>[class*="center aligned"].column.column,.ui.grid>[class*="center aligned"].column.column,.ui.grid>[class*="center aligned"].row>.column,.ui[class*="center aligned"].grid>.column,.ui[class*="center aligned"].grid>.row>.column{text-align:center;align-self:inherit}.ui[class*="center aligned"].grid{justify-content:center}.ui.grid>.row>[class*="right aligned"].column.column,.ui.grid>[class*="right aligned"].column.column,.ui.grid>[class*="right aligned"].row>.column,.ui[class*="right aligned"].grid>.column,.ui[class*="right aligned"].grid>.row>.column{text-align:right;align-self:inherit}.ui.grid>.justified.column.column,.ui.grid>.justified.row>.column,.ui.grid>.row>.justified.column.column,.ui.justified.grid>.column,.ui.justified.grid>.row>.column{text-align:justify;hyphens:auto}.ui.grid>.row>.black.column,.ui.grid>.row>.blue.column,.ui.grid>.row>.brown.column,.ui.grid>.row>.green.column,.ui.grid>.row>.grey.column,.ui.grid>.row>.olive.column,.ui.grid>.row>.orange.column,.ui.grid>.row>.pink.column,.ui.grid>.row>.purple.column,.ui.grid>.row>.red.column,.ui.grid>.row>.teal.column,.ui.grid>.row>.violet.column,.ui.grid>.row>.yellow.column{margin-top:-1rem;margin-bottom:-1rem;padding-top:1rem;padding-bottom:1rem}.ui.grid>.red.column,.ui.grid>.red.row,.ui.grid>.row>.red.column{background-color:#db2828!important;color:#fff}.ui.grid>.orange.column,.ui.grid>.orange.row,.ui.grid>.row>.orange.column{background-color:#f2711c!important;color:#fff}.ui.grid>.row>.yellow.column,.ui.grid>.yellow.column,.ui.grid>.yellow.row{background-color:#fbbd08!important;color:#fff}.ui.grid>.olive.column,.ui.grid>.olive.row,.ui.grid>.row>.olive.column{background-color:#b5cc18!important;color:#fff}.ui.grid>.green.column,.ui.grid>.green.row,.ui.grid>.row>.green.column{background-color:#21ba45!important;color:#fff}.ui.grid>.row>.teal.column,.ui.grid>.teal.column,.ui.grid>.teal.row{background-color:#00b5ad!important;color:#fff}.ui.grid>.blue.column,.ui.grid>.blue.row,.ui.grid>.row>.blue.column{background-color:#2185d0!important;color:#fff}.ui.grid>.row>.violet.column,.ui.grid>.violet.column,.ui.grid>.violet.row{background-color:#6435c9!important;color:#fff}.ui.grid>.purple.column,.ui.grid>.purple.row,.ui.grid>.row>.purple.column{background-color:#a333c8!important;color:#fff}.ui.grid>.pink.column,.ui.grid>.pink.row,.ui.grid>.row>.pink.column{background-color:#e03997!important;color:#fff}.ui.grid>.brown.column,.ui.grid>.brown.row,.ui.grid>.row>.brown.column{background-color:#a5673f!important;color:#fff}.ui.grid>.grey.column,.ui.grid>.grey.row,.ui.grid>.row>.grey.column{background-color:#767676!important;color:#fff}.ui.grid>.black.column,.ui.grid>.black.row,.ui.grid>.row>.black.column{background-color:#1b1c1d!important;color:#fff}.ui.grid>[class*="equal width"].row>.column,.ui[class*="equal width"].grid>.column:not(.row),.ui[class*="equal width"].grid>.row>.column{display:inline-block;flex-grow:1}.ui.grid>[class*="equal width"].row>.wide.column,.ui[class*="equal width"].grid>.row>.wide.column,.ui[class*="equal width"].grid>.wide.column{flex-grow:0}@media only screen and (max-width:767px){.ui.grid>[class*="mobile reversed"].row,.ui[class*="mobile reversed"].grid,.ui[class*="mobile reversed"].grid>.row{flex-direction:row-reverse}.ui.stackable[class*="mobile reversed"],.ui[class*="mobile vertically reversed"].grid{flex-direction:column-reverse}.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="mobile reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{box-shadow:none}.ui.grid[class*="vertically divided"][class*="mobile vertically reversed"]>.row:first-child:before{box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="mobile vertically reversed"]>.row:last-child:before{box-shadow:none}.ui[class*="mobile reversed"].celled.grid>.row>.column:first-child{box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="mobile reversed"].celled.grid>.row>.column:last-child{box-shadow:none}}@media only screen and (min-width:768px) and (max-width:991px){.ui.grid>[class*="tablet reversed"].row,.ui[class*="tablet reversed"].grid,.ui[class*="tablet reversed"].grid>.row{flex-direction:row-reverse}.ui[class*="tablet vertically reversed"].grid{flex-direction:column-reverse}.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="tablet reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{box-shadow:none}.ui.grid[class*="vertically divided"][class*="tablet vertically reversed"]>.row:first-child:before{box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="tablet vertically reversed"]>.row:last-child:before{box-shadow:none}.ui[class*="tablet reversed"].celled.grid>.row>.column:first-child{box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="tablet reversed"].celled.grid>.row>.column:last-child{box-shadow:none}}@media only screen and (min-width:992px){.ui.grid>[class*="computer reversed"].row,.ui[class*="computer reversed"].grid,.ui[class*="computer reversed"].grid>.row{flex-direction:row-reverse}.ui[class*="computer vertically reversed"].grid{flex-direction:column-reverse}.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.column:first-child,.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:first-child{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.column:last-child,.ui[class*="computer reversed"].divided.grid:not([class*="vertically divided"])>.row>.column:last-child{box-shadow:none}.ui.grid[class*="vertically divided"][class*="computer vertically reversed"]>.row:first-child:before{box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*="vertically divided"][class*="computer vertically reversed"]>.row:last-child:before{box-shadow:none}.ui[class*="computer reversed"].celled.grid>.row>.column:first-child{box-shadow:-1px 0 0 0 #d4d4d5}.ui[class*="computer reversed"].celled.grid>.row>.column:last-child{box-shadow:none}}@media only screen and (min-width:768px) and (max-width:991px){.ui.doubling.grid{width:auto}.ui.doubling.grid>.row,.ui.grid>.doubling.row{margin:0!important;padding:0!important}.ui.doubling.grid>.row>.column,.ui.grid>.doubling.row>.column{display:inline-block!important;padding-top:1rem!important;padding-bottom:1rem!important;box-shadow:none!important;margin:0}.ui.grid>[class*="two column"].doubling.row.row>.column,.ui[class*="two column"].doubling.grid>.column:not(.row),.ui[class*="two column"].doubling.grid>.row>.column{width:100%!important}.ui.grid>[class*="four column"].doubling.row.row>.column,.ui.grid>[class*="three column"].doubling.row.row>.column,.ui[class*="four column"].doubling.grid>.column:not(.row),.ui[class*="four column"].doubling.grid>.row>.column,.ui[class*="three column"].doubling.grid>.column:not(.row),.ui[class*="three column"].doubling.grid>.row>.column{width:50%!important}.ui.grid>[class*="five column"].doubling.row.row>.column,.ui.grid>[class*="seven column"].doubling.row.row>.column,.ui.grid>[class*="six column"].doubling.row.row>.column,.ui[class*="five column"].doubling.grid>.column:not(.row),.ui[class*="five column"].doubling.grid>.row>.column,.ui[class*="seven column"].doubling.grid>.column:not(.row),.ui[class*="seven column"].doubling.grid>.row>.column,.ui[class*="six column"].doubling.grid>.column:not(.row),.ui[class*="six column"].doubling.grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="eight column"].doubling.row.row>.column,.ui.grid>[class*="nine column"].doubling.row.row>.column,.ui[class*="eight column"].doubling.grid>.column:not(.row),.ui[class*="eight column"].doubling.grid>.row>.column,.ui[class*="nine column"].doubling.grid>.column:not(.row),.ui[class*="nine column"].doubling.grid>.row>.column{width:25%!important}.ui.grid>[class*="eleven column"].doubling.row.row>.column,.ui.grid>[class*="ten column"].doubling.row.row>.column,.ui[class*="eleven column"].doubling.grid>.column:not(.row),.ui[class*="eleven column"].doubling.grid>.row>.column,.ui[class*="ten column"].doubling.grid>.column:not(.row),.ui[class*="ten column"].doubling.grid>.row>.column{width:20%!important}.ui.grid>[class*="thirteen column"].doubling.row.row>.column,.ui.grid>[class*="twelve column"].doubling.row.row>.column,.ui[class*="thirteen column"].doubling.grid>.column:not(.row),.ui[class*="thirteen column"].doubling.grid>.row>.column,.ui[class*="twelve column"].doubling.grid>.column:not(.row),.ui[class*="twelve column"].doubling.grid>.row>.column{width:16.66666667%!important}.ui.grid>[class*="fifteen column"].doubling.row.row>.column,.ui.grid>[class*="fourteen column"].doubling.row.row>.column,.ui[class*="fifteen column"].doubling.grid>.column:not(.row),.ui[class*="fifteen column"].doubling.grid>.row>.column,.ui[class*="fourteen column"].doubling.grid>.column:not(.row),.ui[class*="fourteen column"].doubling.grid>.row>.column{width:14.28571429%!important}.ui.grid>[class*="sixteen column"].doubling.row.row>.column,.ui[class*="sixteen column"].doubling.grid>.column:not(.row),.ui[class*="sixteen column"].doubling.grid>.row>.column{width:12.5%!important}}@media only screen and (max-width:767px){.ui.doubling.grid>.row,.ui.grid>.doubling.row{margin:0!important;padding:0!important}.ui.doubling.grid>.row>.column,.ui.grid>.doubling.row>.column{padding-top:1rem!important;padding-bottom:1rem!important;margin:0!important;box-shadow:none!important}.ui.grid>[class*="two column"].doubling:not(.stackable).row.row>.column,.ui[class*="two column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="two column"].doubling:not(.stackable).grid>.row>.column{width:100%!important}.ui.grid>[class*="eight column"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*="five column"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*="four column"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*="seven column"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*="six column"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*="three column"].doubling:not(.stackable).row.row>.column,.ui[class*="eight column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="eight column"].doubling:not(.stackable).grid>.row>.column,.ui[class*="five column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="five column"].doubling:not(.stackable).grid>.row>.column,.ui[class*="four column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="four column"].doubling:not(.stackable).grid>.row>.column,.ui[class*="seven column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="seven column"].doubling:not(.stackable).grid>.row>.column,.ui[class*="six column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="six column"].doubling:not(.stackable).grid>.row>.column,.ui[class*="three column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="three column"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*="eleven column"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*="nine column"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*="ten column"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*="thirteen column"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*="twelve column"].doubling:not(.stackable).row.row>.column,.ui[class*="eleven column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="eleven column"].doubling:not(.stackable).grid>.row>.column,.ui[class*="nine column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="nine column"].doubling:not(.stackable).grid>.row>.column,.ui[class*="ten column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="ten column"].doubling:not(.stackable).grid>.row>.column,.ui[class*="thirteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="thirteen column"].doubling:not(.stackable).grid>.row>.column,.ui[class*="twelve column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="twelve column"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*="fifteen column"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*="fourteen column"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*="sixteen column"].doubling:not(.stackable).row.row>.column,.ui[class*="fifteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="fifteen column"].doubling:not(.stackable).grid>.row>.column,.ui[class*="fourteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="fourteen column"].doubling:not(.stackable).grid>.row>.column,.ui[class*="sixteen column"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*="sixteen column"].doubling:not(.stackable).grid>.row>.column{width:25%!important}.ui.stackable.grid{width:auto;margin-left:0!important;margin-right:0!important}.ui.grid>.stackable.stackable.row>.column,.ui.stackable.grid>.column.grid>.column,.ui.stackable.grid>.column.row>.column,.ui.stackable.grid>.column:not(.row),.ui.stackable.grid>.row>.column,.ui.stackable.grid>.row>.wide.column,.ui.stackable.grid>.wide.column{width:100%!important;margin:0!important;box-shadow:none!important;padding:1rem!important}.ui.stackable.grid:not(.vertically)>.row{margin:0;padding:0}.ui.container>.ui.stackable.grid>.column,.ui.container>.ui.stackable.grid>.row>.column{padding-left:0!important;padding-right:0!important}.ui.grid .ui.stackable.grid,.ui.segment:not(.vertical) .ui.stackable.page.grid{margin-left:-1rem!important;margin-right:-1rem!important}.ui.stackable.celled.grid>.column:not(.row):first-child,.ui.stackable.celled.grid>.row:first-child>.column:first-child,.ui.stackable.divided.grid>.column:not(.row):first-child,.ui.stackable.divided.grid>.row:first-child>.column:first-child{border-top:none!important}.ui.inverted.stackable.celled.grid>.column:not(.row),.ui.inverted.stackable.celled.grid>.row>.column,.ui.inverted.stackable.divided.grid>.column:not(.row),.ui.inverted.stackable.divided.grid>.row>.column{border-top:1px solid rgba(255,255,255,.1)}.ui.stackable.celled.grid>.column:not(.row),.ui.stackable.celled.grid>.row>.column,.ui.stackable.divided:not(.vertically).grid>.column:not(.row),.ui.stackable.divided:not(.vertically).grid>.row>.column{border-top:1px solid rgba(34,36,38,.15);box-shadow:none!important;padding-top:2rem!important;padding-bottom:2rem!important}.ui.stackable.celled.grid>.row{box-shadow:none!important}.ui.stackable.divided:not(.vertically).grid>.column:not(.row),.ui.stackable.divided:not(.vertically).grid>.row>.column{padding-left:0!important;padding-right:0!important}.ui.grid.grid.grid>.row>[class*="computer only"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="computer only"].column:not(.mobile),.ui.grid.grid.grid>[class*="computer only"].row:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui.grid.grid.grid>[class*="tablet only"].column:not(.mobile),.ui.grid.grid.grid>[class*="tablet only"].row:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="computer only"].grid.grid.grid:not(.mobile),.ui[class*="large screen only"].grid.grid.grid:not(.mobile),.ui[class*="tablet only"].grid.grid.grid:not(.mobile),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.grid.grid.grid>.row>[class*="computer only"].column:not(.tablet),.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.tablet),.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="computer only"].column:not(.tablet),.ui.grid.grid.grid>[class*="computer only"].row:not(.tablet),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui.grid.grid.grid>[class*="mobile only"].column:not(.tablet),.ui.grid.grid.grid>[class*="mobile only"].row:not(.tablet),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="computer only"].grid.grid.grid:not(.tablet),.ui[class*="large screen only"].grid.grid.grid:not(.mobile),.ui[class*="mobile only"].grid.grid.grid:not(.tablet),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.grid.grid.grid>.row>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="large screen only"].row:not(.mobile),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="large screen only"].grid.grid.grid:not(.mobile),.ui[class*="mobile only"].grid.grid.grid:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>.row>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui.grid.grid.grid>[class*="widescreen only"].column:not(.mobile),.ui.grid.grid.grid>[class*="widescreen only"].row:not(.mobile),.ui[class*="mobile only"].grid.grid.grid:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer),.ui[class*="widescreen only"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:1920px){.ui.grid.grid.grid>.row>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>.row>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].column:not(.computer),.ui.grid.grid.grid>[class*="mobile only"].row:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].column:not(.computer),.ui.grid.grid.grid>[class*="tablet only"].row:not(.computer),.ui[class*="mobile only"].grid.grid.grid:not(.computer),.ui[class*="tablet only"].grid.grid.grid:not(.computer){display:none!important}}.ui.menu{display:flex;margin:1rem 0;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;background:#fff;font-weight:400;border:1px solid rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);border-radius:.28571429rem;min-height:2.85714286em;font-size:1rem}.ui.menu:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.menu:first-child{margin-top:0}.ui.menu:last-child{margin-bottom:0}.ui.menu .menu{margin:0}.ui.menu:not(.vertical)>.menu{display:flex}.ui.menu:not(.vertical) .item{display:flex;align-items:center}.ui.menu .item{position:relative;vertical-align:middle;line-height:1;text-decoration:none;-webkit-tap-highlight-color:transparent;flex:0 0 auto;user-select:none;background:0 0;padding:.92857143em 1.14285714em;text-transform:none;color:rgba(0,0,0,.87);font-weight:400;transition:background .1s ease,box-shadow .1s ease,color .1s ease}.ui.menu>.item:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui.menu .item:before{position:absolute;content:'';top:0;right:0;height:100%;width:1px;background:rgba(34,36,38,.1)}.ui.menu .item>a:not(.ui),.ui.menu .item>p:only-child,.ui.menu .text.item>*{user-select:text;line-height:1.3}.ui.menu .item>p:first-child{margin-top:0}.ui.menu .item>p:last-child{margin-bottom:0}.ui.menu .item>i.icon{opacity:.9;float:none;margin:0 .35714286em 0 0}.ui.menu:not(.vertical) .item>.button{position:relative;top:0;margin:-.5em 0;padding-bottom:.78571429em;padding-top:.78571429em;font-size:1em}.ui.menu>.container,.ui.menu>.grid{display:flex;align-items:inherit;flex-direction:inherit}.ui.menu .item>.input{width:100%}.ui.menu:not(.vertical) .item>.input{position:relative;top:0;margin:-.5em 0}.ui.menu .item>.input input{font-size:1em;padding-top:.57142857em;padding-bottom:.57142857em}.ui.menu .header.item,.ui.vertical.menu .header.item{margin:0;background:'';text-transform:normal;font-weight:700}.ui.vertical.menu .item>.header:not(.ui){margin:0 0 .5em;font-size:1em;font-weight:700}.ui.menu .item>i.dropdown.icon{padding:0;float:right;margin:0 0 0 1em}.ui.menu .dropdown.item .menu{min-width:calc(100% - 1px);border-radius:0 0 .28571429rem .28571429rem;background:#fff;margin:0;box-shadow:0 1px 3px 0 rgba(0,0,0,.08);flex-direction:column!important}.ui.menu .ui.dropdown .menu>.item{margin:0;text-align:left;font-size:1em!important;padding:.78571429em 1.14285714em!important;background:0 0!important;color:rgba(0,0,0,.87)!important;text-transform:none!important;font-weight:400!important;box-shadow:none!important;transition:none!important}.ui.menu .ui.dropdown .menu>.item:hover,.ui.menu .ui.dropdown .menu>.selected.item{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown .menu>.active.item{background:rgba(0,0,0,.03)!important;font-weight:700!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown.item .menu .item:not(.filtered){display:block}.ui.menu .ui.dropdown .menu>.item .icon:not(.dropdown){display:inline-block;font-size:1em!important;float:none;margin:0 .75em 0 0!important}.ui.secondary.menu .dropdown.item>.menu,.ui.text.menu .dropdown.item>.menu{border-radius:.28571429rem;margin-top:.35714286em}.ui.menu .pointing.dropdown.item .menu{margin-top:.75em}.ui.inverted.menu .search.dropdown.item>.search,.ui.inverted.menu .search.dropdown.item>.text{color:rgba(255,255,255,.9)}.ui.vertical.menu .dropdown.item>.icon{float:right;content:"\f0da";margin-left:1em}.ui.vertical.menu .dropdown.item .menu{left:100%;min-width:0;margin:0;box-shadow:0 1px 3px 0 rgba(0,0,0,.08);border-radius:0 .28571429rem .28571429rem .28571429rem}.ui.vertical.menu .dropdown.item.upward .menu{bottom:0}.ui.vertical.menu .dropdown.item:not(.upward) .menu{top:0}.ui.vertical.menu .active.dropdown.item{border-top-right-radius:0;border-bottom-right-radius:0}.ui.vertical.menu .dropdown.active.item{box-shadow:none}.ui.item.menu .dropdown .menu .item{width:100%}.ui.menu .item>.label{background:#999;color:#fff;margin-left:1em}.ui.vertical.menu .item>.label{background:#999;color:#fff;margin-top:-.15em;margin-bottom:-.15em;padding:.3em .78571429em}.ui.menu .item>.floating.label,.ui.menu .item>.label{padding:.3em .78571429em}.ui.menu .item>img:not(.ui){display:inline-block;vertical-align:middle;margin:-.3em 0;width:2.5em}.ui.vertical.menu .item>img:not(.ui):only-child{display:block;max-width:100%;width:auto}.ui.menu .list .item:before{background:0 0!important}.ui.vertical.sidebar.menu>.item:first-child:before{display:block!important}.ui.vertical.sidebar.menu>.item::before{top:auto;bottom:0}@media only screen and (max-width:767px){.ui.menu>.ui.container{width:100%!important;margin-left:0!important;margin-right:0!important}}@media only screen and (min-width:768px){.ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless)>.container>.item:not(.right):not(.borderless):first-child{border-left:1px solid rgba(34,36,38,.1)}}.ui.link.menu .item:hover,.ui.menu .dropdown.item:hover,.ui.menu .link.item:hover,.ui.menu a.item:hover{cursor:pointer;background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.link.menu .item:active,.ui.menu .link.item:active,.ui.menu a.item:active{background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.menu .active.item{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);font-weight:400;box-shadow:none}.ui.menu .active.item>i.icon{opacity:1}.ui.menu .active.item:hover,.ui.vertical.menu .active.item:hover{background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.menu .item.disabled,.ui.menu .item.disabled:hover{cursor:default!important;background-color:transparent!important;color:rgba(40,40,40,.3)!important}.ui.menu:not(.vertical) .left.item,.ui.menu:not(.vertical) :not(.dropdown)>.left.menu{display:flex;margin-right:auto!important}.ui.menu:not(.vertical) .right.item,.ui.menu:not(.vertical) .right.menu{display:flex;margin-left:auto!important}.ui.menu .right.item::before,.ui.menu .right.menu>.item::before{right:auto;left:0}.ui.vertical.menu{display:block;flex-direction:column;background:#fff;box-shadow:0 1px 2px 0 rgba(34,36,38,.15)}.ui.vertical.menu .item{display:block;background:0 0;border-top:none;border-right:none}.ui.vertical.menu>.active.item:first-child,.ui.vertical.menu>.item:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.menu>.active.item:last-child,.ui.vertical.menu>.item:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.menu .item>.label{float:right;text-align:center}.ui.vertical.menu .item>i.icon{width:1.18em;float:right;margin:0 0 0 .5em}.ui.vertical.menu .item>.label+i.icon{float:none;margin:0 .5em 0 0}.ui.vertical.menu .item:before{position:absolute;content:'';top:0;left:0;width:100%;height:1px;background:rgba(34,36,38,.1)}.ui.vertical.menu .item:first-child:before{display:none!important}.ui.vertical.menu .item>.menu{margin:.5em -1.14285714em 0}.ui.vertical.menu .menu .item{background:0 0;padding:.5em 1.33333333em;font-size:.85714286em;color:rgba(0,0,0,.5)}.ui.vertical.menu .item .menu .link.item:hover,.ui.vertical.menu .item .menu a.item:hover{color:rgba(0,0,0,.85)}.ui.tabular.menu .item:before,.ui.vertical.menu .menu .item:before{display:none}.ui.vertical.menu .active.item{background:rgba(0,0,0,.05);border-radius:0;box-shadow:none}.ui.vertical.menu>.active.item:only-child{border-radius:.28571429rem}.ui.vertical.menu .active.item .menu .active.item{border-left:none}.ui.vertical.menu .item .menu .active.item{background-color:transparent;font-weight:700;color:rgba(0,0,0,.95)}.ui.tabular.menu{border-radius:0;box-shadow:none!important;border:0;background:0 0;border-bottom:1px solid #d4d4d5}.ui.tabular.fluid.menu{width:calc(100% + (1px*2))!important}.ui.tabular.menu .item{background:0 0;border-bottom:none;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;padding:.92857143em 1.42857143em;color:rgba(0,0,0,.87)}.ui.tabular.menu .item:hover{background-color:transparent;color:rgba(0,0,0,.8)}.ui.tabular.menu .active.item{background:#fff;color:rgba(0,0,0,.95);border-top-width:1px;border-color:#d4d4d5;font-weight:700;margin-bottom:-1px;box-shadow:none;border-radius:.28571429rem .28571429rem 0 0!important}.ui.tabular.menu+.attached:not(.top).segment,.ui.tabular.menu+.attached:not(.top).segment+.attached:not(.top).segment{border-top:none;margin-left:0;margin-top:0;margin-right:0;width:100%}.top.attached.segment+.ui.bottom.tabular.menu{position:relative;width:calc(100% + (1px*2));left:-1px}.ui.bottom.tabular.menu,.ui.vertical.tabular.menu{background:0 0;border-radius:0;box-shadow:none!important;border-bottom:none}.ui.bottom.tabular.menu{border-top:1px solid #d4d4d5}.ui.bottom.tabular.menu .item,.ui.vertical.tabular.menu .item{background:0 0;border-left:1px solid transparent;border-right:1px solid transparent;border-bottom:1px solid transparent;border-top:none}.ui.bottom.tabular.menu .active.item{background:#fff;color:rgba(0,0,0,.95);border-color:#d4d4d5;margin:-1px 0 0;border-radius:0 0 .28571429rem .28571429rem!important}.ui.vertical.tabular.menu{border-right:1px solid #d4d4d5}.ui.vertical.tabular.menu .item{border-top:1px solid transparent;border-right:none}.ui.vertical.right.tabular.menu .active.item,.ui.vertical.tabular.menu .active.item{background:#fff;color:rgba(0,0,0,.95);border-color:#d4d4d5;margin:0 -1px 0 0;border-radius:.28571429rem 0 0 .28571429rem!important}.ui.vertical.right.tabular.menu{background:0 0;border-radius:0;box-shadow:none!important;border-bottom:none;border-right:none;border-left:1px solid #d4d4d5}.ui.vertical.right.tabular.menu .item{background:0 0;border-right:1px solid transparent;border-bottom:1px solid transparent;border-top:1px solid transparent;border-left:none}.ui.vertical.right.tabular.menu .active.item{margin:0 0 0 -1px;border-radius:0 .28571429rem .28571429rem 0!important}.ui.tabular.menu .active.dropdown.item{margin-bottom:0;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:none}.ui.pagination.menu{margin:0;display:inline-flex;vertical-align:middle}.ui.pagination.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.pagination.menu .item:last-child:before{display:none}.ui.pagination.menu .item{min-width:3em;text-align:center}.ui.pagination.menu .icon.item i.icon{vertical-align:top}.ui.pagination.menu .active.item{border-top:none;padding-top:.92857143em;background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.95);box-shadow:none}.ui.secondary.menu{background:0 0;margin-left:-.35714286em;margin-right:-.35714286em;border-radius:0;border:0;box-shadow:none}.ui.secondary.menu .item{align-self:center;box-shadow:none;border:0;padding:.78571429em .92857143em;margin:0 .35714286em;background:0 0;transition:color .1s ease;border-radius:.28571429rem}.ui.secondary.menu .item:before{display:none!important}.ui.secondary.menu .header.item{border-radius:0;border-right:none;background:0 0}.ui.secondary.menu .item>img:not(.ui),.ui.text.menu .item>img:not(.ui){margin:0}.ui.secondary.menu .dropdown.item:hover,.ui.secondary.menu .link.item:hover,.ui.secondary.menu a.item:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.secondary.menu .active.item{border-radius:.28571429rem}.ui.secondary.menu .active.item,.ui.secondary.menu .active.item:hover{box-shadow:none;background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.secondary.inverted.menu .link.item,.ui.secondary.inverted.menu a.item{color:rgba(255,255,255,.7)!important}.ui.secondary.inverted.menu .dropdown.item:hover,.ui.secondary.inverted.menu .link.item:hover,.ui.secondary.inverted.menu a.item:hover{background:rgba(255,255,255,.08);color:#fff!important}.ui.secondary.inverted.menu .active.item{background:rgba(255,255,255,.15);color:#fff!important}.ui.secondary.item.menu{margin-left:0;margin-right:0}.ui.secondary.item.menu .item:last-child{margin-right:0}.ui.secondary.attached.menu,.ui.text.pointing.menu .active.item:after{box-shadow:none}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu{margin:0 -.92857143em}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu>.item{margin:0;padding:.5em 1.33333333em}.ui.secondary.vertical.menu>.item{border:0;margin:0 0 .35714286em;border-radius:.28571429rem!important}.ui.secondary.vertical.menu>.header.item,.ui.text.menu{border-radius:0}.ui.secondary.inverted.menu,.ui.vertical.secondary.menu .item>.menu .item{background-color:transparent}.ui.secondary.pointing.menu{margin-left:0;margin-right:0;border-bottom:2px solid rgba(34,36,38,.15)}.ui.secondary.pointing.menu .item{border-bottom-color:transparent;border-bottom-style:solid;border-radius:0;align-self:flex-end;margin:0 0 -2px;padding:.85714286em 1.14285714em;border-bottom-width:2px;transition:color .1s ease}.ui.secondary.pointing.menu .header.item{color:rgba(0,0,0,.85)!important}.ui.secondary.pointing.menu .text.item{box-shadow:none!important}.ui.secondary.pointing.menu .item:after{display:none}.ui.secondary.pointing.menu .dropdown.item:hover,.ui.secondary.pointing.menu .link.item:hover,.ui.secondary.pointing.menu a.item:hover{background-color:transparent;color:rgba(0,0,0,.87)}.ui.secondary.pointing.menu .dropdown.item:active,.ui.secondary.pointing.menu .link.item:active,.ui.secondary.pointing.menu a.item:active{background-color:transparent;border-color:rgba(34,36,38,.15)}.ui.secondary.pointing.menu .active.item{background-color:transparent;box-shadow:none;font-weight:700}.ui.secondary.pointing.menu .active.item,.ui.secondary.pointing.menu .active.item:hover{border-color:#1b1c1d;color:rgba(0,0,0,.95)}.ui.secondary.pointing.menu .active.dropdown.item{border-color:transparent}.ui.secondary.vertical.pointing.menu{border-bottom-width:0;border-right-width:2px;border-right-style:solid;border-right-color:rgba(34,36,38,.15)}.ui.secondary.vertical.pointing.menu .item{border-bottom:none;border-right-style:solid;border-right-color:transparent;border-radius:0!important;margin:0 -2px 0 0;border-right-width:2px}.ui.secondary.vertical.pointing.menu .active.item{border-color:#1b1c1d}.ui.secondary.inverted.pointing.menu{border-width:2px;border-color:rgba(34,36,38,.15)}.ui.secondary.inverted.pointing.menu .item{color:rgba(255,255,255,.9)}.ui.secondary.inverted.pointing.menu .header.item{color:#fff!important}.ui.secondary.inverted.pointing.menu .link.item:hover,.ui.secondary.inverted.pointing.menu a.item:hover{color:rgba(0,0,0,.95)}.ui.secondary.inverted.pointing.menu .active.item{border-color:#fff;color:#fff}.ui.text.menu{background:0 0;box-shadow:none;border:0;margin:1em -.5em}.ui.text.menu .item{border-radius:0;box-shadow:none;align-self:center;margin:0;padding:.35714286em .5em;font-weight:400;color:rgba(0,0,0,.6);transition:opacity .1s ease}.ui.text.menu .item:before,.ui.text.menu .menu .item:before{display:none!important}.ui.text.menu .header.item{background-color:transparent;opacity:1;color:rgba(0,0,0,.85);font-size:.92857143em;text-transform:uppercase;font-weight:700}.ui.text.item.menu .item{margin:0}.ui.vertical.text.menu{margin:1em 0}.ui.vertical.text.menu:first-child{margin-top:0}.ui.vertical.text.menu:last-child{margin-bottom:0}.ui.vertical.text.menu .item{margin:.57142857em 0;padding-left:0;padding-right:0}.ui.vertical.text.menu .item>i.icon{float:none;margin:0 .35714286em 0 0}.ui.vertical.text.menu .header.item{margin:.57142857em 0 .71428571em}.ui.vertical.text.menu .item:not(.dropdown)>.menu{margin:0}.ui.vertical.text.menu .item:not(.dropdown)>.menu>.item{margin:0;padding:.5em 0}.ui.text.menu .item:hover{opacity:1;background-color:transparent}.ui.text.menu .active.item{border:0;box-shadow:none;font-weight:400;color:rgba(0,0,0,.95)}.ui.text.menu .active.item,.ui.text.menu .active.item:hover{background-color:transparent}.ui.text.attached.menu{box-shadow:none}.ui.inverted.text.menu,.ui.inverted.text.menu .active.item,.ui.inverted.text.menu .item,.ui.inverted.text.menu .item:hover{background-color:transparent!important}.ui.fluid.text.menu{margin-left:0;margin-right:0}.ui.vertical.icon.menu{display:inline-block;width:auto}.ui.icon.menu .item{height:auto;text-align:center;color:#1b1c1d}.ui.icon.menu .item>.icon:not(.dropdown){margin:0;opacity:1}.ui.icon.menu .icon:before{opacity:1}.ui.menu .icon.item>.icon{width:auto;margin:0 auto}.ui.vertical.icon.menu .item>.icon:not(.dropdown){display:block;opacity:1;margin:0 auto;float:none}.ui.inverted.icon.menu .item{color:#fff}.ui.labeled.icon.menu{text-align:center}.ui.labeled.icon.menu .item{min-width:6em;flex-direction:column}.ui.labeled.icon.menu .item>.icon:not(.dropdown){height:1em;display:block;font-size:1.71428571em!important;margin:0 auto .5rem!important}.ui.fluid.labeled.icon.menu>.item{min-width:0}@media only screen and (max-width:767px){.ui.stackable.menu{flex-direction:column}.ui.stackable.menu .item{width:100%!important}.ui.stackable.menu .item:before{position:absolute;content:'';top:auto;bottom:0;left:0;width:100%;height:1px;background:rgba(34,36,38,.1)}.ui.stackable.menu .left.item,.ui.stackable.menu .left.menu{margin-right:0!important}.ui.stackable.menu .right.item,.ui.stackable.menu .right.menu{margin-left:0!important}.ui.stackable.menu .left.menu,.ui.stackable.menu .right.menu{flex-direction:column}}.ui.menu .red.active.item,.ui.red.menu .active.item{border-color:#db2828!important;color:#db2828!important}.ui.menu .orange.active.item,.ui.orange.menu .active.item{border-color:#f2711c!important;color:#f2711c!important}.ui.menu .yellow.active.item,.ui.yellow.menu .active.item{border-color:#fbbd08!important;color:#fbbd08!important}.ui.menu .olive.active.item,.ui.olive.menu .active.item{border-color:#b5cc18!important;color:#b5cc18!important}.ui.green.menu .active.item,.ui.menu .green.active.item{border-color:#21ba45!important;color:#21ba45!important}.ui.menu .teal.active.item,.ui.teal.menu .active.item{border-color:#00b5ad!important;color:#00b5ad!important}.ui.blue.menu .active.item,.ui.menu .blue.active.item{border-color:#2185d0!important;color:#2185d0!important}.ui.menu .violet.active.item,.ui.violet.menu .active.item{border-color:#6435c9!important;color:#6435c9!important}.ui.menu .purple.active.item,.ui.purple.menu .active.item{border-color:#a333c8!important;color:#a333c8!important}.ui.menu .pink.active.item,.ui.pink.menu .active.item{border-color:#e03997!important;color:#e03997!important}.ui.brown.menu .active.item,.ui.menu .brown.active.item{border-color:#a5673f!important;color:#a5673f!important}.ui.grey.menu .active.item,.ui.menu .grey.active.item{border-color:#767676!important;color:#767676!important}.ui.inverted.menu{border:0 solid transparent;background:#1b1c1d;box-shadow:none}.ui.inverted.menu .item,.ui.inverted.menu .item>a:not(.ui){background:0 0;color:rgba(255,255,255,.9)}.ui.inverted.menu .item.menu{background:0 0}.ui.inverted.menu .item:before,.ui.vertical.inverted.menu .item:before{background:rgba(255,255,255,.08)}.ui.vertical.inverted.menu .menu .item,.ui.vertical.inverted.menu .menu .item a:not(.ui){color:rgba(255,255,255,.5)}.ui.inverted.menu .header.item{margin:0;background:0 0;box-shadow:none}.ui.inverted.menu .item.disabled,.ui.inverted.menu .item.disabled:hover{color:rgba(225,225,225,.3)}.ui.inverted.menu .dropdown.item:hover,.ui.inverted.menu .link.item:active,.ui.inverted.menu .link.item:hover,.ui.inverted.menu a.item:active,.ui.inverted.menu a.item:hover,.ui.link.inverted.menu .item:hover{background:rgba(255,255,255,.08);color:#fff}.ui.inverted.vertical.menu .item .menu .active.item,.ui.vertical.inverted.menu .item .menu .link.item:hover,.ui.vertical.inverted.menu .item .menu a.item:hover{background:0 0;color:#fff}.ui.inverted.menu .active.item,.ui.inverted.menu .active.item:hover{background:rgba(255,255,255,.15);color:#fff!important}.ui.inverted.pointing.menu .active.item:after{background:#3d3e3f!important;margin:0!important;box-shadow:none!important;border:0!important}.ui.inverted.pointing.menu .active.item:hover:after{background:#3d3e3f!important}.ui.floated.menu{float:left;margin:0 .5rem 0 0}.ui.floated.menu .item:last-child:before{display:none}.ui.right.floated.menu{float:right;margin:0 0 0 .5rem}.ui.inverted.menu .red.active.item,.ui.inverted.red.menu{background-color:#db2828}.ui.inverted.blue.menu .item:before,.ui.inverted.brown.menu .item:before,.ui.inverted.green.menu .item:before,.ui.inverted.grey.menu .item:before,.ui.inverted.olive.menu .item:before,.ui.inverted.orange.menu .item:before,.ui.inverted.pink.menu .item:before,.ui.inverted.purple.menu .item:before,.ui.inverted.red.menu .item:before,.ui.inverted.teal.menu .item:before,.ui.inverted.violet.menu .item:before,.ui.inverted.yellow.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.red.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .orange.active.item,.ui.inverted.orange.menu{background-color:#f2711c}.ui.inverted.orange.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .yellow.active.item,.ui.inverted.yellow.menu{background-color:#fbbd08}.ui.inverted.yellow.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .olive.active.item,.ui.inverted.olive.menu{background-color:#b5cc18}.ui.inverted.olive.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.green.menu,.ui.inverted.menu .green.active.item{background-color:#21ba45}.ui.inverted.green.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .teal.active.item,.ui.inverted.teal.menu{background-color:#00b5ad}.ui.inverted.teal.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.blue.menu,.ui.inverted.menu .blue.active.item{background-color:#2185d0}.ui.inverted.blue.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .violet.active.item,.ui.inverted.violet.menu{background-color:#6435c9}.ui.inverted.violet.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .purple.active.item,.ui.inverted.purple.menu{background-color:#a333c8}.ui.inverted.purple.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .pink.active.item,.ui.inverted.pink.menu{background-color:#e03997}.ui.inverted.pink.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.brown.menu,.ui.inverted.menu .brown.active.item{background-color:#a5673f}.ui.inverted.brown.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.grey.menu,.ui.inverted.menu .grey.active.item{background-color:#767676}.ui.inverted.grey.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.fitted.menu .item,.ui.fitted.menu .item .menu .item,.ui.menu .fitted.item{padding:0}.ui.horizontally.fitted.menu .item,.ui.horizontally.fitted.menu .item .menu .item,.ui.menu .horizontally.fitted.item{padding-top:.92857143em;padding-bottom:.92857143em}.ui.menu .vertically.fitted.item,.ui.vertically.fitted.menu .item,.ui.vertically.fitted.menu .item .menu .item{padding-left:1.14285714em;padding-right:1.14285714em}.ui.borderless.menu .item .menu .item:before,.ui.borderless.menu .item:before,.ui.menu .borderless.item:before{background:0 0!important}.ui.compact.menu{display:inline-flex;margin:0;vertical-align:middle}.ui.compact.vertical.menu{display:inline-block;width:auto!important}.ui.compact.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.compact.menu .item:last-child:before,.ui.item.menu .item:last-child:before{display:none}.ui.compact.vertical.menu .item:last-child::before{display:block}.ui.menu.fluid,.ui.vertical.menu.fluid{width:100%!important}.ui.item.menu,.ui.item.menu .item{width:100%;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;text-align:center;justify-content:center}.ui.attached.item.menu{margin:0 -1px!important}.ui.menu.two.item .item{width:50%}.ui.menu.three.item .item{width:33.333%}.ui.menu.four.item .item{width:25%}.ui.menu.five.item .item{width:20%}.ui.menu.six.item .item{width:16.666%}.ui.menu.seven.item .item{width:14.285%}.ui.menu.eight.item .item{width:12.5%}.ui.menu.nine.item .item{width:11.11%}.ui.menu.ten.item .item{width:10%}.ui.menu.eleven.item .item{width:9.09%}.ui.menu.twelve.item .item{width:8.333%}.ui.menu.fixed{position:fixed;z-index:101;margin:0;width:100%}.ui.menu.fixed,.ui.menu.fixed .item:first-child,.ui.menu.fixed .item:last-child{border-radius:0!important}.ui.fixed.menu,.ui[class*="top fixed"].menu{top:0;left:0;right:auto;bottom:auto}.ui[class*="top fixed"].menu{border-top:none;border-left:none;border-right:none}.ui[class*="right fixed"].menu{border-top:none;border-bottom:none;border-right:none;top:0;right:0;left:auto;bottom:auto;width:auto;height:100%}.ui[class*="bottom fixed"].menu{border-bottom:none;border-left:none;border-right:none;bottom:0;left:0;top:auto;right:auto}.ui[class*="left fixed"].menu{border-top:none;border-bottom:none;border-left:none;top:0;left:0;right:auto;bottom:auto;width:auto;height:100%}.ui.fixed.menu+.ui.grid{padding-top:2.75rem}.ui.pointing.menu .item:after{visibility:hidden;position:absolute;content:'';top:100%;left:50%;transform:translateX(-50%) translateY(-50%) rotate(45deg);background:0 0;margin:.5px 0 0;width:.57142857em;height:.57142857em;border:0;border-bottom:1px solid #d4d4d5;border-right:1px solid #d4d4d5;z-index:2;transition:background .1s ease}.ui.vertical.pointing.menu .item:after{position:absolute;top:50%;right:0;bottom:auto;left:auto;transform:translateX(50%) translateY(-50%) rotate(45deg);margin:0 -.5px 0 0;border:0;border-top:1px solid #d4d4d5;border-right:1px solid #d4d4d5}.ui.pointing.menu .active.item:after{visibility:visible}.ui.pointing.menu .active.dropdown.item:after{visibility:hidden}.ui.pointing.menu .active.item .menu .active.item:after,.ui.pointing.menu .dropdown.active.item:after{display:none}.ui.pointing.menu .active.item:after,.ui.pointing.menu .active.item:hover:after,.ui.vertical.pointing.menu .active.item:after,.ui.vertical.pointing.menu .active.item:hover:after{background-color:#f2f2f2}.ui.vertical.pointing.menu .menu .active.item:after{background-color:#fff}.ui.attached.menu{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% - (-1px*2));max-width:calc(100% - (-1px*2));box-shadow:none}.ui.attached+.ui.attached.menu:not(.top){border-top:none}.ui[class*="top attached"].menu{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.menu[class*="top attached"]:first-child{margin-top:0}.ui[class*="bottom attached"].menu{bottom:0;margin-top:0;top:0;margin-bottom:1rem;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].menu:last-child{margin-bottom:0}.ui.top.attached.menu>.item:first-child{border-radius:.28571429rem 0 0 0}.ui.bottom.attached.menu>.item:first-child{border-radius:0 0 0 .28571429rem}.ui.attached.menu:not(.tabular){border:1px solid #d4d4d5}.ui.attached.inverted.menu{border:0}.ui.attached.tabular.menu{margin-left:0;margin-right:0;width:100%}.ui.mini.menu{font-size:.78571429rem}.ui.mini.vertical.menu{width:9rem}.ui.tiny.menu{font-size:.85714286rem}.ui.tiny.vertical.menu{width:11rem}.ui.small.menu{font-size:.92857143rem}.ui.small.vertical.menu{width:13rem}.ui.vertical.menu{width:15rem}.ui.large.menu{font-size:1.07142857rem}.ui.large.vertical.menu{width:18rem}.ui.huge.menu{font-size:1.21428571rem}.ui.huge.vertical.menu{width:22rem}.ui.big.menu{font-size:1.14285714rem}.ui.big.vertical.menu{width:20rem}.ui.massive.menu{font-size:1.28571429rem}.ui.massive.vertical.menu{width:25rem}
/*!
 * # Semantic UI - Message
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.message{position:relative;min-height:1em;margin:1em 0;background:#f8f8f9;padding:1em 1.5em;line-height:1.4285em;color:rgba(0,0,0,.87);transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;border-radius:.28571429rem;box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 0 0 0 transparent;font-size:1em}.ui.message p:first-child,.ui.message:first-child{margin-top:0}.ui.message p:last-child,.ui.message:last-child{margin-bottom:0}.ui.message .header{display:block;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;font-weight:700;margin:-.14285714em 0 0}.ui.message .header:not(.ui){font-size:1.14285714em}.ui.message p{opacity:.85;margin:.75em 0}.ui.message .header+p{margin-top:.25em}.ui.message .list:not(.ui){text-align:left;padding:0;opacity:.85;list-style-position:inside;margin:.5em 0 0}.ui.message .list:not(.ui):first-child{margin-top:0}.ui.message .list:not(.ui) li:last-child,.ui.message .list:not(.ui):last-child{margin-bottom:0}.ui.message .list:not(.ui) li{position:relative;list-style-type:none;margin:0 0 .3em 1em;padding:0}.ui.message .list:not(.ui) li:before{position:absolute;content:'•';left:-1em;height:100%;vertical-align:baseline}.ui.message>.icon{margin-right:.6em}.ui.message>.close.icon{cursor:pointer;position:absolute;margin:0;top:.78575em;right:.5em;opacity:.7;transition:opacity .1s ease}.ui.message>.close.icon:hover{opacity:1}.ui.message>:first-child{margin-top:0}.ui.message>:last-child{margin-bottom:0}.ui.dropdown .menu>.message{margin:0 -1px}.ui.visible.visible.visible.visible.message{display:block}.ui.icon.visible.visible.visible.visible.message{display:flex}.ui.hidden.hidden.hidden.hidden.message{display:none}.ui.compact.message{display:inline-block}.ui.compact.icon.message{display:inline-flex}.ui.attached.message{margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;margin-left:-1px;margin-right:-1px}.ui.attached+.ui.attached.message:not(.top):not(.bottom){margin-top:-1px;border-radius:0}.ui.bottom.attached.message{margin-top:-1px;border-radius:0 0 .28571429rem .28571429rem;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset,0 1px 2px 0 rgba(34,36,38,.15)}.ui.bottom.attached.message:not(:last-child){margin-bottom:1em}.ui.attached.icon.message{width:auto}.ui.icon.message{display:flex;width:100%;align-items:center}.ui.icon.message>.icon:not(.close){display:block;flex:0 0 auto;width:auto;line-height:1;vertical-align:middle;font-size:3em;opacity:.8}.ui.icon.message>.content{display:block;flex:1 1 auto;vertical-align:middle}.ui.icon.message .icon:not(.close)+.content{padding-left:0}.ui.icon.message .circular.icon{width:1em}.ui.floating.message{box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.positive.message{background-color:#fcfff5;color:#2c662d}.ui.attached.positive.message,.ui.positive.message{box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent}.ui.positive.message .header{color:#1a531b}.ui.negative.message{background-color:#fff6f6;color:#9f3a38}.ui.attached.negative.message,.ui.negative.message{box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent}.ui.negative.message .header{color:#912d2b}.ui.info.message{background-color:#f8ffff;color:#276f86}.ui.attached.info.message,.ui.info.message{box-shadow:0 0 0 1px #a9d5de inset,0 0 0 0 transparent}.ui.info.message .header{color:#0e566c}.ui.warning.message{background-color:#fffaf3;color:#573a08}.ui.attached.warning.message,.ui.warning.message{box-shadow:0 0 0 1px #c9ba9b inset,0 0 0 0 transparent}.ui.warning.message .header{color:#794b02}.ui.error.message{background-color:#fff6f6;color:#9f3a38}.ui.attached.error.message,.ui.error.message{box-shadow:0 0 0 1px #e0b4b4 inset,0 0 0 0 transparent}.ui.error.message .header{color:#912d2b}.ui.success.message{background-color:#fcfff5;color:#2c662d}.ui.attached.success.message,.ui.success.message{box-shadow:0 0 0 1px #a3c293 inset,0 0 0 0 transparent}.ui.success.message .header{color:#1a531b}.ui.black.message,.ui.inverted.message{background-color:#1b1c1d;color:rgba(255,255,255,.9)}.ui.red.message{background-color:#ffe8e6;color:#db2828;box-shadow:0 0 0 1px #db2828 inset,0 0 0 0 transparent}.ui.red.message .header{color:#c82121}.ui.orange.message{background-color:#ffedde;color:#f2711c;box-shadow:0 0 0 1px #f2711c inset,0 0 0 0 transparent}.ui.orange.message .header{color:#e7640d}.ui.yellow.message{background-color:#fff8db;color:#b58105;box-shadow:0 0 0 1px #b58105 inset,0 0 0 0 transparent}.ui.yellow.message .header{color:#9c6f04}.ui.olive.message{background-color:#fbfdef;color:#8abc1e;box-shadow:0 0 0 1px #8abc1e inset,0 0 0 0 transparent}.ui.olive.message .header{color:#7aa61a}.ui.green.message{background-color:#e5f9e7;color:#1ebc30;box-shadow:0 0 0 1px #1ebc30 inset,0 0 0 0 transparent}.ui.green.message .header{color:#1aa62a}.ui.teal.message{background-color:#e1f7f7;color:#10a3a3;box-shadow:0 0 0 1px #10a3a3 inset,0 0 0 0 transparent}.ui.teal.message .header{color:#0e8c8c}.ui.blue.message{background-color:#dff0ff;color:#2185d0;box-shadow:0 0 0 1px #2185d0 inset,0 0 0 0 transparent}.ui.blue.message .header{color:#1e77ba}.ui.violet.message{background-color:#eae7ff;color:#6435c9;box-shadow:0 0 0 1px #6435c9 inset,0 0 0 0 transparent}.ui.violet.message .header{color:#5a30b5}.ui.purple.message{background-color:#f6e7ff;color:#a333c8;box-shadow:0 0 0 1px #a333c8 inset,0 0 0 0 transparent}.ui.purple.message .header{color:#922eb4}.ui.pink.message{background-color:#ffe3fb;color:#e03997;box-shadow:0 0 0 1px #e03997 inset,0 0 0 0 transparent}.ui.pink.message .header{color:#dd238b}.ui.brown.message{background-color:#f1e2d3;color:#a5673f;box-shadow:0 0 0 1px #a5673f inset,0 0 0 0 transparent}.ui.brown.message .header{color:#935b38}.ui.mini.message{font-size:.78571429em}.ui.tiny.message{font-size:.85714286em}.ui.small.message{font-size:.92857143em}.ui.large.message{font-size:1.14285714em}.ui.big.message{font-size:1.28571429em}.ui.huge.message{font-size:1.42857143em}.ui.massive.message{font-size:1.71428571em}
/*!
 * # Semantic UI - Table
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.table{width:100%;background:#fff;margin:1em 0;border:1px solid rgba(34,36,38,.15);box-shadow:none;border-radius:.28571429rem;text-align:left;color:rgba(0,0,0,.87);border-collapse:separate;border-spacing:0;font-size:1em}.ui.table:first-child{margin-top:0}.ui.table:last-child{margin-bottom:0}.ui.table td,.ui.table th{transition:background .1s ease,color .1s ease}.ui.table tfoot,.ui.table thead{box-shadow:none}.ui.table thead th{cursor:auto;background:#f9fafb;text-align:inherit;color:rgba(0,0,0,.87);padding:.92857143em .78571429em;vertical-align:inherit;font-style:none;font-weight:700;text-transform:none;border-bottom:1px solid rgba(34,36,38,.1);border-left:none}.ui.table tfoot tr>th:first-child,.ui.table thead tr>th:first-child{border-left:none}.ui.table thead tr:first-child>th:first-child{border-radius:.28571429rem 0 0 0}.ui.table thead tr:first-child>th:last-child{border-radius:0 .28571429rem 0 0}.ui.table thead tr:first-child>th:only-child{border-radius:.28571429rem .28571429rem 0 0}.ui.table tfoot th{cursor:auto;border-top:1px solid rgba(34,36,38,.15);background:#f9fafb;text-align:inherit;color:rgba(0,0,0,.87);padding:.78571429em;vertical-align:middle;font-style:normal;font-weight:400;text-transform:none}.ui.table tfoot tr:first-child>th:first-child{border-radius:0 0 0 .28571429rem}.ui.table tfoot tr:first-child>th:last-child{border-radius:0 0 .28571429rem 0}.ui.table tfoot tr:first-child>th:only-child{border-radius:0 0 .28571429rem .28571429rem}.ui.table tr td{border-top:1px solid rgba(34,36,38,.1)}.ui.table tr:first-child td{border-top:none}.ui.table tbody+tbody tr:first-child td{border-top:1px solid rgba(34,36,38,.1)}.ui.table td{padding:.78571429em;text-align:inherit}.ui.table>.icon{vertical-align:baseline}.ui.table>.icon:only-child{margin:0}.ui.table tbody tr td.selectable,.ui.table.segment{padding:0}.ui.table.segment:after{display:none}.ui.table.segment.stacked:after{display:block}@media only screen and (max-width:767px){.ui.table:not(.unstackable){width:100%;padding:0}.ui.table:not(.unstackable) tbody,.ui.table:not(.unstackable) tr,.ui.table:not(.unstackable) tr>td,.ui.table:not(.unstackable) tr>th{width:auto!important;display:block!important}.ui.table:not(.unstackable) tfoot,.ui.table:not(.unstackable) thead{display:block}.ui.table:not(.unstackable) tr{padding-top:1em;padding-bottom:1em;box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important}.ui.table:not(.unstackable) tr>td,.ui.table:not(.unstackable) tr>th{background:0 0;border:0!important;padding:.25em .75em!important;box-shadow:none!important}.ui.table:not(.unstackable) td:first-child,.ui.table:not(.unstackable) th:first-child{font-weight:700}.ui.definition.table:not(.unstackable) thead th:first-child{box-shadow:none!important}}.ui.table td .image,.ui.table td .image img,.ui.table th .image,.ui.table th .image img{max-width:none}.ui.structured.table{border-collapse:collapse}.ui.structured.basic.table th,.ui.structured.table thead th{border-left:none;border-right:none}.ui.structured.sortable.table thead th{border-left:1px solid rgba(34,36,38,.15);border-right:1px solid rgba(34,36,38,.15)}.ui.structured.celled.table tr td,.ui.structured.celled.table tr th{border-left:1px solid rgba(34,36,38,.1);border-right:1px solid rgba(34,36,38,.1)}.ui.definition.table thead:not(.full-width) th:first-child{pointer-events:none;background:0 0;font-weight:400;color:rgba(0,0,0,.4);box-shadow:-1px -1px 0 1px #fff}.ui.definition.table tfoot:not(.full-width) th:first-child{pointer-events:none;background:0 0;font-weight:rgba(0,0,0,.4);color:normal;box-shadow:1px 1px 0 1px #fff}.ui.celled.definition.table thead:not(.full-width) th:first-child{box-shadow:0 -1px 0 1px #fff}.ui.celled.definition.table tfoot:not(.full-width) th:first-child{box-shadow:0 1px 0 1px #fff}.ui.definition.table tr td.definition,.ui.definition.table tr td:first-child:not(.ignored){background:rgba(0,0,0,.03);font-weight:700;color:rgba(0,0,0,.95);text-transform:'';box-shadow:'';text-align:'';font-size:1em;padding-left:'';padding-right:''}.ui.definition.table tfoot:not(.full-width) th:nth-child(2),.ui.definition.table thead:not(.full-width) th:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.definition.table td:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.table td.positive,.ui.table tr.positive{box-shadow:0 0 0 #a3c293 inset;background:#fcfff5!important;color:#2c662d!important}.ui.table td.error,.ui.table td.negative,.ui.table tr.error,.ui.table tr.negative{box-shadow:0 0 0 #e0b4b4 inset;background:#fff6f6!important;color:#9f3a38!important}.ui.table td.warning,.ui.table tr.warning{box-shadow:0 0 0 #c9ba9b inset;background:#fffaf3!important;color:#573a08!important}.ui.table td.active,.ui.table tr.active{box-shadow:0 0 0 rgba(0,0,0,.87) inset;background:#e0e0e0!important;color:rgba(0,0,0,.87)!important}.ui.table tr td.disabled,.ui.table tr.disabled td,.ui.table tr.disabled:hover,.ui.table tr:hover td.disabled{pointer-events:none;color:rgba(40,40,40,.3)}@media only screen and (max-width:991px){.ui[class*="tablet stackable"].table,.ui[class*="tablet stackable"].table tbody,.ui[class*="tablet stackable"].table tr,.ui[class*="tablet stackable"].table tr>td,.ui[class*="tablet stackable"].table tr>th{width:100%!important;display:block!important}.ui[class*="tablet stackable"].table{padding:0}.ui[class*="tablet stackable"].table tfoot,.ui[class*="tablet stackable"].table thead{display:block}.ui[class*="tablet stackable"].table tr{padding-top:1em;padding-bottom:1em;box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important}.ui[class*="tablet stackable"].table tr>td,.ui[class*="tablet stackable"].table tr>th{background:0 0;border:0!important;padding:.25em .75em;box-shadow:none!important}.ui.definition[class*="tablet stackable"].table thead th:first-child{box-shadow:none!important}}.ui.table [class*="left aligned"],.ui.table[class*="left aligned"]{text-align:left}.ui.table [class*="center aligned"],.ui.table[class*="center aligned"]{text-align:center}.ui.table [class*="right aligned"],.ui.table[class*="right aligned"]{text-align:right}.ui.table [class*="top aligned"],.ui.table[class*="top aligned"]{vertical-align:top}.ui.table [class*="middle aligned"],.ui.table[class*="middle aligned"]{vertical-align:middle}.ui.table [class*="bottom aligned"],.ui.table[class*="bottom aligned"]{vertical-align:bottom}.ui.table td.collapsing,.ui.table th.collapsing{width:1px;white-space:nowrap}.ui.fixed.table{table-layout:fixed}.ui.fixed.table td,.ui.fixed.table th{overflow:hidden;text-overflow:ellipsis}.ui.selectable.table tbody tr:hover,.ui.table tbody tr td.selectable:hover{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.inverted.table tbody tr td.selectable:hover,.ui.selectable.inverted.table tbody tr:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}.ui.table tbody tr td.selectable>a:not(.ui){display:block;color:inherit;padding:.78571429em}.ui.selectable.table tr.error:hover,.ui.selectable.table tr:hover td.error,.ui.table tr td.selectable.error:hover{background:#ffe7e7!important;color:#943634!important}.ui.selectable.table tr.warning:hover,.ui.selectable.table tr:hover td.warning,.ui.table tr td.selectable.warning:hover{background:#fff4e4!important;color:#493107!important}.ui.selectable.table tr.active:hover,.ui.selectable.table tr:hover td.active,.ui.table tr td.selectable.active:hover{background:#e0e0e0!important;color:rgba(0,0,0,.87)!important}.ui.selectable.table tr.positive:hover,.ui.selectable.table tr:hover td.positive,.ui.table tr td.selectable.positive:hover{background:#f7ffe6!important;color:#275b28!important}.ui.selectable.table tr.negative:hover,.ui.selectable.table tr:hover td.negative,.ui.table tr td.selectable.negative:hover{background:#ffe7e7!important;color:#943634!important}.ui.attached.table{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% - (-1px*2));max-width:calc(100% - (-1px*2));box-shadow:none;border:1px solid #d4d4d5}.ui.attached+.ui.attached.table:not(.top){border-top:none}.ui[class*="top attached"].table{bottom:0;margin-bottom:0;top:0;margin-top:1em;border-radius:.28571429rem .28571429rem 0 0}.ui.table[class*="top attached"]:first-child{margin-top:0}.ui[class*="bottom attached"].table{bottom:0;margin-top:0;top:0;margin-bottom:1em;box-shadow:none,none;border-radius:0 0 .28571429rem .28571429rem}.ui[class*="bottom attached"].table:last-child{margin-bottom:0}.ui.striped.table tbody tr:nth-child(2n),.ui.striped.table>tr:nth-child(2n){background-color:rgba(0,0,50,.02)}.ui.inverted.striped.table tbody tr:nth-child(2n),.ui.inverted.striped.table>tr:nth-child(2n){background-color:rgba(255,255,255,.05)}.ui.striped.selectable.selectable.selectable.table tbody tr.active:hover{background:#efefef!important;color:rgba(0,0,0,.95)!important}.ui.table [class*="single line"],.ui.table[class*="single line"]{white-space:nowrap}.ui.red.table{border-top:.2em solid #db2828}.ui.inverted.red.table{background-color:#db2828!important;color:#fff!important}.ui.orange.table{border-top:.2em solid #f2711c}.ui.inverted.orange.table{background-color:#f2711c!important;color:#fff!important}.ui.yellow.table{border-top:.2em solid #fbbd08}.ui.inverted.yellow.table{background-color:#fbbd08!important;color:#fff!important}.ui.olive.table{border-top:.2em solid #b5cc18}.ui.inverted.olive.table{background-color:#b5cc18!important;color:#fff!important}.ui.green.table{border-top:.2em solid #21ba45}.ui.inverted.green.table{background-color:#21ba45!important;color:#fff!important}.ui.teal.table{border-top:.2em solid #00b5ad}.ui.inverted.teal.table{background-color:#00b5ad!important;color:#fff!important}.ui.blue.table{border-top:.2em solid #2185d0}.ui.inverted.blue.table{background-color:#2185d0!important;color:#fff!important}.ui.violet.table{border-top:.2em solid #6435c9}.ui.inverted.violet.table{background-color:#6435c9!important;color:#fff!important}.ui.purple.table{border-top:.2em solid #a333c8}.ui.inverted.purple.table{background-color:#a333c8!important;color:#fff!important}.ui.pink.table{border-top:.2em solid #e03997}.ui.inverted.pink.table{background-color:#e03997!important;color:#fff!important}.ui.brown.table{border-top:.2em solid #a5673f}.ui.inverted.brown.table{background-color:#a5673f!important;color:#fff!important}.ui.grey.table{border-top:.2em solid #767676}.ui.inverted.grey.table{background-color:#767676!important;color:#fff!important}.ui.black.table{border-top:.2em solid #1b1c1d}.ui.inverted.black.table{background-color:#1b1c1d!important;color:#fff!important}.ui.one.column.table td{width:100%}.ui.two.column.table td{width:50%}.ui.three.column.table td{width:33.33333333%}.ui.four.column.table td{width:25%}.ui.five.column.table td{width:20%}.ui.six.column.table td{width:16.66666667%}.ui.seven.column.table td{width:14.28571429%}.ui.eight.column.table td{width:12.5%}.ui.nine.column.table td{width:11.11111111%}.ui.ten.column.table td{width:10%}.ui.eleven.column.table td{width:9.09090909%}.ui.twelve.column.table td{width:8.33333333%}.ui.thirteen.column.table td{width:7.69230769%}.ui.fourteen.column.table td{width:7.14285714%}.ui.fifteen.column.table td{width:6.66666667%}.ui.sixteen.column.table td,.ui.table td.one.wide,.ui.table th.one.wide{width:6.25%}.ui.table td.two.wide,.ui.table th.two.wide{width:12.5%}.ui.table td.three.wide,.ui.table th.three.wide{width:18.75%}.ui.table td.four.wide,.ui.table th.four.wide{width:25%}.ui.table td.five.wide,.ui.table th.five.wide{width:31.25%}.ui.table td.six.wide,.ui.table th.six.wide{width:37.5%}.ui.table td.seven.wide,.ui.table th.seven.wide{width:43.75%}.ui.table td.eight.wide,.ui.table th.eight.wide{width:50%}.ui.table td.nine.wide,.ui.table th.nine.wide{width:56.25%}.ui.table td.ten.wide,.ui.table th.ten.wide{width:62.5%}.ui.table td.eleven.wide,.ui.table th.eleven.wide{width:68.75%}.ui.table td.twelve.wide,.ui.table th.twelve.wide{width:75%}.ui.table td.thirteen.wide,.ui.table th.thirteen.wide{width:81.25%}.ui.table td.fourteen.wide,.ui.table th.fourteen.wide{width:87.5%}.ui.table td.fifteen.wide,.ui.table th.fifteen.wide{width:93.75%}.ui.table td.sixteen.wide,.ui.table th.sixteen.wide{width:100%}.ui.sortable.table thead th{cursor:pointer;white-space:nowrap;border-left:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87)}.ui.sortable.table thead th:first-child{border-left:none}.ui.sortable.table thead th.sorted,.ui.sortable.table thead th.sorted:hover{user-select:none}.ui.sortable.table thead th:after{display:none;font-style:normal;font-weight:400;text-decoration:inherit;content:'';height:1em;width:auto;opacity:.8;margin:0 0 0 .5em;font-family:'Icons'}.ui.sortable.table thead th.ascending:after{content:'\f0d8'}.ui.sortable.table thead th.descending:after{content:'\f0d7'}.ui.sortable.table th.disabled:hover{cursor:auto;color:rgba(40,40,40,.3)}.ui.sortable.table thead th:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.8)}.ui.sortable.table thead th.sorted,.ui.sortable.table thead th.sorted:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.sortable.table thead th.sorted:after{display:inline-block}.ui.inverted.sortable.table thead th.sorted{background:rgba(255,255,255,.15) linear-gradient(transparent,rgba(0,0,0,.05));color:#fff}.ui.inverted.sortable.table thead th:hover{background:rgba(255,255,255,.08) linear-gradient(transparent,rgba(0,0,0,.05));color:#fff}.ui.inverted.sortable.table thead th{border-left-color:transparent;border-right-color:transparent}.ui.inverted.table{background:#333;color:rgba(255,255,255,.9);border:0}.ui.inverted.table th{background-color:rgba(0,0,0,.15);color:rgba(255,255,255,.9)!important}.ui.inverted.table th,.ui.inverted.table tr td{border-color:rgba(255,255,255,.1)!important}.ui.inverted.table tr td.disabled,.ui.inverted.table tr.disabled td,.ui.inverted.table tr.disabled:hover td,.ui.inverted.table tr:hover td.disabled{pointer-events:none;color:rgba(225,225,225,.3)}.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,.ui.inverted.definition.table thead:not(.full-width) th:first-child{background:#fff}.ui.inverted.definition.table tr td:first-child{background:rgba(255,255,255,.02);color:#fff}.ui.collapsing.table{width:auto}.ui.basic.table{background:0 0;border:1px solid rgba(34,36,38,.15);box-shadow:none}.ui.basic.table tfoot,.ui.basic.table thead{box-shadow:none}.ui.basic.table th{background:0 0;border-left:none}.ui.basic.table tbody tr{border-bottom:1px solid rgba(0,0,0,.1)}.ui.basic.table td{background:0 0}.ui.basic.striped.table tbody tr:nth-child(2n){background-color:rgba(0,0,0,.05)!important}.ui[class*="very basic"].table{border:0}.ui[class*="very basic"].table:not(.sortable):not(.striped) td,.ui[class*="very basic"].table:not(.sortable):not(.striped) th{padding:''}.ui[class*="very basic"].table:not(.sortable):not(.striped) td:first-child,.ui[class*="very basic"].table:not(.sortable):not(.striped) th:first-child{padding-left:0}.ui[class*="very basic"].table:not(.sortable):not(.striped) td:last-child,.ui[class*="very basic"].table:not(.sortable):not(.striped) th:last-child{padding-right:0}.ui[class*="very basic"].table:not(.sortable):not(.striped) thead tr:first-child th{padding-top:0}.ui.celled.table tr td,.ui.celled.table tr th{border-left:1px solid rgba(34,36,38,.1)}.ui.celled.table tr td:first-child,.ui.celled.table tr th:first-child{border-left:none}.ui.padded.table td,.ui.padded.table th{padding:1em}.ui[class*="very padded"].table th{padding-left:1.5em;padding-right:1.5em}.ui[class*="very padded"].table td{padding:1.5em}.ui.compact.table th{padding-left:.7em;padding-right:.7em}.ui.compact.table td{padding:.5em .7em}.ui[class*="very compact"].table th{padding-left:.6em;padding-right:.6em}.ui[class*="very compact"].table td{padding:.4em .6em}.ui.small.table{font-size:.9em}.ui.large.table{font-size:1.1em}
/*!
 * # Semantic UI - Ad
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Copyright 2013 Contributors
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.ad{display:block;overflow:hidden;margin:1em 0}.ui.ad:first-child{margin:0}.ui.ad:last-child{margin:0}.ui.ad iframe{margin:0;padding:0;border:0;overflow:hidden}.ui.leaderboard.ad{width:728px;height:90px}.ui[class*="medium rectangle"].ad{width:300px;height:250px}.ui[class*="large rectangle"].ad{width:336px;height:280px}.ui[class*="half page"].ad{width:300px;height:600px}.ui.square.ad{width:250px;height:250px}.ui[class*="small square"].ad{width:200px;height:200px}.ui[class*="small rectangle"].ad{width:180px;height:150px}.ui[class*="vertical rectangle"].ad{width:240px;height:400px}.ui.button.ad{width:120px;height:90px}.ui[class*="square button"].ad{width:125px;height:125px}.ui[class*="small button"].ad{width:120px;height:60px}.ui.skyscraper.ad{width:120px;height:600px}.ui[class*="wide skyscraper"].ad{width:160px}.ui.banner.ad{width:468px;height:60px}.ui[class*="vertical banner"].ad{width:120px;height:240px}.ui[class*="top banner"].ad{width:930px;height:180px}.ui[class*="half banner"].ad{width:234px;height:60px}.ui[class*="large leaderboard"].ad{width:970px;height:90px}.ui.billboard.ad{width:970px;height:250px}.ui.panorama.ad{width:980px;height:120px}.ui.netboard.ad{width:580px;height:400px}.ui[class*="large mobile banner"].ad{width:320px;height:100px}.ui[class*="mobile leaderboard"].ad{width:320px;height:50px}.ui.mobile.ad{display:none}@media only screen and (max-width:767px){.ui.mobile.ad{display:block}}.ui.centered.ad{margin-left:auto;margin-right:auto}.ui.test.ad{position:relative;background:#545454}.ui.test.ad:after{position:absolute;top:50%;left:50%;width:100%;text-align:center;transform:translateX(-50%) translateY(-50%);content:'Ad';color:#fff;font-size:1em;font-weight:700}.ui.mobile.test.ad:after{font-size:.85714286em}.ui.test.ad[data-text]:after{content:attr(data-text)}
/*!
 * # Semantic UI - Item
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.card,.ui.cards>.card{max-width:100%;position:relative;flex-direction:column;width:290px;min-height:0;background:#fff;padding:0;border:0;border-radius:.28571429rem;box-shadow:0 1px 3px 0 #d4d4d5,0 0 0 1px #d4d4d5;transition:box-shadow .1s ease,transform .1s ease;z-index:''}.ui.card{display:flex;margin:1em 0}.ui.card a,.ui.cards>.card a{cursor:pointer}.ui.card:first-child{margin-top:0}.ui.card:last-child{margin-bottom:0}.ui.cards{display:flex;margin:-.875em -.5em;flex-wrap:wrap}.ui.cards>.card{display:flex;margin:.875em .5em;float:none}.ui.card:after,.ui.card>.content:after,.ui.cards:after,.ui.cards>.card>.content:after{display:block;content:" ";height:0;clear:both;overflow:hidden;visibility:hidden}.ui.cards~.ui.cards{margin-top:.875em}.ui.card>:first-child,.ui.cards>.card>:first-child{border-radius:.28571429rem .28571429rem 0 0!important;border-top:none!important}.ui.card>:last-child,.ui.cards>.card>:last-child{border-radius:0 0 .28571429rem .28571429rem!important}.ui.card>:only-child,.ui.cards>.card>:only-child{border-radius:.28571429rem!important}.ui.card>.image,.ui.cards>.card>.image{position:relative;display:block;flex:0 0 auto;padding:0;background:rgba(0,0,0,.05)}.ui.card>.image>img,.ui.cards>.card>.image>img{display:block;width:100%;height:auto;border-radius:inherit}.ui.card>.image:not(.ui)>img,.ui.cards>.card>.image:not(.ui)>img{border:0}.ui.card>.content,.ui.cards>.card>.content{flex-grow:1;border:0;border-top:1px solid rgba(34,36,38,.1);background:0 0;margin:0;padding:1em;box-shadow:none;font-size:1em;border-radius:0}.ui.card>.content>.header,.ui.cards>.card>.content>.header{display:block;margin:'';font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;color:rgba(0,0,0,.85)}.ui.card>.content>.header:not(.ui),.ui.cards>.card>.content>.header:not(.ui){font-weight:700;font-size:1.28571429em;margin-top:-.21425em;line-height:1.28571429em}.ui.card>.content>.header+.description,.ui.card>.content>.meta+.description,.ui.cards>.card>.content>.header+.description,.ui.cards>.card>.content>.meta+.description{margin-top:.5em}.ui.card [class*="left floated"],.ui.cards>.card [class*="left floated"]{float:left}.ui.card [class*="right floated"],.ui.cards>.card [class*="right floated"]{float:right}.ui.card [class*="left aligned"],.ui.cards>.card [class*="left aligned"]{text-align:left}.ui.card [class*="center aligned"],.ui.cards>.card [class*="center aligned"]{text-align:center}.ui.card [class*="right aligned"],.ui.cards>.card [class*="right aligned"]{text-align:right}.ui.card .content img,.ui.cards>.card .content img{display:inline-block;vertical-align:middle;width:''}.ui.card .avatar img,.ui.card img.avatar,.ui.cards>.card .avatar img,.ui.cards>.card img.avatar{width:2em;height:2em;border-radius:500rem}.ui.card>.content>.description,.ui.cards>.card>.content>.description{clear:both;color:rgba(0,0,0,.68)}.ui.card>.content p,.ui.cards>.card>.content p{margin:0 0 .5em}.ui.card>.content p:last-child,.ui.cards>.card>.content p:last-child{margin-bottom:0}.ui.card .meta,.ui.cards>.card .meta{font-size:1em;color:rgba(0,0,0,.4)}.ui.card .meta *,.ui.cards>.card .meta *{margin-right:.3em}.ui.card .meta :last-child,.ui.cards>.card .meta :last-child{margin-right:0}.ui.card .meta [class*="right floated"],.ui.cards>.card .meta [class*="right floated"]{margin-right:0;margin-left:.3em}.ui.card>.content a:not(.ui),.ui.cards>.card>.content a:not(.ui){color:'';transition:color .1s ease}.ui.card>.content a:not(.ui):hover,.ui.cards>.card>.content a:not(.ui):hover{color:''}.ui.card>.content>a.header,.ui.cards>.card>.content>a.header{color:rgba(0,0,0,.85)}.ui.card>.content>a.header:hover,.ui.cards>.card>.content>a.header:hover{color:#1e70bf}.ui.card .meta>a:not(.ui),.ui.cards>.card .meta>a:not(.ui){color:rgba(0,0,0,.4)}.ui.card .meta>a:not(.ui):hover,.ui.cards>.card .meta>a:not(.ui):hover{color:rgba(0,0,0,.87)}.ui.card>.button,.ui.card>.buttons,.ui.cards>.card>.button,.ui.cards>.card>.buttons{margin:0 -1px;width:calc(100% + 2px)}.ui.card .dimmer,.ui.cards>.card .dimmer{background-color:'';z-index:10}.ui.card>.content .star.icon,.ui.cards>.card>.content .star.icon{cursor:pointer;opacity:.75;transition:color .1s ease}.ui.card>.content .star.icon:hover,.ui.cards>.card>.content .star.icon:hover{opacity:1;color:#ffb70a}.ui.card>.content .active.star.icon,.ui.cards>.card>.content .active.star.icon{color:#ffe623}.ui.card>.content .like.icon,.ui.cards>.card>.content .like.icon{cursor:pointer;opacity:.75;transition:color .1s ease}.ui.card>.content .like.icon:hover,.ui.cards>.card>.content .like.icon:hover{opacity:1;color:#ff2733}.ui.card>.content .active.like.icon,.ui.cards>.card>.content .active.like.icon{color:#ff2733}.ui.card>.extra,.ui.cards>.card>.extra{max-width:100%;min-height:0!important;flex-grow:0;border-top:1px solid rgba(0,0,0,.05)!important;position:static;background:0 0;width:auto;margin:0;padding:.75em 1em;top:0;left:0;color:rgba(0,0,0,.4);box-shadow:none;transition:color .1s ease}.ui.card>.extra a:not(.ui),.ui.cards>.card>.extra a:not(.ui){color:rgba(0,0,0,.4)}.ui.card>.extra a:not(.ui):hover,.ui.cards>.card>.extra a:not(.ui):hover{color:#1e70bf}.ui.raised.card,.ui.raised.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)}.ui.link.cards .raised.card:hover,.ui.link.raised.card:hover,.ui.raised.cards a.card:hover,a.ui.raised.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 4px 0 rgba(34,36,38,.15),0 2px 10px 0 rgba(34,36,38,.25)}.ui.centered.cards{justify-content:center}.ui.centered.card{margin-left:auto;margin-right:auto}.ui.fluid.card{width:100%;max-width:9999px}.ui.cards a.card,.ui.link.card,.ui.link.cards .card,a.ui.card{transform:none}.ui.cards a.card:hover,.ui.link.card:hover,.ui.link.cards .card:hover,a.ui.card:hover{cursor:pointer;z-index:5;background:#fff;border:0;box-shadow:0 1px 3px 0 #bcbdbd,0 0 0 1px #d4d4d5;transform:translateY(-3px)}.ui.cards>.red.card,.ui.red.card,.ui.red.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #db2828,0 1px 3px 0 #d4d4d5}.ui.cards>.red.card:hover,.ui.red.card:hover,.ui.red.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #d01919,0 1px 3px 0 #bcbdbd}.ui.cards>.orange.card,.ui.orange.card,.ui.orange.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f2711c,0 1px 3px 0 #d4d4d5}.ui.cards>.orange.card:hover,.ui.orange.card:hover,.ui.orange.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #f26202,0 1px 3px 0 #bcbdbd}.ui.cards>.yellow.card,.ui.yellow.card,.ui.yellow.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #fbbd08,0 1px 3px 0 #d4d4d5}.ui.cards>.yellow.card:hover,.ui.yellow.card:hover,.ui.yellow.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #eaae00,0 1px 3px 0 #bcbdbd}.ui.cards>.olive.card,.ui.olive.card,.ui.olive.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #b5cc18,0 1px 3px 0 #d4d4d5}.ui.cards>.olive.card:hover,.ui.olive.card:hover,.ui.olive.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a7bd0d,0 1px 3px 0 #bcbdbd}.ui.cards>.green.card,.ui.green.card,.ui.green.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #21ba45,0 1px 3px 0 #d4d4d5}.ui.cards>.green.card:hover,.ui.green.card:hover,.ui.green.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #16ab39,0 1px 3px 0 #bcbdbd}.ui.cards>.teal.card,.ui.teal.card,.ui.teal.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #00b5ad,0 1px 3px 0 #d4d4d5}.ui.cards>.teal.card:hover,.ui.teal.card:hover,.ui.teal.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #009c95,0 1px 3px 0 #bcbdbd}.ui.blue.card,.ui.blue.cards>.card,.ui.cards>.blue.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #2185d0,0 1px 3px 0 #d4d4d5}.ui.blue.card:hover,.ui.blue.cards>.card:hover,.ui.cards>.blue.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1678c2,0 1px 3px 0 #bcbdbd}.ui.cards>.violet.card,.ui.violet.card,.ui.violet.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #6435c9,0 1px 3px 0 #d4d4d5}.ui.cards>.violet.card:hover,.ui.violet.card:hover,.ui.violet.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #5829bb,0 1px 3px 0 #bcbdbd}.ui.cards>.purple.card,.ui.purple.card,.ui.purple.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a333c8,0 1px 3px 0 #d4d4d5}.ui.cards>.purple.card:hover,.ui.purple.card:hover,.ui.purple.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #9627ba,0 1px 3px 0 #bcbdbd}.ui.cards>.pink.card,.ui.pink.card,.ui.pink.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e03997,0 1px 3px 0 #d4d4d5}.ui.cards>.pink.card:hover,.ui.pink.card:hover,.ui.pink.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #e61a8d,0 1px 3px 0 #bcbdbd}.ui.brown.card,.ui.brown.cards>.card,.ui.cards>.brown.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #a5673f,0 1px 3px 0 #d4d4d5}.ui.brown.card:hover,.ui.brown.cards>.card:hover,.ui.cards>.brown.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #975b33,0 1px 3px 0 #bcbdbd}.ui.cards>.grey.card,.ui.grey.card,.ui.grey.cards>.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #767676,0 1px 3px 0 #d4d4d5}.ui.cards>.grey.card:hover,.ui.grey.card:hover,.ui.grey.cards>.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #838383,0 1px 3px 0 #bcbdbd}.ui.black.card,.ui.black.cards>.card,.ui.cards>.black.card{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #1b1c1d,0 1px 3px 0 #d4d4d5}.ui.black.card:hover,.ui.black.cards>.card:hover,.ui.cards>.black.card:hover{box-shadow:0 0 0 1px #d4d4d5,0 2px 0 0 #27292a,0 1px 3px 0 #bcbdbd}.ui.one.cards{margin-left:0;margin-right:0}.ui.one.cards>.card{width:100%}.ui.three.cards,.ui.two.cards{margin-left:-1em;margin-right:-1em}.ui.three.cards>.card,.ui.two.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.three.cards>.card{width:calc(33.33333333% - 2em)}.ui.five.cards,.ui.four.cards,.ui.six.cards{margin-left:-.75em;margin-right:-.75em}.ui.four.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.five.cards>.card,.ui.six.cards>.card{width:calc(20% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.six.cards>.card{width:calc(16.66666667% - 1.5em)}.ui.eight.cards,.ui.nine.cards,.ui.seven.cards,.ui.ten.cards{margin-left:-.5em;margin-right:-.5em}.ui.seven.cards>.card{width:calc(14.28571429% - 1em);margin-left:.5em;margin-right:.5em}.ui.eight.cards>.card,.ui.nine.cards>.card{width:calc(12.5% - 1em);margin-left:.5em;margin-right:.5em;font-size:11px}.ui.nine.cards>.card{width:calc(11.11111111% - 1em);font-size:10px}.ui.ten.cards>.card{width:calc(10% - 1em);margin-left:.5em;margin-right:.5em}@media only screen and (max-width:767px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards>.card{width:100%;margin-left:0;margin-right:0}.ui.eight.doubling.cards,.ui.five.doubling.cards,.ui.four.doubling.cards,.ui.nine.doubling.cards,.ui.seven.doubling.cards,.ui.six.doubling.cards,.ui.ten.doubling.cards,.ui.three.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.five.doubling.cards>.card,.ui.four.doubling.cards>.card,.ui.six.doubling.cards>.card,.ui.three.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards>.card,.ui.nine.doubling.cards>.card,.ui.seven.doubling.cards>.card,.ui.ten.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}}@media only screen and (min-width:768px) and (max-width:991px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards>.card{width:100%;margin-left:0;margin-right:0}.ui.five.doubling.cards,.ui.four.doubling.cards,.ui.six.doubling.cards,.ui.three.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.four.doubling.cards>.card,.ui.three.doubling.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.five.doubling.cards>.card,.ui.six.doubling.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards,.ui.nine.doubling.cards,.ui.ten.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.eight.doubling.cards>.card,.ui.nine.doubling.cards>.card,.ui.ten.doubling.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.ten.doubling.cards>.card{width:calc(20% - 1.5em)}}@media only screen and (max-width:767px){.ui.stackable.cards{display:block!important}.ui.stackable.cards .card:first-child{margin-top:0!important}.ui.stackable.cards>.card{display:block!important;height:auto!important;margin:1em;padding:0!important;width:calc(100% - 2em)!important}}.ui.cards>.card{font-size:1em}
/*!
 * # Semantic UI - Comment
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.comments{margin:1.5em 0;max-width:650px;font-size:1rem}.ui.comments:first-child{margin-top:0}.ui.comments:last-child{margin-bottom:0}.ui.comments .comment{position:relative;background:0 0;margin:.5em 0 0;padding:.5em 0 0;border:0;border-top:none;line-height:1.2}.ui.comments .comment:first-child{margin-top:0;padding-top:0}.ui.comments .comment .comments{margin:0 0 .5em .5em;padding:1em 0 1em 1em}.ui.comments .comment .comments:before{position:absolute;top:0;left:0}.ui.comments .comment .comments .comment{border:0;border-top:none;background:0 0}.ui.comments .comment .avatar{display:block;width:2.5em;height:auto;float:left;margin:.2em 0 0}.ui.comments .comment .avatar img,.ui.comments .comment img.avatar{display:block;margin:0 auto;width:100%;height:100%;border-radius:.25rem}.ui.comments .comment>.content{display:block}.ui.comments .comment>.avatar~.content{margin-left:3.5em}.ui.comments .comment .author{font-size:1em;color:rgba(0,0,0,.87);font-weight:700}.ui.comments .comment a.author{cursor:pointer}.ui.comments .comment a.author:hover{color:#1e70bf}.ui.comments .comment .metadata{display:inline-block;margin-left:.5em;color:rgba(0,0,0,.4);font-size:.875em}.ui.comments .comment .metadata>*{display:inline-block;margin:0 .5em 0 0}.ui.comments .comment .actions a:last-child,.ui.comments .comment .metadata>:last-child{margin-right:0}.ui.comments .comment .text{margin:.25em 0 .5em;font-size:1em;word-wrap:break-word;color:rgba(0,0,0,.87);line-height:1.3}.ui.comments .comment .actions{font-size:.875em}.ui.comments .comment .actions a{cursor:pointer;display:inline-block;margin:0 .75em 0 0;color:rgba(0,0,0,.4)}.ui.comments .comment .actions a.active,.ui.comments .comment .actions a:hover{color:rgba(0,0,0,.8)}.ui.comments>.reply.form{margin-top:1em}.ui.comments .comment .reply.form{width:100%;margin-top:1em}.ui.comments .reply.form textarea{font-size:1em;height:12em}.ui.collapsed.comments,.ui.comments .collapsed.comment,.ui.comments .collapsed.comments{display:none}.ui.threaded.comments .comment .comments{margin:-1.5em 0 -1em 1.25em;padding:3em 0 2em 2.25em;box-shadow:-1px 0 0 rgba(34,36,38,.15)}.ui.minimal.comments .comment .actions{opacity:0;position:absolute;top:0;right:0;left:auto;transition:opacity .2s ease;transition-delay:.1s}.ui.minimal.comments .comment>.content:hover>.actions{opacity:1}.ui.mini.comments{font-size:.78571429rem}.ui.tiny.comments{font-size:.85714286rem}.ui.small.comments{font-size:.92857143rem}.ui.large.comments{font-size:1.14285714rem}.ui.big.comments{font-size:1.28571429rem}.ui.huge.comments{font-size:1.42857143rem}.ui.massive.comments{font-size:1.71428571rem}
/*!
 * # Semantic UI - Feed
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.feed{margin:1em 0;font-size:1rem}.ui.feed:first-child{margin-top:0}.ui.feed:last-child{margin-bottom:0}.ui.feed>.event{display:flex;flex-direction:row;width:100%;padding:.21428571rem 0;margin:0;background:0 0;border-top:none}.ui.feed>.event:first-child{border-top:0;padding-top:0}.ui.feed>.event:last-child{padding-bottom:0}.ui.feed>.event>.label{display:block;flex:0 0 auto;width:2.5em;height:auto;align-self:stretch;text-align:left}.ui.feed>.event>.label .icon{opacity:1;font-size:1.5em;width:100%;padding:.25em;background:0 0;border:0;border-radius:none;color:rgba(0,0,0,.6)}.ui.feed>.event>.label img{width:100%;height:auto;border-radius:500rem}.ui.feed>.event>.label+.content{margin:.5em 0 .35714286em 1.14285714em}.ui.feed>.event>.content{display:block;flex:1 1 auto;align-self:stretch;text-align:left;word-wrap:break-word}.ui.feed>.event:last-child>.content{padding-bottom:0}.ui.feed>.event>.content a{cursor:pointer}.ui.feed>.event>.content .date{margin:-.5rem 0 0;padding:0;font-weight:400;font-size:1em;font-style:normal;color:rgba(0,0,0,.4)}.ui.feed>.event>.content .summary{margin:0;font-size:1em;font-weight:700;color:rgba(0,0,0,.87)}.ui.feed>.event>.content .summary img{display:inline-block;border-radius:.25em}.ui.feed>.event>.content .user{display:inline-block;font-weight:700;margin-right:0;vertical-align:baseline}.ui.feed>.event>.content .summary img,.ui.feed>.event>.content .user img{margin:-.25em .25em 0 0;width:auto;height:10em;vertical-align:middle}.ui.feed>.event>.content .summary>.date{display:inline-block;float:none;font-weight:400;font-size:.85714286em;font-style:normal;margin:0 0 0 .5em;padding:0;color:rgba(0,0,0,.4)}.ui.feed>.event>.content .extra,.ui.feed>.event>.content .meta{margin:.5em 0 0;background:0 0;padding:0;color:rgba(0,0,0,.87)}.ui.feed>.event>.content .extra.images img{display:inline-block;margin:0 .25em 0 0;width:6em}.ui.feed>.event>.content .extra.text{padding:0;border-left:none;font-size:1em;max-width:500px;line-height:1.4285em}.ui.feed>.event>.content .meta{display:inline-block;font-size:.85714286em;border:0;border-radius:0;box-shadow:none;color:rgba(0,0,0,.6)}.ui.feed>.event>.content .meta>*{position:relative;margin-left:.75em}.ui.feed>.event>.content .meta>:after{content:'';color:rgba(0,0,0,.2);top:0;left:-1em;opacity:1;position:absolute;vertical-align:top}.ui.feed>.event>.content .meta .like{color:'';transition:.2s color ease}.ui.feed>.event>.content .meta .like:hover .icon{color:#ff2733}.ui.feed>.event>.content .meta .active.like .icon{color:#ef404a}.ui.feed>.event>.content .meta>:first-child{margin-left:0}.ui.feed>.event>.content .meta>:first-child::after{display:none}.ui.feed>.event>.content .meta a,.ui.feed>.event>.content .meta>.icon{cursor:pointer;opacity:1;color:rgba(0,0,0,.5);transition:color .1s ease}.ui.feed>.event>.content .meta a:hover,.ui.feed>.event>.content .meta a:hover .icon,.ui.feed>.event>.content .meta>.icon:hover{color:rgba(0,0,0,.95)}.ui.small.feed{font-size:.92857143rem}.ui.large.feed{font-size:1.14285714rem}
/*!
 * # Semantic UI - Item
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.items>.item{display:flex;margin:1em 0;width:100%;min-height:0;background:0 0;padding:0;border:0;border-radius:0;box-shadow:none;transition:box-shadow .1s ease;z-index:''}.ui.items>.item a{cursor:pointer}.ui.items{margin:1.5em 0}.ui.items:first-child{margin-top:0!important}.ui.items:last-child{margin-bottom:0!important}.ui.items>.item .extra:after,.ui.items>.item:after,.ui.items>.item>.content:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item:first-child{margin-top:0}.ui.items>.item:last-child,.ui.items>.item>.content p:last-child{margin-bottom:0}.ui.items>.item>.image{position:relative;flex:0 0 auto;display:block;float:none;margin:0;padding:0;max-height:'';align-self:top}.ui.items>.item>.image>img{display:block;width:100%;height:auto;border-radius:.125rem;border:0}.ui.items>.item>.image:only-child>img{border-radius:0}.ui.items>.item>.content{display:block;flex:1 1 auto;background:0 0;margin:0;padding:0;box-shadow:none;font-size:1em;border:0;border-radius:0}.ui.items>.item>.image+.content{min-width:0;width:auto;display:block;margin-left:0;align-self:top;padding-left:1.5em}.ui.items>.item>.content>.header{display:inline-block;margin:-.21425em 0 0;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;font-weight:700;color:rgba(0,0,0,.85)}.ui.items>.item>.content>.header:not(.ui){font-size:1.28571429em}.ui.items>.item [class*="left floated"]{float:left}.ui.items>.item [class*="right floated"]{float:right}.ui.items>.item .content img{align-self:middle;width:''}.ui.items>.item .avatar img,.ui.items>.item img.avatar{width:'';height:'';border-radius:500rem}.ui.items>.item>.content>.description{margin-top:.6em;max-width:auto;font-size:1em;line-height:1.4285em;color:rgba(0,0,0,.87)}.ui.items>.item>.content p{margin:0 0 .5em}.ui.items>.item .meta{margin:.5em 0;font-size:1em;line-height:1em;color:rgba(0,0,0,.6)}.ui.items>.item .meta *{margin-right:.3em}.ui.items>.item .meta :last-child{margin-right:0}.ui.items>.item .meta [class*="right floated"]{margin-right:0;margin-left:.3em}.ui.items>.item>.content a:not(.ui){color:'';transition:color .1s ease}.ui.items>.item>.content a:not(.ui):hover{color:''}.ui.items>.item>.content>a.header{color:rgba(0,0,0,.85)}.ui.items>.item>.content>a.header:hover{color:#1e70bf}.ui.items>.item .meta>a:not(.ui){color:rgba(0,0,0,.4)}.ui.items>.item .meta>a:not(.ui):hover{color:rgba(0,0,0,.87)}.ui.items>.item>.content .favorite.icon,.ui.items>.item>.content .like.icon{cursor:pointer;opacity:.75;transition:color .1s ease}.ui.items>.item>.content .favorite.icon:hover{opacity:1;color:#ffb70a}.ui.items>.item>.content .active.favorite.icon{color:#ffe623}.ui.items>.item>.content .like.icon:hover{opacity:1;color:#ff2733}.ui.items>.item>.content .active.like.icon{color:#ff2733}.ui.items>.item .extra{display:block;position:relative;background:0 0;margin:.5rem 0 0;width:100%;padding:0;top:0;left:0;color:rgba(0,0,0,.4);box-shadow:none;transition:color .1s ease;border-top:none}.ui.items>.item .extra>*{margin:.25rem .5rem .25rem 0}.ui.items>.item .extra>[class*="right floated"]{margin:.25rem 0 .25rem .5rem}.ui.items>.item>.image:not(.ui){width:175px}@media only screen and (min-width:768px) and (max-width:991px){.ui.items>.item{margin:1em 0}.ui.items>.item>.image:not(.ui){width:150px}.ui.items>.item>.image+.content{display:block;padding:0 0 0 1em}}@media only screen and (max-width:767px){.ui.items:not(.unstackable)>.item{flex-direction:column;margin:2em 0}.ui.items:not(.unstackable)>.item>.image{display:block;margin-left:auto;margin-right:auto}.ui.items:not(.unstackable)>.item>.image,.ui.items:not(.unstackable)>.item>.image>img{max-width:100%!important;width:auto!important;max-height:250px!important}.ui.items:not(.unstackable)>.item>.image+.content{display:block;padding:1.5em 0 0}}.ui.items>.item>.image+[class*="top aligned"].content{align-self:flex-start}.ui.items>.item>.image+[class*="middle aligned"].content{align-self:center}.ui.items>.item>.image+[class*="bottom aligned"].content{align-self:flex-end}.ui.relaxed.items>.item{margin:1.5em 0}.ui[class*="very relaxed"].items>.item{margin:2em 0}.ui.divided.items>.item{border-top:1px solid rgba(34,36,38,.15);margin:0;padding:1em 0}.ui.divided.items>.item:first-child{border-top:none;margin-top:0!important;padding-top:0!important}.ui.divided.items>.item:last-child{margin-bottom:0!important;padding-bottom:0!important}.ui.relaxed.divided.items>.item{margin:0;padding:1.5em 0}.ui[class*="very relaxed"].divided.items>.item{margin:0;padding:2em 0}.ui.items a.item:hover,.ui.link.items>.item:hover{cursor:pointer}.ui.items a.item:hover .content .header,.ui.link.items>.item:hover .content .header{color:#1e70bf}.ui.items>.item{font-size:1em}@media only screen and (max-width:767px){.ui.unstackable.items>.item>.image,.ui.unstackable.items>.item>.image>img{width:125px!important}}
/*!
 * # Semantic UI - Statistic
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.statistic{display:inline-flex;flex-direction:column;margin:1em 0;max-width:auto}.ui.statistic+.ui.statistic{margin:0 0 0 1.5em}.ui.statistic:first-child{margin-top:0}.ui.statistic:last-child{margin-bottom:0}.ui.statistics{align-items:flex-start;flex-wrap:wrap;display:flex;margin:1em -1.5em -1em}.ui.statistics>.statistic{display:inline-flex;flex:0 1 auto;flex-direction:column;margin:0 1.5em 1em;max-width:auto}.ui.statistics:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.statistics:first-child{margin-top:0}.ui.statistic>.label,.ui.statistic>.value,.ui.statistics .statistic>.label,.ui.statistics .statistic>.value{font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;text-transform:uppercase;text-align:center}.ui.statistic>.value,.ui.statistics .statistic>.value{line-height:1em;color:#1b1c1d;font-weight:400}.ui.statistic>.label,.ui.statistics .statistic>.label{font-size:1em;font-weight:700;color:rgba(0,0,0,.87)}.ui.statistic>.label~.value,.ui.statistic>.value~.label,.ui.statistics .statistic>.label~.value,.ui.statistics .statistic>.value~.label{margin-top:0}.ui.statistic>.value .icon,.ui.statistics .statistic>.value .icon{opacity:1;width:auto;margin:0}.ui.statistic>.text.value,.ui.statistics .statistic>.text.value{line-height:1em;min-height:2em;font-weight:700;text-align:center}.ui.statistic>.text.value+.label,.ui.statistics .statistic>.text.value+.label{text-align:center}.ui.statistic>.value img,.ui.statistics .statistic>.value img{max-height:3rem;vertical-align:baseline}.ui.eight.statistics,.ui.five.statistics,.ui.four.statistics,.ui.nine.statistics,.ui.one.statistics,.ui.seven.statistics,.ui.six.statistics,.ui.ten.statistics,.ui.three.statistics,.ui.two.statistics{margin:0 0 -1em}.ui.ten.statistics .statistic{min-width:10%;margin:0 0 1em}.ui.nine.statistics .statistic{min-width:11.11111111%;margin:0 0 1em}.ui.eight.statistics .statistic{min-width:12.5%;margin:0 0 1em}.ui.seven.statistics .statistic{min-width:14.28571429%;margin:0 0 1em}.ui.six.statistics .statistic{min-width:16.66666667%;margin:0 0 1em}.ui.five.statistics .statistic{min-width:20%;margin:0 0 1em}.ui.four.statistics .statistic{min-width:25%;margin:0 0 1em}.ui.three.statistics .statistic{min-width:33.33333333%;margin:0 0 1em}.ui.two.statistics .statistic{min-width:50%;margin:0 0 1em}.ui.one.statistics .statistic{min-width:100%;margin:0 0 1em}.ui.horizontal.statistic,.ui.horizontal.statistics .statistic{flex-direction:row;align-items:center}.ui.horizontal.statistics{flex-direction:column;margin:0;max-width:none}.ui.horizontal.statistics .statistic{max-width:none;margin:1em 0}.ui.horizontal.statistic>.text.value,.ui.horizontal.statistics>.statistic>.text.value{min-height:0!important}.ui.horizontal.statistic>.value .icon,.ui.horizontal.statistics .statistic>.value .icon{width:1.18em}.ui.horizontal.statistic>.value,.ui.horizontal.statistics .statistic>.value{display:inline-block;vertical-align:middle}.ui.horizontal.statistic>.label,.ui.horizontal.statistics .statistic>.label{display:inline-block;vertical-align:middle;margin:0 0 0 .75em}.ui.red.statistic>.value,.ui.red.statistics .statistic>.value,.ui.statistics .red.statistic>.value{color:#db2828}.ui.orange.statistic>.value,.ui.orange.statistics .statistic>.value,.ui.statistics .orange.statistic>.value{color:#f2711c}.ui.statistics .yellow.statistic>.value,.ui.yellow.statistic>.value,.ui.yellow.statistics .statistic>.value{color:#fbbd08}.ui.olive.statistic>.value,.ui.olive.statistics .statistic>.value,.ui.statistics .olive.statistic>.value{color:#b5cc18}.ui.green.statistic>.value,.ui.green.statistics .statistic>.value,.ui.statistics .green.statistic>.value{color:#21ba45}.ui.statistics .teal.statistic>.value,.ui.teal.statistic>.value,.ui.teal.statistics .statistic>.value{color:#00b5ad}.ui.blue.statistic>.value,.ui.blue.statistics .statistic>.value,.ui.statistics .blue.statistic>.value{color:#2185d0}.ui.statistics .violet.statistic>.value,.ui.violet.statistic>.value,.ui.violet.statistics .statistic>.value{color:#6435c9}.ui.purple.statistic>.value,.ui.purple.statistics .statistic>.value,.ui.statistics .purple.statistic>.value{color:#a333c8}.ui.pink.statistic>.value,.ui.pink.statistics .statistic>.value,.ui.statistics .pink.statistic>.value{color:#e03997}.ui.brown.statistic>.value,.ui.brown.statistics .statistic>.value,.ui.statistics .brown.statistic>.value{color:#a5673f}.ui.grey.statistic>.value,.ui.grey.statistics .statistic>.value,.ui.statistics .grey.statistic>.value{color:#767676}.ui.inverted.statistic .value,.ui.inverted.statistics .statistic>.value{color:#fff}.ui.inverted.statistic .label,.ui.inverted.statistics .statistic>.label{color:rgba(255,255,255,.9)}.ui.inverted.red.statistic>.value,.ui.inverted.red.statistics .statistic>.value,.ui.statistics .inverted.red.statistic>.value{color:#ff695e}.ui.inverted.orange.statistic>.value,.ui.inverted.orange.statistics .statistic>.value,.ui.statistics .inverted.orange.statistic>.value{color:#ff851b}.ui.inverted.yellow.statistic>.value,.ui.inverted.yellow.statistics .statistic>.value,.ui.statistics .inverted.yellow.statistic>.value{color:#ffe21f}.ui.inverted.olive.statistic>.value,.ui.inverted.olive.statistics .statistic>.value,.ui.statistics .inverted.olive.statistic>.value{color:#d9e778}.ui.inverted.green.statistic>.value,.ui.inverted.green.statistics .statistic>.value,.ui.statistics .inverted.green.statistic>.value{color:#2ecc40}.ui.inverted.teal.statistic>.value,.ui.inverted.teal.statistics .statistic>.value,.ui.statistics .inverted.teal.statistic>.value{color:#6dffff}.ui.inverted.blue.statistic>.value,.ui.inverted.blue.statistics .statistic>.value,.ui.statistics .inverted.blue.statistic>.value{color:#54c8ff}.ui.inverted.violet.statistic>.value,.ui.inverted.violet.statistics .statistic>.value,.ui.statistics .inverted.violet.statistic>.value{color:#a291fb}.ui.inverted.purple.statistic>.value,.ui.inverted.purple.statistics .statistic>.value,.ui.statistics .inverted.purple.statistic>.value{color:#dc73ff}.ui.inverted.pink.statistic>.value,.ui.inverted.pink.statistics .statistic>.value,.ui.statistics .inverted.pink.statistic>.value{color:#ff8edf}.ui.inverted.brown.statistic>.value,.ui.inverted.brown.statistics .statistic>.value,.ui.statistics .inverted.brown.statistic>.value{color:#d67c1c}.ui.inverted.grey.statistic>.value,.ui.inverted.grey.statistics .statistic>.value,.ui.statistics .inverted.grey.statistic>.value{color:#dcddde}.ui[class*="left floated"].statistic{float:left;margin:0 2em 1em 0}.ui[class*="right floated"].statistic{float:right;margin:0 0 1em 2em}.ui.floated.statistic:last-child{margin-bottom:0}.ui.mini.horizontal.statistic>.value,.ui.mini.horizontal.statistics .statistic>.value,.ui.mini.statistic>.value,.ui.mini.statistics .statistic>.value{font-size:1.5rem!important}.ui.mini.statistic>.text.value,.ui.mini.statistics .statistic>.text.value{font-size:1rem!important}.ui.tiny.horizontal.statistic>.value,.ui.tiny.horizontal.statistics .statistic>.value,.ui.tiny.statistic>.value,.ui.tiny.statistics .statistic>.value{font-size:2rem!important}.ui.tiny.statistic>.text.value,.ui.tiny.statistics .statistic>.text.value{font-size:1rem!important}.ui.small.statistic>.value,.ui.small.statistics .statistic>.value{font-size:3rem!important}.ui.small.horizontal.statistic>.value,.ui.small.horizontal.statistics .statistic>.value{font-size:2rem!important}.ui.small.statistic>.text.value,.ui.small.statistics .statistic>.text.value{font-size:1rem!important}.ui.statistic>.value,.ui.statistics .statistic>.value{font-size:4rem!important}.ui.horizontal.statistic>.value,.ui.horizontal.statistics .statistic>.value{font-size:3rem!important}.ui.statistic>.text.value,.ui.statistics .statistic>.text.value{font-size:2rem!important}.ui.large.statistic>.value,.ui.large.statistics .statistic>.value{font-size:5rem!important}.ui.large.horizontal.statistic>.value,.ui.large.horizontal.statistics .statistic>.value{font-size:4rem!important}.ui.large.statistic>.text.value,.ui.large.statistics .statistic>.text.value{font-size:2.5rem!important}.ui.huge.statistic>.value,.ui.huge.statistics .statistic>.value{font-size:6rem!important}.ui.huge.horizontal.statistic>.value,.ui.huge.horizontal.statistics .statistic>.value{font-size:5rem!important}.ui.huge.statistic>.text.value,.ui.huge.statistics .statistic>.text.value{font-size:2.5rem!important}
/*!
 * # Semantic UI - Accordion
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.accordion,.ui.accordion .accordion{max-width:100%}.ui.accordion .accordion{margin:1em 0 0;padding:0}.ui.accordion .accordion .title,.ui.accordion .title{cursor:pointer}.ui.accordion .title:not(.ui){padding:.5em 0;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;font-size:1em;color:rgba(0,0,0,.87)}.ui.accordion .accordion .title~.content,.ui.accordion .title~.content{display:none}.ui.accordion:not(.styled) .accordion .title~.content:not(.ui),.ui.accordion:not(.styled) .title~.content:not(.ui){margin:'';padding:.5em 0 1em}.ui.accordion:not(.styled) .title~.content:not(.ui):last-child{padding-bottom:0}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{display:inline-block;float:none;opacity:1;width:1.25em;height:1em;margin:0 .25rem 0 0;padding:0;font-size:1em;transition:transform .1s ease,opacity .1s ease;vertical-align:baseline;transform:none}.ui.accordion.menu .item .title{display:block;padding:0}.ui.accordion.menu .item .title>.dropdown.icon{float:right;margin:.21425em 0 0 1em;transform:rotate(180deg)}.ui.accordion .ui.header .dropdown.icon{font-size:1em;margin:0 .25rem 0 0}.ui.accordion .accordion .active.title .dropdown.icon,.ui.accordion .active.title .dropdown.icon,.ui.accordion.menu .item .active.title>.dropdown.icon{transform:rotate(90deg)}.ui.styled.accordion{width:600px}.ui.styled.accordion,.ui.styled.accordion .accordion{border-radius:.28571429rem;background:#fff;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15)}.ui.styled.accordion .accordion .title,.ui.styled.accordion .title{margin:0;padding:.75em 1em;color:rgba(0,0,0,.4);font-weight:700;border-top:1px solid rgba(34,36,38,.15);transition:background .1s ease,color .1s ease}.ui.styled.accordion .accordion .title:first-child,.ui.styled.accordion>.title:first-child{border-top:none}.ui.styled.accordion .accordion .content,.ui.styled.accordion .content{margin:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .title:hover,.ui.styled.accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.accordion .accordion .active.content,.ui.accordion .active.content{display:block}.ui.fluid.accordion,.ui.fluid.accordion .accordion{width:100%}.ui.inverted.accordion .title:not(.ui){color:rgba(255,255,255,.9)}@font-face{font-family:'Accordion';src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');font-weight:400;font-style:normal}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{font-family:Accordion;line-height:1;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.accordion .accordion .title .dropdown.icon:before,.ui.accordion .title .dropdown.icon:before{content:'\f0da'}
/*!
 * # Semantic UI - Checkbox
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.checkbox{position:relative;display:inline-block;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;min-height:17px;font-size:1rem;line-height:17px;min-width:17px}.ui.checkbox input[type=checkbox],.ui.checkbox input[type=radio]{cursor:pointer;position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:3;width:17px;height:17px}.ui.checkbox .box,.ui.checkbox label{cursor:auto;position:relative;display:block;padding-left:1.85714em;outline:0;font-size:1em}.ui.checkbox .box:after,.ui.checkbox .box:before,.ui.checkbox label:after,.ui.checkbox label:before{position:absolute;top:0;left:0;width:17px;height:17px;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease}.ui.checkbox .box:before,.ui.checkbox label:before{content:'';background:#fff;border-radius:.21428571rem;border:1px solid #d4d4d5}.ui.checkbox .box:after,.ui.checkbox label:after{font-size:14px;text-align:center;opacity:0;color:rgba(0,0,0,.87)}.ui.checkbox label,.ui.checkbox+label{color:rgba(0,0,0,.87);transition:color .1s ease}.ui.checkbox+label{vertical-align:middle}.ui.checkbox .box:hover::before,.ui.checkbox label:hover::before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox label:hover,.ui.checkbox+label:hover,.ui.slider.checkbox .box:hover,.ui.slider.checkbox label:hover{color:rgba(0,0,0,.8)}.ui.checkbox .box:active::before,.ui.checkbox label:active::before{background:#f9fafb;border-color:rgba(34,36,38,.35)}.ui.checkbox .box:active::after,.ui.checkbox input:active~label,.ui.checkbox label:active::after{color:rgba(0,0,0,.95)}.ui.checkbox input:focus~.box:before,.ui.checkbox input:focus~label:before{background:#fff;border-color:#96c8da}.ui.checkbox input:focus~.box:after,.ui.checkbox input:focus~label,.ui.checkbox input:focus~label:after{color:rgba(0,0,0,.95)}.ui.checkbox input:checked~.box:before,.ui.checkbox input:checked~label:before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{opacity:1;color:rgba(0,0,0,.95)}.ui.checkbox input:not([type=radio]):indeterminate~.box:before,.ui.checkbox input:not([type=radio]):indeterminate~label:before{background:#fff;border-color:rgba(34,36,38,.35)}.ui.checkbox input:not([type=radio]):indeterminate~.box:after,.ui.checkbox input:not([type=radio]):indeterminate~label:after{opacity:1;color:rgba(0,0,0,.95)}.ui.checkbox input:checked:focus~.box:before,.ui.checkbox input:checked:focus~label:before,.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:before,.ui.checkbox input:not([type=radio]):indeterminate:focus~label:before{background:#fff;border-color:#96c8da}.ui.checkbox input:checked:focus~.box:after,.ui.checkbox input:checked:focus~label:after,.ui.checkbox input:not([type=radio]):indeterminate:focus~.box:after,.ui.checkbox input:not([type=radio]):indeterminate:focus~label:after{color:rgba(0,0,0,.95)}.ui.read-only.checkbox,.ui.read-only.checkbox label{cursor:default}.ui.checkbox input[disabled]~.box:after,.ui.checkbox input[disabled]~label,.ui.disabled.checkbox .box:after,.ui.disabled.checkbox label{cursor:default!important;opacity:.5;color:#000}.ui.checkbox input.hidden{z-index:-1}.ui.checkbox input.hidden+label{cursor:pointer;user-select:none}.ui.radio.checkbox{min-height:15px}.ui.radio.checkbox .box,.ui.radio.checkbox label{padding-left:1.85714em}.ui.radio.checkbox .box:before,.ui.radio.checkbox label:before{content:'';transform:none;width:15px;height:15px;border-radius:500rem;top:1px;left:0}.ui.radio.checkbox .box:after,.ui.radio.checkbox label:after{border:0;content:''!important;line-height:15px;top:1px;left:0;width:15px;height:15px;border-radius:500rem;transform:scale(.46666667);background-color:rgba(0,0,0,.87)}.ui.radio.checkbox input:focus~.box:before,.ui.radio.checkbox input:focus~label:before{background-color:#fff}.ui.radio.checkbox input:focus~.box:after,.ui.radio.checkbox input:focus~label:after{background-color:rgba(0,0,0,.95)}.ui.radio.checkbox input:indeterminate~.box:after,.ui.radio.checkbox input:indeterminate~label:after{opacity:0}.ui.radio.checkbox input:checked~.box:before,.ui.radio.checkbox input:checked~label:before{background-color:#fff}.ui.radio.checkbox input:checked~.box:after,.ui.radio.checkbox input:checked~label:after{background-color:rgba(0,0,0,.95)}.ui.radio.checkbox input:focus:checked~.box:before,.ui.radio.checkbox input:focus:checked~label:before{background-color:#fff}.ui.radio.checkbox input:focus:checked~.box:after,.ui.radio.checkbox input:focus:checked~label:after{background-color:rgba(0,0,0,.95)}.ui.slider.checkbox{min-height:1.25rem}.ui.slider.checkbox input{width:3.5rem;height:1.25rem}.ui.slider.checkbox .box,.ui.slider.checkbox label{padding-left:4.5rem;line-height:1rem;color:rgba(0,0,0,.4)}.ui.slider.checkbox .box:before,.ui.slider.checkbox label:before{display:block;position:absolute;content:'';border:0!important;left:0;z-index:1;top:.4rem;background-color:rgba(0,0,0,.05);width:3.5rem;height:.21428571rem;transform:none;border-radius:500rem;transition:background .3s ease}.ui.slider.checkbox .box:after,.ui.slider.checkbox label:after{background:#fff linear-gradient(transparent,rgba(0,0,0,.05));position:absolute;content:''!important;opacity:1;z-index:2;border:0;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;width:1.5rem;height:1.5rem;top:-.25rem;left:0;transform:none;border-radius:500rem;transition:left .3s ease}.ui.slider.checkbox input:focus~.box:before,.ui.slider.checkbox input:focus~label:before{background-color:rgba(0,0,0,.15);border:0}.ui.slider.checkbox .box:hover::before,.ui.slider.checkbox label:hover::before{background:rgba(0,0,0,.15)}.ui.slider.checkbox input:checked~.box,.ui.slider.checkbox input:checked~label{color:rgba(0,0,0,.95)!important}.ui.slider.checkbox input:checked~.box:before,.ui.slider.checkbox input:checked~label:before{background-color:#545454!important}.ui.slider.checkbox input:checked~.box:after,.ui.slider.checkbox input:checked~label:after{left:2rem}.ui.slider.checkbox input:focus:checked~.box,.ui.slider.checkbox input:focus:checked~label,.ui.toggle.checkbox input:focus:checked~.box,.ui.toggle.checkbox input:focus:checked~label{color:rgba(0,0,0,.95)!important}.ui.slider.checkbox input:focus:checked~.box:before,.ui.slider.checkbox input:focus:checked~label:before{background-color:#000!important}.ui.toggle.checkbox{min-height:1.5rem}.ui.toggle.checkbox input{width:3.5rem;height:1.5rem}.ui.toggle.checkbox .box,.ui.toggle.checkbox label{min-height:1.5rem;padding-left:4.5rem;color:rgba(0,0,0,.87)}.ui.toggle.checkbox label{padding-top:.15em}.ui.toggle.checkbox .box:before,.ui.toggle.checkbox label:before{display:block;position:absolute;content:'';z-index:1;transform:none;border:0;top:0;background:rgba(0,0,0,.05);box-shadow:none;width:3.5rem;height:1.5rem;border-radius:500rem}.ui.toggle.checkbox .box:after,.ui.toggle.checkbox label:after{background:#fff linear-gradient(transparent,rgba(0,0,0,.05));position:absolute;content:''!important;opacity:1;z-index:2;border:0;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;width:1.5rem;height:1.5rem;top:0;left:0;border-radius:500rem;transition:background .3s ease,left .3s ease}.ui.toggle.checkbox input~.box:after,.ui.toggle.checkbox input~label:after{left:-.05rem;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset}.ui.toggle.checkbox input:focus~.box:before,.ui.toggle.checkbox input:focus~label:before{background-color:rgba(0,0,0,.15);border:0}.ui.toggle.checkbox .box:hover::before,.ui.toggle.checkbox label:hover::before{background-color:rgba(0,0,0,.15);border:0}.ui.toggle.checkbox input:checked~.box,.ui.toggle.checkbox input:checked~label{color:rgba(0,0,0,.95)!important}.ui.toggle.checkbox input:checked~.box:before,.ui.toggle.checkbox input:checked~label:before{background-color:#2185d0!important}.ui.toggle.checkbox input:checked~.box:after,.ui.toggle.checkbox input:checked~label:after{left:2.15rem;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset}.ui.toggle.checkbox input:focus:checked~.box:before,.ui.toggle.checkbox input:focus:checked~label:before{background-color:#0d71bb!important}.ui.fitted.checkbox .box,.ui.fitted.checkbox label{padding-left:0!important}.ui.fitted.slider.checkbox,.ui.fitted.toggle.checkbox{width:3.5rem}@font-face{font-family:'Checkbox';src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype')}.ui.checkbox .box:after,.ui.checkbox label:after{font-family:'Checkbox'}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{content:'\e800'}.ui.checkbox input:indeterminate~.box:after,.ui.checkbox input:indeterminate~label:after{font-size:12px;content:'\e801'}
/*!
 * # Semantic UI - Dimmer
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.dimmable:not(body){position:relative}.ui.dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;padding:1em;background-color:rgba(0,0,0,.85);opacity:0;line-height:1;animation-fill-mode:both;animation-duration:.5s;transition:background-color .5s linear;flex-direction:column;align-items:center;justify-content:center;user-select:none;will-change:opacity;z-index:1000}.ui.dimmer>.content{user-select:text;color:#fff}.ui.segment>.ui.dimmer{border-radius:inherit!important}.ui.dimmer:not(.inverted)::-webkit-scrollbar-track{background:rgba(255,255,255,.1)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:window-inactive{background:rgba(255,255,255,.15)}.ui.dimmer:not(.inverted)::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.35)}.animating.dimmable:not(body),.dimmed.dimmable:not(body){overflow:hidden}.dimmed.dimmable>.ui.animating.dimmer,.dimmed.dimmable>.ui.visible.dimmer,.ui.active.dimmer{display:flex;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.dimmed.dimmable>.ui.animating.legacy.dimmer,.dimmed.dimmable>.ui.visible.legacy.dimmer,.ui.active.legacy.dimmer{display:block}.ui[class*="top aligned"].dimmer{justify-content:flex-start}.ui[class*="bottom aligned"].dimmer{justify-content:flex-end}.ui.page.dimmer{position:fixed;transform-style:'';perspective:2000px;transform-origin:center center}body.animating.in.dimmable,body.dimmed.dimmable{overflow:hidden}body.dimmable>.dimmer{position:fixed}.blurring.dimmable>:not(.dimmer){filter:blur(0) grayscale(0);transition:800ms filter ease}.blurring.dimmed.dimmable>:not(.dimmer){filter:blur(5px) grayscale(.7)}.blurring.dimmable>.dimmer{background-color:rgba(0,0,0,.6)}.blurring.dimmable>.inverted.dimmer{background-color:rgba(255,255,255,.6)}.ui.dimmer>.top.aligned.content>*{vertical-align:top}.ui.dimmer>.bottom.aligned.content>*{vertical-align:bottom}.dimmed.dimmable>.ui.simple.inverted.dimmer,.ui.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.inverted.dimmer>.content>*{color:#fff}.ui.simple.dimmer{display:block;overflow:hidden;opacity:1;width:0%;height:0%;z-index:-100}.dimmed.dimmable>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background-color:rgba(0,0,0,.85);z-index:1}.ui.simple.dimmer,.ui.simple.inverted.dimmer{background-color:transparent}
/*!
 * # Semantic UI - Dropdown
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
@keyframes dropdown-spin{0%{transform:rotate(0deg)}to{transform:rotate(360deg)}}.ui.dropdown{cursor:pointer;position:relative;display:inline-block;outline:0;text-align:left;transition:box-shadow .1s ease,width .1s ease;-webkit-tap-highlight-color:transparent}.ui.dropdown .menu{cursor:auto;position:absolute;display:none;outline:0;top:100%;min-width:max-content;margin:0;padding:0;background:#fff;font-size:1em;text-shadow:none;text-align:left;box-shadow:0 2px 3px 0 rgba(34,36,38,.15);border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;transition:opacity .1s ease;z-index:11;will-change:transform,opacity}.ui.dropdown .menu>*{white-space:nowrap}.ui.dropdown>input:not(.search):first-child,.ui.dropdown>select{display:none!important}.ui.dropdown>.dropdown.icon{position:relative;font-size:.85714286em;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon{width:auto;float:right;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon+.text{margin-right:1em}.ui.dropdown>.text{display:inline-block;transition:none}.ui.dropdown .menu>.item{position:relative;cursor:pointer;display:block;border:0;height:auto;text-align:left;border-top:none;line-height:1em;color:rgba(0,0,0,.87);padding:.78571429rem 1.14285714rem!important;font-size:1rem;text-transform:none;font-weight:400;box-shadow:none;-webkit-touch-callout:none}.ui.dropdown .menu>.item:first-child{border-top-width:0}.ui.dropdown .menu .item>[class*="right floated"],.ui.dropdown>.text>[class*="right floated"]{float:right!important;margin-right:0!important;margin-left:1em!important}.ui.dropdown .menu .item>[class*="left floated"],.ui.dropdown>.text>[class*="left floated"]{float:left!important;margin-left:0!important;margin-right:1em!important}.ui.dropdown .menu .item>.flag.floated,.ui.dropdown .menu .item>.icon.floated,.ui.dropdown .menu .item>.image.floated,.ui.dropdown .menu .item>img.floated{margin-top:0}.ui.dropdown .menu>.header{margin:1rem 0 .75rem;padding:0 1.14285714rem;color:rgba(0,0,0,.85);font-size:.78571429em;font-weight:700;text-transform:uppercase}.ui.dropdown .menu>.divider{border-top:1px solid rgba(34,36,38,.1);height:0;margin:.5em 0}.ui.dropdown.dropdown .menu>.input{width:auto;display:flex;margin:1.14285714rem .78571429rem;min-width:10rem}.ui.dropdown .menu>.header+.input{margin-top:0}.ui.dropdown .menu>.input:not(.transparent) input{padding:.5em 1em}.ui.dropdown .menu>.input:not(.transparent) .button,.ui.dropdown .menu>.input:not(.transparent) .icon,.ui.dropdown .menu>.input:not(.transparent) .label{padding-top:.5em;padding-bottom:.5em}.ui.dropdown .menu>.item>.description,.ui.dropdown>.text>.description{float:right;margin:0 0 0 1em;color:rgba(0,0,0,.4)}.ui.dropdown .menu>.message{padding:.78571429rem 1.14285714rem;font-weight:400}.ui.dropdown .menu>.message:not(.ui){color:rgba(0,0,0,.4)}.ui.dropdown .menu .menu{top:0!important;left:100%;right:auto;margin:0 0 0 -.5em!important;border-radius:.28571429rem!important;z-index:21!important}.ui.dropdown .menu .menu:after,.ui.dropdown .ui.menu>.item:before,.ui.menu .ui.dropdown .menu>.item:before,.ui.selection.dropdown .menu:after,.ui.selection.dropdown .menu:before{display:none}.ui.dropdown .menu>.item>.flag,.ui.dropdown .menu>.item>.icon,.ui.dropdown .menu>.item>.label,.ui.dropdown>.text>.flag,.ui.dropdown>.text>.icon,.ui.dropdown>.text>.label{margin-top:0}.ui.dropdown .menu>.item>.flag,.ui.dropdown .menu>.item>.icon,.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>.label,.ui.dropdown .menu>.item>img,.ui.dropdown>.text>.flag,.ui.dropdown>.text>.icon,.ui.dropdown>.text>.image,.ui.dropdown>.text>.label,.ui.dropdown>.text>img{margin-left:0;float:none;margin-right:.78571429rem}.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>img,.ui.dropdown>.text>.image,.ui.dropdown>.text>img{display:inline-block;vertical-align:top;width:auto;margin-top:-.5em;margin-bottom:-.5em;max-height:2em}.ui.menu .ui.dropdown .menu .active.item{border-left:none}.ui.buttons>.ui.dropdown:last-child .menu,.ui.menu .right.dropdown.item .menu,.ui.menu .right.menu .dropdown:last-child .menu{left:auto;right:0}.ui.button.dropdown .menu,.ui.label.dropdown .menu{min-width:100%}.ui.dropdown.icon.button>.dropdown.icon{margin:0}.ui.selection.dropdown{cursor:pointer;word-wrap:break-word;line-height:1em;white-space:normal;outline:0;transform:rotateZ(0deg);min-width:14em;min-height:2.71428571em;background:#fff;display:inline-block;padding:.78571429em 2.1em .78571429em 1em;color:rgba(0,0,0,.87);box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;transition:box-shadow .1s ease,width .1s ease}.ui.selection.dropdown.active,.ui.selection.dropdown.visible{z-index:10}select.ui.dropdown{height:38px;padding:.5em;border:1px solid rgba(34,36,38,.15);visibility:visible}.ui.selection.dropdown>.delete.icon,.ui.selection.dropdown>.dropdown.icon,.ui.selection.dropdown>.search.icon{cursor:pointer;position:absolute;width:auto;height:auto;line-height:1.21428571em;top:.78571429em;right:1em;z-index:3;margin:-.78571429em;padding:.91666667em;opacity:.8;transition:opacity .1s ease}.ui.compact.selection.dropdown{min-width:0}.ui.selection.dropdown .menu{overflow-x:hidden;overflow-y:auto;backface-visibility:hidden;-webkit-overflow-scrolling:touch;border-top-width:0!important;width:auto;outline:0;margin:0 -1px;min-width:calc(100% + 2px);width:calc(100% + 2px);border-radius:0 0 .28571429rem .28571429rem;box-shadow:0 2px 3px 0 rgba(34,36,38,.15);transition:opacity .1s ease}.ui.selection.dropdown .menu>.message{padding:.78571429rem 1.14285714rem}@media only screen and (max-width:767px){.ui.selection.dropdown .menu{max-height:8.01428571rem}}@media only screen and (min-width:768px){.ui.selection.dropdown .menu{max-height:10.68571429rem}}@media only screen and (min-width:992px){.ui.selection.dropdown .menu{max-height:16.02857143rem}}@media only screen and (min-width:1920px){.ui.selection.dropdown .menu{max-height:21.37142857rem}}.ui.selection.dropdown .menu>.item{border-top:1px solid #fafafa;padding:.78571429rem 1.14285714rem!important;white-space:normal;word-wrap:normal}.ui.selection.dropdown .menu>.hidden.addition.item{display:none}.ui.selection.dropdown:hover{border-color:rgba(34,36,38,.35);box-shadow:none}.ui.selection.active.dropdown,.ui.selection.active.dropdown .menu{border-color:#96c8da;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.dropdown:focus{border-color:#96c8da;box-shadow:none}.ui.selection.dropdown:focus .menu{border-color:#96c8da;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.visible.dropdown>.text:not(.default){font-weight:400;color:rgba(0,0,0,.8)}.ui.selection.active.dropdown:hover,.ui.selection.active.dropdown:hover .menu{border-color:#96c8da;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.active.selection.dropdown>.dropdown.icon,.ui.visible.selection.dropdown>.dropdown.icon{opacity:'';z-index:3}.ui.active.selection.dropdown{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.active.empty.selection.dropdown{border-radius:.28571429rem!important;box-shadow:none!important}.ui.active.empty.selection.dropdown .menu,.ui.search.dropdown>input.search{border:0!important;box-shadow:none!important}.ui.search.dropdown{min-width:''}.ui.search.dropdown>input.search{background:0 0!important;cursor:text;top:0;left:1px;width:100%;outline:0;-webkit-tap-highlight-color:transparent;padding:inherit;position:absolute;z-index:2}.ui.search.dropdown>.text{cursor:text;position:relative;left:1px;z-index:3}.ui.search.selection.dropdown>input.search,.ui.search.selection.dropdown>span.sizer{line-height:1.21428571em;padding:.67857143em 2.1em .67857143em 1em}.ui.search.selection.dropdown>span.sizer{display:none;white-space:pre}.ui.search.dropdown.active>input.search,.ui.search.dropdown.visible>input.search{cursor:auto}.ui.search.dropdown.active>.text,.ui.search.dropdown.visible>.text{pointer-events:none}.ui.active.search.dropdown input.search:focus+.text .flag,.ui.active.search.dropdown input.search:focus+.text .icon{opacity:.45}.ui.active.search.dropdown input.search:focus+.text{color:rgba(115,115,115,.87)!important}.ui.search.dropdown .menu{overflow-x:hidden;overflow-y:auto;backface-visibility:hidden;-webkit-overflow-scrolling:touch}@media only screen and (max-width:767px){.ui.search.dropdown .menu{max-height:8.01428571rem}}@media only screen and (min-width:768px){.ui.search.dropdown .menu{max-height:10.68571429rem}}@media only screen and (min-width:992px){.ui.search.dropdown .menu{max-height:16.02857143rem}}@media only screen and (min-width:1920px){.ui.search.dropdown .menu{max-height:21.37142857rem}}.ui.multiple.dropdown{padding:.22619048em 2.1em .22619048em .35714286em}.ui.multiple.dropdown .menu{cursor:auto}.ui.multiple.search.dropdown,.ui.multiple.search.dropdown>input.search{cursor:text}.ui.multiple.dropdown>.label{user-select:none;display:inline-block;vertical-align:top;white-space:normal;font-size:1em;padding:.35714286em .78571429em;margin:.14285714rem .28571429rem .14285714rem 0;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.multiple.dropdown .dropdown.icon{margin:'';padding:''}.ui.multiple.dropdown>.text,.ui.multiple.search.dropdown>.text{margin:.45238095em 0 .45238095em .64285714em;line-height:1.21428571em}.ui.multiple.dropdown>.text{max-width:100%;position:static;padding:0}.ui.multiple.dropdown>.label~input.search{margin-left:.14285714em!important}.ui.loading.dropdown.button>i.icon:after,.ui.loading.dropdown.button>i.icon:before,.ui.multiple.dropdown>.label~.text,.ui.multiple.search.dropdown>.label~.text,.ui.simple.dropdown .menu:after,.ui.simple.dropdown .menu:before{display:none}.ui.multiple.search.dropdown>.text{display:inline-block;position:absolute;top:0;left:0;padding:inherit}.ui.multiple.search.dropdown>input.search{position:static;padding:0;max-width:100%;margin:.45238095em 0 .45238095em .64285714em;width:2.2em;line-height:1.21428571em}.ui.inline.dropdown{cursor:pointer;display:inline-block;color:inherit}.ui.inline.dropdown .dropdown.icon{margin:0 .21428571em;vertical-align:baseline}.ui.inline.dropdown>.text{font-weight:700}.ui.inline.dropdown .menu{cursor:auto;margin-top:.21428571em;border-radius:.28571429rem}.ui.dropdown .menu .active.item{background:0 0;font-weight:700;color:rgba(0,0,0,.95);box-shadow:none;z-index:12}.ui.dropdown .menu>.item:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);z-index:13}.ui.loading.dropdown>i.icon{height:1em!important}.ui.loading.selection.dropdown>i.icon{padding:1.5em 1.28571429em!important}.ui.loading.dropdown>i.icon:after,.ui.loading.dropdown>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem}.ui.loading.dropdown>i.icon:before{border:.2em solid rgba(0,0,0,.1)}.ui.loading.dropdown>i.icon:after{box-shadow:0 0 0 1px transparent;animation:dropdown-spin .6s linear;animation-iteration-count:infinite;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em}.ui.default.dropdown:not(.button)>.text,.ui.dropdown:not(.button)>.default.text{color:rgba(191,191,191,.87)}.ui.default.dropdown:not(.button)>input:focus~.text,.ui.dropdown:not(.button)>input:focus~.default.text{color:rgba(115,115,115,.87)}.ui.loading.dropdown>.text{transition:none}.ui.dropdown .loading.menu{display:block;visibility:hidden;z-index:-1}.ui.dropdown>.loading.menu{left:0!important;right:auto!important}.ui.dropdown>.menu .loading.menu{left:100%!important;right:auto!important}.ui.dropdown .menu .selected.item,.ui.dropdown.selected{background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.dropdown>.filtered.text{visibility:hidden}.ui.dropdown .filtered.item{display:none!important}.ui.dropdown.error,.ui.dropdown.error>.default.text,.ui.dropdown.error>.text{color:#9f3a38}.ui.selection.dropdown.error{background:#fff6f6;border-color:#e0b4b4}.ui.dropdown.error>.menu,.ui.dropdown.error>.menu .menu,.ui.multiple.selection.error.dropdown>.label,.ui.selection.dropdown.error:hover{border-color:#e0b4b4}.ui.dropdown.error>.menu>.item{color:#9f3a38}.ui.dropdown.error>.menu>.item:hover{background-color:#fff2f2}.ui.dropdown.error>.menu .active.item{background-color:#fdcfcf}.ui.dropdown>.clear.dropdown.icon{opacity:.8;transition:opacity .1s ease}.ui.dropdown>.clear.dropdown.icon:hover{opacity:1}.ui.disabled.dropdown,.ui.dropdown .menu>.disabled.item{cursor:default;pointer-events:none;opacity:.45}.ui.dropdown .menu{left:0}.ui.dropdown .menu .right.menu,.ui.dropdown .right.menu>.menu{left:100%!important;right:auto!important;border-radius:.28571429rem!important}.ui.dropdown>.left.menu{left:auto!important;right:0!important}.ui.dropdown .menu .left.menu,.ui.dropdown>.left.menu .menu{left:auto;right:100%;margin:0 -.5em 0 0!important;border-radius:.28571429rem!important}.ui.dropdown .item .left.dropdown.icon,.ui.dropdown .left.menu .item .dropdown.icon{width:auto;float:left;margin:0}.ui.dropdown .item .left.dropdown.icon+.text,.ui.dropdown .left.menu .item .dropdown.icon+.text{margin-left:1em;margin-right:0}.ui.upward.dropdown>.menu{top:auto;bottom:100%;box-shadow:0 0 3px 0 rgba(0,0,0,.08);border-radius:.28571429rem .28571429rem 0 0}.ui.dropdown .upward.menu{top:auto!important;bottom:0!important}.ui.simple.upward.active.dropdown,.ui.simple.upward.dropdown:hover{border-radius:.28571429rem .28571429rem 0 0!important}.ui.upward.dropdown.button:not(.pointing):not(.floating).active{border-radius:.28571429rem .28571429rem 0 0}.ui.upward.selection.dropdown .menu{border-top-width:1px!important;border-bottom-width:0!important;box-shadow:0 -2px 3px 0 rgba(0,0,0,.08)}.ui.upward.selection.dropdown:hover{box-shadow:0 0 2px 0 rgba(0,0,0,.05)}.ui.active.upward.selection.dropdown,.ui.upward.selection.dropdown.visible{border-radius:0 0 .28571429rem .28571429rem!important}.ui.upward.selection.dropdown.visible{box-shadow:0 0 3px 0 rgba(0,0,0,.08)}.ui.upward.active.selection.dropdown:hover{box-shadow:0 0 3px 0 rgba(0,0,0,.05)}.ui.upward.active.selection.dropdown:hover .menu{box-shadow:0 -2px 3px 0 rgba(0,0,0,.08)}.ui.dropdown .scrolling.menu{overflow-x:hidden}.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{overflow-y:auto;min-width:100%!important;width:auto!important}.ui.scrolling.dropdown .menu{overflow-x:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch}.ui.dropdown .scrolling.menu{position:static;border:0;box-shadow:none!important;border-radius:0!important;margin:0!important;border-top:1px solid rgba(34,36,38,.15)}.ui.dropdown .scrolling.menu>.item.item.item,.ui.scrolling.dropdown .menu .item.item.item{border-top:none}.ui.dropdown .scrolling.menu .item:first-child,.ui.scrolling.dropdown .menu .item:first-child{border-top:none}.ui.dropdown>.animating.menu .scrolling.menu,.ui.dropdown>.visible.menu .scrolling.menu{display:block}@media all and (-ms-high-contrast:none){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{min-width:calc(100% - 17px)}}@media only screen and (max-width:767px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:10.28571429rem}}@media only screen and (min-width:768px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:15.42857143rem}}@media only screen and (min-width:992px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:20.57142857rem}}@media only screen and (min-width:1920px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:20.57142857rem}}.ui.simple.dropdown .menu{position:absolute;display:block;overflow:hidden;top:-9999px!important;opacity:0;width:0;height:0;transition:opacity .1s ease}.ui.simple.active.dropdown,.ui.simple.dropdown:hover{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.simple.active.dropdown>.menu,.ui.simple.dropdown:hover>.menu{overflow:visible;width:auto;height:auto;top:100%!important;opacity:1}.ui.simple.dropdown:hover>.menu>.item:hover>.menu,.ui.simple.dropdown>.menu>.item:active>.menu{overflow:visible;width:auto;height:auto;top:0!important;left:100%!important;opacity:1}.ui.simple.disabled.dropdown:hover .menu{display:none;height:0;width:0;overflow:hidden}.ui.simple.visible.dropdown>.menu{display:block}.ui.fluid.dropdown{display:block;width:100%;min-width:0}.ui.fluid.dropdown>.dropdown.icon{float:right}.ui.floating.dropdown .menu{left:0;right:auto;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15)!important;border-radius:.28571429rem!important}.ui.floating.dropdown>.menu{margin-top:.5em!important;border-radius:.28571429rem!important}.ui.pointing.dropdown>.menu{top:100%;margin-top:.78571429rem;border-radius:.28571429rem}.ui.pointing.dropdown>.menu:after{display:block;position:absolute;pointer-events:none;content:'';visibility:visible;transform:rotate(45deg);width:.5em;height:.5em;box-shadow:-1px -1px 0 0 rgba(34,36,38,.15);background:#fff;z-index:2;top:-.25em;left:50%;margin:0 0 0 -.25em}.ui.top.left.pointing.dropdown>.menu{top:100%;bottom:auto;left:0;right:auto;margin:1em 0 0}.ui.top.left.pointing.dropdown>.menu:after{top:-.25em;left:1em;right:auto;margin:0;transform:rotate(45deg)}.ui.top.right.pointing.dropdown>.menu{top:100%;bottom:auto;right:0;left:auto;margin:1em 0 0}.ui.top.pointing.dropdown>.left.menu:after,.ui.top.right.pointing.dropdown>.menu:after{top:-.25em;left:auto!important;right:1em!important;margin:0;transform:rotate(45deg)}.ui.left.pointing.dropdown>.menu{top:0;left:100%;right:auto;margin:0 0 0 1em}.ui.left.pointing.dropdown>.menu:after{top:1em;left:-.25em;margin:0;transform:rotate(-45deg)}.ui.left:not(.top):not(.bottom).pointing.dropdown>.left.menu{left:auto!important;right:100%!important;margin:0 1em 0 0}.ui.left:not(.top):not(.bottom).pointing.dropdown>.left.menu:after{top:1em;left:auto;right:-.25em;margin:0;transform:rotate(135deg)}.ui.right.pointing.dropdown>.menu{top:0;left:auto;right:100%;margin:0 1em 0 0}.ui.right.pointing.dropdown>.menu:after{top:1em;left:auto;right:-.25em;margin:0;transform:rotate(135deg)}.ui.bottom.pointing.dropdown>.menu{top:auto;bottom:100%;left:0;right:auto;margin:0 0 1em}.ui.bottom.pointing.dropdown>.menu:after{top:auto;bottom:-.25em;right:auto;margin:0;transform:rotate(-135deg)}.ui.bottom.pointing.dropdown>.menu .menu{top:auto!important;bottom:0!important}.ui.bottom.left.pointing.dropdown>.menu{left:0;right:auto}.ui.bottom.left.pointing.dropdown>.menu:after{left:1em;right:auto}.ui.bottom.right.pointing.dropdown>.menu{right:0;left:auto}.ui.bottom.right.pointing.dropdown>.menu:after{left:auto;right:1em}.ui.pointing.upward.dropdown .menu,.ui.top.pointing.upward.dropdown .menu{top:auto!important;bottom:100%!important;margin:0 0 .78571429rem;border-radius:.28571429rem}.ui.pointing.upward.dropdown .menu:after,.ui.top.pointing.upward.dropdown .menu:after{top:100%!important;bottom:auto!important;box-shadow:1px 1px 0 0 rgba(34,36,38,.15);margin:-.25em 0 0}.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu{top:auto!important;bottom:0!important;margin:0 1em 0 0}.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after,.ui.right.pointing.upward.dropdown:not(.top):not(.bottom) .menu:after{top:auto!important;bottom:0!important;margin:0 0 1em;box-shadow:-1px -1px 0 0 rgba(34,36,38,.15)}.ui.left.pointing.upward.dropdown:not(.top):not(.bottom) .menu{top:auto!important;bottom:0!important;margin:0 0 0 1em}@font-face{font-family:'Dropdown';src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAVgAA8AAAAACFAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAchGgaq0dERUYAAAF0AAAAHAAAAB4AJwAPT1MvMgAAAZAAAABDAAAAVnW4TJdjbWFwAAAB1AAAAEsAAAFS8CcaqmN2dCAAAAIgAAAABAAAAAQAEQFEZ2FzcAAAAiQAAAAIAAAACP//AANnbHlmAAACLAAAAQoAAAGkrRHP9WhlYWQAAAM4AAAAMAAAADYPK8YyaGhlYQAAA2gAAAAdAAAAJANCAb1obXR4AAADiAAAACIAAAAiCBkAOGxvY2EAAAOsAAAAFAAAABQBnAIybWF4cAAAA8AAAAAfAAAAIAEVAF5uYW1lAAAD4AAAATAAAAKMFGlj5HBvc3QAAAUQAAAARgAAAHJoedjqd2ViZgAABVgAAAAGAAAABrO7W5UAAAABAAAAANXulPUAAAAA1r4hgAAAAADXu2Q1eNpjYGRgYOABYjEgZmJgBEIOIGYB8xgAA/YAN3jaY2BktGOcwMDKwMI4jTGNgYHBHUp/ZZBkaGFgYGJgZWbACgLSXFMYHFT/fLjFeOD/AQY9xjMMbkBhRpAcAN48DQYAeNpjYGBgZoBgGQZGBhDwAfIYwXwWBgMgzQGETAwMqn8+8H649f8/lHX9//9b7Pzf+fWgusCAkY0BzmUE6gHpQwGMDMMeAACbxg7SAAARAUQAAAAB//8AAnjadZBPSsNAGMXfS+yMqYgOhpSuSlKadmUhiVEhEMQzFF22m17BbbvzCh5BXCUn6EG8gjeQ4DepwYo4i+/ffL95j4EDA+CFC7jQuKyIeVHrI3wkleq9F7XrSInKteOeHdda8bOoaeepSc00NWPz/LRec9G8GabyGtEdF7h19z033GAMTK7zbM42xNEZpzYof0RtQ5CUHAQJ73OtVyutc+3b7Ou//b8XNlsPx3jgjUifABdhEohKJJL5iM5p39uqc7X1+sRQSqmGrUVhlsJ4lpmEUVwyT8SUYtg0P9DyNzPADDs+tjrGV6KRCRfsui3eHcL4/p8ZXvfMlcnEU+CLv7hDykOP+AKTPTxbAAB42mNgZGBgAGKuf5KP4vltvjLIMzGAwLV9ig0g+vruFFMQzdjACOJzMIClARh0CTJ42mNgZGBgPPD/AJD8wgAEjA0MjAyogAMAbOQEAQAAAAC7ABEAAAAAAKoAAAH0AAABgAAAAUAACAFAAAgAwAAXAAAAAAAAACoAKgAqADIAbACGAKAAugDSeNpjYGRgYOBkUGFgYgABEMkFhAwM/xn0QAIADdUBdAB42qWQvUoDQRSFv3GjaISUQaymSmGxJoGAsRC0iPYLsU50Y6IxrvlRtPCJJKUPIBb+PIHv4EN4djKuKAqCDHfmu+feOdwZoMCUAJNbAlYUMzaUlM14jjxbngOq7HnOia89z1Pk1vMCa9x7ztPkzfMyJbPj+ZGi6Xp+omxuPD+zaD7meaFg7mb8GrBqHmhwxoAxlm0uiRkpP9X5m26pKRoMxTGR1D49Dv/Yb/91o6l8qL6eu5n2hZQzn68utR9m3FU2cB4t9cdSLG2utI+44Eh/P9bqKO+oJ/WxmXssj77YkrjasZQD6SFddythk3Wtzrf+UF2p076Udla1VNzsERP3kkjVRKel7mp1udXYcHtZSlV7RfmJe1GiFWveluaeKD5/MuJcSk8Tpm/vvwPIbmJleNpjYGKAAFYG7ICTgYGRiZGZkYWRlZGNkZ2Rg5GTLT2nsiDDEEIZsZfmZRqZujmDaDcDAxcI7WIOpS2gtCWUdgQAZkcSmQAAAAFblbO6AAA=) format('woff');font-weight:400;font-style:normal}.ui.dropdown>.dropdown.icon{font-family:'Dropdown';line-height:1;height:1em;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center;width:auto}.ui.dropdown>.dropdown.icon:before{content:'\f0d7'}.ui.dropdown .menu .item .dropdown.icon:before{content:'\f0da'}.ui.dropdown .item .left.dropdown.icon:before,.ui.dropdown .left.menu .item .dropdown.icon:before{content:"\f0d9"}.ui.vertical.menu .dropdown.item>.dropdown.icon:before{content:"\f0da"}.ui.dropdown>.clear.icon:before{content:"\f00d"}
/*!
 * # Semantic UI - Video
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.embed{position:relative;max-width:100%;height:0;overflow:hidden;background:#dcddde;padding-bottom:56.25%}.ui.embed embed,.ui.embed iframe,.ui.embed object{position:absolute;border:0;width:100%;height:100%;top:0;left:0;margin:0;padding:0}.ui.active.embed>.icon,.ui.active.embed>.placeholder,.ui.embed>.embed{display:none}.ui.embed>.placeholder{cursor:pointer;display:block;background-color:radial-gradient(transparent 45%,rgba(0,0,0,.3))}.ui.embed>.icon,.ui.embed>.icon:after,.ui.embed>.placeholder{position:absolute;top:0;left:0;width:100%;height:100%}.ui.embed>.icon{cursor:pointer;z-index:2}.ui.embed>.icon:after{z-index:3;content:'';background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:.5;transition:opacity .5s ease}.ui.embed>.icon:before{position:absolute;top:50%;left:50%;transform:translateX(-50%) translateY(-50%);color:#fff;font-size:6rem;text-shadow:0 2px 10px rgba(34,36,38,.2);transition:opacity .5s ease,color .5s ease;z-index:10}.ui.embed .icon:hover:after{background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:1}.ui.embed .icon:hover:before{color:#fff}.ui.active.embed>.embed{display:block}.ui.square.embed{padding-bottom:100%}.ui[class*="4:3"].embed{padding-bottom:75%}.ui[class*="16:9"].embed{padding-bottom:56.25%}.ui[class*="21:9"].embed{padding-bottom:42.85714286%}
/*!
 * # Semantic UI - Modal
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.modal{position:absolute;display:none;z-index:1001;text-align:left;background:#fff;border:0;box-shadow:1px 3px 3px 0 rgba(0,0,0,.2),1px 3px 15px 2px rgba(0,0,0,.2);transform-origin:50% 25%;flex:0 0 auto;border-radius:.28571429rem;user-select:text;will-change:top,left,margin,transform,opacity}.ui.modal>.icon:first-child+*,.ui.modal>:first-child:not(.icon){border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.modal>:last-child{border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.modal>.close{cursor:pointer;position:absolute;top:-2.5rem;right:-2.5rem;z-index:1;opacity:.8;font-size:1.25em;color:#fff;width:2.25rem;height:2.25rem;padding:.625rem 0 0}.ui.modal>.close:hover{opacity:1}.ui.modal>.header{display:block;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;background:#fff;margin:0;padding:1.25rem 1.5rem;box-shadow:none;color:rgba(0,0,0,.85);border-bottom:1px solid rgba(34,36,38,.15)}.ui.modal>.header:not(.ui){font-size:1.42857143rem;line-height:1.28571429em;font-weight:700}.ui.modal>.content{display:block;width:100%;font-size:1em;line-height:1.4;padding:1.5rem;background:#fff}.ui.modal>.image.content{display:flex;flex-direction:row}.ui.modal>.content>.image{display:block;flex:0 1 auto;width:'';align-self:top}.ui.modal>[class*="top aligned"]{align-self:top}.ui.modal>[class*="middle aligned"]{align-self:middle}.ui.modal>[class*=stretched]{align-self:stretch}.ui.modal>.content>.description{display:block;flex:1 0 auto;min-width:0;align-self:top}.ui.modal>.content>.icon+.description,.ui.modal>.content>.image+.description{flex:0 1 auto;min-width:'';width:auto;padding-left:2em}.ui.modal>.content>.image>i.icon{margin:0;opacity:1;width:auto;line-height:1;font-size:8rem}.ui.modal>.actions{background:#f9fafb;padding:1rem;border-top:1px solid rgba(34,36,38,.15);text-align:right}.ui.modal .actions>.button{margin-left:.75em}@media only screen and (max-width:767px){.ui.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.modal{width:88%;margin:0}}@media only screen and (min-width:992px){.ui.modal{width:850px;margin:0}}@media only screen and (min-width:1200px){.ui.modal{width:900px;margin:0}}@media only screen and (min-width:1920px){.ui.modal{width:950px;margin:0}}@media only screen and (max-width:991px){.ui.modal>.header{padding-right:2.25rem}.ui.modal>.close{top:1.0535rem;right:1rem;color:rgba(0,0,0,.87)}}@media only screen and (max-width:767px){.ui.modal>.header{padding:.75rem 2.25rem .75rem 1rem!important}.ui.modal>.content{display:block;padding:1rem!important}.ui.modal>.close{top:.5rem!important;right:.5rem!important}.ui.modal .image.content{flex-direction:column}.ui.modal .content>.image{display:block;max-width:100%;margin:0 auto!important;text-align:center;padding:0 0 1rem!important}.ui.modal>.content>.image>i.icon{font-size:5rem;text-align:center}.ui.modal .content>.description{display:block;width:100%!important;margin:0!important;padding:1rem 0!important;box-shadow:none}.ui.modal>.actions{padding:1rem 1rem 0!important}.ui.modal .actions>.button,.ui.modal .actions>.buttons{margin-bottom:1rem}}.ui.inverted.dimmer>.ui.modal{box-shadow:1px 3px 10px 2px rgba(0,0,0,.2)}.ui.basic.modal{border:0;border-radius:0;box-shadow:none!important;color:#fff}.ui.basic.modal,.ui.basic.modal>.actions,.ui.basic.modal>.content,.ui.basic.modal>.header{background-color:transparent}.ui.basic.modal>.header{color:#fff}.ui.basic.modal>.close{top:1rem;right:1.5rem}.ui.inverted.dimmer>.basic.modal{color:rgba(0,0,0,.87)}.ui.inverted.dimmer>.ui.basic.modal>.header{color:rgba(0,0,0,.85)}.ui.legacy.modal,.ui.legacy.page.dimmer>.ui.modal{top:50%;left:50%}.ui.legacy.page.dimmer>.ui.scrolling.modal,.ui.page.dimmer>.ui.scrolling.legacy.modal,.ui.top.aligned.dimmer>.ui.legacy.modal,.ui.top.aligned.legacy.page.dimmer>.ui.modal{top:auto}@media only screen and (max-width:991px){.ui.basic.modal>.close{color:#fff}}.ui.loading.modal{display:block;visibility:hidden;z-index:-1}.ui.active.modal{display:block}.modals.dimmer[class*="top aligned"] .modal{margin:5vh auto}@media only screen and (max-width:767px){.modals.dimmer[class*="top aligned"] .modal{margin:1rem auto}}.legacy.modals.dimmer[class*="top aligned"]{padding-top:5vh}@media only screen and (max-width:767px){.legacy.modals.dimmer[class*="top aligned"]{padding-top:1rem}}.scrolling.dimmable.dimmed{overflow:hidden}.scrolling.dimmable>.dimmer{justify-content:flex-start;position:fixed}.scrolling.dimmable.dimmed>.dimmer,.scrolling.undetached.dimmable.dimmed{overflow:auto;-webkit-overflow-scrolling:touch}.modals.dimmer .ui.scrolling.modal{margin:1rem auto}.scrolling.undetached.dimmable.dimmed>.dimmer{overflow:hidden}.scrolling.undetached.dimmable .ui.scrolling.modal{position:absolute;left:50%;margin-top:1rem!important}.ui.modal .scrolling.content{max-height:calc(80vh - 10em);overflow:auto}.ui.fullscreen.modal{width:95%!important;margin:1em auto}.ui.fullscreen.modal>.header{padding-right:2.25rem}.ui.fullscreen.modal>.close{top:1.0535rem;right:1rem;color:rgba(0,0,0,.87)}.ui.modal{font-size:1rem}.ui.mini.modal>.header:not(.ui),.ui.small.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.mini.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.mini.modal{width:35.2%;margin:0}}@media only screen and (min-width:992px){.ui.mini.modal{width:340px;margin:0}}@media only screen and (min-width:1200px){.ui.mini.modal{width:360px;margin:0}}@media only screen and (min-width:1920px){.ui.mini.modal{width:380px;margin:0}}@media only screen and (max-width:767px){.ui.tiny.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.tiny.modal{width:52.8%;margin:0}}@media only screen and (min-width:992px){.ui.tiny.modal{width:510px;margin:0}}@media only screen and (min-width:1200px){.ui.tiny.modal{width:540px;margin:0}}@media only screen and (min-width:1920px){.ui.tiny.modal{width:570px;margin:0}}@media only screen and (max-width:767px){.ui.small.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.small.modal{width:70.4%;margin:0}}@media only screen and (min-width:992px){.ui.small.modal{width:680px;margin:0}}@media only screen and (min-width:1200px){.ui.small.modal{width:720px;margin:0}}@media only screen and (min-width:1920px){.ui.small.modal{width:760px;margin:0}}.ui.large.modal>.header{font-size:1.6em}@media only screen and (max-width:767px){.ui.large.modal{width:95%;margin:0}}@media only screen and (min-width:768px){.ui.large.modal{width:88%;margin:0}}@media only screen and (min-width:992px){.ui.large.modal{width:1020px;margin:0}}@media only screen and (min-width:1200px){.ui.large.modal{width:1080px;margin:0}}@media only screen and (min-width:1920px){.ui.large.modal{width:1140px;margin:0}}
/*!
 * # Semantic UI - Nag
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:rgba(0,0,0,.87);border-radius:0 0 .28571429rem .28571429rem;transition:.2s background ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#fff}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#fff;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#f3f4f5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:last-child{border-radius:.28571429rem .28571429rem 0 0}
/*!
 * # Semantic UI - Popup
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.popup{display:none;top:0;right:0;min-width:min-content;z-index:1900;border:1px solid #d4d4d5;line-height:1.4285em;max-width:250px;padding:.833em 1em;font-weight:400;font-style:normal;color:rgba(0,0,0,.87);border-radius:.28571429rem;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);margin:0}.ui.popup>.header{padding:0;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;font-size:1.14285714em;line-height:1.2;font-weight:700}.ui.popup>.header+.content{padding-top:.5em}.ui.popup:before{position:absolute;background:#fff}[data-tooltip]{position:relative}.ui.popup,[data-tooltip]:after,[data-tooltip]:before{position:absolute;font-size:1rem;background:#fff}.ui.popup:before,[data-tooltip]:before{content:'';width:.71428571em;height:.71428571em;transform:rotate(45deg);box-shadow:1px 1px 0 0 #bababc;z-index:2}[data-tooltip]:after{content:attr(data-tooltip);text-transform:none;text-align:left;white-space:nowrap;border:1px solid #d4d4d5;line-height:1.4285em;max-width:none;padding:.833em 1em;font-weight:400;font-style:normal;color:rgba(0,0,0,.87);border-radius:.28571429rem;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);z-index:1}[data-tooltip]:not([data-position]):before{top:auto;right:auto;bottom:100%;left:50%;background:#fff;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-tooltip]:not([data-position]):after{left:50%;transform:translateX(-50%);bottom:100%;margin-bottom:.5em}[data-tooltip]:after,[data-tooltip]:before{pointer-events:none;visibility:hidden}[data-tooltip]:before{opacity:0;transform:rotate(45deg) scale(0)!important;transform-origin:center top;transition:all .1s ease}[data-tooltip]:after{opacity:1;transform-origin:center bottom;transition:all .1s ease}[data-tooltip]:hover:after,[data-tooltip]:hover:before{visibility:visible;pointer-events:auto}[data-tooltip]:hover:before{transform:rotate(45deg) scale(1)!important;opacity:1}[data-tooltip]:after,[data-tooltip][data-position="bottom center"]:after,[data-tooltip][data-position="top center"]:after{transform:translateX(-50%) scale(0)!important}[data-tooltip]:hover:after,[data-tooltip][data-position="bottom center"]:hover:after{transform:translateX(-50%) scale(1)!important}[data-tooltip][data-position="left center"]:after,[data-tooltip][data-position="right center"]:after{transform:translateY(-50%) scale(0)!important}[data-tooltip][data-position="left center"]:hover:after,[data-tooltip][data-position="right center"]:hover:after{transform:translateY(-50%) scale(1)!important}[data-tooltip][data-position="bottom left"]:after,[data-tooltip][data-position="bottom right"]:after,[data-tooltip][data-position="top left"]:after,[data-tooltip][data-position="top right"]:after{transform:scale(0)!important}[data-tooltip][data-position="bottom left"]:hover:after,[data-tooltip][data-position="bottom right"]:hover:after,[data-tooltip][data-position="top left"]:hover:after,[data-tooltip][data-position="top right"]:hover:after{transform:scale(1)!important}[data-tooltip][data-inverted]:before{box-shadow:none!important;background:#1b1c1d}[data-tooltip][data-inverted]:after{background:#1b1c1d;color:#fff;border:0;box-shadow:none}[data-tooltip][data-inverted]:after .header{background-color:none;color:#fff}[data-position="top center"][data-tooltip]:after{top:auto;right:auto;left:50%;bottom:100%;transform:translateX(-50%);margin-bottom:.5em}[data-position="top center"][data-tooltip]:before{top:auto;right:auto;bottom:100%;left:50%;background:#fff;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="top left"][data-tooltip]:after{top:auto;right:auto;left:0;bottom:100%;margin-bottom:.5em}[data-position="top left"][data-tooltip]:before{top:auto;right:auto;bottom:100%;left:1em;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="top right"][data-tooltip]:after{top:auto;left:auto;right:0;bottom:100%;margin-bottom:.5em}[data-position="top right"][data-tooltip]:before{top:auto;left:auto;bottom:100%;right:1em;margin-left:-.07142857rem;margin-bottom:.14285714rem}[data-position="bottom center"][data-tooltip]:after{bottom:auto;right:auto;left:50%;top:100%;transform:translateX(-50%);margin-top:.5em}[data-position="bottom center"][data-tooltip]:before{bottom:auto;right:auto;top:100%;left:50%;margin-left:-.07142857rem;margin-top:.14285714rem}[data-position="bottom left"][data-tooltip]:after{left:0;top:100%;margin-top:.5em}[data-position="bottom left"][data-tooltip]:before{bottom:auto;right:auto;top:100%;left:1em;margin-left:-.07142857rem;margin-top:.14285714rem}[data-position="bottom right"][data-tooltip]:after{right:0;top:100%;margin-top:.5em}[data-position="bottom right"][data-tooltip]:before{bottom:auto;left:auto;top:100%;right:1em;margin-left:-.14285714rem;margin-top:.07142857rem}[data-position="left center"][data-tooltip]:after{right:100%;top:50%;margin-right:.5em;transform:translateY(-50%)}[data-position="left center"][data-tooltip]:before{right:100%;top:50%;margin-top:-.14285714rem;margin-right:-.07142857rem}[data-position="right center"][data-tooltip]:after{left:100%;top:50%;margin-left:.5em;transform:translateY(-50%)}[data-position="right center"][data-tooltip]:before{left:100%;top:50%;margin-top:-.07142857rem;margin-left:.14285714rem}[data-position~=bottom][data-tooltip]:before{background:#fff;box-shadow:-1px -1px 0 0 #bababc}[data-position="left center"][data-tooltip]:before{background:#fff;box-shadow:1px -1px 0 0 #bababc}[data-position="right center"][data-tooltip]:before{background:#fff;box-shadow:-1px 1px 0 0 #bababc}[data-position~=top][data-tooltip]:before{background:#fff}[data-inverted][data-position~=bottom][data-tooltip]:before{background:#1b1c1d;box-shadow:-1px -1px 0 0 #bababc}[data-inverted][data-position="left center"][data-tooltip]:before{background:#1b1c1d;box-shadow:1px -1px 0 0 #bababc}[data-inverted][data-position="right center"][data-tooltip]:before{background:#1b1c1d;box-shadow:-1px 1px 0 0 #bababc}[data-inverted][data-position~=top][data-tooltip]:before{background:#1b1c1d}[data-position~=bottom][data-tooltip]:before{transform-origin:center bottom}[data-position~=bottom][data-tooltip]:after{transform-origin:center top}[data-position="left center"][data-tooltip]:before{transform-origin:top center}[data-position="left center"][data-tooltip]:after,[data-position="right center"][data-tooltip]:before{transform-origin:right center}[data-position="right center"][data-tooltip]:after{transform-origin:left center}.ui.top.popup{margin:0 0 .71428571em}.ui.top.left.popup{transform-origin:left bottom}.ui.top.center.popup{transform-origin:center bottom}.ui.top.right.popup{transform-origin:right bottom}.ui.left.center.popup{margin:0 .71428571em 0 0;transform-origin:right 50%}.ui.right.center.popup{margin:0 0 0 .71428571em;transform-origin:left 50%}.ui.bottom.popup{margin:.71428571em 0 0}.ui.bottom.left.popup{transform-origin:left top}.ui.bottom.center.popup{transform-origin:center top}.ui.bottom.right.popup{transform-origin:right top}.ui.bottom.center.popup:before,.ui.bottom.left.popup:before,.ui.bottom.right.popup:before{margin-left:-.30714286em;top:-.30714286em;left:50%;right:auto;bottom:auto;box-shadow:-1px -1px 0 0 #bababc}.ui.bottom.left.popup{margin-left:0}.ui.bottom.left.popup:before,.ui.bottom.right.popup:before{left:1em;margin-left:0}.ui.bottom.right.popup{margin-right:0}.ui.bottom.right.popup:before{right:1em;left:auto}.ui.top.center.popup:before{top:auto;right:auto;bottom:-.30714286em;left:50%;margin-left:-.30714286em}.ui.top.left.popup{margin-left:0}.ui.top.left.popup:before,.ui.top.right.popup:before{bottom:-.30714286em;left:1em;top:auto;right:auto;margin-left:0}.ui.top.right.popup{margin-right:0}.ui.top.right.popup:before{right:1em;left:auto}.ui.left.center.popup:before,.ui.right.center.popup:before{top:50%;right:-.30714286em;bottom:auto;left:auto;margin-top:-.30714286em;box-shadow:1px -1px 0 0 #bababc}.ui.right.center.popup:before{left:-.30714286em;right:auto;box-shadow:-1px 1px 0 0 #bababc}.ui.bottom.popup:before,.ui.left.center.popup:before,.ui.right.center.popup:before,.ui.top.popup:before{background:#fff}.ui.inverted.bottom.popup:before,.ui.inverted.left.center.popup:before,.ui.inverted.right.center.popup:before,.ui.inverted.top.popup:before{background:#1b1c1d}.ui.popup>.ui.grid:not(.padded){width:calc(100% + 1.75rem);margin:-.7rem -.875rem}.ui.loading.popup{display:block;visibility:hidden;z-index:-1}.ui.animating.popup,.ui.visible.popup{display:block}.ui.visible.popup{transform:translateZ(0);backface-visibility:hidden}.ui.basic.popup:before{display:none}.ui.wide.popup{max-width:350px}.ui[class*="very wide"].popup{max-width:550px}@media only screen and (max-width:767px){.ui.wide.popup,.ui[class*="very wide"].popup{max-width:250px}}.ui.fluid.popup{width:100%;max-width:none}.ui.inverted.popup{background:#1b1c1d;color:#fff;border:0;box-shadow:none}.ui.inverted.popup .header{background-color:none;color:#fff}.ui.inverted.popup:before{background-color:#1b1c1d;box-shadow:none!important}.ui.flowing.popup{max-width:none}.ui.mini.popup{font-size:.78571429rem}.ui.tiny.popup{font-size:.85714286rem}.ui.small.popup{font-size:.92857143rem}.ui.large.popup{font-size:1.14285714rem}.ui.huge.popup{font-size:1.42857143rem}
/*!
 * # Semantic UI - Progress Bar
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
@keyframes progress-active{0%{opacity:.3;width:0}to{opacity:0;width:100%}}.ui.progress{position:relative;display:block;max-width:100%;border:0;margin:1em 0 2.5em;box-shadow:none;background:rgba(0,0,0,.1);padding:0;border-radius:.28571429rem;font-size:1rem}.ui.progress:first-child{margin:0 0 2.5em}.ui.progress:last-child{margin:0 0 1.5em}.ui.progress .bar{display:block;line-height:1;position:relative;width:0%;min-width:2em;background:#888;border-radius:.28571429rem;transition:width .1s ease,background-color .1s ease}.ui.progress .bar>.progress,.ui.progress>.label{position:absolute;bottom:auto;font-weight:700;text-shadow:none}.ui.progress .bar>.progress{white-space:nowrap;width:auto;font-size:.92857143em;top:50%;right:.5em;left:auto;color:rgba(255,255,255,.7);margin-top:-.5em;text-align:left}.ui.progress>.label{width:100%;font-size:1em;top:100%;right:auto;left:0;color:rgba(0,0,0,.87);margin-top:.2em;text-align:center;transition:color .4s ease}.ui.indicating.progress[data-percent^="1"] .bar,.ui.indicating.progress[data-percent^="2"] .bar{background-color:#d95c5c}.ui.indicating.progress[data-percent^="3"] .bar{background-color:#efbc72}.ui.indicating.progress[data-percent^="4"] .bar,.ui.indicating.progress[data-percent^="5"] .bar{background-color:#e6bb48}.ui.indicating.progress[data-percent^="6"] .bar{background-color:#ddc928}.ui.indicating.progress[data-percent^="7"] .bar,.ui.indicating.progress[data-percent^="8"] .bar{background-color:#b4d95c}.ui.indicating.progress[data-percent^="100"] .bar,.ui.indicating.progress[data-percent^="9"] .bar{background-color:#66da81}.ui.indicating.progress[data-percent^="1"] .label,.ui.indicating.progress[data-percent^="100"] .label,.ui.indicating.progress[data-percent^="2"] .label,.ui.indicating.progress[data-percent^="3"] .label,.ui.indicating.progress[data-percent^="4"] .label,.ui.indicating.progress[data-percent^="5"] .label,.ui.indicating.progress[data-percent^="6"] .label,.ui.indicating.progress[data-percent^="7"] .label,.ui.indicating.progress[data-percent^="8"] .label,.ui.indicating.progress[data-percent^="9"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent="1"] .bar,.ui.indicating.progress[data-percent="2"] .bar,.ui.indicating.progress[data-percent="3"] .bar,.ui.indicating.progress[data-percent="4"] .bar,.ui.indicating.progress[data-percent="5"] .bar,.ui.indicating.progress[data-percent="6"] .bar,.ui.indicating.progress[data-percent="7"] .bar,.ui.indicating.progress[data-percent="8"] .bar,.ui.indicating.progress[data-percent="9"] .bar{background-color:#d95c5c}.ui.indicating.progress[data-percent="1"] .label,.ui.indicating.progress[data-percent="2"] .label,.ui.indicating.progress[data-percent="3"] .label,.ui.indicating.progress[data-percent="4"] .label,.ui.indicating.progress[data-percent="5"] .label,.ui.indicating.progress[data-percent="6"] .label,.ui.indicating.progress[data-percent="7"] .label,.ui.indicating.progress[data-percent="8"] .label,.ui.indicating.progress[data-percent="9"] .label{color:rgba(0,0,0,.87)}.ui.progress.success .bar{background-color:#21ba45!important;animation:none!important}.ui.indicating.progress.success .label,.ui.progress.success>.label{color:#1a531b}.ui.progress.warning .bar{background-color:#f2c037!important;animation:none!important}.ui.progress.success .bar::after,.ui.progress.warning .bar::after{animation:none!important}.ui.progress.warning>.label{color:#794b02}.ui.progress.error .bar{background-color:#db2828!important}.ui.progress.error .bar,.ui.progress.error .bar::after{animation:none!important}.ui.progress.error>.label{color:#912d2b}.ui.active.progress .bar{position:relative;min-width:2em}.ui.active.progress .bar::after{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;border-radius:.28571429rem;animation:progress-active 2s ease infinite}.ui.disabled.progress{opacity:.35}.ui.disabled.progress .bar,.ui.disabled.progress .bar::after{animation:none!important}.ui.inverted.progress{background:rgba(255,255,255,.08);border:0}.ui.inverted.progress .bar{background:#888}.ui.inverted.progress .bar>.progress{color:#f9fafb}.ui.inverted.progress>.label{color:#fff}.ui.inverted.progress.success>.label{color:#21ba45}.ui.inverted.progress.warning>.label{color:#f2c037}.ui.inverted.progress.error>.label{color:#db2828}.ui.progress.attached,.ui.progress.attached .bar{display:block;height:.2rem;padding:0;overflow:hidden;border-radius:0 0 .28571429rem .28571429rem}.ui.progress.attached{background:0 0;position:relative;border:0;margin:0}.ui.progress.attached .bar{border-radius:0}.ui.progress.top.attached,.ui.progress.top.attached .bar{top:0;border-radius:.28571429rem .28571429rem 0 0}.ui.progress.top.attached .bar{border-radius:0}.ui.card>.ui.attached.progress,.ui.segment>.ui.attached.progress{position:absolute;top:auto;left:0;bottom:100%;width:100%}.ui.card>.ui.bottom.attached.progress,.ui.segment>.ui.bottom.attached.progress{top:100%;bottom:auto}.ui.red.progress .bar{background-color:#db2828}.ui.red.inverted.progress .bar{background-color:#ff695e}.ui.orange.progress .bar{background-color:#f2711c}.ui.orange.inverted.progress .bar{background-color:#ff851b}.ui.yellow.progress .bar{background-color:#fbbd08}.ui.yellow.inverted.progress .bar{background-color:#ffe21f}.ui.olive.progress .bar{background-color:#b5cc18}.ui.olive.inverted.progress .bar{background-color:#d9e778}.ui.green.progress .bar{background-color:#21ba45}.ui.green.inverted.progress .bar{background-color:#2ecc40}.ui.teal.progress .bar{background-color:#00b5ad}.ui.teal.inverted.progress .bar{background-color:#6dffff}.ui.blue.progress .bar{background-color:#2185d0}.ui.blue.inverted.progress .bar{background-color:#54c8ff}.ui.violet.progress .bar{background-color:#6435c9}.ui.violet.inverted.progress .bar{background-color:#a291fb}.ui.purple.progress .bar{background-color:#a333c8}.ui.purple.inverted.progress .bar{background-color:#dc73ff}.ui.pink.progress .bar{background-color:#e03997}.ui.pink.inverted.progress .bar{background-color:#ff8edf}.ui.brown.progress .bar{background-color:#a5673f}.ui.brown.inverted.progress .bar{background-color:#d67c1c}.ui.grey.progress .bar{background-color:#767676}.ui.grey.inverted.progress .bar{background-color:#dcddde}.ui.black.progress .bar{background-color:#1b1c1d}.ui.black.inverted.progress .bar{background-color:#545454}.ui.tiny.progress{font-size:.85714286rem}.ui.tiny.progress .bar{height:.5em}.ui.small.progress{font-size:.92857143rem}.ui.small.progress .bar{height:1em}.ui.progress .bar{height:1.75em}.ui.large.progress{font-size:1.14285714rem}.ui.large.progress .bar{height:2.5em}.ui.big.progress{font-size:1.28571429rem}.ui.big.progress .bar{height:3.5em}
/*!
 * # Semantic UI - Rating
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.rating{display:inline-flex;white-space:nowrap;vertical-align:baseline;font-size:1rem}.ui.rating:last-child{margin-right:0}.ui.rating .icon{padding:0;margin:0;flex:1 0 auto;cursor:pointer;width:1.25em;height:auto;transition:opacity .1s ease,background .1s ease,text-shadow .1s ease,color .1s ease;background:0 0;color:rgba(0,0,0,.15)}.ui.rating .active.icon{background:0 0;color:rgba(0,0,0,.85)}.ui.rating .icon.selected,.ui.rating .icon.selected.active{background:0 0;color:rgba(0,0,0,.87)}.ui.heart.rating .icon,.ui.star.rating .icon{width:1.25em;height:auto;background:0 0;color:rgba(0,0,0,.15);text-shadow:none}.ui.star.rating .active.icon{background:0 0!important;color:#ffe623!important;text-shadow:0 -1px 0 #ddc507,-1px 0 0 #ddc507,0 1px 0 #ddc507,1px 0 0 #ddc507!important}.ui.star.rating .icon.selected,.ui.star.rating .icon.selected.active{background:0 0!important;color:#fc0!important;text-shadow:0 -1px 0 #e6a200,-1px 0 0 #e6a200,0 1px 0 #e6a200,1px 0 0 #e6a200!important}.ui.heart.rating .icon{width:1.4em;text-shadow:none!important}.ui.heart.rating .active.icon{background:0 0!important;color:#ff6d75!important;text-shadow:0 -1px 0 #cd0707,-1px 0 0 #cd0707,0 1px 0 #cd0707,1px 0 0 #cd0707!important}.ui.heart.rating .icon.selected,.ui.heart.rating .icon.selected.active{background:0 0!important;color:#ff3000!important;text-shadow:0 -1px 0 #aa0101,-1px 0 0 #aa0101,0 1px 0 #aa0101,1px 0 0 #aa0101!important}.ui.disabled.rating .icon{cursor:default}.ui.rating .icon.selected,.ui.rating.selected .active.icon,.ui.rating.selected .icon.selected{opacity:1}.ui.mini.rating{font-size:.78571429rem}.ui.tiny.rating{font-size:.85714286rem}.ui.small.rating{font-size:.92857143rem}.ui.large.rating{font-size:1.14285714rem}.ui.huge.rating{font-size:1.42857143rem}.ui.massive.rating{font-size:2rem}@font-face{font-family:'Rating';src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff');font-weight:400;font-style:normal}.ui.rating .icon{font-family:'Rating';line-height:1;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.rating .active.icon:before,.ui.rating .icon:before,.ui.star.rating .active.icon:before,.ui.star.rating .icon:before,.ui.star.rating .partial.icon{content:'\f005'}.ui.star.rating .partial.icon:before{content:'\f006'}.ui.heart.rating .active.icon:before,.ui.heart.rating .icon:before{content:'\f004'}
/*!
 * # Semantic UI - Search
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.search{position:relative;font-size:1em}.ui.search>.prompt{margin:0;outline:0;-webkit-appearance:none;-webkit-tap-highlight-color:transparent;text-shadow:none;font-style:normal;font-weight:400;line-height:1.21428571em;padding:.67857143em 1em;font-size:1em;background:#fff;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);box-shadow:0 0 0 0 transparent inset;transition:background-color .1s ease,color .1s ease,box-shadow .1s ease,border-color .1s ease}.ui.search .prompt{border-radius:500rem}.ui.search .prompt~.search.icon{cursor:pointer}.ui.search>.results{display:none;position:absolute;top:100%;left:0;transform-origin:center top;white-space:normal;text-align:left;text-transform:none;background:#fff;margin-top:.5em;width:18em;border-radius:.28571429rem;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.15);border:1px solid #d4d4d5;z-index:998}.ui.search>.results>:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.search>.results>:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.search>.results .result{cursor:pointer;display:block;overflow:hidden;font-size:1em;padding:.85714286em 1.14285714em;color:rgba(0,0,0,.87);line-height:1.33;border-bottom:1px solid rgba(34,36,38,.1)}.ui.search>.results .result:last-child{border-bottom:none!important}.ui.search>.results .result .image{float:right;overflow:hidden;background:0 0;width:5em;height:3em;border-radius:.25em}.ui.search>.results .result .image img{display:block;width:auto;height:100%}.ui.search>.results .result .image+.content{margin:0 6em 0 0}.ui.search>.results .result .title{margin:-.14285714em 0 0;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;font-weight:700;font-size:1em;color:rgba(0,0,0,.85)}.ui.search>.results .result .description{margin-top:0;font-size:.92857143em;color:rgba(0,0,0,.4)}.ui.search>.results .result .price{float:right;color:#21ba45}.ui.search>.results>.message{padding:1em}.ui.search>.results>.message .header{font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;font-size:1rem;font-weight:700;color:rgba(0,0,0,.87)}.ui.search>.results>.message .description{margin-top:.25rem;font-size:1em;color:rgba(0,0,0,.87)}.ui.search>.results>.action{display:block;border-top:none;background:#f3f4f5;padding:.92857143em 1em;color:rgba(0,0,0,.87);font-weight:700;text-align:center}.ui.search>.prompt:focus{border-color:rgba(34,36,38,.35);background:#fff;color:rgba(0,0,0,.95)}.ui.loading.search .input>i.icon:after,.ui.loading.search .input>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem}.ui.loading.search .input>i.icon:before{border:.2em solid rgba(0,0,0,.1)}.ui.loading.search .input>i.icon:after{animation:button-spin .6s linear;animation-iteration-count:infinite;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}.ui.category.search>.results .category .result:hover,.ui.search>.results .result:hover{background:#f9fafb}.ui.search .action:hover{background:#e0e0e0}.ui.category.search>.results .category.active{background:#f3f4f5}.ui.category.search>.results .category.active>.name{color:rgba(0,0,0,.87)}.ui.category.search>.results .category .result.active,.ui.search>.results .result.active{position:relative;border-left-color:rgba(34,36,38,.1);background:#f3f4f5;box-shadow:none}.ui.search>.results .result.active .description,.ui.search>.results .result.active .title{color:rgba(0,0,0,.85)}.ui.disabled.search{cursor:default;pointer-events:none;opacity:.45}.ui.search.selection .prompt{border-radius:.28571429rem}.ui.search.selection>.icon.input>.remove.icon{pointer-events:none;position:absolute;left:auto;opacity:0;color:'';top:0;right:0;transition:color .1s ease,opacity .1s ease}.ui.search.selection>.icon.input>.active.remove.icon{cursor:pointer;opacity:.8;pointer-events:auto}.ui.search.selection>.icon.input:not([class*="left icon"])>.icon~.remove.icon{right:1.85714em}.ui.search.selection>.icon.input>.remove.icon:hover{opacity:1;color:#db2828}.ui.category.search .results{width:28em}.ui.category.search .results.animating,.ui.category.search .results.visible{display:table}.ui.category.search>.results .category{display:table-row;background:#f3f4f5;box-shadow:none;transition:background .1s ease,border-color .1s ease}.ui.category.search>.results .category:last-child{border-bottom:none}.ui.category.search>.results .category:first-child .name+.result{border-radius:0 .28571429rem 0 0}.ui.category.search>.results .category:last-child .result:last-child{border-radius:0 0 .28571429rem 0}.ui.category.search>.results .category>.name{display:table-cell;text-overflow:ellipsis;width:100px;white-space:nowrap;background:0 0;font-family:'Lato','Helvetica Neue',Arial,Helvetica,'文泉驛正黑','WenQuanYi Zen Hei','儷黑 Pro','LiHei Pro','微軟正黑體','Microsoft JhengHei',sans-serif;font-size:1em;padding:.4em 1em;font-weight:700;color:rgba(0,0,0,.4);border-bottom:1px solid rgba(34,36,38,.1)}.ui.category.search>.results .category .results{display:table-cell;background:#fff;border-left:1px solid rgba(34,36,38,.15);border-bottom:1px solid rgba(34,36,38,.1)}.ui.category.search>.results .category .result{border-bottom:1px solid rgba(34,36,38,.1);transition:background .1s ease,border-color .1s ease;padding:.85714286em 1.14285714em}.ui[class*="left aligned"].search>.results{right:auto;left:0}.ui[class*="right aligned"].search>.results{right:0;left:auto}.ui.fluid.search .results{width:100%}.ui.mini.search{font-size:.78571429em}.ui.small.search{font-size:.92857143em}.ui.large.search{font-size:1.14285714em}.ui.big.search{font-size:1.28571429em}.ui.huge.search{font-size:1.42857143em}.ui.massive.search{font-size:1.71428571em}@media only screen and (max-width:767px){.ui.search .results{max-width:calc(100vw - 2rem)}}
/*!
 * # Semantic UI - Shape
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.shape{position:relative;vertical-align:top;display:inline-block;perspective:2000px;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out}.ui.shape .sides{transform-style:preserve-3d}.ui.shape .side{opacity:1;width:100%;margin:0!important;backface-visibility:hidden;display:none}.ui.shape .side *{backface-visibility:visible!important}.ui.cube.shape .side{min-width:15em;height:15em;padding:2em;background-color:#e6e6e6;color:rgba(0,0,0,.87);box-shadow:0 0 2px rgba(0,0,0,.3)}.ui.cube.shape .side>.content{width:100%;height:100%;display:table;text-align:center;user-select:text}.ui.cube.shape .side>.content>div{display:table-cell;vertical-align:middle;font-size:2em}.ui.text.shape.animating .sides{position:static}.ui.text.shape .side{white-space:nowrap}.ui.text.shape .side>*{white-space:normal}.ui.loading.shape{position:absolute;top:-9999px;left:-9999px}.ui.shape .animating.side{position:absolute;top:0;left:0;display:block;z-index:100}.ui.shape .hidden.side{opacity:.6}.ui.shape.animating .sides{position:absolute;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out}.ui.shape.animating .side{transition:opacity .6s ease-in-out}.ui.shape .active.side{display:block}
/*!
 * # Semantic UI - Sidebar
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.sidebar{position:fixed;top:0;left:0;transition:none;will-change:transform;transform:translate3d(0,0,0);visibility:hidden;-webkit-overflow-scrolling:touch;height:100%!important;max-height:100%;border-radius:0!important;margin:0!important;overflow-y:auto!important;z-index:102}.ui.sidebar,.ui.sidebar>*{backface-visibility:hidden}.ui.left.sidebar{right:auto;left:0;transform:translate3d(-100%,0,0)}.ui.right.sidebar{right:0!important;left:auto!important;transform:translate3d(100%,0%,0)}.ui.bottom.sidebar,.ui.top.sidebar{width:100%!important;height:auto!important}.ui.top.sidebar{top:0!important;bottom:auto!important;transform:translate3d(0,-100%,0)}.ui.bottom.sidebar{top:auto!important;bottom:0!important;transform:translate3d(0,100%,0)}.pushable{height:100%;overflow-x:hidden;padding:0!important}body.pushable{background:#545454!important}.pushable:not(body){transform:translate3d(0,0,0)}.pushable:not(body)>.fixed,.pushable:not(body)>.pusher:after,.pushable:not(body)>.ui.sidebar{position:absolute}.pushable>.fixed,.pushable>.pusher{backface-visibility:hidden;transition:transform 500ms ease}.pushable>.fixed{will-change:transform;position:fixed;z-index:101}.pushable>.pusher{position:relative;overflow:hidden;min-height:100%;z-index:2;background:inherit}body.pushable>.pusher{background:#fff}.pushable>.pusher:after{position:fixed;top:0;right:0;content:'';background-color:rgba(0,0,0,.4);overflow:hidden;opacity:0;transition:opacity 500ms;will-change:opacity;z-index:1000}.ui.sidebar.menu .item{border-radius:0!important}.pushable>.pusher.dimmed:after{width:100%!important;height:100%!important;opacity:1!important}.ui.animating.sidebar,.ui.visible.sidebar{visibility:visible}.ui.bottom.visible.sidebar,.ui.left.visible.sidebar,.ui.right.visible.sidebar,.ui.top.visible.sidebar{box-shadow:0 0 20px rgba(34,36,38,.15)}.ui.visible.left.sidebar~.fixed,.ui.visible.left.sidebar~.pusher{transform:translate3d(260px,0,0)}.ui.visible.right.sidebar~.fixed,.ui.visible.right.sidebar~.pusher{transform:translate3d(-260px,0,0)}.ui.visible.top.sidebar~.fixed,.ui.visible.top.sidebar~.pusher{transform:translate3d(0,36px,0)}.ui.visible.bottom.sidebar~.fixed,.ui.visible.bottom.sidebar~.pusher{transform:translate3d(0,-36px,0)}.ui.visible.left.sidebar~.ui.visible.right.sidebar~.fixed,.ui.visible.left.sidebar~.ui.visible.right.sidebar~.pusher,.ui.visible.right.sidebar~.ui.visible.left.sidebar~.fixed,.ui.visible.right.sidebar~.ui.visible.left.sidebar~.pusher,.ui.visible.sidebar{transform:translate3d(0,0,0)}.ui.thin.left.sidebar,.ui.thin.right.sidebar{width:150px}.ui[class*="very thin"].left.sidebar,.ui[class*="very thin"].right.sidebar{width:60px}.ui.left.sidebar,.ui.right.sidebar{width:260px}.ui.wide.left.sidebar,.ui.wide.right.sidebar{width:350px}.ui[class*="very wide"].left.sidebar,.ui[class*="very wide"].right.sidebar{width:475px}.ui.visible.thin.left.sidebar~.fixed,.ui.visible.thin.left.sidebar~.pusher{transform:translate3d(150px,0,0)}.ui.visible[class*="very thin"].left.sidebar~.fixed,.ui.visible[class*="very thin"].left.sidebar~.pusher{transform:translate3d(60px,0,0)}.ui.visible.wide.left.sidebar~.fixed,.ui.visible.wide.left.sidebar~.pusher{transform:translate3d(350px,0,0)}.ui.visible[class*="very wide"].left.sidebar~.fixed,.ui.visible[class*="very wide"].left.sidebar~.pusher{transform:translate3d(475px,0,0)}.ui.visible.thin.right.sidebar~.fixed,.ui.visible.thin.right.sidebar~.pusher{transform:translate3d(-150px,0,0)}.ui.visible[class*="very thin"].right.sidebar~.fixed,.ui.visible[class*="very thin"].right.sidebar~.pusher{transform:translate3d(-60px,0,0)}.ui.visible.wide.right.sidebar~.fixed,.ui.visible.wide.right.sidebar~.pusher{transform:translate3d(-350px,0,0)}.ui.visible[class*="very wide"].right.sidebar~.fixed,.ui.visible[class*="very wide"].right.sidebar~.pusher{transform:translate3d(-475px,0,0)}.ui.overlay.sidebar{z-index:102}.ui.left.overlay.sidebar{transform:translate3d(-100%,0%,0)}.ui.right.overlay.sidebar{transform:translate3d(100%,0%,0)}.ui.top.overlay.sidebar{transform:translate3d(0%,-100%,0)}.ui.bottom.overlay.sidebar{transform:translate3d(0%,100%,0)}.animating.ui.overlay.sidebar,.ui.push.sidebar,.ui.visible.overlay.sidebar{transition:transform 500ms ease}.ui.visible.bottom.overlay.sidebar,.ui.visible.left.overlay.sidebar,.ui.visible.right.overlay.sidebar,.ui.visible.top.overlay.sidebar{transform:translate3d(0%,0%,0)}.ui.visible.overlay.sidebar~.fixed,.ui.visible.overlay.sidebar~.pusher{transform:none!important}.ui.push.sidebar{z-index:102}.ui.left.push.sidebar{transform:translate3d(-100%,0,0)}.ui.right.push.sidebar{transform:translate3d(100%,0,0)}.ui.top.push.sidebar{transform:translate3d(0%,-100%,0)}.ui.bottom.push.sidebar{transform:translate3d(0%,100%,0)}.ui.visible.push.sidebar{transform:translate3d(0%,0,0)}.ui.uncover.sidebar{transform:translate3d(0,0,0);z-index:1}.ui.visible.uncover.sidebar{transform:translate3d(0,0,0);transition:transform 500ms ease}.ui.slide.along.sidebar,.ui.slide.out.sidebar{z-index:1}.ui.left.slide.along.sidebar{transform:translate3d(-50%,0,0)}.ui.right.slide.along.sidebar{transform:translate3d(50%,0,0)}.ui.top.slide.along.sidebar{transform:translate3d(0,-50%,0)}.ui.bottom.slide.along.sidebar{transform:translate3d(0%,50%,0)}.ui.animating.slide.along.sidebar{transition:transform 500ms ease}.ui.visible.slide.along.sidebar{transform:translate3d(0%,0,0)}.ui.left.slide.out.sidebar{transform:translate3d(50%,0,0)}.ui.right.slide.out.sidebar{transform:translate3d(-50%,0,0)}.ui.top.slide.out.sidebar{transform:translate3d(0%,50%,0)}.ui.bottom.slide.out.sidebar{transform:translate3d(0%,-50%,0)}.ui.animating.scale.down>.visible.ui.sidebar,.ui.animating.slide.out.sidebar,.ui.scale.down.sidebar{transition:transform 500ms ease}.ui.visible.slide.out.sidebar{transform:translate3d(0%,0,0)}.ui.scale.down.sidebar{z-index:102}.ui.left.scale.down.sidebar{transform:translate3d(-100%,0,0)}.ui.right.scale.down.sidebar{transform:translate3d(100%,0,0)}.ui.top.scale.down.sidebar{transform:translate3d(0%,-100%,0)}.ui.bottom.scale.down.sidebar{transform:translate3d(0%,100%,0)}.ui.scale.down.left.sidebar~.pusher{transform-origin:75% 50%}.ui.scale.down.right.sidebar~.pusher{transform-origin:25% 50%}.ui.scale.down.top.sidebar~.pusher{transform-origin:50% 75%}.ui.scale.down.bottom.sidebar~.pusher{transform-origin:50% 25%}.ui.animating.scale.down.sidebar~.pusher,.ui.visible.scale.down.sidebar~.pusher{display:block!important;width:100%;height:100%;overflow:hidden!important}.ui.visible.scale.down.sidebar{transform:translate3d(0,0,0)}.ui.visible.scale.down.sidebar~.pusher{transform:scale(.75)}
/*!
 * # Semantic UI - Sticky
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.sticky{position:static;transition:none;z-index:800}.ui.sticky.bound,.ui.sticky.fixed{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky}
/*!
 * # Semantic UI - Tab
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment:after,.ui.tab.loading.segment:before,.ui.tab.loading:after,.ui.tab.loading:before{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem}.ui.tab.loading.segment:before,.ui.tab.loading:before{border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment:after,.ui.tab.loading:after{animation:button-spin .6s linear;animation-iteration-count:infinite;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}
/*!
 * # Semantic UI - Transition
 * http://github.com/semantic-org/semantic-ui/
 *
 *
 * Released under the MIT license
 * http://opensource.org/licenses/MIT
 *
 */
@keyframes browseIn{0%{transform:scale(.8) translateZ(0);z-index:-1}10%{transform:scale(.8) translateZ(0);z-index:-1;opacity:.7}80%{transform:scale(1.05) translateZ(0);opacity:1;z-index:999}to{transform:scale(1) translateZ(0);z-index:999}}@keyframes browseOutLeft{0%{z-index:999;transform:translateX(0%) rotateY(0deg) rotateX(0deg)}50%{z-index:-1;transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}to{z-index:-1;transform:translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);opacity:0}}@keyframes browseOutRight{0%{z-index:999;transform:translateX(0%) rotateY(0deg) rotateX(0deg)}50%{z-index:1;transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}to{z-index:1;transform:translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);opacity:0}}@keyframes dropIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes dropOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10%)}to{opacity:1;transform:translateY(0%)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10%)}to{opacity:1;transform:translateY(0%)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(10%)}to{opacity:1;transform:translateX(0%)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(-10%)}to{opacity:1;transform:translateX(0%)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0%)}to{opacity:0;transform:translateY(5%)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0%)}to{opacity:0;transform:translateY(-5%)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translateX(0%)}to{opacity:0;transform:translateX(5%)}}@keyframes fadeOutRight{0%{opacity:1;transform:translateX(0%)}to{opacity:0;transform:translateX(-5%)}}@keyframes horizontalFlipIn{0%{transform:perspective(2000px) rotateY(-90deg);opacity:0}to{transform:perspective(2000px) rotateY(0deg);opacity:1}}@keyframes verticalFlipIn{0%{transform:perspective(2000px) rotateX(-90deg);opacity:0}to{transform:perspective(2000px) rotateX(0deg);opacity:1}}@keyframes horizontalFlipOut{0%{transform:perspective(2000px) rotateY(0deg);opacity:1}to{transform:perspective(2000px) rotateY(90deg);opacity:0}}@keyframes verticalFlipOut{0%{transform:perspective(2000px) rotateX(0deg);opacity:1}to{transform:perspective(2000px) rotateX(-90deg);opacity:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes flyIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}20%{transform:scale3d(1.1,1.1,1.1)}40%{transform:scale3d(.9,.9,.9)}60%{opacity:1;transform:scale3d(1.03,1.03,1.03)}80%{transform:scale3d(.97,.97,.97)}to{opacity:1;transform:scale3d(1,1,1)}}@keyframes flyInUp{0%{opacity:0;transform:translate3d(0,1500px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translate3d(0,0,0)}}@keyframes flyInDown{0%{opacity:0;transform:translate3d(0,-1500px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes flyInLeft{0%{opacity:0;transform:translate3d(1500px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes flyInRight{0%{opacity:0;transform:translate3d(-1500px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes flyOut{20%{transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;transform:scale3d(1.1,1.1,1.1)}to{opacity:0;transform:scale3d(.3,.3,.3)}}@keyframes flyOutUp{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}@keyframes flyOutDown{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes flyOutRight{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes flyOutLeft{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes slideInY{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:scaleY(1)}}@keyframes slideInX{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes slideOutY{0%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(0)}}@keyframes slideOutX{0%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(0)}}@keyframes swingInX{0%{transform:perspective(1000px) rotateX(90deg);opacity:0}40%{transform:perspective(1000px) rotateX(-30deg);opacity:1}60%{transform:perspective(1000px) rotateX(15deg)}80%{transform:perspective(1000px) rotateX(-7.5deg)}to{transform:perspective(1000px) rotateX(0deg)}}@keyframes swingInY{0%{transform:perspective(1000px) rotateY(-90deg);opacity:0}40%{transform:perspective(1000px) rotateY(30deg);opacity:1}60%{transform:perspective(1000px) rotateY(-17.5deg)}80%{transform:perspective(1000px) rotateY(7.5deg)}to{transform:perspective(1000px) rotateY(0deg)}}@keyframes swingOutX{0%{transform:perspective(1000px) rotateX(0deg)}40%{transform:perspective(1000px) rotateX(-7.5deg)}60%{transform:perspective(1000px) rotateX(17.5deg)}80%{transform:perspective(1000px) rotateX(-30deg);opacity:1}to{transform:perspective(1000px) rotateX(90deg);opacity:0}}@keyframes swingOutY{0%{transform:perspective(1000px) rotateY(0deg)}40%{transform:perspective(1000px) rotateY(7.5deg)}60%{transform:perspective(1000px) rotateY(-10deg)}80%{transform:perspective(1000px) rotateY(30deg);opacity:1}to{transform:perspective(1000px) rotateY(-90deg);opacity:0}}@keyframes zoomIn{0%{opacity:1;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(0)}}@keyframes flash{0%,50%,to{opacity:1}25%,75%{opacity:0}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}to{transform:scale(1) rotate(0)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.9);opacity:.7}}@keyframes jiggle{0%,to{transform:scale3d(1,1,1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}}@keyframes glow{0%,to{background-color:#fcfcfd}30%{background-color:#fff6cd}}.transition{animation-iteration-count:1;animation-duration:300ms;animation-timing-function:ease;animation-fill-mode:both}.animating.transition{backface-visibility:hidden;visibility:visible!important}.loading.transition{position:absolute;top:-99999px;left:-99999px}.hidden.transition{display:none;visibility:hidden}.visible.transition{display:block!important;visibility:visible!important}.disabled.transition{animation-play-state:paused}.looping.transition{animation-iteration-count:infinite}.transition.browse{animation-duration:500ms}.transition.browse.in{animation-name:browseIn}.transition.browse.left.out,.transition.browse.out{animation-name:browseOutLeft}.transition.browse.right.out{animation-name:browseOutRight}.drop.transition{transform-origin:top center;animation-duration:400ms;animation-timing-function:cubic-bezier(.34,1.61,.7,1)}.drop.transition.in{animation-name:dropIn}.drop.transition.out{animation-name:dropOut}.transition.fade.in{animation-name:fadeIn}.transition[class*="fade up"].in{animation-name:fadeInUp}.transition[class*="fade down"].in{animation-name:fadeInDown}.transition[class*="fade left"].in{animation-name:fadeInLeft}.transition[class*="fade right"].in{animation-name:fadeInRight}.transition.fade.out{animation-name:fadeOut}.transition[class*="fade up"].out{animation-name:fadeOutUp}.transition[class*="fade down"].out{animation-name:fadeOutDown}.transition[class*="fade left"].out{animation-name:fadeOutLeft}.transition[class*="fade right"].out{animation-name:fadeOutRight}.flip.transition.in,.flip.transition.out{animation-duration:600ms}.horizontal.flip.transition.in{animation-name:horizontalFlipIn}.horizontal.flip.transition.out{animation-name:horizontalFlipOut}.vertical.flip.transition.in{animation-name:verticalFlipIn}.vertical.flip.transition.out{animation-name:verticalFlipOut}.scale.transition.in{animation-name:scaleIn}.scale.transition.out{animation-name:scaleOut}.transition.fly{animation-duration:.6s;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.transition.fly.in{animation-name:flyIn}.transition[class*="fly up"].in{animation-name:flyInUp}.transition[class*="fly down"].in{animation-name:flyInDown}.transition[class*="fly left"].in{animation-name:flyInLeft}.transition[class*="fly right"].in{animation-name:flyInRight}.transition.fly.out{animation-name:flyOut}.transition[class*="fly up"].out{animation-name:flyOutUp}.transition[class*="fly down"].out{animation-name:flyOutDown}.transition[class*="fly left"].out{animation-name:flyOutLeft}.transition[class*="fly right"].out{animation-name:flyOutRight}.transition.slide.in,.transition[class*="slide down"].in{animation-name:slideInY;transform-origin:top center}.transition[class*="slide up"].in{animation-name:slideInY;transform-origin:bottom center}.transition[class*="slide left"].in{animation-name:slideInX;transform-origin:center right}.transition[class*="slide right"].in{animation-name:slideInX;transform-origin:center left}.transition.slide.out,.transition[class*="slide down"].out{animation-name:slideOutY;transform-origin:top center}.transition[class*="slide up"].out{animation-name:slideOutY;transform-origin:bottom center}.transition[class*="slide left"].out{animation-name:slideOutX;transform-origin:center right}.transition[class*="slide right"].out{animation-name:slideOutX;transform-origin:center left}.transition.swing{animation-duration:800ms}.transition[class*="swing down"].in{animation-name:swingInX;transform-origin:top center}.transition[class*="swing up"].in{animation-name:swingInX;transform-origin:bottom center}.transition[class*="swing left"].in{animation-name:swingInY;transform-origin:center right}.transition[class*="swing right"].in{animation-name:swingInY;transform-origin:center left}.transition.swing.out,.transition[class*="swing down"].out{animation-name:swingOutX;transform-origin:top center}.transition[class*="swing up"].out{animation-name:swingOutX;transform-origin:bottom center}.transition[class*="swing left"].out{animation-name:swingOutY;transform-origin:center right}.transition[class*="swing right"].out{animation-name:swingOutY;transform-origin:center left}.transition.zoom.in{animation-name:zoomIn}.transition.zoom.out{animation-name:zoomOut}.flash.transition,.shake.transition{animation-duration:750ms;animation-name:flash}.shake.transition{animation-name:shake}.bounce.transition,.tada.transition{animation-duration:750ms;animation-name:bounce}.tada.transition{animation-name:tada}.pulse.transition{animation-duration:500ms;animation-name:pulse}.jiggle.transition{animation-duration:750ms;animation-name:jiggle}.transition.glow{animation-duration:2000ms;animation-timing-function:cubic-bezier(.19,1,.22,1);animation-name:glow}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbWFudGljLmNzcyIsImRlZmluaXRpb25zL2dsb2JhbHMvcmVzZXQubGVzcyIsInRoZW1lcy9kZWZhdWx0L2dsb2JhbHMvcmVzZXQub3ZlcnJpZGVzIiwiZGVmaW5pdGlvbnMvZ2xvYmFscy9zaXRlLmxlc3MiLCJkZWZpbml0aW9ucy9lbGVtZW50cy9idXR0b24ubGVzcyIsImRlZmluaXRpb25zL2VsZW1lbnRzL2NvbnRhaW5lci5sZXNzIiwiZGVmaW5pdGlvbnMvZWxlbWVudHMvZGl2aWRlci5sZXNzIiwidGhlbWVzL2RlZmF1bHQvZWxlbWVudHMvZGl2aWRlci5vdmVycmlkZXMiLCJkZWZpbml0aW9ucy9lbGVtZW50cy9mbGFnLmxlc3MiLCJ0aGVtZXMvZGVmYXVsdC9lbGVtZW50cy9mbGFnLm92ZXJyaWRlcyIsImRlZmluaXRpb25zL2VsZW1lbnRzL2hlYWRlci5sZXNzIiwiZGVmaW5pdGlvbnMvZWxlbWVudHMvaWNvbi5sZXNzIiwidGhlbWVzL2RlZmF1bHQvZWxlbWVudHMvaWNvbi5vdmVycmlkZXMiLCJkZWZpbml0aW9ucy9lbGVtZW50cy9pbWFnZS5sZXNzIiwiZGVmaW5pdGlvbnMvZWxlbWVudHMvaW5wdXQubGVzcyIsImRlZmluaXRpb25zL2VsZW1lbnRzL2xhYmVsLmxlc3MiLCJkZWZpbml0aW9ucy9lbGVtZW50cy9saXN0Lmxlc3MiLCJkZWZpbml0aW9ucy9lbGVtZW50cy9sb2FkZXIubGVzcyIsImRlZmluaXRpb25zL2VsZW1lbnRzL3BsYWNlaG9sZGVyLmxlc3MiLCJkZWZpbml0aW9ucy9lbGVtZW50cy9yYWlsLmxlc3MiLCJkZWZpbml0aW9ucy9lbGVtZW50cy9yZXZlYWwubGVzcyIsImRlZmluaXRpb25zL2VsZW1lbnRzL3NlZ21lbnQubGVzcyIsImRlZmluaXRpb25zL2VsZW1lbnRzL3N0ZXAubGVzcyIsInRoZW1lcy9kZWZhdWx0L2VsZW1lbnRzL3N0ZXAub3ZlcnJpZGVzIiwiZGVmaW5pdGlvbnMvY29sbGVjdGlvbnMvYnJlYWRjcnVtYi5sZXNzIiwiZGVmaW5pdGlvbnMvY29sbGVjdGlvbnMvZm9ybS5sZXNzIiwiZGVmaW5pdGlvbnMvY29sbGVjdGlvbnMvZ3JpZC5sZXNzIiwiZGVmaW5pdGlvbnMvY29sbGVjdGlvbnMvbWVudS5sZXNzIiwiZGVmaW5pdGlvbnMvY29sbGVjdGlvbnMvbWVzc2FnZS5sZXNzIiwiZGVmaW5pdGlvbnMvY29sbGVjdGlvbnMvdGFibGUubGVzcyIsImRlZmluaXRpb25zL3ZpZXdzL2FkLmxlc3MiLCJkZWZpbml0aW9ucy92aWV3cy9jYXJkLmxlc3MiLCJkZWZpbml0aW9ucy92aWV3cy9jb21tZW50Lmxlc3MiLCJkZWZpbml0aW9ucy92aWV3cy9mZWVkLmxlc3MiLCJkZWZpbml0aW9ucy92aWV3cy9pdGVtLmxlc3MiLCJkZWZpbml0aW9ucy92aWV3cy9zdGF0aXN0aWMubGVzcyIsImRlZmluaXRpb25zL21vZHVsZXMvYWNjb3JkaW9uLmxlc3MiLCJ0aGVtZXMvZGVmYXVsdC9tb2R1bGVzL2FjY29yZGlvbi5vdmVycmlkZXMiLCJkZWZpbml0aW9ucy9tb2R1bGVzL2NoZWNrYm94Lmxlc3MiLCJ0aGVtZXMvZGVmYXVsdC9tb2R1bGVzL2NoZWNrYm94Lm92ZXJyaWRlcyIsImRlZmluaXRpb25zL21vZHVsZXMvZGltbWVyLmxlc3MiLCJkZWZpbml0aW9ucy9tb2R1bGVzL2Ryb3Bkb3duLmxlc3MiLCJ0aGVtZXMvZGVmYXVsdC9tb2R1bGVzL2Ryb3Bkb3duLm92ZXJyaWRlcyIsImRlZmluaXRpb25zL21vZHVsZXMvZW1iZWQubGVzcyIsImRlZmluaXRpb25zL21vZHVsZXMvbW9kYWwubGVzcyIsImRlZmluaXRpb25zL21vZHVsZXMvbmFnLmxlc3MiLCJkZWZpbml0aW9ucy9tb2R1bGVzL3BvcHVwLmxlc3MiLCJkZWZpbml0aW9ucy9tb2R1bGVzL3Byb2dyZXNzLmxlc3MiLCJkZWZpbml0aW9ucy9tb2R1bGVzL3JhdGluZy5sZXNzIiwidGhlbWVzL2RlZmF1bHQvbW9kdWxlcy9yYXRpbmcub3ZlcnJpZGVzIiwiZGVmaW5pdGlvbnMvbW9kdWxlcy9zZWFyY2gubGVzcyIsImRlZmluaXRpb25zL21vZHVsZXMvc2hhcGUubGVzcyIsImRlZmluaXRpb25zL21vZHVsZXMvc2lkZWJhci5sZXNzIiwiZGVmaW5pdGlvbnMvbW9kdWxlcy9zdGlja3kubGVzcyIsImRlZmluaXRpb25zL21vZHVsZXMvdGFiLmxlc3MiLCJ0aGVtZXMvZGVmYXVsdC9tb2R1bGVzL3RyYW5zaXRpb24ub3ZlcnJpZGVzIiwiZGVmaW5pdGlvbnMvbW9kdWxlcy90cmFuc2l0aW9uLmxlc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBc3BCQSxtR0M5bkJBLEMsQ0FFQSxNLENBREEsTyxDQUVFLGtCLENBRUYsSSxDQUNFLHFCLENBSWtCLGlCLENBQTJDLG9CLENBQXRCLGtCLENBQXpDLGdCLENBQ0UsdUIsQ0FDQSxvQjs7QUN6QkYsSSxDQUNFLGdCLENBQ0EseUIsQ0FDQSw2QixDQVVGLEksQ0FDRSxRLENBT0YsTyxDQUNBLEssQ0FvWEEsTyxDQTFWQSxVLENBQ0EsTSxDQTFCQSxNLENBQ0EsTSxDQTBCQSxJLENBeVZBLEksQ0FsWEEsRyxDQUNBLE8sQ0FDRSxhLENBUUYsRSxDQUNFLGEsQ0FDQSxjLENBcUJGLE0sQ0FDRSxlLENBUUYsRSxDQUNFLHNCLENBQ0EsUSxDQUNBLGdCLENBNERGLEksQ0FDQSxHLENBckRBLEcsQ0FzREEsSSxDQXJERSwrQixDQUNBLGEsQ0FXRixDLENBQ0UsNEIsQ0FDQSxvQyxDQVFGLFcsQ0FDRSxrQixDQUVBLGdDLENBT0YsQyxDQUNBLE0sQ0FVRSxrQixDQW1CRixHLENBQ0UsaUIsQ0FPRixJLENBQ0UscUIsQ0FDQSxVLENBT0YsSyxDQUNFLGEsQ0FRRixHLENBQ0EsRyxDQUNFLGEsQ0FDQSxhLENBQ0EsaUIsQ0FDQSx1QixDQUdGLEcsQ0FDRSxhLENBR0YsRyxDQUNFLFMsQ0FVRixLLENBZ09BLE0sQ0EvTkEsSyxDQUNFLG9CLENBT0YsVUFBUyxXLENBQ1AsWSxDQUNBLFEsQ0FPRixHLENBQ0UsaUIsQ0FPRixRQUFPLE0sQ0FDTCxlLENBV0YsTSxDQUNBLEssQ0FDQSxRLENBQ0EsTSxDQUNBLFEsQ0FDRSxzQixDQUNBLGMsQ0FDQSxnQixDQUNBLFEsQ0FRRixNLENBQ0EsSyxDQUNFLGdCLENBUUYsTSxDQUNBLE0sQ0FDRSxtQixDQVdGLFksQ0FDQSxhLENBSEEsTSxDQUNBLGtCLENBR0UseUIsQ0FRRiwrQixDQUNBLDhCLENBQ0EsK0IsQ0FIQSx3QixDQUlFLGlCLENBQ0EsUyxDQVFGLDRCLENBQ0EsMkIsQ0FDQSw0QixDQUhBLHFCLENBSUUsNkIsQ0FPRixRLENBQ0UsMEIsQ0FVRixNLENBRUUsYSxDQUNBLGEsQ0FDQSxjLENBRUEsa0IsQ0FRRixRLENBQ0Usb0IsQ0FDQSx1QixDQU9GLFEsQ0FDRSxhLENBUUYsZSxDQUNBLFksQ0FqQ0EsTSxDQWtDRSxxQixDQUNBLFMsQ0FPRix3QyxDQUNBLHdDLENBQ0UsVyxDQVFGLGEsQ0FDRSw0QixDQUNBLG1CLENBT0YsMkMsQ0FDQSx3QyxDQUNFLHVCLENBUUYsNEIsQ0FDRSx5QixDQUNBLFksQ0FvQkYsTyxDQUNFLGlCLENBNkJGLFEsQ0FYQSxRLENBQ0UsWTs7Ozs7Ozs7OztBQ3ZaRixJLENBREEsSSxDQUVFLFcsQ0FHRixJLENBQ0UsYyxDQUdGLEksQ0FpQkEsRSxDQUNBLEUsQ0FDQSxFLENBQ0EsRSxDQUNBLEUsQ0FDRSw0SSxDQUlBLFMsQ0ExQkYsSSxDQUNFLFEsQ0FFQSxpQixDQUNBLGUsQ0FDQSxlLENBRUEsYyxDQUVBLHFCLENBQ0EsMEIsQ0FGQSxvQixDQVNGLEUsQ0FDQSxFLENBQ0EsRSxDQUNBLEUsQ0FDQSxFLENBRUUsd0IsQ0FDQSxzQyxDQUNBLGUsQ0FJRixFLENBQ0UsZSxDQUNBLGMsQ0FFRixFLENBQ0UsdUIsQ0FFRixFLENBQ0UsdUIsQ0FFRixFLENBQ0UsdUIsQ0FFRixFLENBQ0UsYyxDQUdGLGMsQ0FDQSxjLENBQ0EsYyxDQUNBLGMsQ0FDQSxjLENBcUJBLGEsQ0FwQkUsWSxDQUdGLGEsQ0FDQSxhLENBQ0EsYSxDQUNBLGEsQ0FDQSxhLENBZ0JBLFksQ0FmRSxlLENBUUYsQyxDQUNFLGMsQ0FDQSxvQixDQWFGLEMsQ0FJQSxPLENBSEUsYSxDQUNBLG9CLENBRUYsTyxDQUNFLGEsQ0FzREYsbUIsQ0FDRSx3QixDQUNBLHFCLENBRUYsZ0IsQ0FDRSx3QixDQUNBLHFCLENBRUYsVyxDQUNFLHdCLENBQ0EscUIsQ0FLRix3QixDQURBLDJCLENBRUUscUMsQ0FDQSxxQixDQUdGLHFCLENBREEsd0IsQ0FFRSxxQyxDQUNBLHFCLENBR0YsZ0IsQ0FEQSxtQixDQUVFLHFDLENBQ0EscUIsQ0FyRUEsd0IsQ0FDRSx1QixDQUNBLFUsQ0FDQSxXLENBRUYsOEIsQ0FDRSx5QixDQUNBLGUsQ0FFRiw4QixDQUNFLGMsQ0FDQSxpQixDQUNBLDBCLENBQ0EseUIsQ0FFRiw4QyxDQUNFLDBCLENBRUYsb0MsQ0FDRSwrQixDQUlGLDBDLENBQ0UsK0IsQ0FFRiwwQyxDQUNFLGdDLENBRUYsMEQsQ0FDRSxnQyxDQUVGLGdELENBQ0UsZ0M7Ozs7Ozs7Ozs7QUNZSix1QkFDRSxFLENBQ0Usc0IsQ0FFRixFLENBQ0UsMEJBaktKLFUsQ0E0Q0EsZ0IsQ0FHRSx1RSxDQS9DRixVLENBQ0UsYyxDQUNBLG9CLENBRUEsYyxDQUVBLFMsQ0FDQSxRLENBQ0EsdUIsQ0FDQSxrQixDQUdBLDRJLENBRUEsa0IsQ0FDQSx5QixDQUVBLG1CLENBQ0EsZ0IsQ0FDQSxlLENBQ0EsZSxDQUNBLGlCLENBQ0EsaUIsQ0FDQSxvQixDQUVBLDBCLENBR0EsZ0IsQ0FDQSw0RyxDQUNBLGMsQ0FFQSx1QyxDQXRCQSxvQixDQWtDRixnQixDQUNFLHdCLENBQ0EscUIsQ0FFQSxvQixDQUdGLHNCLENBQ0UsVyxDQU9GLGdCLENBQ0Usd0IsQ0FDQSxvQixDQUNBLDZCLENBQ0EsdUIsQ0FHRixzQixDQUNFLFcsQ0FPRixpQixDQUVFLHdCLENBQ0EsbUIsQ0FGRix3QixDQURBLGlCLENBSUUsb0IsQ0FDQSwyQyxDQU9GLGlCLENBR0Usc0MsQ0FIRixpQixDQU1BLHVCLENBR0UscUIsQ0FURixpQixDQVdBLHdCLENBTEEsdUIsQ0FNRSx3QixDQUNBLHFCLENBU0YsMEQsQ0FDRSxpQixDQUNBLGMsQ0FDQSwwQixDQUNBLDJCLENBQ0EsUyxDQUNBLG1CLENBQ0EseUMsQ0FlRix3QixDQWJBLHlCLENBY0UsaUIsQ0FDQSxVLENBQ0EsTyxDQUNBLFEsQ0FFQSxvQyxDQUNBLGtCLENBQ0EsbUIsQ0FLQSxvQixDQTFCRix5QixDQVdFLGlDLENBRUYsd0IsQ0FVRSxnQyxDQUNBLGtDLENBSUEseUMsQ0FDQSxrQixDQUNBLGlCLENBRUEsZ0MsQ0FFRixxQyxDQUNFLDRCLENBQ0EsZSxDQVlGLDZCQUE0QixpQixDQUMxQiwyQixDQUVGLDZCQUE0QixnQixDQUMxQix3QixDQVNGLG1CLENBRkEsNEIsQ0FJQSwwQixDQUhBLG1CLENBRUEseUIsQ0FFRSxjLENBQ0EscUIsQ0FDQSwrQixDQUNBLHlCLENBQ0EsNkIsQ0FJRixxQyxDQUNFLDhCLENBV0YsbUIsQ0FDRSxpQixDQUNBLGUsQ0FDQSx5QixDQUNBLHFCLENBQ0EsUyxDQUdGLDRCLENBQ0UsNkIsQ0FFRixvQyxDQUNFLGlCLENBQ0Esa0IsQ0FFRixtQyxDQUNFLGlCLENBQ0EsVSxDQUtGLG1DLENBREEsb0MsQ0FFRSw0QixDQUVGLG9DLENBQ0UsUyxDQUNBLE8sQ0FFRixtQyxDQUNFLE8sQ0FDQSxTLENBQ0EsVyxDQUNBLGdCLENBRUYsMEMsQ0FDQSwwQyxDQUNFLFMsQ0FDQSxVLENBRUYseUMsQ0FDQSx5QyxDQUNFLFMsQ0FDQSxPLENBS0YsNEMsQ0FEQSw2QyxDQUVFLDBDLENBRUYsNkMsQ0FDRSx3QixDQUNBLFUsQ0FFRiw0QyxDQUNFLFEsQ0FDQSxNLENBQ0EsVSxDQUVGLG1ELENBQ0EsbUQsQ0FDRSwwQixDQUNBLFUsQ0FFRixrRCxDQUNBLGtELENBQ0UsTyxDQUNBLFUsQ0FLRix3QyxDQURBLHlDLENBRUUsOEMsQ0FFRix5QyxDQUNFLFMsQ0FDQSxVLENBQ0EsUyxDQUNBLGtCLENBRUYsd0MsQ0FDRSxTLENBQ0EsTSxDQUNBLFUsQ0FDQSxvQixDQUVGLCtDLENBQ0EsK0MsQ0FDRSxTLENBQ0EsVSxDQUNBLFMsQ0FDQSxvQixDQUVGLDhDLENBQ0EsOEMsQ0FDRSxNLENBQ0EsVSxDQUNBLFMsQ0FDQSxrQixDQU9GLG1CLENBQ0UseUMsQ0FDQSxjLENBQ0EsVSxDQUNBLDBCLENBSUYsNEIsQ0FDRSxpQixDQUVGLHdDLENBQ0UsYSxDQUVGLHFDLENBQ0UsZSxDQUVGLGlELENBQ0UsWSxDQU1GLHlCLENBQ0UsZSxDQUNBLHlDLENBQ0Esb0IsQ0FLRiwwQixDQURBLHlCLENBRUUsZSxDQUNBLHlDLENBQ0Esb0IsQ0FJRixnQyxDQUNFLGtCLENBQ0EsNEMsQ0FDQSxvQixDQVFGLHVCQUFzQixNLENBQ3BCLG1CLENBQ0Esa0IsQ0FDQSx3QixDQUNBLG1CLENBQ0Esa0IsQ0FDQSx5QixDQUdGLDBCLENBQ0UsUSxDQUVGLHlCLENBQ0UsWSxDQUNBLGtCLENBQ0EsMkIsQ0FFQSxVLENBQ0EsYSxDQUNBLCtCLENBSUYsb0MsQ0FDRSxZLENBQ0EsYSxDQUlGLHVCQUFzQixnQyxDQUNwQix5QixDQUNBLDRCLENBRUYsdUJBQXNCLCtCLENBQ3BCLHdCLENBQ0EsMkIsQ0FJRix5QyxDQUNFLHdCLENBQ0EsMkIsQ0FFRix3QyxDQUNFLHlCLENBQ0EsNEIsQ0FRRixtQixDQUNFLHdCLENBQ0EsVSxDQUNBLGdCLENBQ0EscUIsQ0FDQSwyQyxDQUVGLHlCLENBQ0Usd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FFRiwwQixDQU9BLGtCLENBT0Esd0IsQ0FiRSx3QixDQUNBLFUsQ0FDQSxnQixDQUlGLGtCLENBQ0Usd0IsQ0FHQSxxQixDQUNBLDJDLENBRUYsd0IsQ0FDRSx3QixDQVdGLHNCLENBUEEseUIsQ0FDRSx3QixDQUNBLFUsQ0FDQSxnQixDQUlGLHNCLENBQ0Usd0IsQ0FHQSxxQixDQUNBLDJDLENBRUYsNEIsQ0FDRSx3QixDQUNBLFUsQ0FDQSxnQixDQUVGLDZCLENBQ0Usd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FJRixtQixDQUtBLHlCLENBSkUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FFRix5QixDQUNFLHdCLENBSUYsMEIsQ0FPQSxrQixDQU9BLHdCLENBYkUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FJRixrQixDQUNFLG9CLENBR0EscUIsQ0FDQSwyQyxDQUVGLHdCLENBQ0Usd0IsQ0FrQkYsMEIsQ0FkQSx5QixDQUNFLHFCLENBQ0EsVSxDQUNBLGdCLENBSUYsb0IsQ0FDRSx3QixDQUVBLGdCLENBSUYsMEIsQ0FDRSx3QixDQUlGLDJCLENBY0EsMEIsQ0FiRSx3QixDQUNBLFUsQ0FDQSxnQixDQWZGLG9CLENBbUJBLG9CLENBbUJBLGEsQ0FFRSxVLENBQ0EscUIsQ0FDQSwyQyxDQXZCRixvQixDQUdFLGdCLENBRkEsd0IsQ0FNRiwwQixDQUNFLHdCLENBSUYsMkIsQ0FDRSx3QixDQUNBLFUsQ0FDQSxnQixDQUlGLGEsQ0FDRSx3QixDQUtGLG1CLENBQ0Usd0IsQ0FDQSxVLENBRUYsb0IsQ0FDRSx3QixDQUNBLFUsQ0FPRixxQkFBc0IsUSxDQUNwQixrQixDQUNBLFUsQ0FFQSwyQixDQUNBLGlCLENBQ0EsUSxDQUdGLGVBQWMsSyxZQUFtQixPLE1BQWEsVSxDQVQ5QyxxQkFBc0IsUSxDQVVwQixtQyxDQUVGLGVBQWMsSyxrQkFBeUIsTyxNQUFhLFUsQ0FDbEQsbUMsQ0FhRixpQyxDQURBLGtDLENBRUUsVSxDQUNBLGEsQ0FDQSxrQixDQUdGLGtDLENBREEsbUMsQ0FFRSxXLENBQ0EsYyxDQUNBLGlCLENBUUYsa0IsQ0FEQSwyQixDQUVFLDJCLENBR0YsdUIsQ0FEQSxnQyxDQUVFLG1CLENBR0YsK0IsQ0FEQSx3QyxDQUVFLGdDLENBU0YsZSxDQUZBLHdCLENBQ0Esb0IsQ0FFRSxzQixDQUlGLGUsQ0FGQSx3QixDQUNBLG9CLENBRUUsc0IsQ0FJRixnQixDQUZBLHlCLENBQ0EscUIsQ0FFRSxzQixDQUlGLFUsQ0FGQSxtQixDQUNBLGUsQ0FFRSxjLENBSUYsZ0IsQ0FGQSx5QixDQUNBLHFCLENBRUUsdUIsQ0FJRixjLENBRkEsdUIsQ0FDQSxtQixDQUVFLHVCLENBSUYsZSxDQUZBLHdCLENBQ0Esb0IsQ0FFRSx1QixDQUlGLGtCLENBRkEsMkIsQ0FDQSx1QixDQUVFLHVCLENBUUYsZSxDQURBLHdCLENBRUUsbUIsQ0FHRixxQixDQURBLDhCLENBRUUsVSxDQUNBLGtCLENBQ0Esa0IsQ0FTRixnQixDQURBLHlCLENBRUUsd0IsQ0FDQSw4QixDQUNBLGUsQ0FDQSwwQixDQUNBLG1CLENBQ0EsMEIsQ0FDQSw2QyxDQUVGLGlCLENBQ0UsZSxDQUNBLG1DLENBQ0EsMEIsQ0FFRix5QixDQUNFLGUsQ0FJRixzQixDQURBLCtCLENBRUUseUIsQ0FDQSw4QixDQUZGLHNCLENBR0UsOEUsQ0FHRixzQixDQURBLCtCLENBRUUseUIsQ0FDQSw4QixDQUNBLDhFLENBR0YsdUIsQ0FEQSxnQyxDQUVFLDRCLENBQ0EsOEIsQ0FGRix1QixDQUdFLCtFLENBR0YsdUIsQ0FEQSxnQyxDQUVFLG9DLENBRUEsK0IsQ0FIRix1QixDQUVFLHVCLENBSUYsNkIsQ0FEQSxzQyxDQUVFLGdDLENBSUYsK0IsQ0FDRSxvRixDQUVGLGdDLENBQ0UscUYsQ0FFRixnQyxDQUNFLHVCLENBS0YseUIsQ0FEQSxrQyxDQUVFLHNDLENBQ0EsdUIsQ0FDQSx5RCxDQUdGLCtCLENBREEsd0MsQ0FFRSxvQixDQUNBLHlDLENBR0YsK0IsQ0FEQSx3QyxDQUVFLG9CLENBQ0EseUMsQ0FHRixnQyxDQURBLHlDLENBRUUsZ0QsQ0FDQSxvQixDQUNBLHlELENBR0YsZ0MsQ0FEQSx5QyxDQUVFLHNDLENBQ0EsVSxDQUNBLGdCLENBQ0EsK0MsQ0FHRixzQyxDQURBLCtDLENBRUUsc0MsQ0FDQSx5QyxDQUtGLHlCLENBQ0Usd0MsQ0FDQSxlLENBRUYsa0MsQ0FDRSxnQixDQUdBLG1CLENBQ0EsdUMsQ0FFRiw4QyxDQUNFLGtCLENBVUYsdUIsQ0FEQSxnQyxDQUVFLGlCLENBQ0EsbUMsQ0FDQSw2QixDQUtGLDZCLENBREEsc0MsQ0FFRSxpQixDQUNBLFcsQ0FDQSxhLENBQ0EsZSxDQUNBLDhCLENBQ0EsaUMsQ0FDQSxpQixDQUVBLFEsQ0FDQSxrQixDQUNBLGdDLENBQ0EsUSxDQUNBLHVDLENBTUEsSyxDQUNBLE0sQ0FJRix1QyxDQUNFLG9DLENBQ0EsNEIsQ0FFRiw2QyxDQUNFLFMsQ0FDQSxPLENBQ0EsZSxDQUNBLCtCLENBQ0Esa0MsQ0FDQSxzQyxDQU9GLG1DLENBRkEsb0MsQ0FDQSw0QyxDQUZBLDZDLENBSUUsYSxDQUNBLGlCLENBQ0EsVSxDQUNBLE8sQ0FDQSxpQixDQUNBLDBCLENBR0Ysc0MsQ0FDRSxlLENBRUYsa0QsQ0FDRSxtQyxDQUNBLHNDLENBRUYsaUQsQ0FDRSxvQyxDQUNBLHVDLENBRUYsMkQsQ0FDRSxlLENBQ0EsbUMsQ0FFRiwwRCxDQUNFLGUsQ0FDQSxzQyxDQUlGLDRDLENBQ0EsNkMsQ0FDRSw0QixDQUNBLDZCLENBYUYsd0IsQ0FEQSxpQyxDQURBLGlDLENBR0Usa0MsQ0FDQSx5QixDQUNBLGdCLENBQ0Esb0IsQ0FFRiw4QixDQUNFLGtDLENBQ0EsZ0IsQ0FDQSxvQixDQU9GLG1CLENBQ0Usa0IsQ0FFRix5QixDQUNFLFMsQ0FDQSx1QixDQVFGLGUsQ0FDRSxpQixDQUNBLFUsQ0FDQSxtQixDQUNBLFMsQ0FFRixzQixDQUNFLGlCLENBQ0EsaUIsQ0FDQSxvQixDQUVBLFksQ0FDQSxPLENBQ0EsUSxDQUNBLHFCLENBQ0EsZ0IsQ0FFQSx1QixDQUNBLHdCLENBRUEsa0IsQ0FDQSxtQixDQUVBLHdCLENBQ0Esb0IsQ0FFQSxpQixDQUNBLGUsQ0FFQSxzQyxDQUVGLGlDLENBQ0UsdUIsQ0FJRixxQixDQUNFLGlCLENBRUYsMkIsQ0FDRSxZLENBVUYsbUIsQ0FDRSxpQixDQUNBLGEsQ0FDQSxRLENBQ0EsZSxDQUNBLGlELENBSUYsdUIsQ0FDRSwyQyxDQUVGLDBCLENBQ0UsMkMsQ0FJRix3QixDQUNFLG9CLENBQ0EsZ0IsQ0FDQSxnQixDQUVBLG1CLENBQ0EsMkMsQ0FFRix5QixDQUNFLG9CLENBQ0EsZSxDQUNBLGtCLENBQ0EsMkMsQ0FJRixvQixDQUNFLGlCLENBQ0EsWSxDQUNBLGUsQ0FDQSxvQixDQUNBLFMsQ0FDQSxnQixDQUNBLGlCLENBRUYsNEIsQ0FDRSxRLENBRUYsd0MsQ0FDRSxlLENBRUYsdUMsQ0FDRSxlLENBSUYsa0MsQ0FDRSxrQixDQUNBLDJDLENBRUYsc0QsQ0FDRSxnQyxDQUVGLHFELENBQ0UsZ0MsQ0FHRixxQyxDQUNFLGUsQ0FDQSwyQyxDQUVGLHlELENBQ0UsZ0MsQ0FFRix3RCxDQUNFLGdDLENBSUYsbUMsQ0FDRSxtQixDQUNBLGMsQ0FDQSxnQixDQUNBLDJDLENBRUYsdUQsQ0FDRSxnQixDQUNBLGdDLENBRUYsc0QsQ0FDRSxnQixDQUNBLGdDLENBR0Ysb0MsQ0FDRSxtQixDQUNBLGEsQ0FDQSxpQixDQUNBLDJDLENBRUYsd0QsQ0FDRSxnQixDQUNBLGdDLENBRUYsdUQsQ0FDRSxnQixDQUNBLGdDLENBUUYsZ0IsQ0FEQSxpQixDQUVFLFUsQ0FFRixnQixDQUNFLGEsQ0E2Q0YsaUIsQ0FxQkEsa0IsQ0ExQ0EsZ0IsQ0FQQSxnQixDQW1DQSxnQixDQWRBLGlCLENBUEEsZSxDQTRCQSxlLENBakRBLGlCLENBK0RBLGtCLENBdEVBLGUsQ0FDRSxVLENBRUYsdUIsQ0FDRSxTLENBTUYseUIsQ0FDRSxhLENBTUYsd0IsQ0FDRSxTLENBTUYsd0IsQ0FDRSxTLENBTUYsdUIsQ0FDRSxhLENBTUYseUIsQ0FDRSxhLENBTUYseUIsQ0FDRSxXLENBTUYsd0IsQ0FDRSxZLENBTUYsdUIsQ0FDRSxTLENBTUYsMEIsQ0FDRSxXLENBTUYsMEIsQ0FDRSxhLENBSUYsMEIsQ0FDQSxrQyxDQUNFLFksQ0FDQSxVLENBR0YsZ0MsQ0FDRSxVLENBRUYsa0MsQ0FDRSxjLENBRUYsaUMsQ0FDRSxVLENBRUYsaUMsQ0FDRSxVLENBRUYsZ0MsQ0FDRSxjLENBRUYsa0MsQ0FDRSxjLENBRUYsa0MsQ0FDRSxZLENBRUYsaUMsQ0FDRSxhLENBRUYsZ0MsQ0FDRSxVLENBRUYsbUMsQ0FDRSxZLENBRUYsbUMsQ0FDRSxjLENBVUYsZ0IsQ0FEQSx5QixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBQ0EscUIsQ0FFRixnQixDQUNFLDJDLENBR0Ysc0IsQ0FEQSwrQixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0Ysc0IsQ0FEQSwrQixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0YsdUIsQ0FEQSxnQyxDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBSUYsdUIsQ0FDQSxzQyxDQUhBLGdDLENBQ0EsdUMsQ0FHRSx3QixDQUNBLFUsQ0FDQSxnQixDQUtGLHNCLENBREEsK0IsQ0FFRSw0QyxDQUNBLHVCLENBR0YsNEIsQ0FEQSxxQyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDRCLENBREEscUMsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiw2QixDQURBLHNDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsNkIsQ0FEQSxzQyxDQUVFLDRDLENBQ0EsdUIsQ0FFRixnQkFBZSxTLDBCQUFxQyxhLENBQ2xELGdCLENBS0YseUIsQ0FEQSxrQyxDQUVFLDRCLENBQ0EsNEMsQ0FDQSxVLENBT0YsZ0MsQ0FFQSxnQyxDQUpBLCtCLENBRkEsK0IsQ0FHQSx5QyxDQUVBLHlDLENBSkEsd0MsQ0FGQSx3QyxDQVFFLHlCLENBQ0EsVSxDQUdGLCtCLENBREEsd0MsQ0FFRSxxQixDQUdGLCtCLENBREEsd0MsQ0FFRSxxQixDQUdGLGdDLENBSUEsZ0MsQ0FMQSx5QyxDQUlBLHlDLENBRkUscUIsQ0FVRiwrQixDQUZBLHdDLENBQ0Esd0MsQ0FFRSw0QixDQUNBLHlELENBQ0Esb0IsQ0FJRixxQyxDQUZBLDhDLENBQ0EsOEMsQ0FFRSx5QyxDQUNBLG9CLENBSUYscUMsQ0FEQSw4QyxDQUVFLHlDLENBQ0EsdUIsQ0FJRixzQyxDQU1BLHNDLENBUkEsK0MsQ0FNQSwrQyxDQUxBLCtDLENBTUEsK0MsQ0FKRSx5QyxDQUNBLG9CLENBV0YsZSxDQURBLHdCLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FDQSxxQixDQUVGLGUsQ0FDRSwyQyxDQUdGLHFCLENBREEsOEIsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLHFCLENBREEsOEIsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLHNCLENBREEsK0IsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUlGLHNCLENBQ0EscUMsQ0FIQSwrQixDQUNBLHNDLENBR0Usd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FLRixxQixDQURBLDhCLENBRUUsNEMsQ0FDQSx1QixDQUdGLDJCLENBREEsb0MsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiwyQixDQURBLG9DLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsNEIsQ0FEQSxxQyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDRCLENBREEscUMsQ0FFRSw0QyxDQUNBLHVCLENBRUYsZ0JBQWUsUyx5QkFBb0MsYSxDQUNqRCxnQixDQUtGLHdCLENBREEsaUMsQ0FFRSw0QixDQUNBLDRDLENBQ0EsVSxDQU9GLCtCLENBRUEsK0IsQ0FKQSw4QixDQUZBLDhCLENBR0Esd0MsQ0FFQSx3QyxDQUpBLHVDLENBRkEsdUMsQ0FRRSx5QixDQUNBLG9CLENBR0YsOEIsQ0FEQSx1QyxDQUVFLHdCLENBR0YsOEIsQ0FEQSx1QyxDQUVFLHdCLENBR0YsK0IsQ0FEQSx3QyxDQUVFLHdCLENBR0YsK0IsQ0FEQSx3QyxDQUVFLHdCLENBTUYsOEIsQ0FGQSx1QyxDQUNBLHVDLENBRUUsNEIsQ0FDQSx5RCxDQUNBLG9CLENBSUYsb0MsQ0FGQSw2QyxDQUNBLDZDLENBRUUsNEMsQ0FDQSxvQixDQUlGLG9DLENBREEsNkMsQ0FFRSw0QyxDQUNBLHVCLENBSUYscUMsQ0FGQSw4QyxDQUNBLDhDLENBRUUsNEMsQ0FDQSxvQixDQUlGLHFDLENBRkEsOEMsQ0FDQSw4QyxDQUVFLDRDLENBQ0Esb0IsQ0FNRixnQixDQURBLHlCLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FDQSxxQixDQUVGLGdCLENBQ0UsMkMsQ0FHRixzQixDQURBLCtCLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FHRixzQixDQURBLCtCLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FHRix1QixDQURBLGdDLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FJRix1QixDQUNBLHNDLENBSEEsZ0MsQ0FDQSx1QyxDQUdFLHdCLENBQ0EsVSxDQUNBLGdCLENBS0Ysc0IsQ0FEQSwrQixDQUVFLDRDLENBQ0EsdUIsQ0FHRiw0QixDQURBLHFDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsNEIsQ0FEQSxxQyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDZCLENBREEsc0MsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiw2QixDQURBLHNDLENBRUUsNEMsQ0FDQSx1QixDQUVGLGdCQUFlLFMsMEJBQXFDLGEsQ0FDbEQsZ0IsQ0FLRix5QixDQURBLGtDLENBRUUsNEIsQ0FDQSw0QyxDQUNBLGEsQ0FPRixnQyxDQUVBLGdDLENBSkEsK0IsQ0FGQSwrQixDQUdBLHlDLENBRUEseUMsQ0FKQSx3QyxDQUZBLHdDLENBUUUseUIsQ0FDQSxVLENBR0YsK0IsQ0FEQSx3QyxDQUVFLHdCLENBR0YsK0IsQ0FEQSx3QyxDQUVFLHdCLENBR0YsZ0MsQ0FEQSx5QyxDQUVFLHdCLENBR0YsZ0MsQ0FEQSx5QyxDQUVFLHdCLENBTUYsK0IsQ0FGQSx3QyxDQUNBLHdDLENBRUUsNEIsQ0FDQSx5RCxDQUNBLG9CLENBSUYscUMsQ0FGQSw4QyxDQUNBLDhDLENBRUUsNEMsQ0FDQSx1QixDQUlGLHFDLENBREEsOEMsQ0FFRSw0QyxDQUNBLHVCLENBSUYsc0MsQ0FGQSwrQyxDQUNBLCtDLENBRUUsNEMsQ0FDQSx1QixDQUlGLHNDLENBRkEsK0MsQ0FDQSwrQyxDQUVFLDRDLENBQ0EsdUIsQ0FLRixlLENBREEsd0IsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUNBLHFCLENBRUYsZSxDQUNFLDJDLENBR0YscUIsQ0FEQSw4QixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0YscUIsQ0FEQSw4QixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0Ysc0IsQ0FEQSwrQixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBSUYsc0IsQ0FDQSxxQyxDQUhBLCtCLENBQ0Esc0MsQ0FHRSx3QixDQUNBLFUsQ0FDQSxnQixDQUtGLHFCLENBREEsOEIsQ0FFRSw0QyxDQUNBLHVCLENBR0YsMkIsQ0FEQSxvQyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDJCLENBREEsb0MsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiw0QixDQURBLHFDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsNEIsQ0FEQSxxQyxDQUVFLDRDLENBQ0EsdUIsQ0FFRixnQkFBZSxTLHlCQUFvQyxhLENBQ2pELGdCLENBS0Ysd0IsQ0FEQSxpQyxDQUVFLDRCLENBQ0EsNEMsQ0FDQSxhLENBT0YsK0IsQ0FFQSwrQixDQUpBLDhCLENBRkEsOEIsQ0FHQSx3QyxDQUVBLHdDLENBSkEsdUMsQ0FGQSx1QyxDQVFFLHlCLENBQ0EsVSxDQUdGLDhCLENBREEsdUMsQ0FFRSx3QixDQUdGLDhCLENBREEsdUMsQ0FFRSx3QixDQUdGLCtCLENBREEsd0MsQ0FFRSx3QixDQUdGLCtCLENBREEsd0MsQ0FFRSx3QixDQU1GLDhCLENBRkEsdUMsQ0FDQSx1QyxDQUVFLDRCLENBQ0EseUQsQ0FDQSxvQixDQUlGLG9DLENBRkEsNkMsQ0FDQSw2QyxDQUVFLDRDLENBQ0EsdUIsQ0FJRixvQyxDQURBLDZDLENBRUUsNEMsQ0FDQSx1QixDQUlGLHFDLENBRkEsOEMsQ0FDQSw4QyxDQUVFLDRDLENBQ0EsdUIsQ0FJRixxQyxDQUZBLDhDLENBQ0EsOEMsQ0FFRSw0QyxDQUNBLHVCLENBS0YsZ0IsQ0FEQSx5QixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBQ0EscUIsQ0FFRixnQixDQUNFLDJDLENBR0Ysc0IsQ0FEQSwrQixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0Ysc0IsQ0FEQSwrQixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0YsdUIsQ0FEQSxnQyxDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBSUYsdUIsQ0FDQSxzQyxDQUhBLGdDLENBQ0EsdUMsQ0FHRSx3QixDQUNBLFUsQ0FDQSxnQixDQU1GLHNCLENBREEsK0IsQ0FFRSw0QyxDQUNBLHVCLENBR0YsNEIsQ0FEQSxxQyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDRCLENBREEscUMsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiw2QixDQURBLHNDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsNkIsQ0FEQSxzQyxDQUVFLDRDLENBQ0EsdUIsQ0FFRixnQkFBZSxTLDBCQUFxQyxhLENBQ2xELGdCLENBS0YseUIsQ0FEQSxrQyxDQUVFLDRCLENBQ0EsNEMsQ0FDQSxhLENBT0YsZ0MsQ0FFQSxnQyxDQUpBLCtCLENBRkEsK0IsQ0FHQSx5QyxDQUVBLHlDLENBSkEsd0MsQ0FGQSx3QyxDQVFFLHlCLENBQ0EsVSxDQUdGLCtCLENBREEsd0MsQ0FFRSx3QixDQUdGLCtCLENBREEsd0MsQ0FFRSx3QixDQUdGLGdDLENBREEseUMsQ0FFRSx3QixDQUdGLGdDLENBREEseUMsQ0FFRSx3QixDQU1GLCtCLENBRkEsd0MsQ0FDQSx3QyxDQUVFLDRCLENBQ0EseUQsQ0FDQSxvQixDQUlGLHFDLENBRkEsOEMsQ0FDQSw4QyxDQUVFLDRDLENBQ0EsdUIsQ0FJRixxQyxDQURBLDhDLENBRUUsNEMsQ0FDQSx1QixDQUlGLHNDLENBRkEsK0MsQ0FDQSwrQyxDQUVFLDRDLENBQ0EsdUIsQ0FJRixzQyxDQUZBLCtDLENBQ0EsK0MsQ0FFRSw0QyxDQUNBLHVCLENBS0YsaUIsQ0FEQSwwQixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBQ0EscUIsQ0FFRixpQixDQUNFLDJDLENBR0YsdUIsQ0FEQSxnQyxDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0YsdUIsQ0FEQSxnQyxDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0Ysd0IsQ0FEQSxpQyxDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBSUYsd0IsQ0FDQSx1QyxDQUhBLGlDLENBQ0Esd0MsQ0FHRSx3QixDQUNBLFUsQ0FDQSxnQixDQUtGLHVCLENBREEsZ0MsQ0FFRSw0QyxDQUNBLHVCLENBR0YsNkIsQ0FEQSxzQyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDZCLENBREEsc0MsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiw4QixDQURBLHVDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsOEIsQ0FEQSx1QyxDQUVFLDRDLENBQ0EsdUIsQ0FFRixnQkFBZSxTLDJCQUFzQyxhLENBQ25ELGdCLENBS0YsMEIsQ0FEQSxtQyxDQUVFLDRCLENBQ0EsNEMsQ0FDQSxhLENBT0YsaUMsQ0FFQSxpQyxDQUpBLGdDLENBRkEsZ0MsQ0FHQSwwQyxDQUVBLDBDLENBSkEseUMsQ0FGQSx5QyxDQVFFLHlCLENBQ0EsVSxDQUdGLGdDLENBREEseUMsQ0FFRSx3QixDQUdGLGdDLENBREEseUMsQ0FFRSx3QixDQUdGLGlDLENBREEsMEMsQ0FFRSx3QixDQUdGLGlDLENBREEsMEMsQ0FFRSx3QixDQU1GLGdDLENBRkEseUMsQ0FDQSx5QyxDQUVFLDRCLENBQ0EseUQsQ0FDQSxvQixDQUlGLHNDLENBRkEsK0MsQ0FDQSwrQyxDQUVFLDRDLENBQ0EsdUIsQ0FJRixzQyxDQURBLCtDLENBRUUsNEMsQ0FDQSx1QixDQUlGLHVDLENBRkEsZ0QsQ0FDQSxnRCxDQUVFLDRDLENBQ0EsdUIsQ0FJRix1QyxDQUZBLGdELENBQ0EsZ0QsQ0FFRSw0QyxDQUNBLHVCLENBS0YsZSxDQURBLHdCLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FDQSxxQixDQUVGLGUsQ0FDRSwyQyxDQUdGLHFCLENBREEsOEIsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLHFCLENBREEsOEIsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLHNCLENBREEsK0IsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUlGLHNCLENBQ0EscUMsQ0FIQSwrQixDQUNBLHNDLENBR0Usd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FLRixxQixDQURBLDhCLENBRUUsNEMsQ0FDQSx1QixDQUdGLDJCLENBREEsb0MsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiwyQixDQURBLG9DLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsNEIsQ0FEQSxxQyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDRCLENBREEscUMsQ0FFRSw0QyxDQUNBLHVCLENBRUYsZ0JBQWUsUyx5QkFBb0MsYSxDQUNqRCxnQixDQUtGLHdCLENBREEsaUMsQ0FFRSw0QixDQUNBLDRDLENBQ0EsYSxDQU9GLCtCLENBRUEsK0IsQ0FKQSw4QixDQUZBLDhCLENBR0Esd0MsQ0FFQSx3QyxDQUpBLHVDLENBRkEsdUMsQ0FRRSx5QixDQUNBLFUsQ0FHRiw4QixDQURBLHVDLENBRUUsd0IsQ0FHRiw4QixDQURBLHVDLENBRUUsd0IsQ0FHRiwrQixDQURBLHdDLENBRUUsd0IsQ0FHRiwrQixDQURBLHdDLENBRUUsd0IsQ0FNRiw4QixDQUZBLHVDLENBQ0EsdUMsQ0FFRSw0QixDQUNBLHlELENBQ0Esb0IsQ0FJRixvQyxDQUZBLDZDLENBQ0EsNkMsQ0FFRSw0QyxDQUNBLHVCLENBSUYsb0MsQ0FEQSw2QyxDQUVFLDRDLENBQ0EsdUIsQ0FJRixxQyxDQUZBLDhDLENBQ0EsOEMsQ0FFRSw0QyxDQUNBLHVCLENBSUYscUMsQ0FGQSw4QyxDQUNBLDhDLENBRUUsNEMsQ0FDQSx1QixDQU1GLGlCLENBREEsMEIsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUNBLHFCLENBRUYsaUIsQ0FDRSwyQyxDQUdGLHVCLENBREEsZ0MsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLHVCLENBREEsZ0MsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLHdCLENBREEsaUMsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUlGLHdCLENBQ0EsdUMsQ0FIQSxpQyxDQUNBLHdDLENBR0Usd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FLRix1QixDQURBLGdDLENBRUUsNEMsQ0FDQSx1QixDQUdGLDZCLENBREEsc0MsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiw2QixDQURBLHNDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsOEIsQ0FEQSx1QyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDhCLENBREEsdUMsQ0FFRSw0QyxDQUNBLHVCLENBRUYsZ0JBQWUsUywyQkFBc0MsYSxDQUNuRCxnQixDQUtGLDBCLENBREEsbUMsQ0FFRSw0QixDQUNBLDRDLENBQ0EsYSxDQU9GLGlDLENBRUEsaUMsQ0FKQSxnQyxDQUZBLGdDLENBR0EsMEMsQ0FFQSwwQyxDQUpBLHlDLENBRkEseUMsQ0FRRSx5QixDQUNBLFUsQ0FHRixnQyxDQURBLHlDLENBRUUsd0IsQ0FHRixnQyxDQURBLHlDLENBRUUsd0IsQ0FHRixpQyxDQURBLDBDLENBRUUsd0IsQ0FHRixpQyxDQURBLDBDLENBRUUsd0IsQ0FNRixnQyxDQUZBLHlDLENBQ0EseUMsQ0FFRSw0QixDQUNBLHlELENBQ0Esb0IsQ0FJRixzQyxDQUZBLCtDLENBQ0EsK0MsQ0FFRSw0QyxDQUNBLHVCLENBSUYsc0MsQ0FEQSwrQyxDQUVFLDRDLENBQ0EsdUIsQ0FJRix1QyxDQUZBLGdELENBQ0EsZ0QsQ0FFRSw0QyxDQUNBLHVCLENBSUYsdUMsQ0FGQSxnRCxDQUNBLGdELENBRUUsNEMsQ0FDQSx1QixDQUtGLGlCLENBREEsMEIsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUNBLHFCLENBRUYsaUIsQ0FDRSwyQyxDQUdGLHVCLENBREEsZ0MsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLHVCLENBREEsZ0MsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLHdCLENBREEsaUMsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUlGLHdCLENBQ0EsdUMsQ0FIQSxpQyxDQUNBLHdDLENBR0Usd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FLRix1QixDQURBLGdDLENBRUUsNEMsQ0FDQSx1QixDQUdGLDZCLENBREEsc0MsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiw2QixDQURBLHNDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsOEIsQ0FEQSx1QyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDhCLENBREEsdUMsQ0FFRSw0QyxDQUNBLHVCLENBRUYsZ0JBQWUsUywyQkFBc0MsYSxDQUNuRCxnQixDQUtGLDBCLENBREEsbUMsQ0FFRSw0QixDQUNBLDRDLENBQ0EsYSxDQU9GLGlDLENBRUEsaUMsQ0FKQSxnQyxDQUZBLGdDLENBR0EsMEMsQ0FFQSwwQyxDQUpBLHlDLENBRkEseUMsQ0FRRSx5QixDQUNBLFUsQ0FHRixnQyxDQURBLHlDLENBRUUsd0IsQ0FHRixnQyxDQURBLHlDLENBRUUsd0IsQ0FHRixpQyxDQURBLDBDLENBRUUsd0IsQ0FHRixpQyxDQURBLDBDLENBRUUsd0IsQ0FNRixnQyxDQUZBLHlDLENBQ0EseUMsQ0FFRSw0QixDQUNBLHlELENBQ0Esb0IsQ0FJRixzQyxDQUZBLCtDLENBQ0EsK0MsQ0FFRSw0QyxDQUNBLHVCLENBSUYsc0MsQ0FEQSwrQyxDQUVFLDRDLENBQ0EsdUIsQ0FJRix1QyxDQUZBLGdELENBQ0EsZ0QsQ0FFRSw0QyxDQUNBLHVCLENBSUYsdUMsQ0FGQSxnRCxDQUNBLGdELENBRUUsNEMsQ0FDQSx1QixDQUtGLGMsQ0FEQSx1QixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBQ0EscUIsQ0FFRixjLENBQ0UsMkMsQ0FHRixvQixDQURBLDZCLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FHRixvQixDQURBLDZCLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FHRixxQixDQURBLDhCLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FJRixxQixDQUNBLG9DLENBSEEsOEIsQ0FDQSxxQyxDQUdFLHdCLENBQ0EsVSxDQUNBLGdCLENBS0Ysb0IsQ0FEQSw2QixDQUVFLDRDLENBQ0EsdUIsQ0FHRiwwQixDQURBLG1DLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsMEIsQ0FEQSxtQyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDJCLENBREEsb0MsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiwyQixDQURBLG9DLENBRUUsNEMsQ0FDQSx1QixDQUVGLGdCQUFlLFMsd0JBQW1DLGEsQ0FDaEQsZ0IsQ0FLRix1QixDQURBLGdDLENBRUUsNEIsQ0FDQSw0QyxDQUNBLGEsQ0FPRiw4QixDQUVBLDhCLENBSkEsNkIsQ0FGQSw2QixDQUdBLHVDLENBRUEsdUMsQ0FKQSxzQyxDQUZBLHNDLENBUUUseUIsQ0FDQSxVLENBR0YsNkIsQ0FEQSxzQyxDQUVFLHdCLENBR0YsNkIsQ0FEQSxzQyxDQUVFLHdCLENBR0YsOEIsQ0FEQSx1QyxDQUVFLHdCLENBR0YsOEIsQ0FEQSx1QyxDQUVFLHdCLENBTUYsNkIsQ0FGQSxzQyxDQUNBLHNDLENBRUUsNEIsQ0FDQSx5RCxDQUNBLG9CLENBSUYsbUMsQ0FGQSw0QyxDQUNBLDRDLENBRUUsNEMsQ0FDQSx1QixDQUlGLG1DLENBREEsNEMsQ0FFRSw0QyxDQUNBLHVCLENBSUYsb0MsQ0FGQSw2QyxDQUNBLDZDLENBRUUsNEMsQ0FDQSx1QixDQUlGLG9DLENBRkEsNkMsQ0FDQSw2QyxDQUVFLDRDLENBQ0EsdUIsQ0FNRixlLENBREEsd0IsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUNBLHFCLENBRUYsZSxDQUNFLDJDLENBR0YscUIsQ0FEQSw4QixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0YscUIsQ0FEQSw4QixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0Ysc0IsQ0FEQSwrQixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBSUYsc0IsQ0FDQSxxQyxDQUhBLCtCLENBQ0Esc0MsQ0FHRSx3QixDQUNBLFUsQ0FDQSxnQixDQUtGLHFCLENBREEsOEIsQ0FFRSw0QyxDQUNBLHVCLENBR0YsMkIsQ0FEQSxvQyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDJCLENBREEsb0MsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiw0QixDQURBLHFDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsNEIsQ0FEQSxxQyxDQUVFLDRDLENBQ0EsdUIsQ0FFRixnQkFBZSxTLHlCQUFvQyxhLENBQ2pELGdCLENBS0Ysd0IsQ0FEQSxpQyxDQUVFLDRCLENBQ0EsNEMsQ0FDQSxhLENBT0YsK0IsQ0FFQSwrQixDQUpBLDhCLENBRkEsOEIsQ0FHQSx3QyxDQUVBLHdDLENBSkEsdUMsQ0FGQSx1QyxDQVFFLHlCLENBQ0Esb0IsQ0FHRiw4QixDQURBLHVDLENBRUUsd0IsQ0FHRiw4QixDQURBLHVDLENBRUUscUIsQ0FHRiwrQixDQURBLHdDLENBRUUsd0IsQ0FHRiwrQixDQURBLHdDLENBRUUsd0IsQ0FNRiw4QixDQUZBLHVDLENBQ0EsdUMsQ0FFRSw0QixDQUNBLHlELENBQ0Esb0IsQ0FJRixvQyxDQUZBLDZDLENBQ0EsNkMsQ0FFRSw0QyxDQUNBLHVCLENBSUYsb0MsQ0FEQSw2QyxDQUVFLHlDLENBQ0EsdUIsQ0FJRixxQyxDQUZBLDhDLENBQ0EsOEMsQ0FFRSw0QyxDQUNBLHVCLENBSUYscUMsQ0FGQSw4QyxDQUNBLDhDLENBRUUsNEMsQ0FDQSx1QixDQU1GLGdCLENBREEseUIsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUNBLHFCLENBRUYsZ0IsQ0FDRSwyQyxDQUdGLHNCLENBREEsK0IsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLHNCLENBREEsK0IsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLHVCLENBREEsZ0MsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUlGLHVCLENBQ0Esc0MsQ0FIQSxnQyxDQUNBLHVDLENBR0Usd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FLRixzQixDQURBLCtCLENBRUUsNEMsQ0FDQSx1QixDQUdGLDRCLENBREEscUMsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiw0QixDQURBLHFDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsNkIsQ0FEQSxzQyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDZCLENBREEsc0MsQ0FFRSw0QyxDQUNBLHVCLENBRUYsZ0JBQWUsUywwQkFBcUMsYSxDQUNsRCxnQixDQUtGLHlCLENBREEsa0MsQ0FFRSw0QixDQUNBLDRDLENBQ0EsYSxDQU9GLGdDLENBRUEsZ0MsQ0FKQSwrQixDQUZBLCtCLENBR0EseUMsQ0FFQSx5QyxDQUpBLHdDLENBRkEsd0MsQ0FRRSx5QixDQUNBLG9CLENBR0YsK0IsQ0FEQSx3QyxDQUVFLHdCLENBR0YsK0IsQ0FEQSx3QyxDQUVFLHdCLENBR0YsZ0MsQ0FEQSx5QyxDQUVFLHdCLENBR0YsZ0MsQ0FEQSx5QyxDQUVFLHdCLENBTUYsK0IsQ0FGQSx3QyxDQUNBLHdDLENBRUUsNEIsQ0FDQSx5RCxDQUNBLG9CLENBSUYscUMsQ0FGQSw4QyxDQUNBLDhDLENBRUUsNEMsQ0FDQSx1QixDQUlGLHFDLENBREEsOEMsQ0FFRSw0QyxDQUNBLHVCLENBSUYsc0MsQ0FGQSwrQyxDQUNBLCtDLENBRUUsNEMsQ0FDQSx1QixDQUlGLHNDLENBRkEsK0MsQ0FDQSwrQyxDQUVFLDRDLENBQ0EsdUIsQ0FLRixpQixDQURBLDBCLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FDQSxxQixDQUVGLGlCLENBQ0UsMkMsQ0FHRix1QixDQURBLGdDLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FHRix1QixDQURBLGdDLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FHRix3QixDQURBLGlDLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FJRix3QixDQUNBLHVDLENBSEEsaUMsQ0FDQSx3QyxDQUdFLHdCLENBQ0EsVSxDQUNBLGdCLENBS0YsdUIsQ0FEQSxnQyxDQUVFLDRDLENBQ0EsdUIsQ0FHRiw2QixDQURBLHNDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsNkIsQ0FEQSxzQyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDhCLENBREEsdUMsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiw4QixDQURBLHVDLENBRUUsNEMsQ0FDQSx1QixDQUVGLGdCQUFlLFMsMkJBQXNDLGEsQ0FDbkQsZ0IsQ0FLRiwwQixDQURBLG1DLENBRUUsNEIsQ0FDQSw0QyxDQUNBLGEsQ0FPRixpQyxDQUVBLGlDLENBSkEsZ0MsQ0FGQSxnQyxDQUdBLDBDLENBRUEsMEMsQ0FKQSx5QyxDQUZBLHlDLENBUUUseUIsQ0FDQSxvQixDQUdGLGdDLENBREEseUMsQ0FFRSx3QixDQUdGLGdDLENBREEseUMsQ0FFRSx3QixDQUdGLGlDLENBREEsMEMsQ0FFRSx3QixDQUdGLGlDLENBREEsMEMsQ0FFRSx3QixDQU1GLGdDLENBRkEseUMsQ0FDQSx5QyxDQUVFLDRCLENBQ0EseUQsQ0FDQSxvQixDQUlGLHNDLENBRkEsK0MsQ0FDQSwrQyxDQUVFLDRDLENBQ0EsdUIsQ0FJRixzQyxDQURBLCtDLENBRUUsNEMsQ0FDQSx1QixDQUlGLHVDLENBRkEsZ0QsQ0FDQSxnRCxDQUVFLDRDLENBQ0EsdUIsQ0FJRix1QyxDQUZBLGdELENBQ0EsZ0QsQ0FFRSw0QyxDQUNBLHVCLENBVUYsa0IsQ0FEQSwyQixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBQ0EscUIsQ0FFRixrQixDQUNFLDJDLENBR0Ysd0IsQ0FEQSxpQyxDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0Ysd0IsQ0FEQSxpQyxDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0YseUIsQ0FEQSxrQyxDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBSUYseUIsQ0FDQSx3QyxDQUhBLGtDLENBQ0EseUMsQ0FHRSx3QixDQUNBLFUsQ0FDQSxnQixDQUtGLHdCLENBREEsaUMsQ0FFRSw0QyxDQUNBLHVCLENBR0YsOEIsQ0FEQSx1QyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLDhCLENBREEsdUMsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiwrQixDQURBLHdDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsK0IsQ0FEQSx3QyxDQUVFLDRDLENBQ0EsdUIsQ0FRRiwyQixDQURBLG9DLENBRUUsNEIsQ0FDQSw0QyxDQUNBLGEsQ0FPRixrQyxDQUVBLGtDLENBSkEsaUMsQ0FGQSxpQyxDQUdBLDJDLENBRUEsMkMsQ0FKQSwwQyxDQUZBLDBDLENBUUUseUIsQ0FDQSxVLENBR0YsaUMsQ0FEQSwwQyxDQUVFLHdCLENBR0YsaUMsQ0FEQSwwQyxDQUVFLHdCLENBR0Ysa0MsQ0FEQSwyQyxDQUVFLHdCLENBR0Ysa0MsQ0FEQSwyQyxDQUVFLHdCLENBTUYsaUMsQ0FGQSwwQyxDQUNBLDBDLENBRUUsNEIsQ0FDQSx5RCxDQUNBLG9CLENBSUYsdUMsQ0FGQSxnRCxDQUNBLGdELENBRUUsNEMsQ0FDQSx1QixDQUlGLHVDLENBREEsZ0QsQ0FFRSw0QyxDQUNBLHVCLENBSUYsd0MsQ0FGQSxpRCxDQUNBLGlELENBRUUsNEMsQ0FDQSx1QixDQUlGLHdDLENBRkEsaUQsQ0FDQSxpRCxDQUVFLDRDLENBQ0EsdUIsQ0FTRixvQixDQURBLDZCLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FDQSxxQixDQUVGLG9CLENBQ0UsMkMsQ0FHRiwwQixDQURBLG1DLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FHRiwwQixDQURBLG1DLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FHRiwyQixDQURBLG9DLENBRUUsd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FJRiwyQixDQUNBLDBDLENBSEEsb0MsQ0FDQSwyQyxDQUdFLHdCLENBQ0EsVSxDQUNBLGdCLENBS0YsMEIsQ0FEQSxtQyxDQUVFLDRDLENBQ0EsdUIsQ0FHRixnQyxDQURBLHlDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsZ0MsQ0FEQSx5QyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLGlDLENBREEsMEMsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRixpQyxDQURBLDBDLENBRUUsNEMsQ0FDQSx1QixDQVFGLDZCLENBREEsc0MsQ0FFRSw0QixDQUNBLDRDLENBQ0EsYSxDQU9GLG9DLENBRUEsb0MsQ0FKQSxtQyxDQUZBLG1DLENBR0EsNkMsQ0FFQSw2QyxDQUpBLDRDLENBRkEsNEMsQ0FRRSx5QixDQUNBLFUsQ0FHRixtQyxDQURBLDRDLENBRUUsd0IsQ0FHRixtQyxDQURBLDRDLENBRUUsd0IsQ0FHRixvQyxDQURBLDZDLENBRUUsd0IsQ0FHRixvQyxDQURBLDZDLENBRUUsd0IsQ0FNRixtQyxDQUZBLDRDLENBQ0EsNEMsQ0FFRSw0QixDQUNBLHlELENBQ0Esb0IsQ0FJRix5QyxDQUZBLGtELENBQ0Esa0QsQ0FFRSw0QyxDQUNBLHVCLENBSUYseUMsQ0FEQSxrRCxDQUVFLDRDLENBQ0EsdUIsQ0FJRiwwQyxDQUZBLG1ELENBQ0EsbUQsQ0FFRSw0QyxDQUNBLHVCLENBSUYsMEMsQ0FGQSxtRCxDQUNBLG1ELENBRUUsNEMsQ0FDQSx1QixDQVNGLG1CLENBREEsNEIsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUNBLHFCLENBRUYsbUIsQ0FDRSwyQyxDQUdGLHlCLENBREEsa0MsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLHlCLENBREEsa0MsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUdGLDBCLENBREEsbUMsQ0FFRSx3QixDQUNBLFUsQ0FDQSxnQixDQUlGLDBCLENBQ0EseUMsQ0FIQSxtQyxDQUNBLDBDLENBR0Usd0IsQ0FDQSxVLENBQ0EsZ0IsQ0FLRix5QixDQURBLGtDLENBRUUsNEMsQ0FDQSx1QixDQUdGLCtCLENBREEsd0MsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRiwrQixDQURBLHdDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsZ0MsQ0FEQSx5QyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLGdDLENBREEseUMsQ0FFRSw0QyxDQUNBLHVCLENBRUYsZ0JBQWUsUyw0QkFBdUMsYSxDQTRFcEQsZ0IsQ0FsRUYsbUIsQ0FEQSw0QixDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBQ0EscUIsQ0FFRixtQixDQUNFLDJDLENBR0YseUIsQ0FEQSxrQyxDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0YseUIsQ0FEQSxrQyxDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBR0YsMEIsQ0FEQSxtQyxDQUVFLHdCLENBQ0EsVSxDQUNBLGdCLENBSUYsMEIsQ0FDQSx5QyxDQUhBLG1DLENBQ0EsMEMsQ0FHRSx3QixDQUNBLFUsQ0FDQSxnQixDQUtGLHlCLENBREEsa0MsQ0FFRSw0QyxDQUNBLHVCLENBR0YsK0IsQ0FEQSx3QyxDQUVFLHdCLENBQ0EsNEMsQ0FDQSx1QixDQUdGLCtCLENBREEsd0MsQ0FFRSx3QixDQUNBLDRDLENBQ0EsdUIsQ0FHRixnQyxDQURBLHlDLENBRUUsd0IsQ0FDQSw0QyxDQUNBLHVCLENBR0YsZ0MsQ0FEQSx5QyxDQUVFLDRDLENBQ0EsdUIsQ0FVRixXLENBQ0UsbUIsQ0FDQSxrQixDQUNBLFcsQ0FDQSx1QixDQUNBLGtCLENBRUYsZ0JBQWUsTSxNQUFZLFUsQ0FDekIsZSxDQUlGLGlCLENBQ0UsVyxDQUNBLGEsQ0FDQSxRLENBQ0EsVSxDQUNBLGlCLENBSUYsbUIsQ0FDRSxhLENBRUEsZSxDQUNBLFEsQ0FHRixnQkFBZSxNLE1BQVksa0IsQ0FEM0IsMkJBQTRCLE0sTUFBWSxVLENBRXRDLHVFLENBR0YsK0IsQ0FDRSxnQixDQUNBLGEsQ0FDQSxtQyxDQUNBLHNDLENBRUYsOEIsQ0FDRSxvQyxDQUNBLHVDLENBSUYsb0IsQ0FDRSxtQixDQUNBLHFCLENBRUYsNEIsQ0FDRSxhLENBQ0EsVSxDQUNBLFUsQ0FDQSxRLENBQ0EsZSxDQUNBLGUsQ0FFRix3QyxDQUNFLG1DLENBQ0Esb0MsQ0FFRix1QyxDQUNFLGUsQ0FDQSxzQyxDQUNBLHVDLENBRUYsdUMsQ0FDRSwwQjs7Ozs7Ozs7OztBQzc4R0YsYSxDQUNFLGEsQ0FDQSx3QixDQUlGLHlDQUNFLGEsQ0FFRSx5QixDQUNBLDBCLENBSEYsYSxDQUtBLGtCLENBR0EsMEIsQ0FHQSwrQixDQUxFLHNCLEFBV0osK0RBQ0UsYSxDQUNFLFcsQ0FDQSwwQixDQUNBLDJCLENBRUYsa0IsQ0FDRSxrQyxDQUVGLDBCLENBQ0Usa0MsQ0FFRiwrQixDQUNFLG9DLEFBS0osZ0VBQ0UsYSxDQUNFLFcsQ0FDQSwwQixDQUNBLDJCLENBRUYsa0IsQ0FDRSxrQyxDQUVGLDBCLENBQ0Usa0MsQ0FFRiwrQixDQUNFLG9DLEFBS0osMENBQ0UsYSxDQUNFLFksQ0FDQSwwQixDQUNBLDJCLENBRUYsa0IsQ0FDRSxtQyxDQUVGLDBCLENBQ0UsbUMsQ0FFRiwrQixDQUNFLHFDQVVKLGtCLENBQ0UsNEksQ0FDQSx5QixDQUNBLGUsQ0FJQSx1QixDQUlGLG1CLENBQ0UsVSxDQVFGLG9DLENBQ0UsZSxDQUVGLHNDLENBQ0UsaUIsQ0FFRixxQyxDQUNFLGdCLENBRUYsdUIsQ0FDRSxrQixDQUNBLFk7Ozs7Ozs7Ozs7QUNsSEYsVyxDQUNFLGEsQ0FFQSxhLENBQ0EsUSxDQUVBLGUsQ0FDQSx3QixDQUNBLG9CLENBQ0EscUIsQ0FFQSxnQixDQUNBLHVDLENBc05BLGMsQ0EvTUYsZ0JBQWUsUyxNQUFlLFksQ0FDNUIsdUMsQ0FDQSw0QyxDQVFGLHlCLENBQ0EsOEIsQ0FDRSxTLENBT0Ysc0IsQ0FDRSxhLENBQ0Esa0IsQ0FFQSxXLENBQ0EsUyxDQUNBLGEsQ0FDQSxpQixDQUlGLDRCLENBREEsNkIsQ0FFRSxVLENBQ0Esa0IsQ0FDQSxpQixDQUNBLE8sQ0FDQSxTLENBQ0EsMkIsQ0FHRiw2QixDQUNFLHFDLENBRUYsNEIsQ0FDRSxvQyxDQU9GLG9CLENBQ0UsaUIsQ0FDQSxTLENBQ0EsTyxDQUNBLFEsQ0FFQSxRLENBQ0EsUyxDQUNBLFUsQ0FDQSxVLENBRUEsYSxDQUNBLGlCLENBQ0EsMEIsQ0FJRiwwQixDQURBLDJCLENBRUUsaUIsQ0FDQSxRLENBQ0EsVSxDQUNBLFMsQ0FFQSx3QyxDQUNBLDJDLENBRUEsUSxDQUNBLHdCLENBR0YsMkIsQ0FDRSxTLENBRUYsMEIsQ0FDRSxRLENBQ0EsUSxDQUlGLHlDQUdFLDRDLENBREEsdUMsQ0FFRSxhLENBQ0Esa0IsQ0FDQSxXLENBQ0EsUyxDQUNBLGUsQ0FDQSxhLENBQ0EsaUIsQ0FDQSxlLENBQ0EsSyxDQUNBLE0sQ0FDQSxjLENBTUYsa0QsQ0FGQSxtRCxDQUNBLDZDLENBRkEsOEMsQ0FLRSxNLENBQ0EsZ0IsQ0FDQSxpQixDQUNBLFUsQ0FDQSxrQixDQUNBLGlCLENBQ0EsTyxDQUNBLFMsQ0FDQSwyQixDQUlGLG1ELENBREEsOEMsQ0FFRSxxQyxDQUdGLGtELENBREEsNkMsQ0FFRSxzQ0FRSixpQixDQUNFLFEsQ0FDQSxjLENBQ0EsVSxDQUNBLHFCLENBV0Ysa0IsQ0FDRSxrQyxDQUdGLHdCLENBREEseUIsQ0FFRSxZLENBT0Ysb0IsQ0FFQSwrQixDQURBLDZCLENBRUUsVSxDQUVGLG9CLENBQ0EsMEIsQ0FDQSwyQixDQUlFLHdHLENBT0Ysa0IsQ0FDRSxRLENBT0Ysb0IsQ0FDRSxVLENBT0YsbUIsQ0FDRSxlLENBQ0Esa0IsQ0M1T0YsNEIsQ0FEQSw2QixDQUVFLDR5QyxDQUdGLHlDQUlFLGtELENBRkEsbUQsQ0FDQSw2QyxDQUZBLDhDLENBSUUsOHlDOzs7Ozs7Ozs7O0FDVUosV0FBVSxNLENBQ1Isb0IsQ0FFQSxVLENBQ0EsVyxDQUVBLGdCLENBQ0EsdUIsQ0FDQSxpQixDQUVBLHVCLENBRUEsVSxDQUNBLDBCLENBQ0EsMEIsQ0FJRixXQUFVLGEsQ0FDUixvQixDQUNBLFUsQ0FDQSxxRixDQUNBLFUsQ0FDQSxXLENDMUNGLGdCLENBQ0EscUIsQ0FDRSx1QixDQUVGLGdCLENBRUEsaUIsQ0FEQSxrQyxDQUVFLDJCLENBRUYsZ0IsQ0FDQSx5QixDQUNFLDJCLENBRUYsZ0IsQ0FDQSxxQixDQUNFLDJCLENBRUYsZ0IsQ0FDQSxzQixDQUNFLDRCLENBRUYsZ0IsQ0FDQSxxQixDQUNFLDRCLENBRUYsZ0IsQ0FDQSxxQixDQUNFLDRCLENBRUYsZ0IsQ0FDQSxrQyxDQUNFLDRCLENBR0Ysb0IsQ0FEQSxnQixDQUVFLDRCLENBRUYsZ0IsQ0FDQSx1QixDQUNFLDRCLENBR0YsNEIsQ0FEQSxnQixDQUVFLDRCLENBRUYsZ0IsQ0FDQSxxQixDQUNFLDRCLENBRUYsZ0IsQ0FDQSx1QixDQUNFLDRCLENBR0YsbUIsQ0FEQSxnQixDQUVFLDRCLENBR0YsMkIsQ0FEQSxnQixDQUVFLDRCLENBRUYsZ0IsQ0FDQSx3QixDQUNFLDRCLENBRUYsZ0IsQ0FDQSxvQixDQUNFLDRCLENBR0Ysc0IsQ0FEQSxnQixDQUVFLDRCLENBR0Ysd0IsQ0FEQSxnQixDQUVFLDRCLENBRUYsZ0IsQ0FDQSxxQixDQUNFLDRCLENBRUYsZ0IsQ0FDQSwwQixDQUNFLDRCLENBRUYsZ0IsQ0FDQSxzQixDQUNFLDRCLENBR0YscUIsQ0FEQSxnQixDQUVFLDRCLENBRUYsZ0IsQ0FDQSxxQixDQUNFLDRCLENBR0YsbUIsQ0FEQSxnQixDQUVFLDRCLENBR0YscUIsQ0FEQSxnQixDQUVFLDRCLENBRUYsZ0IsQ0FDQSxvQixDQUNFLDRCLENBRUYsZ0IsQ0FDQSxxQixDQUNFLDRCLENBRUYsZ0IsQ0FDQSxvQixDQUNFLDRCLENBR0YscUIsQ0FEQSxnQixDQUVFLDRCLENBR0Ysb0IsQ0FEQSxnQixDQUVFLDRCLENBR0YsMkIsQ0FEQSxnQixDQUVFLDRCLENBR0Ysc0IsQ0FEQSxnQixDQUVFLDRCLENBR0YscUIsQ0FEQSxnQixDQUVFLDRCLENBR0Ysb0IsQ0FEQSxnQixDQUVFLDRCLENBRUYsZ0IsQ0FDQSxvQixDQUNFLDRCLENBRUYsZ0IsQ0FDQSwyQixDQUNFLDRCLENBRUYsZ0IsQ0FDQSxtQixDQUNFLDRCLENBR0Ysc0MsQ0FEQSxnQixDQUVFLDZCLENBRUYsZ0IsQ0FDQSwrQixDQUNFLDZCLENBRUYsZ0IsQ0FDQSx5QixDQUNFLDZCLENBRUYsZ0IsQ0FDQSwwQixDQUNFLDZCLENBRUYsZ0IsQ0FDQSwwQixDQUNFLDZCLENBR0YsbUIsQ0FEQSxnQixDQUVFLDZCLENBR0Ysc0IsQ0FEQSxnQixDQUVFLDZCLENBR0YsbUIsQ0FEQSxnQixDQUVFLDZCLENBRUYsZ0IsQ0FDQSxzQixDQUNFLDZCLENBR0Ysd0IsQ0FEQSxnQixDQUVFLDZCLENBRUYsZ0IsQ0FFRSw2QixDQUVGLGdCLENBQ0Esa0IsQ0FDRSw2QixDQUdGLHdCLENBREEsZ0IsQ0FFRSw2QixDQUdGLDhCLENBREEsZ0IsQ0FFRSw2QixDQUVGLGdCLENBQ0Esb0IsQ0FDRSw2QixDQUVGLGdCLENBQ0EsNEIsQ0FDRSw2QixDQUVGLGdCLENBQ0EscUIsQ0FDRSw2QixDQUVGLGdCLENBQ0Esc0IsQ0FDRSw2QixDQUdGLHFCLENBREEsZ0IsQ0FFRSw2QixDQUVGLGdCLENBQ0Esc0IsQ0FDRSw2QixDQUVGLGdCLENBQ0EsZ0MsQ0FDRSw2QixDQUdGLHFCLENBREEsZ0IsQ0FFRSw2QixDQUVGLGdCLENBQ0EscUIsQ0FDRSw2QixDQUVGLGdCLENBQ0EscUIsQ0FDRSw2QixDQUVGLGdCLENBQ0EsbUIsQ0FDRSw2QixDQUVGLGdCLENBQ0EsNEIsQ0FDRSw2QixDQUdGLHFCLENBREEsb0IsQ0FFRSw2QixDQUVGLGdCLENBQ0EscUIsQ0FDRSw2QixDQUVGLGdCLENBQ0EsbUIsQ0FDRSw2QixDQUVGLGdCLENBQ0Esc0IsQ0FDRSw2QixDQUVGLGdCLENBQ0EsNEIsQ0FDRSw2QixDQUVGLGdCLENBQ0EscUIsQ0FDRSw2QixDQUdGLGtCLENBREEsZ0IsQ0FFRSw2QixDQUdGLDhCLENBREEsZ0IsQ0FFRSw2QixDQUVGLGdCLENBQ0Esd0IsQ0FDRSw2QixDQUdGLDJCLENBREEsZ0IsQ0FFRSw2QixDQUVGLGdCLENBQ0Esb0IsQ0FDRSw2QixDQUVGLGdCLENBQ0EsbUIsQ0FDRSwyQixDQUVGLGdCLENBQ0EsZ0IsQ0FDQSw0QixDQUNFLCtCLENBRUYsZ0IsQ0FDQSxxQixDQUNFLCtCLENBRUYsZ0IsQ0FDQSxxQixDQUNFLCtCLENBR0YsMkIsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSxtQixDQUNFLGdDLENBRUYsZ0IsQ0FDQSx1QixDQUNFLGdDLENBRUYsZ0IsQ0FDQSx1QixDQUNFLGdDLENBR0Ysb0IsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSxvQixDQUNFLGdDLENBRUYsZ0IsQ0FDQSx3QixDQUNFLGdDLENBR0YsK0IsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSxvQixDQUNFLGdDLENBRUYsZ0IsQ0FDQSw4QixDQUNFLGdDLENBRUYsZ0IsQ0FDQSx1QixDQUNFLGdDLENBRUYsZ0IsQ0FDQSxrQixDQUNFLGdDLENBR0YsMkIsQ0FEQSxnQixDQUVFLGdDLENBR0Ysb0IsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSx1QixDQUNFLGdDLENBR0YsMEIsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSxzQixDQUNFLGdDLENBR0YscUIsQ0FEQSxnQixDQUVFLGdDLENBR0YsbUIsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSxxQixDQUNFLGdDLENBRUYsZ0IsQ0FDQSx1QixDQUNFLGdDLENBRUYsZ0IsQ0FDQSxxQixDQUNFLGdDLENBRUYsZ0IsQ0FDQSxvQixDQUNFLGdDLENBRUYsZ0IsQ0FDQSxtQixDQUNFLGdDLENBR0Ysb0MsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSxrQixDQUNFLGdDLENBRUYsZ0IsQ0FDQSxrQixDQUNFLGdDLENBR0YscUIsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSxtQixDQUNFLGdDLENBR0YscUIsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSxvQixDQUNFLGdDLENBR0YsbUIsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSxtQixDQUNFLGdDLENBRUYsZ0IsQ0FDQSx3QixDQUNFLGdDLENBR0Ysc0IsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSxzQixDQUNFLGlDLENBR0YscUIsQ0FEQSxnQixDQUVFLGlDLENBRUYsZ0IsQ0FDQSxtQyxDQUNFLGlDLENBRUYsZ0IsQ0FDQSx5QixDQUNFLGlDLENBRUYsZ0IsQ0FDQSx5QixDQUNFLGlDLENBR0Ysb0IsQ0FEQSxnQixDQUVFLGlDLENBR0YsNEIsQ0FEQSxnQixDQUVFLGlDLENBR0Ysd0IsQ0FEQSxnQixDQUVFLGlDLENBRUYsZ0IsQ0FDQSxrQixDQUNFLGlDLENBRUYsZ0IsQ0FDQSxxQixDQUNFLGlDLENBRUYsZ0IsQ0FDQSx5QixDQUNFLGlDLENBRUYsZ0IsQ0FDQSwyQixDQUNFLGlDLENBRUYsZ0IsQ0FDQSx1QixDQUNFLGlDLENBR0YscUIsQ0FEQSxnQixDQUVFLGlDLENBR0YscUIsQ0FEQSxnQixDQUVFLGlDLENBR0YsdUIsQ0FEQSxnQixDQUVFLGlDLENBRUYsZ0IsQ0FDQSx3QixDQUNFLGlDLENBR0Ysb0IsQ0FEQSxnQixDQUVFLGlDLENBR0YsbUIsQ0FEQSxnQixDQUVFLGlDLENBRUYsZ0IsQ0FDQSxxQixDQUNFLGlDLENBRUYsZ0IsQ0FDQSxvQixDQUNFLGlDLENBRUYsZ0IsQ0FDQSxxQixDQUNFLGlDLENBRUYsZ0IsQ0FDQSx3QixDQUNFLGlDLENBR0Ysd0IsQ0FEQSxnQixDQUVFLGlDLENBR0YsOEIsQ0FEQSxnQixDQUVFLGlDLENBR0YsdUIsQ0FEQSxnQixDQUVFLGlDLENBR0Ysa0IsQ0FEQSxnQixDQUVFLGlDLENBSUYsbUIsQ0FGQSxnQixDQUNBLHFCLENBRUUsaUMsQ0FFRixnQixDQUNBLHNCLENBQ0UsaUMsQ0FHRixtQixDQURBLGdCLENBRUUsaUMsQ0FFRixnQixDQUNBLHNDLENBQ0UsaUMsQ0FHRix3QixDQURBLGdCLENBRUUsaUMsQ0FHRix3QixDQURBLGdCLENBRUUsaUMsQ0FHRix3QixDQURBLGdCLENBRUUsaUMsQ0FHRixtQixDQURBLGdCLENBRUUsaUMsQ0FHRix1QixDQURBLGdCLENBRUUsaUMsQ0FHRixzQixDQURBLGdCLENBRUUsaUMsQ0FHRixvQixDQURBLGdCLENBRUUsaUMsQ0FHRixvQixDQURBLGdCLENBRUUsMkIsQ0FHRixzQixDQURBLGdCLENBRUUsK0IsQ0FHRix3QixDQURBLGdCLENBRUUsK0IsQ0FFRixnQixDQUNBLHFCLENBQ0UsK0IsQ0FFRixnQixDQUNBLDJCLENBQ0UsZ0MsQ0FFRixnQixDQUNBLG1CLENBQ0UsZ0MsQ0FFRixnQixDQUNBLDRCLENBQ0UsZ0MsQ0FFRixnQixDQUNBLHFCLENBQ0UsZ0MsQ0FFRixnQixDQUNBLHVCLENBQ0UsZ0MsQ0FHRix5QixDQURBLGdCLENBRUUsZ0MsQ0FFRixnQixDQUNBLG9CLENBQ0UsZ0MsQ0FHRixtQixDQURBLGdCLENBRUUsZ0MsQ0FHRixtQixDQURBLGdCLENBRUUsZ0MsQ0FHRixrQixDQURBLGdCLENBRUUsZ0MsQ0FHRix5QixDQURBLGdCLENBRUUsZ0MsQ0FFRixnQixDQUNBLGtCLENBQ0UsZ0MsQ0FFRixnQixDQUNBLG9CLENBQ0UsZ0MsQ0FFRixnQixDQUNBLGtCLENBQ0UsZ0MsQ0FHRiw4QixDQURBLGdCLENBRUUsZ0MsQ0FHRix3QixDQURBLGdCLENBRUUsZ0MsQ0FFRixnQixDQUNBLHlCLENBQ0UsZ0MsQ0FHRixzQixDQURBLGdCLENBRUUsZ0MsQ0FFRixnQixDQUNBLG9CLENBQ0UsZ0MsQ0FFRixnQixDQUNBLDBCLENBQ0UsZ0MsQ0FHRiw4QixDQURBLGdCLENBRUUsZ0MsQ0FFRixnQixDQUNBLHlCLENBQ0UsZ0MsQ0FHRix1QixDQURBLGdCLENBRUUsZ0MsQ0FHRixzQixDQURBLGdCLENBRUUsZ0MsQ0FHRixtQixDQURBLGdCLENBRUUsZ0MsQ0FHRixzQixDQURBLGdCLENBRUUsZ0MsQ0FFRixnQixDQUNBLG1CLENBQ0UsZ0MsQ0FFRixnQixDQUNBLHFCLENBQ0UsZ0MsQ0FFRixnQixDQUNBLHFCLENBQ0UsZ0MsQ0FFRixnQixDQUNBLG9CLENBQ0UsZ0MsQ0FFRixnQixDQUNBLG9CLENBQ0UsZ0MsQ0FFRixnQixDQUNBLG9CLENBQ0UsZ0MsQ0FFRixnQixDQUNBLDBCLENBQ0UsZ0MsQ0FFRixnQixDQUNBLDZCLENBQ0UsZ0MsQ0FFRixnQixDQUNBLHdCLENBQ0UsZ0MsQ0FFRixvQixDQUNBLHNCLENBQ0UsaUMsQ0FFRixnQixDQUNBLG1CLENBQ0UsaUMsQ0FFRixnQixDQUNBLG9CLENBQ0UsaUMsQ0FFRixnQixDQUNBLHVCLENBQ0UsaUMsQ0FHRiwwQixDQURBLGdCLENBRUUsaUMsQ0FFRixnQixDQUNBLHNCLENBQ0UsaUMsQ0FJRix1QixDQUZBLGdCLENBQ0Esc0IsQ0FFRSxpQyxDQUVGLGdCLENBQ0Esc0IsQ0FDRSxpQyxDQUdGLDBCLENBREEsZ0IsQ0FFRSxpQyxDQUdGLHdCLENBREEsZ0IsQ0FFRSxpQyxDQUdGLHFCLENBREEsZ0IsQ0FFRSxpQyxDQUVGLGdCLENBQ0EscUIsQ0FDRSxpQyxDQUVGLGdCLENBQ0Esc0IsQ0FDRSxpQyxDQUdGLHNCLENBREEsZ0IsQ0FFRSxpQyxDQUdGLHlCLENBREEsZ0IsQ0FFRSxpQyxDQUVGLGdCLENBQ0EsbUIsQ0FDRSxpQyxDQUdGLHVCLENBREEsZ0IsQ0FFRSxpQyxDQUdGLDRCLENBREEsZ0IsQ0FFRSxpQyxDQUdGLGtCLENBREEsZ0IsQ0FFRSxpQyxDQUdGLGdDLENBREEsZ0IsQ0FFRSxpQyxDQUVGLGdCLENBQ0Esa0IsQ0FDRSxpQyxDQUVGLGdCLENBQ0Esc0IsQ0FDRSxpQyxDQUdGLHdCLENBREEsZ0IsQ0FFRSxpQyxDQUVGLGdCLENBQ0EscUIsQ0FDRSxpQyxDQUdGLHdCLENBREEsZ0IsQ0FFRSxpQyxDQUVGLGdCLENBQ0EsMEIsQ0FDRSxpQyxDQUVGLGdCLENBQ0EscUIsQ0FDRSxpQyxDQUVGLGdCLENBQ0EsbUIsQ0FDRSxpQyxDQUVGLGdCLENBQ0Esb0IsQ0FDRSxpQyxDQUdGLHNCLENBREEsZ0IsQ0FFRSxpQyxDQUdGLG9CLENBREEsZ0IsQ0FFRSxpQyxDQUdGLG9CLENBREEsZ0IsQ0FFRSxpQyxDQUdGLHNCLENBREEsZ0IsQ0FFRSxpQyxDQUVGLGdCLENBQ0EscUIsQ0FDRSxpQyxDQUVGLGdCLENBQ0Esb0IsQ0FDRSxpQyxDQUVGLGdCLENBQ0EsOEIsQ0FDRSxpQyxDQUdGLHFCLENBQ0EsMkIsQ0FGQSxnQixDQUdFLGlDLENBR0YscUIsQ0FEQSxnQixDQUVFLGlDLENBRUYsZ0IsQ0FDQSx3QixDQUNFLDRCLENBRUYsZ0IsQ0FDQSwwQixDQUNFLGdDLENBR0YsMkIsQ0FEQSxnQixDQUVFLGdDLENBRUYsZ0IsQ0FDQSx1QixDQUNFLGdDLENBR0Ysb0MsQ0FEQSxnQixDQUVFLGlDLENBR0YsK0IsQ0FEQSxnQixDQUVFLGlDLENBR0YscUIsQ0FEQSxnQixDQUVFLGlDLENBR0YscUIsQ0FEQSxnQixDQUVFLGlDLENBRUYsb0IsQ0FDQSxtQixDQUNFLGlDLENBR0YsK0IsQ0FEQSxnQixDQUVFLGlDLENBR0YsbUIsQ0FEQSxnQixDQUVFLGlDLENBRUYsZ0IsQ0FDQSxtQixDQUNFLGlDLENBR0YscUIsQ0FEQSxnQixDQUVFLGlDLENBR0YsMEIsQ0FEQSxnQixDQUVFLGlDLENBR0Ysb0IsQ0FEQSxnQixDQUVFLGlDLENBR0Ysc0IsQ0FEQSxnQixDQUVFLGlDOzs7Ozs7Ozs7O0FDbjhCRixVLENBQ0UsUSxDQUNBLHNDLENBQ0EsUyxDQUNBLDRJLENBQ0EsZSxDQUNBLHdCLENBQ0EsbUIsQ0FDQSxxQixDQUdGLHNCLENBQ0UsdUIsQ0FFRixxQixDQUNFLGUsQ0FPRixzQixDQUNFLGEsQ0FDQSxlLENBQ0EsUyxDQUNBLFEsQ0FFQSxpQixDQUNBLG9CLENBT0YsZ0IsQ0FDRSxrQixDQUNBLFMsQ0FDQSxlLENBQ0EsYSxDQUNBLHFCLENBSUYsMkIsQ0FDRSxvQixDQUNBLFMsQ0FDQSxtQixDQU9GLHNCQUF1QixNLENBQ3ZCLGMsQ0FDRSxvQixDQUNBLHNCLENBQ0EsVyxDQUNBLFcsQ0FDQSxxQixDQUVGLHNCQUF1QixpQixDQUN2Qix5QixDQUNFLG1CLENBT0YsbUIsQ0FDRSxvQixDQUNBLGtCLENBV0YseUIsQ0FOQSwwQixDQURBLHVCLENBRUUsbUIsQ0FDQSxxQixDQUlGLHlCLENBRUUsa0IsQ0FTRixvQixDQUNFLFksQ0FDQSxpQixDQUNBLHFCLENBSUYsWSxDQUNFLFksQ0FjRixZLENBQ0UsYyxDQUVGLFksQ0FDRSx1QixDQUVGLFksQ0FDRSx1QixDQUVGLFksQ0FDRSx1QixDQStDRiwyQixDQUdBLDRCLENBMUNBLHdCLENBR0Esd0IsQ0FGRSx1QixDQTRDRixzQixDQUdBLDRCLENBMUNBLHdCLENBR0Esd0IsQ0FmQSxZLENBYUUsYyxDQTRDRiwyQixDQXZDQSx3QixDQUNFLHNCLENBUUYsZSxDQUNFLGMsQ0FDQSxhLENBRUYsZ0IsQ0FDRSxzQixDQUVGLGlCLENBQ0Usc0IsQ0FFRixnQixDQUNFLHNCLENBRUYsZSxDQUNFLGEsQ0F3QkYsYyxDQUNFLFMsQ0FDQSwwQixDQUNBLGUsQ0FFQSx3QixDQUNBLFEsQ0FPQSxxQixDQUpGLG9CLENBQ0UscUIsQ0FLRixvQixDQUNFLHFCLENBRUYsbUIsQ0FDRSxhLENBU0YsZSxDQUNFLG9CLENBQ0EsaUIsQ0FDQSxrQixDQUVGLHFCLENBQ0UsVSxDQUNBLGEsQ0FDQSxRLENBQ0EsVSxDQUNBLGlCLENBR0YsMkIsQ0FDRSxZLENBRUYscUIsQ0FDRSxVLENBRUEsVSxDQUNBLFcsQ0FDQSxhLENBRUEsYSxDQUNBLG1CLENBQ0EsUyxDQUVGLHdCLENBWEEscUIsQ0FZRSxhLENBQ0EsUyxDQUVGLDhCLENBR0EsNEIsQ0FGRSxhLENBS0YsMkIsQ0FDRSxlLENBRUYsdUIsQ0FDRSxnQixDQUNBLGlCLENBQ0EsYSxDQU9GLG1CLENBQ0UsVyxDQVlGLG1CLENBQ0UsVSxDQUVGLCtCLENBQ0UsMEIsQ0FFRiw0QixDQUtBLHlCLENBQ0UsK0QsQ0FDQSxlLENBUEYsNEIsQ0FHRSx3QixDQUVGLHlCLENBS0Usa0IsQ0FTRixjLENBQ0UsdUIsQ0FFRixxQixDQUNFLHVCLENBRUYsdUIsQ0FDRSwrQixDQUlGLHVCLENBQ0UsdUIsQ0FFRiw4QixDQUNFLHVCLENBSUYsaUIsQ0FDRSx1QixDQUVGLHdCLENBQ0UsdUIsQ0FFRiwwQixDQUNFLCtCLENBR0YsMEIsQ0FDRSx1QixDQUVGLGlDLENBQ0UsdUIsQ0FJRixnQixDQUNFLHVCLENBRUYsdUIsQ0FDRSx1QixDQUVGLHlCLENBQ0UsK0IsQ0FHRix5QixDQUNFLHVCLENBRUYsZ0MsQ0FDRSx1QixDQUlGLGlCLENBQ0UsdUIsQ0FFRix3QixDQUNFLHVCLENBRUYsMEIsQ0FDRSwrQixDQUdGLDBCLENBQ0UsdUIsQ0FFRixpQyxDQUNFLHVCLENBSUYsZ0IsQ0FDRSx1QixDQUVGLHVCLENBQ0UsdUIsQ0FFRix5QixDQUNFLCtCLENBR0YseUIsQ0FDRSx1QixDQUVGLGdDLENBQ0UsdUIsQ0FJRixlLENBQ0UsdUIsQ0FFRixzQixDQUNFLHVCLENBRUYsd0IsQ0FDRSwrQixDQUdGLHdCLENBQ0UsdUIsQ0FFRiwrQixDQUNFLHVCLENBSUYsZSxDQUNFLHVCLENBRUYsc0IsQ0FDRSx1QixDQUVGLHdCLENBQ0UsK0IsQ0FHRix3QixDQUNFLHVCLENBRUYsK0IsQ0FDRSx1QixDQUlGLGlCLENBQ0UsdUIsQ0FFRix3QixDQUNFLHVCLENBRUYsMEIsQ0FDRSwrQixDQUdGLDBCLENBQ0UsdUIsQ0FFRixpQyxDQUNFLHVCLENBSUYsaUIsQ0FDRSx1QixDQUVGLHdCLENBQ0UsdUIsQ0FFRiwwQixDQUNFLCtCLENBR0YsMEIsQ0FDRSx1QixDQUVGLGlDLENBQ0UsdUIsQ0FJRixlLENBQ0UsdUIsQ0FFRixzQixDQUNFLHVCLENBRUYsd0IsQ0FDRSwrQixDQUdGLHdCLENBQ0UsdUIsQ0FFRiwrQixDQUNFLHVCLENBSUYsZ0IsQ0FDRSx1QixDQUVGLHVCLENBQ0UsdUIsQ0FFRix5QixDQUNFLCtCLENBR0YseUIsQ0FDRSx1QixDQUVGLGdDLENBQ0UsdUIsQ0FJRixlLENBQ0UsdUIsQ0FFRixzQixDQUNFLHVCLENBRUYsd0IsQ0FDRSwrQixDQUdGLHdCLENBQ0UsdUIsQ0FFRiwrQixDQUNFLHVCLENBUUYsdUIsQ0FDRSxlLENBRUYsd0IsQ0FDRSxnQixDQUdGLHlCLENBREEsbUIsQ0FFRSxpQixDQUVGLG9CLENBQ0Usa0IsQ0FFRiwwQixDQUNFLG9CLENBQ0EsVSxDQUNBLFUsQ0FPRixrQixDQUNBLGlDLENBQ0UsVSxDQUNBLFksQ0FDQSxpQixDQUVGLGtDLENBQ0UsVyxDQUNBLFksQ0FDQSxnQixDQU9GLGlCLENBQ0UsUyxDQVFGLG1CLENBRUUsMEMsQ0FGRixtQixDQUlBLCtCLENBQ0UsMkIsQ0FFRix5QixDQUNFLGUsQ0FHRiw0QixDQUNFLHdDLENBUUYsZ0IsQ0FDRSxrQixDQUNBLHlCLENBQ0EsZSxDQUNBLHdCLENBQ0EsMEIsQ0FHRixxQixDQUNFLHNCLENBRUYsc0IsQ0FDRSxzQixDQUVGLHFCQUFvQixFLE1BQVEsRSxNQUFRLEUsTUFBUSxFLE1BQVEsRSxNQUFRLEcsQ0FDMUQsYyxDQUVGLHNCLENBQ0UsdUIsQ0FFRixxQixDQUNFLHVCLENBT0YsbUIsQ0FDRSxlLENBQ0EseUIsQ0FDQSxnQixDQUNBLGlCLENBQ0EsZSxDQUNBLHdCLENBRUYseUIsQ0FDRSxrQixDQUdGLGlCQUFnQixJLE1BQVUsZSxDQUN4QixZLENBQ0EsZSxDQUNBLGUsQ0FDQSxlLENBRUYsdUIsQ0FDRSxlLENBQ0EsMkMsQ0FFRiwwQixDQUNFLFksQ0FDQSxlLENBQ0EsMkMsQ0FJRix3QixDQUNFLHFCLENBRUYseUIsQ0FDRSxxQixDQUVGLHdCQUF1QixFLE1BQVEsRSxNQUFRLEUsTUFBUSxFLE1BQVEsRSxNQUFRLEcsQ0FDN0QsYSxDQUVGLHlCLENBQ0Usc0IsQ0FFRix3QixDQUNFLHNCLENBT0YsZUFBYyxFLE1BQVEsRSxNQUFRLEUsTUFBUSxFLE1BQVEsRSxNQUFRLEcsQ0FDcEQsc0I7Ozs7Ozs7Ozs7QUNybkJGLHdCQUNDLEUsQ0FDRyxzQixDQUVILEUsQ0FDRywwQixBQXZESixXQUNFLG1CLENBQ0Esb0QsQ0FDQSxvVyxDQUNBLGlCLENBQ0EsZSxDQUNBLG1CLENBQ0EsdUIsQ0FDQSxvQkFHRixNLENBQ0Usb0IsQ0FDQSxTLENBRUEsbUIsQ0FFQSxZLENBQ0EsVSxDQUVBLG1CLENBQ0EsaUIsQ0FDQSxlLENBQ0EsdUIsQ0FDQSxpQixDQUVBLFUsQ0FDQSwwQixDQUNBLGlDLENBQ0Esa0MsQ0FDQSwwQixDQUdGLGEsQ0FDRSx3QixDQVdGLGMsQ0FDRSxVLENBQ0EsYSxDQUNBLHlDLENBdUJGLGlCLENBSkEsYSxDQUpBLFksQ0F3Q0EsaUIsQ0FBbUIsa0IsQ0F2Q2pCLG1CLENBV0YsZSxDQUNFLHFCLENBYUYsYSxDQUNFLFUsQ0FDQSxrQixDQU9GLFcsQ0FBYSxZLENBQ1gsYyxDQUNBLFUsQ0FDQSwyQixDQVVGLGUsQ0FDRSw2QixDQUNBLHVCLENBRUEsd0IsQ0FDQSwwQyxDQUVBLG1CLENBQ0Esb0IsQ0FFRix3QixDQUNFLFEsQ0FDQSxlLENBT0YsYyxDQUNBLDJCLENBQ0UscUIsQ0FFRix5QixDQUNFLHFCLENBU0Ysd0IsQ0FEQSxvQixDQURBLGMsQ0FHRSx1QixDQUlGLCtCLENBREEsbUIsQ0FFRSx3QixDQU9GLGUsQ0FDRSxhLENBQ0EsdUIsQ0FFQSxTLENBQ0EsVSxDQUNBLHdCLENBQ0EsMEMsQ0FFRix3QixDQUNFLFEsQ0FDQSxlLENBUUYsd0IsQ0FDQSx3QixDQUNFLGtDLENBQ0Esb0IsQ0FHRixlLENBQ0UsVSxDQVNGLFUsQ0FDRSx1QixDQUVGLG1CLENBQ0UsdUIsQ0FFRiw0QixDQUNBLDRCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLGEsQ0FDRSx1QixDQUVGLHNCLENBQ0UsdUIsQ0FFRiwrQixDQUNBLCtCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLGEsQ0FDRSx1QixDQUVGLHNCLENBQ0UsdUIsQ0FFRiwrQixDQUNBLCtCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLFksQ0FDRSx1QixDQUVGLHFCLENBQ0UsdUIsQ0FFRiw4QixDQUNBLDhCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLFksQ0FDRSx1QixDQUVGLHFCLENBQ0UsdUIsQ0FFRiw4QixDQUNBLDhCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLFcsQ0FDRSx1QixDQUVGLG9CLENBQ0UsdUIsQ0FFRiw2QixDQUNBLDZCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLFcsQ0FDRSx1QixDQUVGLG9CLENBQ0UsdUIsQ0FFRiw2QixDQUNBLDZCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLGEsQ0FDRSx1QixDQUVGLHNCLENBQ0UsdUIsQ0FFRiwrQixDQUNBLCtCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLGEsQ0FDRSx1QixDQUVGLHNCLENBQ0UsdUIsQ0FFRiwrQixDQUNBLCtCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLFcsQ0FDRSx1QixDQUVGLG9CLENBQ0UsdUIsQ0FFRiw2QixDQUNBLDZCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLFksQ0FDRSx1QixDQUVGLHFCLENBQ0UsdUIsQ0FFRiw4QixDQUNBLDhCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLFcsQ0FDRSx1QixDQUVGLG9CLENBQ0UsdUIsQ0FFRiw2QixDQUNBLDZCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLFksQ0FDRSx1QixDQUVGLHFCLENBQ0UsdUIsQ0FFRiw4QixDQUNBLDhCLENBQ0Usa0MsQ0FDQSxvQixDQU9GLFcsQ0FDQSxZLENBQ0UsYSxDQUNBLGMsQ0FFRixXLENBQ0EsWSxDQUNFLGEsQ0FDQSxjLENBRUYsWSxDQUNBLGEsQ0FDRSxhLENBQ0EsZSxDQUVGLE0sQ0FDQSxPLENBQ0UsYSxDQVFGLFUsQ0FDQSxXLENBUEEsWSxDQUNBLGEsQ0FDRSxhLENBQ0EscUIsQ0FDQSxlLENBRUYsVSxDQUNBLFcsQ0FHRSxhLENBRUYsVyxDQUNBLFksQ0FLQSxjLENBQ0EsZSxDQUxFLGEsQ0FDQSxxQixDQUNBLGEsQ0FFRixjLENBQ0EsZSxDQUdFLGEsQ0FPRixPLENBQ0Usb0IsQ0FDQSxpQixDQUNBLGEsQ0FHRixhLENBQ0UsaUIsQ0FDQSxPLENBQ0EsUSxDQUNBLDJDLENBRUEsUSxDQUdGLHlCLENBQ0UsZSxDQUNBLFUsQ0FDQSxXLENBQ0Esa0IsQ0FDQSxjLENBQ0EsbUIsQ0FJRixvQixDQUNFLFEsQ0FDQSxTLENBQ0EsTyxDQUNBLFEsQ0FDQSxjLENBQ0EsZSxDQUNBLDJFLENBRUYsOEIsQ0FDRSxLLENBQ0EsUyxDQUNBLE8sQ0FDQSxXLENBRUYsNkIsQ0FDRSxLLENBQ0EsTSxDQUNBLFUsQ0FDQSxXLENBRUYsZ0MsQ0FDRSxRLENBQ0EsTSxDQUNBLFUsQ0FDQSxRLENBRUYsaUMsQ0FDRSxRLENBQ0EsUyxDQUNBLE8sQ0FDQSxRLENBR0YsNkIsQ0FDRSx1RixDQy9jRix5QixDQUE0QixlLENBQzVCLHFCLENBQXdCLGUsQ0FDeEIsc0IsQ0FBeUIsZSxDQUN6QixxQixDQUF3QixlLENBQ3hCLHFCLENBQXdCLGUsQ0FDeEIscUIsQ0FDQSxzQixDQUR3QixlLENBSXhCLHNCLENBQXlCLGUsQ0FDekIsNkIsQ0FBZ0MsZSxDQUNoQyxzQixDQUF5QixlLENBQ3pCLDBCLENBQTZCLGUsQ0FDN0IsMEIsQ0FBNkIsZSxDQUM3QixvQixDQUF1QixlLENBQ3ZCLGlCLENBQW9CLGUsQ0FDcEIsc0IsQ0FBeUIsZSxDQUN6Qiw0QixDQUErQixlLENBQy9CLHFCLENBQXdCLGUsQ0FDeEIsMEIsQ0FBNkIsZSxDQUM3QiwyQixDQUE4QixlLENBQzlCLHdCLENBQTJCLGUsQ0FDM0IseUIsQ0FBNEIsZSxDQUM1QixvQixDQUF1QixlLENBQ3ZCLHdCLENBQTJCLGUsQ0FDM0IsdUIsQ0FBMEIsZSxDQUMxQixpRCxDQUFvRCxlLENBQ3BELG9CLENBQXVCLGUsQ0FDdkIsb0IsQ0FBdUIsZSxDQUN2QixxQixDQUF3QixlLENBQ3hCLHVCLENBQTBCLGUsQ0FDMUIsK0IsQ0FBa0MsZSxDQUNsQywrQixDQUFrQyxlLENBQ2xDLGdDLENBQW1DLGUsQ0FDbkMsNkIsQ0FBZ0MsZSxDQUNoQyx3QixDQUEyQixlLENBQzNCLHdCLENBQTJCLGUsQ0FDM0IseUIsQ0FBNEIsZSxDQUM1QixzQixDQUF5QixlLENBQ3pCLDJCLENBQThCLGUsQ0FDOUIscUIsQ0FBd0IsZSxDQUN4Qix1QixDQUEwQixlLENBQzFCLDJCLENBQThCLGUsQ0FDOUIsbUIsQ0FBc0IsZSxDQUN0QixtQixDQUFzQixlLENBQ3RCLHVCLENBQTBCLGUsQ0FDMUIscUIsQ0FBd0IsZSxDQWtvQ3RCLGlELENBam9DRix5QyxDQUE0QyxlLENBa29DMUMsaUQsQ0Fqb0NGLHlDLENBQTRDLGUsQ0Frb0MxQyxrRCxDQWpvQ0YsMEMsQ0FBNkMsZSxDQWtvQzNDLCtDLENBam9DRix1QyxDQUEwQyxlLENBQzFDLCtCLENBQWtDLGUsQ0FDbEMsK0IsQ0FBa0MsZSxDQUNsQyxnQyxDQUFtQyxlLENBQ25DLDZCLENBQWdDLGUsQ0FDaEMsd0IsQ0FBMkIsZSxDQUMzQix3QixDQUEyQixlLENBQzNCLHlCLENBQTRCLGUsQ0FDNUIsc0IsQ0FBeUIsZSxDQUN6Qiw4QixDQUFpQyxlLENBQ2pDLHlDLENBQTRDLGUsQ0FDNUMsdUMsQ0FBMEMsZSxDQUMxQyx5QyxDQUE0QyxlLENBQzVDLHNCLENBQXlCLGUsQ0FDekIsd0IsQ0FBMkIsZSxDQUMzQixnQixDQUFtQixlLENBQ25CLHFCLENBQXdCLGUsQ0FDeEIsK0IsQ0FBa0MsZSxDQUNsQywwQixDQUE2QixlLENBQzdCLHFCLENBQXdCLGUsQ0FDeEIsb0IsQ0FBdUIsZSxDQUN2QixpQixDQUFvQixlLENBQ3BCLHNCLENBQXlCLGUsQ0FDekIsMkIsQ0FBOEIsZSxDQUM5QixpQixDQUFvQixlLENBQ3BCLHNCLENBQXlCLGUsQ0FDekIsc0IsQ0FBeUIsZSxDQUN6QixxQixDQUF3QixlLENBQ3hCLGtCLENBQXFCLGUsQ0FDckIsMkIsQ0FBOEIsZSxDQUM5Qiw2QixDQUFnQyxlLENBQ2hDLGtCLENBQXFCLGUsQ0FDckIsMkIsQ0FBOEIsZSxDQUM5QiwwQixDQUE2QixlLENBQzdCLDBCLENBQTZCLGUsQ0FDN0IsNkIsQ0FBZ0MsZSxDQUNoQyxvQyxDQUF1QyxlLENBQ3ZDLGlCLENBQW9CLGUsQ0FDcEIsa0IsQ0FBcUIsZSxDQUNyQixxQixDQUF3QixlLENBQ3hCLDRCLENBQStCLGUsQ0FDL0Isa0IsQ0FBcUIsZSxDQUNyQix3QixDQUEyQixlLENBQzNCLHFCLENBQXdCLGUsQ0FDeEIsdUIsQ0FBMEIsZSxDQUMxQix3QixDQUEyQixlLENBQzNCLDJCLENBQThCLGUsQ0FDOUIsdUIsQ0FBMEIsZSxDQUMxQixxQixDQUF3QixlLENBQ3hCLGtCLENBQXFCLGUsQ0FDckIsdUIsQ0FBMEIsZSxDQUMxQix3QixDQUEyQixlLENBQzNCLG1CLENBQXNCLGUsQ0FDdEIscUIsQ0FBd0IsZSxDQUN4Qix1QixDQUEwQixlLENBQzFCLHVCLENBQTBCLGUsQ0FDMUIseUIsQ0FBNEIsZSxDQUM1QixrQixDQUFxQixlLENBQ3JCLGtCLENBQXFCLGUsQ0FDckIsa0IsQ0FBcUIsZSxDQUNyQixrQixDQUFxQixlLENBQ3JCLHNCLENBQXlCLGUsQ0FDekIsMEIsQ0FBNkIsZSxDQUM3QixpQixDQUFvQixlLENBQ3BCLG1CLENBQXNCLGUsQ0FDdEIscUIsQ0FBd0IsZSxDQUN4Qix1QixDQUEwQixlLENBQzFCLGlCLENBQW9CLGUsQ0FDcEIsaUIsQ0FBb0IsZSxDQUNwQixzQixDQUF5QixlLENBQ3pCLHNCLENBQXlCLGUsQ0FDekIsc0IsQ0FBeUIsZSxDQUN6Qiw4QixDQUFpQyxlLENBQ2pDLGlCLENBQW9CLGUsQ0FDcEIsd0IsQ0FBMkIsZSxDQUMzQix3QixDQUEyQixlLENBQzNCLHNCLENBQXlCLGUsQ0FDekIsZ0MsQ0FBbUMsZSxDQUNuQyw0QixDQUErQixlLENBQy9CLDRCLENBQStCLGUsQ0FDL0IsMkIsQ0FBOEIsZSxDQUM5Qiw0QixDQUErQixlLENBQy9CLG9CLENBQXVCLGUsQ0FDdkIsMEIsQ0FBNkIsZSxDQUM3QixpQixDQUFvQixlLENBQ3BCLHdCLENBQTJCLGUsQ0FDM0Isd0IsQ0FBMkIsZSxDQUMzQix5QixDQUE0QixlLENBQzVCLCtCLENBQWtDLGUsQ0FDbEMsK0IsQ0FBa0MsZSxDQUNsQyxnQyxDQUFtQyxlLENBQ25DLDZCLENBQWdDLGUsQ0FDaEMsc0IsQ0FBeUIsZSxDQUN6Qiw2QixDQUFnQyxlLENBQ2hDLHVCLENBQTBCLGUsQ0FDMUIsMkIsQ0FBOEIsZSxDQUM5QixxQixDQUF3QixlLENBQ3hCLDBCLENBQTZCLGUsQ0FDN0IsNEIsQ0FBK0IsZSxDQUMvQix5QixDQUE0QixlLENBQzVCLG9CLENBQXVCLGUsQ0FDdkIsMkIsQ0FBOEIsZSxDQUM5Qix1QixDQUEwQixlLENBQzFCLHVCLENBQTBCLGUsQ0FDMUIscUIsQ0FBd0IsZSxDQUN4Qix3QixDQUEyQixlLENBQzNCLHlCLENBQTRCLGUsQ0FDNUIsd0IsQ0FBMkIsZSxDQUMzQix1QixDQUEwQixlLENBQzFCLHdCLENBQTJCLGUsQ0FDM0IsdUIsQ0FBMEIsZSxDQUMxQixtQixDQUFzQixlLENBQ3RCLDBCLENBQTZCLGUsQ0FDN0IsMEIsQ0FBNkIsZSxDQUM3QixtQixDQUFzQixlLENBQ3RCLDBCLENBQTZCLGUsQ0FDN0IseUIsQ0FBNEIsZSxDQUM1Qix3QixDQUEyQixlLENBQzNCLDBCLENBQTZCLGUsQ0FDN0Isd0IsQ0FBMkIsZSxDQUMzQix5QixDQUE0QixlLENBQzVCLHdCLENBQTJCLGUsQ0FDM0IsaUMsQ0FBb0MsZSxDQUNwQyxpQyxDQUFvQyxlLENBQ3BDLGtDLENBQXFDLGUsQ0FDckMsK0IsQ0FBa0MsZSxDQUNsQywwQixDQUE2QixlLENBQzdCLDBCLENBQTZCLGUsQ0FDN0IsMkIsQ0FBOEIsZSxDQUM5Qix3QixDQUEyQixlLENBQzNCLG1CLENBQXNCLGUsQ0FDdEIsb0IsQ0FBdUIsZSxDQUN2QixvQixDQUF1QixlLENBQ3ZCLDBCLENBQTZCLGUsQ0FDN0IsdUIsQ0FBMEIsZSxDQUMxQiw2QixDQUFnQyxlLENBQ2hDLDRCLENBQStCLGUsQ0FDL0IsbUIsQ0FBc0IsZSxDQUN0QixtQixDQUFzQixlLENBQ3RCLCtCLENBQWtDLGUsQ0FDbEMsbUIsQ0FBc0IsZSxDQUN0Qix3QixDQUEyQixlLENBQzNCLHdCLENBQTJCLGUsQ0FDM0IsMEIsQ0FBNkIsZSxDQUM3QixrQixDQUFxQixlLENBQ3JCLHlCLENBQTRCLGUsQ0FDNUIscUIsQ0FBd0IsZSxDQUN4QixzQixDQUF5QixlLENBQ3pCLG9CLENBQXVCLGUsQ0FDdkIsaUIsQ0FBb0IsZSxDQUNwQixrQixDQUFxQixlLENBQ3JCLHFCLENBQXdCLGUsQ0FDeEIscUIsQ0FBd0IsZSxDQUN4QiwrQixDQUFrQyxlLENBQ2xDLHNCLENBQXlCLGUsQ0FDekIscUIsQ0FBd0IsZSxDQUN4QixzQixDQUF5QixlLENBQ3pCLDRCLENBQStCLGUsQ0FDL0Isb0IsQ0FBdUIsZSxDQUN2QixrQixDQUFxQixlLENBQ3JCLHVCLENBQTBCLGUsQ0FDMUIsb0IsQ0FBdUIsZSxDQUN2Qiw4QixDQUFpQyxlLENBQ2pDLHlCLENBQTRCLGUsQ0FDNUIsa0IsQ0FBcUIsZSxDQUNyQix3QixDQUEyQixlLENBQzNCLGtCLENBQXFCLGUsQ0FDckIsNEIsQ0FBK0IsZSxDQUMvQixrQixDQUFxQixlLENBQ3JCLG1CLENBQXNCLGUsQ0FDdEIsaUIsQ0FBb0IsZSxDQUNwQix3QixDQUEyQixlLENBQzNCLHFCLENBQXdCLGUsQ0FDeEIsc0IsQ0FBeUIsZSxDQUN6QixzQixDQUF5QixlLENBQ3pCLGtCLENBQXFCLGUsQ0FDckIsdUIsQ0FBMEIsZSxDQUMxQix1QixDQUEwQixlLENBQzFCLHFCLENBQXdCLGUsQ0FDeEIscUIsQ0FBd0IsZSxDQUN4Qix3QixDQUEyQixlLENBQzNCLGtCLENBQXFCLGUsQ0FDckIsMkIsQ0FBOEIsZSxDQUM5QixxQixDQUF3QixlLENBQ3hCLHVCLENBQTBCLGUsQ0FDMUIsaUIsQ0FBb0IsZSxDQUNwQixvQixDQUF1QixlLENBQ3ZCLG9CLENBQXVCLGUsQ0FDdkIseUIsQ0FBNEIsZSxDQUM1QixtQixDQUFzQixlLENBQ3RCLDJCLENBQThCLGUsQ0FDOUIsd0IsQ0FBMkIsZSxDQUMzQixzQixDQUF5QixlLENBQ3pCLDJCLENBQThCLGUsQ0FDOUIsc0IsQ0FBeUIsZSxDQUN6Qiw2QixDQUFnQyxlLENBQ2hDLHFCLENBQXdCLGUsQ0FDeEIsb0IsQ0FBdUIsZSxDQUN2QixvQixDQUF1QixlLENBQ3ZCLHdCLENBQTJCLGUsQ0FDM0Isa0IsQ0FBcUIsZSxDQUNyQixrQixDQUFxQixlLENBQ3JCLG1CLENBQXNCLGUsQ0FDdEIsdUIsQ0FBMEIsZSxDQUMxQixpQyxDQUFvQyxlLENBQ3BDLCtCLENBQWtDLGUsQ0FDbEMsbUIsQ0FBc0IsZSxDQUN0QixvQixDQUF1QixlLENBQ3ZCLHNCLENBQXlCLGUsQ0FDekIsMkIsQ0FBOEIsZSxDQUM5Qiw2QixDQUFnQyxlLENBQ2hDLG9CLENBQXVCLGUsQ0FDdkIsb0IsQ0FBdUIsZSxDQUN2QixvQixDQUF1QixlLENBQ3ZCLHNCLENBQXlCLGUsQ0FDekIsa0IsQ0FBcUIsZSxDQUNyQix1QixDQUEwQixlLENBQzFCLGdDLENBQW1DLGUsQ0FDbkMseUIsQ0FBNEIsZSxDQUM1QixnQyxDQUFtQyxlLENBQ25DLGtDLENBQXFDLGUsQ0FDckMsb0IsQ0FBdUIsZSxDQUN2QixxQyxDQUF3QyxlLENBQ3hDLDBCLENBQTZCLGUsQ0FDN0IsZ0MsQ0FBbUMsZSxDQUNuQyx1QyxDQUEwQyxlLENBQzFDLGlCLENBQW9CLGUsQ0FDcEIseUIsQ0FBNEIsZSxDQUM1Qix1QixDQUEwQixlLENBQzFCLHNCLENBQXlCLGUsQ0FDekIsd0IsQ0FBMkIsZSxDQUMzQixnQyxDQUFtQyxlLENBQ25DLDZCLENBQWdDLGUsQ0FDaEMsMkIsQ0FBOEIsZSxDQUM5QiwwQixDQUE2QixlLENBQzdCLGlCLENBQW9CLGUsQ0FDcEIsb0IsQ0FBdUIsZSxDQUN2Qix5QixDQUE0QixlLENBQzVCLGtCLENBQXFCLGUsQ0FDckIsNEIsQ0FBK0IsZSxDQUMvQiwwQixDQUE2QixlLENBQzdCLHdCLENBQTJCLGUsQ0FDM0IsdUIsQ0FBMEIsZSxDQUMxQix3QixDQUEyQixlLENBQzNCLHdCLENBQTJCLGUsQ0FDM0Isc0IsQ0FBeUIsZSxDQUN6Qiw2QixDQUFnQyxlLENBQ2hDLHdCLENBQTJCLGUsQ0FDM0IsdUIsQ0FBMEIsZSxDQUMxQixrQixDQUFxQixlLENBQ3JCLG9CLENBQXVCLGUsQ0FDdkIsa0IsQ0FBcUIsZSxDQUNyQiwrQixDQUFrQyxlLENBQ2xDLHFCLENBQXdCLGUsQ0FFeEIseUIsQ0FBNEIsZSxDQUM1Qix3QixDQUEyQixlLENBQzNCLGtCLENBQXFCLGUsQ0FDckIsNEIsQ0FBK0IsZSxDQUMvQixtQixDQUFzQixlLENBQ3RCLG9CLENBQXVCLGUsQ0FDdkIsdUIsQ0FBMEIsZSxDQUMxQixpQixDQUFvQixlLENBQ3BCLG9CLENBQXVCLGUsQ0FDdkIseUIsQ0FBNEIsZSxDQUM1QixrQixDQUFxQixlLENBQ3JCLDBCLENBQTZCLGUsQ0FDN0Isb0MsQ0FBdUMsZSxDQUN2QywrQixDQUFrQyxlLENBQ2xDLHVCLENBQTBCLGUsQ0FDMUIsMEIsQ0FBNkIsZSxDQUM3QiwyQixDQUE4QixlLENBQzlCLDBCLENBQTZCLGUsQ0FDN0Isb0MsQ0FBdUMsZSxDQUN2QyxzQixDQUF5QixlLENBQ3pCLHFCLENBQXdCLGUsQ0FDeEIsd0IsQ0FBMkIsZSxDQUMzQiw0QixDQUErQixlLENBQy9CLHFCLENBQXdCLGUsQ0FDeEIsbUIsQ0FBc0IsZSxDQUN0QixvQixDQUF1QixlLENBQ3ZCLHFCLENBQXdCLGUsQ0FDeEIsbUIsQ0FBc0IsZSxDQUN0QixpQixDQUFvQixlLENBQ3BCLHdCLENBQTJCLGUsQ0FDM0Isd0IsQ0FBMkIsZSxDQUMzQixnQixDQUFtQixlLENBQ25CLHVCLENBQTBCLGUsQ0FDMUIsa0IsQ0FBcUIsZSxDQUNyQixpQixDQUFvQixlLENBQ3BCLHdCLENBQTJCLGUsQ0FDM0Isb0IsQ0FBdUIsZSxDQUN2Qiw4QixDQUFpQyxlLENBQ2pDLDJCLENBQThCLGUsQ0FDOUIsdUIsQ0FBMEIsZSxDQUMxQixvQixDQUF1QixlLENBQ3ZCLG9CLENBQXVCLGUsQ0FDdkIsMkIsQ0FBOEIsZSxDQUM5QixtQixDQUFzQixlLENBQ3RCLHFCLENBQXdCLGUsQ0FDeEIsbUIsQ0FBc0IsZSxDQUN0QixvQixDQUF1QixlLENBQ3ZCLHVCLENBQTBCLGUsQ0FDMUIsdUIsQ0FBMEIsZSxDQUMxQix5QixDQUE0QixlLENBQzVCLG9CLENBQXVCLGUsQ0FDdkIsMEIsQ0FBNkIsZSxDQUM3Qix5QixDQUE0QixlLENBQzVCLHlCLENBQTRCLGUsQ0FDNUIsMkIsQ0FBOEIsZSxDQUM5QixnQyxDQUFtQyxlLENBQ25DLDJCLENBQThCLGUsQ0FDOUIsNEIsQ0FBK0IsZSxDQUMvQixzQixDQUF5QixlLENBQ3pCLGtCLENBQXFCLGUsQ0FDckIsc0IsQ0FBeUIsZSxDQUN6QixtQixDQUFzQixlLENBQ3RCLGtCLENBQXFCLGUsQ0FDckIsc0IsQ0FBeUIsZSxDQUN6Qix5QixDQUE0QixlLENBQzVCLGdDLENBQW1DLGUsQ0FDbkMseUIsQ0FBNEIsZSxDQUM1Qix3QixDQUEyQixlLENBQzNCLHdCLENBQTJCLGUsQ0FDM0IsNkIsQ0FBZ0MsZSxDQUNoQyw2QixDQUFnQyxlLENBQ2hDLDhCLENBQWlDLGUsQ0FDakMsMkIsQ0FBOEIsZSxDQUM5QiwwQixDQUE2QixlLENBQzdCLHVCLENBQTBCLGUsQ0FDMUIsMkIsQ0FBOEIsZSxDQUM5Qix3QixDQUEyQixlLENBQzNCLHVCLENBQTBCLGUsQ0FDMUIscUIsQ0FBd0IsZSxDQUN4QixpQixDQUFvQixlLENBQ3BCLHFCLENBQXdCLGUsQ0FDeEIsd0IsQ0FBMkIsZSxDQUMzQixtQixDQUFzQixlLENBQ3RCLHVCLENBQTBCLGUsQ0FDMUIsa0IsQ0FBcUIsZSxDQUNyQiwyQixDQUE4QixlLENBQzlCLHFCLENBQXdCLGUsQ0FDeEIseUIsQ0FBNEIsZSxDQUM1QixrQixDQUFxQixlLENBQ3JCLG1CLENBQXNCLGUsQ0FDdEIsc0IsQ0FBeUIsZSxDQUN6Qiw2QixDQUFnQyxlLENBQ2hDLG9CLENBQXVCLGUsQ0FDdkIsdUIsQ0FBMEIsZSxDQUMxQiwyQixDQUE4QixlLENBQzlCLDRCLENBQStCLGUsQ0FDL0IsNkIsQ0FBZ0MsZSxDQUNoQyxtQixDQUFzQixlLENBQ3RCLG1CLENBQXNCLGUsQ0FDdEIscUIsQ0FBd0IsZSxDQUN4QixzQixDQUF5QixlLENBQ3pCLHNCLENBQXlCLGUsQ0FDekIscUIsQ0FBd0IsZSxDQUN4QixtQixDQUFzQixlLENBQ3RCLG9CLENBQXVCLGUsQ0FDdkIsa0IsQ0FBcUIsZSxDQUNyQixtQixDQUFzQixlLENBQ3RCLG9CLENBQXVCLGUsQ0FDdkIsc0IsQ0FBeUIsZSxDQUN6QixrQixDQUFxQixlLENBQ3JCLHlCLENBQTRCLGUsQ0FDNUIsdUIsQ0FBMEIsZSxDQUMxQiwrQixDQUFrQyxlLENBQ2xDLHFCLENBQXdCLGUsQ0FDeEIsb0IsQ0FBdUIsZSxDQUN2QixvQixDQUF1QixlLENBQ3ZCLHlCLENBQTRCLGUsQ0FDNUIscUIsQ0FBd0IsZSxDQUN4QixtQixDQUFzQixlLENBQ3RCLG9CLENBQXVCLGUsQ0FDdkIsZ0IsQ0FBbUIsZSxDQUNuQix1QixDQUEwQixlLENBQzFCLHNCLENBQXlCLGUsQ0FDekIsaUIsQ0FBb0IsZSxDQUNwQixzQixDQUF5QixlLENBQ3pCLG9CLENBQXVCLGUsQ0FDdkIseUIsQ0FBNEIsZSxDQUM1QiwyQixDQUE4QixlLENBQzlCLG9CLENBQXVCLGUsQ0FDdkIsc0IsQ0FBeUIsZSxDQUN6QixvQixDQUF1QixlLENBQ3ZCLHFCLENBQXdCLGUsQ0FDeEIsb0IsQ0FBdUIsZSxDQUN2QiwyQixDQUE4QixlLENBQzlCLGtCLENBQXFCLGUsQ0FDckIscUIsQ0FBd0IsZSxDQUN4QixtQixDQUFzQixlLENBQ3RCLGtCLENBQXFCLGUsQ0FDckIsa0MsQ0FBcUMsZSxDQUNyQyxnQyxDQUFtQyxlLENBQ25DLHVCLENBQTBCLGUsQ0FDMUIsdUIsQ0FBMEIsZSxDQUMxQixzQixDQUF5QixlLENBRXpCLHNCLENBQXlCLGUsQ0FDekIsMEIsQ0FBNkIsZSxDQUM3QixvQixDQUF1QixlLENBQ3ZCLG1CLENBQXNCLGUsQ0FDdEIsdUIsQ0FBMEIsZSxDQUMxQixrQixDQUFxQixlLENBQ3JCLDRCLENBQStCLGUsQ0FDL0IscUIsQ0FBd0IsZSxDQUN4QixxQixDQUF3QixlLENBQ3hCLDRCLENBQStCLGUsQ0FDL0Isa0IsQ0FBcUIsZSxDQUNyQix1QixDQUEwQixlLENBQzFCLHVDLENBQTBDLGUsQ0FDMUMsdUMsQ0FBMEMsZSxDQUMxQyx3QyxDQUEyQyxlLENBQzNDLHFDLENBQXdDLGUsQ0FDeEMsd0IsQ0FBMkIsZSxDQUMzQixrQixDQUFxQixlLENBQ3JCLHFCLENBQXdCLGUsQ0FDeEIsbUIsQ0FBc0IsZSxDQUN0QixvQixDQUF1QixlLENBQ3ZCLGtCLENBQXFCLGUsQ0FDckIsaUIsQ0FBb0IsZSxDQUNwQix3QixDQUEyQixlLENBQzNCLGtDLENBQXFDLGUsQ0FDckMscUIsQ0FBd0IsZSxDQUN4Qix1QixDQUEwQixlLENBQzFCLGtCLENBQXFCLGUsQ0FDckIseUIsQ0FBNEIsZSxDQUM1Qix5QixDQUE0QixlLENBQzVCLG9DLENBQXVDLGUsQ0FDdkMsa0MsQ0FBcUMsZSxDQUNyQyxvQixDQUF1QixlLENBQ3ZCLHFCLENBQXdCLGUsQ0FDeEIsb0IsQ0FBdUIsZSxDQUN2QixzQixDQUF5QixlLENBQ3pCLG9CLENBQXVCLGUsQ0FDdkIsbUIsQ0FBc0IsZSxDQUN0QixvQixDQUF1QixlLENBQ3ZCLGlCLENBQW9CLGUsQ0FDcEIscUIsQ0FBd0IsZSxDQUN4Qix1QixDQUEwQixlLENBQzFCLHdCLENBQTJCLGUsQ0FDM0IsOEIsQ0FBaUMsZSxDQUNqQyx1QixDQUEwQixlLENBQzFCLG1CLENBQXNCLGUsQ0FDdEIsMEIsQ0FBNkIsZSxDQUM3QiwwQixDQUE2QixlLENBQzdCLGlCLENBQW9CLGUsQ0FDcEIsc0IsQ0FBeUIsZSxDQUN6QixvQixDQUF1QixlLENBQ3ZCLG9CLENBQXVCLGUsQ0FDdkIsOEIsQ0FBaUMsZSxDQUNqQyxrQixDQUFxQixlLENBQ3JCLG9CLENBQXVCLGUsQ0FDdkIsa0MsQ0FBcUMsZSxDQUNyQyxrQixDQUFxQixlLENBQ3JCLHdCLENBQTJCLGUsQ0FDM0IsMkIsQ0FBOEIsZSxDQUM5QixtQixDQUFzQixlLENBQ3RCLHFCLENBQXdCLGUsQ0FDeEIsb0IsQ0FBdUIsZSxDQUN2Qix1QixDQUEwQixlLENBQzFCLDZCLENBQWdDLGUsQ0FDaEMsa0IsQ0FBcUIsZSxDQUNyQixxQixDQUF3QixlLENBQ3hCLGlCLENBQW9CLGUsQ0FDcEIsaUIsQ0FBb0IsZSxDQUNwQix5QixDQUE0QixlLENBQzVCLDBCLENBQTZCLGUsQ0FDN0IsNEIsQ0FBK0IsZSxDQUMvQiwyQixDQUE4QixlLENBQzlCLGtDLENBQXFDLGUsQ0FDckMsc0IsQ0FBeUIsZSxDQUN6QixvQixDQUF1QixlLENBQ3ZCLG1CLENBQXNCLGUsQ0FDdEIsMkIsQ0FBOEIsZSxDQUM5QixpQixDQUFvQixlLENBQ3BCLHFCLENBQXdCLGUsQ0FDeEIsbUIsQ0FBc0IsZSxDQUN0Qix1QixDQUEwQixlLENBQzFCLHlCLENBQTRCLGUsQ0FDNUIsb0IsQ0FBdUIsZSxDQUN2QixvQixDQUF1QixlLENBQ3ZCLHlCLENBQTRCLGUsQ0FDNUIsdUIsQ0FBMEIsZSxDQUMxQix1QixDQUEwQixlLENBQzFCLG1CLENBQXNCLGUsQ0FDdEIscUIsQ0FBd0IsZSxDQUN4QixtQixDQUFzQixlLENBQ3RCLDBCLENBQTZCLGUsQ0FDN0IsaUIsQ0FBb0IsZSxDQUNwQixvQixDQUF1QixlLENBQ3ZCLHdCLENBQTJCLGUsQ0FDM0IsOEIsQ0FBaUMsZSxDQUNqQyxxQixDQUF3QixlLENBQ3hCLHVCLENBQTBCLGUsQ0FDMUIseUIsQ0FBNEIsZSxDQUM1QiwrQixDQUFrQyxlLENBQ2xDLG1CLENBQXNCLGUsQ0FDdEIsMEIsQ0FBNkIsZSxDQUM3QiwwQixDQUE2QixlLENBQzdCLGlCLENBQW9CLGUsQ0FDcEIsd0IsQ0FBMkIsZSxDQUMzQixrQyxDQUFxQyxlLENBQ3JDLDJCLENBQThCLGUsQ0FDOUIsbUIsQ0FBc0IsZSxDQUN0Qix1QixDQUEwQixlLENBQzFCLHlCLENBQTRCLGUsQ0FDNUIsOEIsQ0FBaUMsZSxDQUNqQyxtQixDQUFzQixlLENBQ3RCLGtCLENBQXFCLGUsQ0FDckIseUIsQ0FBNEIsZSxDQUM1Qix5QixDQUE0QixlLENBQzVCLGtCLENBQXFCLGUsQ0FDckIsa0IsQ0FBcUIsZSxDQUNyQix5QixDQUE0QixlLENBQzVCLHlCLENBQTRCLGUsQ0FDNUIscUIsQ0FBd0IsZSxDQUN4Qix3QixDQUEyQixlLENBQzNCLHVCLENBQTBCLGUsQ0FDMUIsbUIsQ0FBc0IsZSxDQUN0QiwwQixDQUE2QixlLENBQzdCLG9CLENBQXVCLGUsQ0FDdkIsMEIsQ0FBNkIsZSxDQUM3QixvQixDQUF1QixlLENBQ3ZCLGdCLENBQW1CLGUsQ0FDbkIsb0IsQ0FBdUIsZSxDQUN2QixzQixDQUF5QixlLENBQ3pCLDZCLENBQWdDLGUsQ0FDaEMsdUIsQ0FBMEIsZSxDQUMxQix1QixDQUEwQixlLENBQzFCLG1CLENBQXNCLGUsQ0FDdEIsd0IsQ0FBMkIsZSxDQUMzQix5QixDQUE0QixlLENBQzVCLG9CLENBQXVCLGUsQ0FDdkIscUIsQ0FBd0IsZSxDQUN4QixtQixDQUFzQixlLENBQ3RCLG1CLENBQXNCLGUsQ0FDdEIscUIsQ0FBd0IsZSxDQUN4QixzQixDQUF5QixlLENBQ3pCLG9CLENBQXVCLGUsQ0FDdkIsMEIsQ0FBNkIsZSxDQUM3QiwyQixDQUE4QixlLENBQzlCLGtCLENBQXFCLGUsQ0FDckIsNEIsQ0FBK0IsZSxDQUMvQix3QixDQUEyQixlLENBQzNCLHFCLENBQXdCLGUsQ0FDeEIsb0IsQ0FBdUIsZSxDQUN2QixtQixDQUFzQixlLENBQ3RCLHVCLENBQTBCLGUsQ0FDMUIsb0IsQ0FBdUIsZSxDQUN2Qix1QixDQUEwQixlLENBQzFCLHFCLENBQXdCLGUsQ0FDeEIsa0IsQ0FBcUIsZSxDQUNyQixvQixDQUF1QixlLENBQ3ZCLHdCLENBQTJCLGUsQ0FDM0IscUIsQ0FBd0IsZSxDQUN4QixpQixDQUFvQixlLENBQ3BCLHdCLENBQTJCLGUsQ0FDM0Isd0IsQ0FBMkIsZSxDQUMzQix3QixDQUEyQixlLENBQzNCLG9CLENBQXVCLGUsQ0FDdkIsa0IsQ0FBcUIsZSxDQUNyQixrQixDQUFxQixlLENBQ3JCLG9CLENBQXVCLGUsQ0FDdkIsb0IsQ0FBdUIsZSxDQUN2QixvQixDQUF1QixlLENBQ3ZCLDBCLENBQTZCLGUsQ0FDN0IseUIsQ0FBNEIsZSxDQUM1Qix5QixDQUE0QixlLENBQzVCLHNCLENBQXlCLGUsQ0FDekIsb0IsQ0FBdUIsZSxDQUN2QixvQixDQUF1QixlLENBQ3ZCLDBCLENBQTZCLGUsQ0FDN0IsbUIsQ0FBc0IsZSxDQUN0Qiw2QixDQUFnQyxlLENBQ2hDLG9DLENBQXVDLGUsQ0FDdkMsMEIsQ0FBNkIsZSxDQUM3Qix5QixDQUE0QixlLENBQzVCLDhCLENBQWlDLGUsQ0FDakMsa0IsQ0FBcUIsZSxDQUNyQiwyQixDQUE4QixlLENBQzlCLDBCLENBQTZCLGUsQ0FDN0IsMEIsQ0FBNkIsZSxDQUM3Qiw2QixDQUFnQyxlLENBQ2hDLDJCLENBQThCLGUsQ0FDOUIsb0IsQ0FBdUIsZSxDQUN2QiwyQixDQUE4QixlLENBQzlCLG9CLENBQXVCLGUsQ0FDdkIseUIsQ0FBNEIsZSxDQUM1QixxQixDQUF3QixlLENBQ3hCLHFCLENBQXdCLGUsQ0FDeEIsc0IsQ0FBeUIsZSxDQUN6QixtQixDQUFzQixlLENBQ3RCLG1CLENBQXNCLGUsQ0FDdEIsd0IsQ0FBMkIsZSxDQUMzQixnQyxDQUFtQyxlLENBQ25DLHdCLENBQTJCLGUsQ0FDM0IsbUIsQ0FBc0IsZSxDQUN0QixzQixDQUF5QixlLENBQ3pCLDRCLENBQStCLGUsQ0FDL0IsNkIsQ0FBZ0MsZSxDQUNoQyx1QixDQUEwQixlLENBQzFCLGtCLENBQXFCLGUsQ0FDckIsZ0MsQ0FBbUMsZSxDQUNuQyw4QixDQUFpQyxlLENBQ2pDLDhCLENBQWlDLGUsQ0FDakMsNEIsQ0FBK0IsZSxDQUMvQix1QixDQUEwQixlLENBQzFCLCtCLENBQWtDLGUsQ0FDbEMsNkIsQ0FBZ0MsZSxDQUNoQyxxQixDQUF3QixlLENBQ3hCLHdCLENBQTJCLGUsQ0FDM0IsMkIsQ0FBOEIsZSxDQUM5QixxQixDQUF3QixlLENBQ3hCLHFCLENBQXdCLGUsQ0FDeEIscUIsQ0FBd0IsZSxDQUN4QixvQixDQUF1QixlLENBQ3ZCLHlCLENBQTRCLGUsQ0FDNUIsNEIsQ0FBK0IsZSxDQUMvQiw0QixDQUErQixlLENBQy9CLGtCLENBQXFCLGUsQ0FDckIsdUIsQ0FBMEIsZSxDQUMxQix3QixDQUEyQixlLENBQzNCLG1CLENBQXNCLGUsQ0FDdEIsMEIsQ0FBNkIsZSxDQUM3QiwwQixDQUE2QixlLENBQzdCLDJCLENBQThCLGUsQ0FDOUIsMEIsQ0FBNkIsZSxDQUM3Qix5QixDQUE0QixlLENBQzVCLDBCLENBQTZCLGUsQ0FDN0IseUIsQ0FBNEIsZSxDQUM1QixrQixDQUFxQixlLENBQ3JCLHlCLENBQTRCLGUsQ0FDNUIsdUIsQ0FBMEIsZSxDQUMxQixvQixDQUF1QixlLENBQ3ZCLHlCLENBQTRCLGUsQ0FDNUIsMkIsQ0FBOEIsZSxDQUM5QixvQixDQUF1QixlLENBQ3ZCLHNCLENBQXlCLGUsQ0FDekIsMEIsQ0FBNkIsZSxDQUM3Qix5QixDQUE0QixlLENBQzVCLGdDLENBQW1DLGUsQ0FDbkMsdUIsQ0FBMEIsZSxDQUMxQixvQixDQUF1QixlLENBQ3ZCLHNCLENBQXlCLGUsQ0FDekIsaUIsQ0FBb0IsZSxDQUNwQix5QixDQUE0QixlLENBQzVCLHlCLENBQTRCLGUsQ0FDNUIsb0IsQ0FBdUIsZSxDQUN2QixrQixDQUFxQixlLENBQ3JCLDRCLENBQStCLGUsQ0FDL0IscUIsQ0FBd0IsZSxDQUN4QixtQixDQUFzQixlLENBQ3RCLDBCLENBQTZCLGUsQ0FDN0Isb0IsQ0FBdUIsZSxDQUN2Qiw4QixDQUFpQyxlLENBQ2pDLGtDLENBQXFDLGUsQ0FDckMsaUIsQ0FBb0IsZSxDQUNwQixrQixDQUFxQixlLENBQ3JCLG1CLENBQXNCLGUsQ0FDdEIsa0IsQ0FBcUIsZSxDQUNyQixzQixDQUF5QixlLENBQ3pCLDRCLENBQStCLGUsQ0FDL0IsMkIsQ0FBOEIsZSxDQUM5QixzQixDQUF5QixlLENBQ3pCLHlCLENBQTRCLGUsQ0FDNUIsd0IsQ0FBMkIsZSxDQUMzQixnQixDQUFtQixlLENBQ25CLHNCLENBQXlCLGUsQ0FDekIscUIsQ0FBd0IsZSxDQUN4Qix1QixDQUEwQixlLENBRTFCLCtCLENBQWtDLGUsQ0FDbEMsOEIsQ0FBaUMsZSxDQUNqQyw4QixDQUFpQyxlLENBQ2pDLGlDLENBQW9DLGUsQ0FDcEMsd0MsQ0FBMkMsZSxDQUMzQyx5QixDQUE0QixlLENBQzVCLHVCLENBQTBCLGUsQ0FDMUIsdUIsQ0FBMEIsZSxDQUMxQiw4QixDQUFpQyxlLENBQ2pDLG1CLENBQXNCLGUsQ0FDdEIsMEIsQ0FBNkIsZSxDQUM3QixrQixDQUFxQixlLENBQ3JCLHdCLENBQTJCLGUsQ0FDM0IsdUIsQ0FBMEIsZSxDQUMxQix1QixDQUEwQixlLENBQzFCLG1CLENBQXNCLGUsQ0FDdEIseUIsQ0FBNEIsZSxDQUM1QixtQyxDQUFzQyxlLENBQ3RDLG1CLENBQXNCLGUsQ0FDdEIsNkIsQ0FBZ0MsZSxDQUNoQyxrQixDQUFxQixlLENBQ3JCLG9CLENBQXVCLGUsQ0FDdkIseUIsQ0FBNEIsZSxDQUM1QixvQixDQUF1QixlLENBQ3ZCLG1CLENBQXNCLGUsQ0FDdEIsaUIsQ0FBb0IsZSxDQUNwQixvQixDQUF1QixlLENBQ3ZCLDJCLENBQThCLGUsQ0FDOUIsZ0IsQ0FBbUIsZSxDQUNuQixvQixDQUF1QixlLENBQ3ZCLHFCLENBQXdCLGUsQ0FDeEIsNEIsQ0FBK0IsZSxDQUMvQixtQixDQUFzQixlLENBQ3RCLGtCLENBQXFCLGUsQ0FDckIsbUIsQ0FBc0IsZSxDQUN0QixzQixDQUF5QixlLENBQ3pCLHVCLENBQTBCLGUsQ0FDMUIsa0IsQ0FBcUIsZSxDQUNyQiw0QixDQUErQixlLENBQy9CLHlCLENBQTRCLGUsQ0FDNUIsOEIsQ0FBaUMsZSxDQUNqQyx3QixDQUEyQixlLENBQzNCLG9CLENBQXVCLGUsQ0FDdkIsb0IsQ0FBdUIsZSxDQUN2Qiw4QixDQUFpQyxlLENBQ2pDLHFCLENBQXdCLGUsQ0FDeEIsb0IsQ0FBdUIsZSxDQUN2QixpQixDQUFvQixlLENBQ3BCLGtCLENBQXFCLGUsQ0FDckIseUIsQ0FBNEIsZSxDQUM1QixxQixDQUF3QixlLENBQ3hCLHVCLENBQTBCLGUsQ0FDMUIseUIsQ0FBNEIsZSxDQUM1Qix3QixDQUEyQixlLENBQzNCLG1CLENBQXNCLGUsQ0FDdEIsc0IsQ0FBeUIsZSxDQUN6QiwyQixDQUE4QixlLENBQzlCLHNCLENBQXlCLGUsQ0FDekIsb0IsQ0FBdUIsZSxDQUN2QixtQixDQUFzQixlLENBQ3RCLDBCLENBQTZCLGUsQ0FDN0Isd0IsQ0FBMkIsZSxDQUMzQixxQixDQUF3QixlLENBQ3hCLG9CLENBQXVCLGUsQ0FDdkIsMkIsQ0FBOEIsZSxDQUM5QixtQixDQUFzQixlLENBQ3RCLG1CLENBQXNCLGUsQ0FDdEIsbUIsQ0FBc0IsZSxDQUN0QiwwQixDQUE2QixlLENBQzdCLHFCLENBQXdCLGUsQ0FDeEIsa0IsQ0FBcUIsZSxDQUNyQixnQixDQUFtQixlLENBQ25CLGlCLENBQW9CLGUsQ0FDcEIsNkIsQ0FBZ0MsZSxDQUNoQyx5QixDQUE0QixlLENBQzVCLHdCLENBQTJCLGUsQ0FDM0IsdUIsQ0FBMEIsZSxDQUMxQixtQixDQUFzQixlLENBQ3RCLHVCLENBQTBCLGUsQ0FDMUIsbUIsQ0FBc0IsZSxDQUN0QixvQixDQUF1QixlLENBQ3ZCLG9CLENBQXVCLGUsQ0FDdkIsc0IsQ0FBeUIsZSxDQUN6Qiw2QixDQUFnQyxlLENBQ2hDLHdCLENBQTJCLGUsQ0FDM0IsbUIsQ0FBc0IsZSxDQUN0QixrQixDQUFxQixlLENBQ3JCLHlCLENBQTRCLGUsQ0FDNUIsMEIsQ0FBNkIsZSxDQUM3Qiw2QixDQUFnQyxlLENBQ2hDLDZCLENBQWdDLGUsQ0FDaEMsNEIsQ0FBK0IsZSxDQUMvQixxQixDQUF3QixlLENBQ3hCLHNCLENBQXlCLGUsQ0FDekIsdUIsQ0FBMEIsZSxDQUMxQiw4QixDQUFpQyxlLENBQ2pDLHdCLENBQTJCLGUsQ0FDM0Isd0IsQ0FBMkIsZSxDQUMzQixxQixDQUF3QixlLENBQ3hCLG9CLENBQXVCLGUsQ0FDdkIsa0IsQ0FBcUIsZSxDQUNyQixrQixDQUFxQixlLENBQ3JCLHlCLENBQTRCLGUsQ0FDNUIsMEIsQ0FBNkIsZSxDQUM3QixtQixDQUFzQixlLENBQ3RCLG9CLENBQXVCLGUsQ0FDdkIsa0MsQ0FBcUMsZSxDQUNyQyxrQixDQUFxQixlLENBQ3JCLHNCLENBQXlCLGUsQ0FDekIsbUIsQ0FBc0IsZSxDQUN0QixxQixDQUF3QixlLENBQ3hCLDRCLENBQStCLGUsQ0FHL0Isd0IsQ0FBMkIsZSxDQUMzQiwwQixDQUE2QixlLENBQzdCLDRCLENBQStCLGUsQ0FDL0IseUIsQ0FBNEIsZSxDQUM1QixvQixDQUF1QixlLENBQ3ZCLG9CLENBQXVCLGUsQ0FDdkIsb0MsQ0FBdUMsZSxDQUN2QywwQyxDQUE2QyxlLENBQzdDLHFDLENBQXdDLGUsQ0FDeEMsa0MsQ0FBcUMsZSxDQUNyQyw2QixDQTRIQSxzQyxDQTVIZ0MsZSxDQUNoQyxvQyxDQUF1QyxlLENBQ3ZDLGdDLENBQW1DLGUsQ0FDbkMsZ0MsQ0FBbUMsZSxDQUNuQyw4QixDQUFpQyxlLENBQ2pDLHdCLENBQTJCLGUsQ0FDM0Isd0IsQ0FBMkIsZSxDQUMzQiw2QixDQUFnQyxlLENBQ2hDLHlCLENBQTRCLGUsQ0FDNUIsc0IsQ0FBeUIsZSxDQUN6QixpQixDQUFvQixlLENBQ3BCLHdCLENBQTJCLGUsQ0FDM0IsbUIsQ0FBc0IsZSxDQUN0QixpQixDQUNBLGlCLENBRG9CLGUsQ0FFcEIsbUMsQ0FDQSw4QixDQUNBLGtCLENBRnNDLGUsQ0FHdEMsMEIsQ0FBNkIsZSxDQUM3Qix3QixDQUNBLHdCLENBRDJCLGUsQ0FFM0IsNkIsQ0FBZ0MsZSxDQUNoQyxxQixDQUF3QixlLENBQ3hCLDhCLENBQ0EsaUIsQ0FEaUMsZSxDQUVqQyx5QyxDQUE0QyxlLENBQzVDLG9CLENBQXVCLGUsQ0FDdkIsdUIsQ0FBMEIsZSxDQUMxQixxQixDQUF3QixlLENBQ3hCLGlCLENBQW9CLGUsQ0FDcEIscUIsQ0FBd0IsZSxDQUN4QiwwQixDQUE2QixlLENBQzdCLDBCLENBQTZCLGUsQ0FDN0IseUIsQ0FBNEIsZSxDQUM1Qiw0QixDQUErQixlLENBQy9CLHlCLENBQTRCLGUsQ0FDNUIsMkIsQ0FBOEIsZSxDQUM5Qix5QixDQUE0QixlLENBQzVCLDBCLENBQTZCLGUsQ0FDN0Isc0IsQ0FBeUIsZSxDQUN6QiwwQixDQUE2QixlLENBQzdCLG1DLENBQXNDLGUsQ0FDdEMsMEIsQ0FBNkIsZSxDQUM3QixxQixDQUF3QixlLENBQ3hCLHlCLENBQTRCLGUsQ0FDNUIsa0IsQ0FBcUIsZSxDQUNyQixvQixDQUF1QixlLENBQ3ZCLGtCLENBQXFCLGUsQ0FDckIsZ0IsQ0FBbUIsZSxDQUNuQixtQixDQUFzQixlLENBQ3RCLGtCLENBQXFCLGUsQ0FDckIsOEIsQ0FBaUMsZSxDQUNqQyx1QixDQUEwQixlLENBQzFCLDRCLENBQStCLGUsQ0FDL0IsbUIsQ0FBc0IsZSxDQUN0QixpQixDQUFvQixlLENBQ3BCLHNCLENBQXlCLGUsQ0FDekIsd0IsQ0FBMkIsZSxDQUMzQixzQixDQUF5QixlLENBQ3pCLHVCLENBQTBCLGUsQ0FDMUIscUIsQ0FBd0IsZSxDQUN4QixzQixDQUF5QixlLENBQ3pCLDZCLENBQWdDLGUsQ0FDaEMsb0IsQ0FBdUIsZSxDQUN2Qix1QixDQUEwQixlLENBQzFCLDhCLENBQ0EseUIsQ0FEaUMsZSxDQUVqQywyQixDQUNBLHNCLENBRDhCLGUsQ0FFOUIseUIsQ0FBNEIsZSxDQUM1QixvQixDQUF1QixlLENBQ3ZCLG9CLENBQXVCLGUsQ0FDdkIsa0IsQ0FBcUIsZSxDQUNyQixxQixDQUF3QixlLENBQ3hCLDZCLENBQWdDLGUsQ0FDaEMsc0IsQ0FBeUIsZSxDQUN6QixxQixDQUF3QixlLENBQ3hCLHVCLENBQTBCLGUsQ0FDMUIsNEIsQ0FBK0IsZSxDQUMvQixtQixDQUFzQixlLENBQ3RCLGlCLENBQ0Esa0IsQ0FEb0IsZSxDQUVwQix3QixDQUEyQixlLENBQzNCLGdCLENBQW1CLGUsQ0FDbkIscUIsQ0FBd0IsZSxDQUN4QixzQixDQUF5QixlLENBQ3pCLGtCLENBQXFCLGUsQ0FDckIsK0IsQ0FBa0MsZSxDQUNsQyx1QixDQUEwQixlLENBQzFCLGtCLENBQXFCLGUsQ0FDckIsdUIsQ0FBMEIsZSxDQUMxQixpQyxDQUFvQyxlLENBQ3BDLGtCLENBQXFCLGUsQ0FDckIsa0IsQ0FBcUIsZSxDQUNyQixpQixDQUFvQixlLENBQ3BCLGlCLENBQW9CLGUsQ0FDcEIsb0IsQ0FBdUIsZSxDQUN2QixnQyxDQUNBLGtDLENBRG1DLGUsQ0FFbkMsa0IsQ0FBcUIsZSxDQUNyQix3QixDQUEyQixlLENBQzNCLHlCLENBQTRCLGUsQ0FDNUIsbUIsQ0FBc0IsZSxDQUN0QixlLENBQWtCLGUsQ0FDbEIsMEIsQ0FBNkIsZSxDQUM3QixzQixDQUF5QixlLENBQ3pCLDZCLENBQWdDLGUsQ0FDaEMsb0IsQ0FBdUIsZSxDQUN2Qix5QixDQUE0QixlLENBQzVCLGtCLENBQXFCLGUsQ0FDckIsMEIsQ0FBNkIsZSxDQUM3QixrQixDQUFxQixlLENBQ3JCLG1CLENBQXNCLGUsQ0FDdEIsNEIsQ0FDQSw0QixDQUQrQixlLENBRS9CLDJCLENBQThCLGUsQ0FDOUIsNkIsQ0FBZ0MsZSxDQUNoQywyQixDQUE4QixlLENBQzlCLGtCLENBQXFCLGUsQ0FDckIsaUIsQ0FBb0IsZSxDQUNwQixxQixDQUF3QixlLENBQ3hCLGlCLENBQW9CLGUsQ0FDcEIseUIsQ0FDQSxzQixDQUQ0QixlLENBRzVCLGlDLENBQ0EsaUIsQ0FEb0MsZSxDQUVwQyxpQixDQUFvQixlLENBQ3BCLGlCLENBQW9CLGUsQ0FDcEIsaUIsQ0FBb0IsZSxDQUNwQixpQixDQUFvQixlLENBQ3BCLG1CLENBQXNCLGUsQ0FDdEIscUIsQ0FBd0IsZSxDQUN4Qix1QixDQUEwQixlLENBQzFCLGtCLENBQXFCLGUsQ0FDckIsd0IsQ0FBMkIsZSxDQUMzQiw2QixDQUFnQyxlLENBQ2hDLHFCLENBQXdCLGUsQ0FDeEIsa0IsQ0FBcUIsZSxDQUNyQix5QixDQUE0QixlLENBQzVCLHFCLENBQXdCLGUsQ0FDeEIsMEIsQ0FBNkIsZSxDQUM3Qix5QixDQUE0QixlLENBQzVCLGtCLENBQXFCLGUsQ0FDckIsNkIsQ0FBZ0MsZSxDQUNoQyxpQixDQUFvQixlLENBQ3BCLG9CLENBQXVCLGUsQ0FDdkIsNEIsQ0FBK0IsZSxDQUMvQiw2QixDQUFnQyxlLENBQ2hDLDJCLENBQThCLGUsQ0FDOUIsNkIsQ0FDQSx3QixDQURnQyxlLENBRWhDLDRCLENBRUEscUIsQ0FGK0IsZSxDQUMvQixzQixDQUF5QixlLENBRXpCLGtCLENBQXFCLGUsQ0FDckIsNEIsQ0FBK0IsZSxDQUMvQixvQyxDQUF1QyxlLENBQ3ZDLDJCLENBQThCLGUsQ0FDOUIsMEIsQ0FBNkIsZSxDQUM3QixxQixDQUF3QixlLENBQ3hCLHFDLENBQXdDLGUsQ0FDeEMsbUMsQ0FBc0MsZSxDQUN0QywwQixDQUE2QixlLENBQzdCLHFCLENBQXdCLGUsQ0FDeEIseUIsQ0FBNEIsZSxDQUM1QiwyQixDQUE4QixlLENBQzlCLG1CLENBQXNCLGUsQ0FDdEIscUIsQ0FBd0IsZSxDQUN4Qix1QixDQUNBLHVCLENBRDBCLGUsQ0FFMUIsNEIsQ0FBK0IsZSxDQUMvQixpQixDQUFvQixlLENBQ3BCLHVCLENBQTBCLGUsQ0FDMUIsb0IsQ0FBdUIsZSxDQUN2QixtQixDQUFzQixlLENBQ3RCLDJCLENBQThCLGUsQ0FDOUIsMkIsQ0FBOEIsZSxDQUM5Qiw0QixDQUErQixlLENBQy9CLHlCLENBQTRCLGUsQ0FDNUIsbUIsQ0FBc0IsZSxDQUN0Qix3QixDQUEyQixlLENBQzNCLG1CLENBQXNCLGUsQ0FDdEIscUIsQ0FBd0IsZSxDQUN4QixzQixDQUF5QixlLENBQ3pCLGtCLENBQXFCLGUsQ0FDckIsb0IsQ0FBdUIsZSxDQUN2QixxQixDQUF3QixlLENBQ3hCLDJCLENBQThCLGUsQ0FDOUIsa0MsQ0FBcUMsZSxDQUNyQyx5QixDQUE0QixlLENBQzVCLG9CLENBQXVCLGUsQ0FDdkIsb0IsQ0FBdUIsZSxDQUN2QixpQixDQUFvQixlLENBQ3BCLG9CLENBQ0EsaUIsQ0FDQSxtQixDQUZ1QixlLENBR3ZCLG1CLENBQXNCLGUsQ0FDdEIsaUIsQ0FBb0IsZSxDQUNwQiw0QixDQUErQixlLENBQy9CLGtCLENBQXFCLGUsQ0FDckIscUIsQ0FBd0IsZSxDQUN4QixzQixDQUF5QixlLENBQ3pCLG9CLENBQ0Esb0IsQ0FEdUIsZSxDQUV2QixzQixDQUF5QixlLENBQ3pCLGtCLENBQXFCLGUsQ0FDckIscUIsQ0FBd0IsZSxDQUN4QixzQixDQUF5QixlLENBQ3pCLHFCLENBQXdCLGUsQ0FDeEIscUIsQ0FBd0IsZSxDQUN4QixvQixDQUF1QixlLENBQ3ZCLHFCLENBQXdCLGUsQ0FDeEIsb0IsQ0FBdUIsZSxDQUN2QixxQyxDQUF3QyxlLENBQ3hDLHNDLENBQXlDLGUsQ0FDekMsNEIsQ0FBK0IsZSxDQUMvQixvQyxDQUF1QyxlLENBQ3ZDLHFDLENBQXdDLGUsQ0FDeEMsNkIsQ0FBZ0MsZSxDQUNoQyxvQyxDQUF1QyxlLENBQ3ZDLHFDLENBQXdDLGUsQ0FDeEMsbUIsQ0FBc0IsZSxDQUN0QixpQixDQUFvQixlLENBQ3BCLHlCLENBQTRCLGUsQ0FDNUIscUIsQ0FBd0IsZSxDQUN4QixrQixDQUFxQixlLENBQ3JCLG9CLENBQXVCLGUsQ0FDdkIsc0IsQ0FBeUIsZSxDQUN6Qix3QixDQUEyQixlLENBQzNCLHlCLENBQTRCLGUsQ0FDNUIsNEIsQ0FBK0IsZSxDQUMvQix3QixDQUEyQixlLENBQzNCLG1CLENBQXNCLGUsQ0FDdEIseUIsQ0FBNEIsZSxDQUM1Qix3QixDQUEyQixlLENBQzNCLGtCLENBQXFCLGUsQ0FDckIsZ0IsQ0FBbUIsZSxDQWtJakIsdUMsQ0FqSUYseUIsQ0FBNEIsZSxDQWtJMUIsdUMsQ0FqSUYseUIsQ0FBNEIsZSxDQWtJMUIsd0MsQ0FqSUYsMEIsQ0FBNkIsZSxDQWtJM0IscUMsQ0FqSUYsdUIsQ0FBMEIsZSxDQUMxQix1QixDQUEwQixlLENBQzFCLG9CLENBQXVCLGUsQ0FDdkIsdUIsQ0FBMEIsZSxDQUMxQiwyQixDQUE4QixlLENBQzlCLDJCLENBQThCLGUsQ0FDOUIsNEIsQ0FBK0IsZSxDQUMvQix5QixDQUE0QixlLENBQzVCLGlCLENBQW9CLGUsQ0FDcEIsb0IsQ0FBdUIsZSxDQUN2Qix1QixDQUEwQixlLENBQzFCLG9CLENBQXVCLGUsQ0FDdkIsaUIsQ0FBb0IsZSxDQUNwQix5QixDQUNBLHdCLENBQ0EseUIsQ0FDQSxvQixDQUg0QixlLENBSTVCLG1CLENBQXNCLGUsQ0FDdEIsMEIsQ0FBNkIsZSxDQUM3Qix3QixDQUEyQixlLENBQzNCLHVCLENBQ0Esa0IsQ0FEMEIsZSxDQUUxQixrQyxDQUFxQyxlLENBQ3JDLGtCLENBQXFCLGUsQ0FDckIsNEIsQ0FBK0IsZSxDQUMvQiwwQixDQUE2QixlLENBQzdCLHFCLENBQXdCLGUsQ0FDeEIsb0IsQ0FBdUIsZSxDQUN2QixtQixDQUFzQixlLENBQ3RCLHVCLENBQTBCLGUsQ0FDMUIsb0IsQ0FBdUIsZSxDQUN2QixvQixDQUF1QixlLENBQ3ZCLG1CLENBQXNCLGUsQ0FDdEIsaUIsQ0FBb0IsZSxDQUNwQixnQyxDQUFtQyxlLENBQ25DLDZCLENBQWdDLGUsQ0FDaEMsbUIsQ0FBc0IsZSxDQUN0QiwwQixDQUE2QixlLENBQzdCLGUsQ0FBa0IsZSxDQUNsQixnQixDQUNBLHlCLENBRG1CLGUsQ0FFbkIsaUIsQ0FBb0IsZSxDQUNwQixpQixDQUFvQixlLENBQ3BCLHFCLENBQXdCLGUsQ0FDeEIsc0IsQ0FBeUIsZSxDQUN6QixrQixDQUFxQixlLENBQ3JCLDhCLENBQWlDLGUsQ0FDakMsMkIsQ0FBOEIsZSxDQUM5Qix5QixDQUE0QixlLENBQzVCLDRCLENBQStCLGUsQ0FDL0IsMEIsQ0FBNkIsZSxDQUM3QixxQixDQUF3QixlLENBQ3hCLDBCLENBQTZCLGUsQ0FDN0IscUMsQ0FBd0MsZSxDQUN4QyxzQixDQUF5QixlLENBQ3pCLHVCLENBQTBCLGUsQ0FDMUIscUIsQ0FBd0IsZSxDQUN4QixrQixDQUFxQixlLENBQ3JCLHNCLENBQXlCLGUsQ0FDekIsNEIsQ0FBK0IsZSxDQUMvQiw2QixDQUFnQyxlLENBQ2hDLHNCLENBQXlCLGUsQ0FDekIsK0IsQ0FBa0MsZSxDQUNsQyxrQixDQUFxQixlLENBQ3JCLDRCLENBQStCLGUsQ0FDL0Isd0IsQ0FBMkIsZSxDQUMzQixzQixDQUF5QixlLENBQ3pCLG9CLENBQXVCLGUsQ0FDdkIsc0IsQ0FBeUIsZSxDQUN6QixtQixDQUFzQixlLENBQ3RCLGtCLENBQXFCLGUsQ0FDckIsb0IsQ0FBdUIsZSxDQUN2QixxQixDQUF3QixlLENBQ3hCLG1CLENBQXNCLGUsQ0FDdEIsNkIsQ0FBZ0MsZSxDQUNoQywrQixDQUFrQyxlLENBQ2xDLDZCLENBQWdDLGUsQ0FDaEMscUIsQ0FBd0IsZSxDQUN4QixzQixDQUF5QixlLENBQ3pCLG1CLENBQXNCLGUsQ0FDdEIsNkIsQ0FDQSw0QixDQURnQyxlLENBRWhDLG9CLENBQXVCLGUsQ0FDdkIsNkIsQ0FBZ0MsZSxDQUNoQyxtQixDQUFzQixlLENBQ3RCLDBCLENBQTZCLGUsQ0FXM0IsV0FDRSwyQixDQUNBLDRELENBQ0EsNFksQ0FDQSxpQixDQUNBLGUsQ0FDQSxtQixDQUNBLHVCLENBQ0Esb0JBNkhGLGtCLENBM0hBLGMsQ0E0SEEsaUIsQ0EzSEUsMkIsQ0FHRixrQyxDQUFxQyxlLENBQ3JDLGtDLENBQXFDLGUsQ0FLckMsMEIsQ0FBNkIsZSxDQUM3QixnQyxDQUFtQyxlLENBQ25DLDhCLENBQWlDLGUsQ0FDakMsOEIsQ0FBaUMsZSxDQUNqQyw4QixDQUFpQyxlLENBQ2pDLHdDLENBQTJDLGUsQ0FDM0Msb0MsQ0FBdUMsZSxDQUN2QyxvQyxDQUF1QyxlLENBQ3ZDLG1DLENBQXNDLGUsQ0FDdEMsb0MsQ0FBdUMsZSxDQUt2QywrQixDQUFrQyxlLENBQ2xDLGtDLENBQXFDLGUsQ0FDckMsa0MsQ0FBcUMsZSxDQUNyQyw0QixDQUErQixlLENBQy9CLCtCLENBQWtDLGUsQ0FDbEMsMkIsQ0FBOEIsZSxDQUM5QiwyQixDQUE4QixlLENBQzlCLHVDLENBQTBDLGUsQ0FDMUMsNkIsQ0FBZ0MsZSxDQUNoQyx1QyxDQUEwQyxlLENBQzFDLDhCLENBQWlDLGUsQ0FDakMsNkIsQ0FBZ0MsZSxDQUNoQywwQixDQUE2QixlLENBQzdCLCtCLENBQWtDLGUsQ0FDbEMsaUMsQ0FBb0MsZSxDQUNwQyxnQyxDQUFtQyxlLENBQ25DLDBCLENBQTZCLGUsQ0FDN0IsOEIsQ0FBaUMsZSxDQUNqQyxtQyxDQUFzQyxlLENBQ3RDLCtCLENBQWtDLGUsQ0FDbEMsMEIsQ0FBNkIsZSxDQUM3QixvQyxDQUF1QyxlLENBQ3ZDLGtDLENBQXFDLGUsQ0FDckMsZ0MsQ0FBbUMsZSxDQUNuQywrQixDQUFrQyxlLENBQ2xDLGdDLENBQW1DLGUsQ0FDbkMsZ0MsQ0FBbUMsZSxDQUNuQyw4QixDQUFpQyxlLENBQ2pDLHFDLENBQXdDLGUsQ0FDeEMsZ0MsQ0FBbUMsZSxDQUNuQywrQixDQUFrQyxlLENBQ2xDLDBCLENBQTZCLGUsQ0FDN0IsNEIsQ0FBK0IsZSxDQUMvQixpQyxDQUFvQyxlLENBQ3BDLDJCLENBQThCLGUsQ0FDOUIsNEIsQ0FBK0IsZSxDQUMvQix5QixDQUE0QixlLENBQzVCLGlDLENBQW9DLGUsQ0FDcEMsZ0MsQ0FBbUMsZSxDQUNuQyxnQyxDQUFtQyxlLENBQ25DLHFDLENBQXdDLGUsQ0FDeEMscUMsQ0FBd0MsZSxDQUN4QyxzQyxDQUF5QyxlLENBQ3pDLG1DLENBQXNDLGUsQ0FDdEMsa0MsQ0FBcUMsZSxDQUNyQywrQixDQUFrQyxlLENBQ2xDLG1DLENBQXNDLGUsQ0FDdEMsZ0MsQ0FBbUMsZSxDQUNuQywrQixDQUFrQyxlLENBQ2xDLHlCLENBQTRCLGUsQ0FDNUIsMkIsQ0FBOEIsZSxDQUM5Qiw4QixDQUFpQyxlLENBQ2pDLCtCLENBQWtDLGUsQ0FDbEMsOEIsQ0FBaUMsZSxDQUNqQyw2QixDQUFnQyxlLENBQ2hDLDJCLENBQThCLGUsQ0FDOUIsNEIsQ0FBK0IsZSxDQUMvQiw4QixDQUFpQyxlLENBQ2pDLDJCLENBQThCLGUsQ0FDOUIsK0IsQ0FBa0MsZSxDQUNsQywrQixDQUFrQyxlLENBQ2xDLG9DLENBQXVDLGUsQ0FDdkMseUIsQ0FBNEIsZSxDQUM1Qix5QixDQUE0QixlLENBQzVCLGtDLENBQXFDLGUsQ0FDckMsMEMsQ0FBNkMsZSxDQUM3QywwQixDQUE2QixlLENBQzdCLCtCLENBQWtDLGUsQ0FDbEMsa0MsQ0FBcUMsZSxDQUNyQyxvQyxDQUF1QyxlLENBQ3ZDLGlDLENBQW9DLGUsQ0FDcEMsa0MsQ0FBcUMsZSxDQUNyQyxpQyxDQUFvQyxlLENBQ3BDLGlDLENBQW9DLGUsQ0FDcEMscUMsQ0FBd0MsZSxDQUN4QyxnQyxDQUFtQyxlLENBQ25DLDBCLENBQTZCLGUsQ0FDN0Isa0MsQ0FBcUMsZSxDQUNyQywyQixDQUE4QixlLENBQzlCLCtCLENBQWtDLGUsQ0FDbEMsNEIsQ0FBK0IsZSxDQUMvQiwwQixDQUE2QixlLENBQzdCLCtCLENBQWtDLGUsQ0FDbEMsaUMsQ0FBb0MsZSxDQUNwQyxpQyxDQUFvQyxlLENBQ3BDLHlCLENBQTRCLGUsQ0FDNUIsaUMsQ0FBb0MsZSxDQUNwQywrQixDQUFrQyxlLENBQ2xDLGtDLENBQXFDLGUsQ0FDckMscUMsQ0FBd0MsZSxDQUN4QywwQixDQUE2QixlLENBQzdCLGlDLENBQW9DLGUsQ0FDcEMsa0MsQ0FBcUMsZSxDQUNyQyxxQyxDQUF3QyxlLENBQ3hDLHFDLENBQXdDLGUsQ0FDeEMsb0MsQ0FBdUMsZSxDQUd2QywwQixDQUE2QixlLENBSzdCLHlCLENBQTRCLGUsQ0FDNUIsd0IsQ0FBMkIsZSxDQVczQixXQUNFLHlCLENBQ0EsMEQsQ0FDQSxrWSxDQUNBLGlCLENBQ0EsZSxDQUNBLG1CLENBQ0EsdUIsQ0FDQSxvQkFHRixlLENBQ0Esc0IsQ0FDQSxlLENBQ0EsVSxDQUNBLGUsQ0FDQSxxQixDQUNBLGMsQ0FDQSxhLENBQ0EsaUIsQ0FDQSxhLENBQ0EsYyxDQUNBLGdCLENBQ0Esb0IsQ0FDQSxjLENBQ0EsZ0IsQ0FDQSxvQixDQUNBLFksQ0FDQSxZLENBQ0EsZ0IsQ0FDQSxpQixDQUNBLGMsQ0FDQSxtQixDQUNBLGMsQ0FDQSxhLENBQ0EsVSxDQUNBLGUsQ0FDQSxjLENBQ0EscUIsQ0FDQSxnQixDQUNBLGdCLENBQ0EsYyxDQUNBLFcsQ0FDQSxnQixDQUNBLGlCLENBQ0EsYyxDQUNBLGdCLENBQ0EsZ0IsQ0FDQSxrQixDQUNBLFUsQ0FDQSx1QixDQUNBLGlCLENBQ0Esb0IsQ0FDQSxjLENBQ0EsbUIsQ0FDQSxxQixDQUNBLGtCLENBQ0EsYSxDQUNBLG9CLENBQ0EsZ0IsQ0FDQSxnQixDQUNBLGMsQ0FDQSxpQixDQUNBLGEsQ0FDQSxpQixDQUNBLGlCLENBQ0EsbUIsQ0FDQSxjLENBQ0EsZSxDQUNBLHFCLENBQ0EsYSxDQUNBLGEsQ0FDQSx1QixDQUNBLFcsQ0FDQSxxQixDQUNBLGlCLENBQ0EsYyxDQUNBLGUsQ0FDQSxnQixDQUNBLGdCLENBQ0EsYyxDQUNBLGlCLENBQ0EsVyxDQUNBLG9CLENBQ0EsYyxDQUNBLGdCLENBQ0EsYSxDQUNBLGEsQ0FDQSxvQixDQUNBLGUsQ0FDQSxzQixDQUNBLGMsQ0FDQSxhLENBQ0EsYSxDQUNBLGlCLENBQ0EsVyxDQUNBLGdCLENBQ0EsWSxDQUNBLGEsQ0FDQSxhLENBQ0EsYSxDQUNBLGUsQ0FDQSxXLENBQ0EsbUIsQ0FDQSxlLENBQ0EsaUIsQ0FDQSx5QixDQUNBLHNCLENBQ0EsYyxDQUNBLGtCLENBQ0EsaUIsQ0FDQSxhLENBQ0EsZ0IsQ0FDQSxVLENBQ0EsbUIsQ0FDQSw2QixDQUNBLHdCLENBQ0EsZ0IsQ0FDQSxtQixDQUNBLG1CLENBQ0EsNkIsQ0FDQSxlLENBQ0EsaUIsQ0FDQSxxQixDQUNBLGMsQ0FDQSxpQixDQUNBLFMsQ0FDQSxnQixDQUNBLFUsQ0FDQSxpQixDQUNBLGEsQ0FDQSx1QixDQUNBLG9CLENBQ0EsZ0IsQ0FDQSxhLENBQ0EsYSxDQUNBLFksQ0FDQSxjLENBQ0EsYSxDQUNBLGdCLENBQ0Esa0IsQ0FDQSxhLENBQ0EsbUIsQ0FDQSxrQixDQUNBLGtCLENBQ0Esb0IsQ0FDQSx5QixDQUNBLG9CLENBQ0EsZSxDQUNBLFcsQ0FDQSxlLENBQ0EsWSxDQUNBLFcsQ0FDQSxrQixDQUNBLHlCLENBQ0EsVyxDQUNBLG9CLENBQ0EsWSxDQUNBLGEsQ0FDQSxZLENBQ0EsWSxDQUNBLGMsQ0FDQSxXLENBQ0EsZ0IsQ0FDQSx3QixDQUNBLGMsQ0FDQSxhLENBQ0Esa0IsQ0FDQSxjLENBQ0EsWSxDQUNBLGEsQ0FDQSxTLENBQ0EsZ0IsQ0FDQSxlLENBQ0EsYSxDQUNBLGtCLENBQ0Esb0IsQ0FDQSxhLENBQ0EsYyxDQUNBLGEsQ0FDQSxvQixDQUNBLGMsQ0FDQSxXLENBQ0EsZSxDQUNBLGUsQ0FDQSx5QixDQUNBLGtCLENBQ0EsYSxDQUNBLFksQ0FDQSxXLENBQ0EsYyxDQUNBLGEsQ0FDQSxjLENBQ0EsYSxDQUNBLGUsQ0FDQSxZLENBQ0EsYSxDQUNBLGdCLENBQ0EsVSxDQUNBLGUsQ0FDQSxhLENBQ0EsVyxDQUNBLGEsQ0FDQSxjLENBQ0Esc0IsQ0FDQSxXLENBQ0EsYyxDQUNBLFUsQ0FDQSxVLENBQ0Esa0IsQ0FDQSxvQixDQUNBLDJCLENBQ0EsZSxDQUNBLGEsQ0FDQSxZLENBQ0Esb0IsQ0FDQSxVLENBQ0EsWSxDQUNBLGdCLENBQ0EsYSxDQUNBLGMsQ0FDQSxhLENBQ0EsZ0IsQ0FDQSxrQixDQUNBLHdCLENBQ0EsVSxDQUNBLGlCLENBQ0EsMkIsQ0FDQSxvQixDQUNBLGdCLENBQ0Esa0IsQ0FDQSx1QixDQUNBLGtCLENBQ0EsbUIsQ0FDQSxhLENBQ0EsYSxDQUNBLFMsQ0FDQSxnQixDQUNBLFksQ0FDQSxjLENBQ0EsWSxDQUNBLFksQ0FFQSxhLENBQ0EsbUIsQ0FDQSxvQixDQUhBLGUsQ0FJQSxjLENBQ0EsYSxDQUNBLGEsQ0FDQSxnQixDQUNBLGlCLENBQ0EsYyxDQUNBLGEsQ0FDQSxXLENBQ0EsYSxDQUNBLGEsQ0FDQSxrQixDQUNBLGUsQ0FDQSxhLENBQ0EsbUIsQ0FDQSxtQixDQUNBLGtCLENBQ0EsYyxDQUNBLGUsQ0FDQSxZLENBQ0EsWSxDQUNBLGlCLENBQ0EsaUIsQ0FDQSxlLENBQ0EscUIsQ0FDQSxzQixDQUNBLGlCLENBQ0EsYyxDQUNBLGMsQ0FDQSxxQixDQUNBLHFCLENBQ0EsaUIsQ0FDQSxZLENBQ0EsbUIsQ0FDQSxtQixDQUNBLG1CLENBQ0EsYSxDQUNBLGEsQ0FDQSxlLENBQ0EsbUIsQ0FDQSxrQixDQUNBLHlCLENBQ0Esa0IsQ0FDQSxhLENBQ0EsZSxDQUNBLHFCLENBQ0Esb0IsQ0FDQSxnQixDQUNBLGEsQ0FDQSxrQixDQUNBLGEsQ0FDQSxvQixDQUNBLGEsQ0FDQSxjLENBQ0EscUIsQ0FDQSxZLENBQ0EsVyxDQUNBLFksQ0FDQSxrQixDQUNBLGMsQ0FDQSxVLENBQ0EsZSxDQUNBLGEsQ0FDQSxjLENBQ0EsYSxDQUNBLG9CLENBQ0EsWSxDQUNBLFksQ0FDQSxtQixDQUNBLGMsQ0FDQSxXLENBQ0EsUyxDQUNBLFUsQ0FDQSxZLENBQ0EsYSxDQUNBLFksQ0FDQSxhLENBQ0EsZSxDQUNBLHNCLENBQ0EsWSxDQUNBLGtCLENBQ0EsYyxDQUNBLGdCLENBQ0EsdUIsQ0FDQSxpQixDQUNBLGlCLENBQ0EsYyxDQUNBLFcsQ0FDQSxXLENBQ0Esa0IsQ0FDQSxtQixDQUNBLFksQ0FDQSxhLENBQ0EsMkIsQ0FDQSxXLENBQ0EsWSxDQUNBLGMsQ0FDQSxxQixDQUNFLHlCOzs7Ozs7Ozs7O0FDcnBESixTLENBQ0UsaUIsQ0FDQSxvQixDQUNBLHFCLENBQ0EsYyxDQUNBLDRCLENBR0YsWSxDQUNFLGEsQ0FJRixhLENBREEsYSxDQUVFLGEsQ0FDQSxjLENBQ0EsVyxDQVNGLGdCLENBREEsaUIsQ0FFRSxZLENBR0YsMkIsQ0FEQSw0QixDQUVFLGEsQ0FDQSxpQixDQUVGLDZCLENBQ0Usb0IsQ0FDQSxpQixDQUtGLGtCLENBREEsbUIsQ0FFRSxjLENBQ0EsVyxDQWFGLGdCLENBRUEsb0IsQ0FEQSxvQixDQUVFLG9CLENBUUYscUIsQ0FFQSx5QixDQURBLHlCLENBRkEsNkIsQ0FJRSxvQixDQUNBLGtCLENBR0Ysd0IsQ0FFQSw0QixDQURBLDRCLENBRkEsZ0MsQ0FJRSxvQixDQUNBLHFCLENBR0Ysd0IsQ0FFQSw0QixDQURBLDRCLENBRkEsZ0MsQ0FJRSxvQixDQUNBLHFCLENBUUYsaUIsQ0FFQSxtQixDQUhBLHlCLENBRUEsMkIsQ0FFRSxxQixDQVVGLHNCLENBQ0Esc0IsQ0FKQSwwQixDQUNBLHVCLENBQ0EsdUIsQ0FHQSxxQixDQUNFLCtCLENBUUYsa0IsQ0FEQSxtQixDQUVFLGUsQ0FJRixrQixDQUVBLG9CLENBSEEsMEIsQ0FFQSw0QixDQUVFLDRCLENBQ0EseUIsQ0FDQSxvQixDQVFGLGUsQ0FJQSxtQixDQURBLG1CLENBSkEsZ0IsQ0FFQSxvQixDQUNBLG9CLENBR0UsYSxDQUNBLFUsQ0FDQSxXLENBYUYsZ0IsQ0FGQSxvQixDQUNBLG9CLENBSkEsd0IsQ0FDQSxxQixDQUNBLHFCLENBSUUsa0IsQ0FFQSxvQixDQUNBLFMsQ0FDQSxVLENBRUEsNEIsQ0FDQSx5QixDQUNBLG9CLENBT0YsZ0IsQ0FDRSw4QixDQUNBLGdCLENBQ0EsaUIsQ0FHRiwrQixDQUNFLGdCLENBQ0EsYyxDQUdGLGdDLENBQ0UsYSxDQUNBLGlCLENBT0YsaUIsQ0FDQSxrQixDQUNFLFUsQ0FDQSxnQixDQUNBLGlCLENBR0YsdUIsQ0FEQSx3QixDQUVFLFcsQ0FDQSxjLENBQ0EsaUIsQ0FDQSxlLENBSUYsNEIsQ0FEQSw2QixDQUVFLGUsQ0FLRixrQixDQURBLG1CLENBRUUsZ0IsQ0FDQSxpQixDQVVGLGMsQ0FIQSxzQixDQUNBLG1CLENBQ0EsbUIsQ0FFRSxVLENBQ0EsVyxDQUNBLHNCLENBS0YsYyxDQUhBLHNCLENBQ0EsbUIsQ0FDQSxtQixDQUVFLFUsQ0FDQSxXLENBQ0Esc0IsQ0FLRixlLENBSEEsdUIsQ0FDQSxvQixDQUNBLG9CLENBRUUsVyxDQUNBLFcsQ0FDQSxzQixDQUtGLGdCLENBSEEsd0IsQ0FDQSxxQixDQUNBLHFCLENBRUUsVyxDQUNBLFcsQ0FDQSxjLENBS0YsZSxDQUhBLHVCLENBQ0Esb0IsQ0FDQSxvQixDQUVFLFcsQ0FDQSxXLENBQ0EsdUIsQ0FLRixhLENBSEEscUIsQ0FDQSxrQixDQUNBLGtCLENBRUUsVyxDQUNBLFcsQ0FDQSx1QixDQUtGLGMsQ0FIQSxzQixDQUNBLG1CLENBQ0EsbUIsQ0FFRSxXLENBQ0EsVyxDQUNBLHVCLENBS0YsaUIsQ0FIQSx5QixDQUNBLHNCLENBQ0Esc0IsQ0FFRSxXLENBQ0EsVyxDQUNBLHVCLENBUUYsVSxDQUNFLFcsQ0FDQSxnQixDQUdGLGlCLENBQ0EsYyxDQUNBLGMsQ0FDRSxvQixDQUNBLHFCOzs7Ozs7Ozs7O0FDdlNGLFMsQ0FDRSxpQixDQUNBLGUsQ0FDQSxpQixDQUNBLG1CLENBQ0EscUIsQ0EwY0EsYSxDQXhjRixlLENBQ0UsUSxDQUNBLGMsQ0FDQSxhLENBQ0EsUyxDQUNBLHVDLENBQ0EsZSxDQUNBLHdCLENBRUEsNEksQ0FDQSx1QixDQUVBLGUsQ0FDQSxtQyxDQUNBLHFCLENBQ0EsMEIsQ0FDQSxvRCxDQUVBLGUsQ0FVRiwwQyxDQUNFLDJCLENBRUYsaUMsQ0FDRSwyQixDQUVGLHFDLENBQ0UsMkIsQ0FZRixrQixDQUNBLGNBQWEsMEIsQ0FDWCxXLENBR0Ysd0IsQ0FDQSxjQUFhLDBCLENBQ1gsbUIsQ0FRRixvQixDQURBLHNCLENBRUUsMkIsQ0FDQSxrQixDQUNBLHFCLENBQ0EsZSxDQW9CRixzQyxDQWJBLHVDLENBY0UsaUIsQ0FDQSxVLENBQ0EsTyxDQUNBLFEsQ0FFQSxvQyxDQUNBLGtCLENBQ0EsbUIsQ0FLQSxvQixDQTFCRix1QyxDQVdFLGdDLENBRUYsc0MsQ0FVRSxnQyxDQUNBLGtDLENBSUEsNEMsQ0FDQSxrQixDQUNBLGlCLENBRUEsZ0MsQ0FRRixxQixDQUNBLHFCLENBQ0Usb0IsQ0FDQSxlLENBQ0Esb0IsQ0FDQSxlLENBRUYsZ0QsQ0FDQSxnRCxDQUNFLDJCLENBRUYsdUMsQ0FDQSx1QyxDQUNFLDJCLENBRUYsMkMsQ0FDQSwyQyxDQUNFLDJCLENBU0YscUIsQ0FDRSx3QixDQUNBLG9CLENBQ0EsYSxDQUNBLGUsQ0FJRixnRCxDQUNFLGEsQ0FFRix1QyxDQUNFLGEsQ0FFRiwyQyxDQUNFLHVCLENBSUYsc0QsQ0FDRSxhLENBRUYsNkMsQ0FDRSxhLENBRUYsaUQsQ0FDRSx1QixDQVlGLDJCLENBQ0Usa0MsQ0FDQSxzQyxDQUNBLG1CLENBQ0EseUIsQ0FDQSx5QixDQUlGLGlDLENBQ0UsVyxDQUVGLGdDLENBQ0Usd0IsQ0FDQSwyQixDQUVGLCtDLENBQ0UsMEIsQ0FDQSx5QixDQUlGLDhCLENBQ0UsVSxDQUVGLG9DLENBQ0UsYSxDQUdGLCtELENBQ0UsMEIsQ0FFRixzRCxDQUNFLDBCLENBRUYsMEQsQ0FDRSwwQixDQVFGLHFCLENBQ0UsYyxDQUNBLGlCLENBQ0EsYSxDQUNBLGlCLENBQ0EsSyxDQUNBLE8sQ0FDQSxRLENBQ0EsVyxDQUVBLGtCLENBQ0EsVSxDQUNBLDJDLENBQ0EsMkIsQ0FFRiwwQkFBMkIsTSxDQUN6QixtQixDQUVGLG9CLENBQ0Usb0MsQ0FJRiwyQixDQURBLDRCLENBRUUsTSxDQUNBLGlCLENBQ0EsaUIsQ0FDQSxPLENBQ0EsVSxDQUNBLGdCLENBRUYsMEIsQ0FDRSxjLENBRUYsOEIsQ0FDRSxTLENBQ0EsVSxDQUlGLG9DLENBQ0UsVSxDQUNBLFEsQ0FDQSwyQyxDQUVGLDZDLENBQ0UsVSxDQUNBLFMsQ0FFRixtQyxDQUNFLG1DLENBQ0EsMkIsQ0FJRixpQyxDQUNFLFMsQ0FRRix3QixDQUNFLGEsQ0FDQSxRLENBQ0EsYSxDQUVGLDZCQUE4QixRLENBQzVCLHVCLENBQ0EsMEIsQ0FJRixzQkFBcUIsNkMsQ0FDbkIseUIsQ0FDQSw0QixDQUVGLHNCQUFxQixtRCxDQUNuQix3QixDQUNBLDJCLENBQ0EsNkIsQ0FFRixzQkFBcUIseUQsQ0FDbkIseUIsQ0FJRix1QyxDQUNFLG1DLENBQ0Esc0MsQ0FDQSx3QyxDQUVGLDhDLENBQ0Usd0IsQ0FDQSwyQixDQUdGLDZDLENBQ0Usb0MsQ0FJRiwrQixDQUNFLE8sQ0FDQSxTLENBQ0EscUIsQ0FDQSxnQyxDQUlGLGlDQUFnQyxtRCxDQUM5Qiw2QixDQUVGLDRDQUEyQyxxQyxDQUN6Qyw4QixDQUVGLDRDQUEyQyxxQyxDQUN6QyxtQixDQUlGLHFELENBQ0UsNEIsQ0FFRixrRCxDQUNFLDZCLENBRUYsa0QsQ0FDRSxrQixDQUlGLDBCLENBQ0UsTyxDQUNBLFMsQ0FFRiwrQixDQUNFLFUsQ0FDQSxRLENBUUYsd0IsQ0FDQSx5QixDQUNFLFksQ0FDQSxrQixDQUNBLGEsQ0FFRix3QixDQUNBLGlDLENBQ0UsdUIsQ0FDQSwwQixDQUNBLFEsQ0FJRixxQkFBb0IsNkIsQ0FDbEIsbUMsQ0FDQSxzQyxDQUNBLHdDLENBR0YscUJBQW9CLHNCLGNBQXNDLGEsQ0FDMUQscUJBQW9CLHNCLGVBQXVDLHFCLENBRjNELHFCQUFvQixzQixnQkFBd0MsYSxDQUcxRCxlLENBR0YscUJBQW9CLDBDLENBQ3BCLHFCQUFvQixtRCxDQUZwQixxQkFBb0IsNEMsQ0FHbEIsMkMsQ0FJRixxQkFBb0IsbUMsQ0FDbEIsb0MsQ0FJRixxQyxDQUNFLGtDLENBQ0EscUMsQ0FDQSx1QyxDQUdGLHVDLENBQ0EsZ0QsQ0FGQSx5QyxDQUdFLGUsQ0FHRixtRCxDQUNBLDRELENBRkEscUQsQ0FHRSwyQyxDQUdGLDJDLENBQ0UsbUMsQ0FRRix3QixDQUNFLFEsQ0FPRixlLENBQ0UsWSxDQUVGLHFCLENBQ0UsaUIsQ0FPRixjLENBQ0UscUIsQ0FFRixlLENBQ0UscUIsQ0FLRixlLENBQ0Usc0IsQ0FFRixhLENBQ0Usc0IsQ0FFRixjLENBQ0Usc0IsQ0FFRixpQixDQUNFLHNCOzs7Ozs7Ozs7O0FDaGVGLFMsQ0FDRSxvQixDQUNBLGEsQ0FDQSx1QixDQUVBLG9CLENBRUEsd0IsQ0FDQSxxQixDQUNBLHNCLENBQ0Esb0IsQ0FFQSxtQixDQUNBLGUsQ0FFQSwwQixDQUNBLDBCLENBQ0EsOEIsQ0FHRixxQixDQUNFLGEsQ0FFRixvQixDQUNFLGMsQ0FTRixXLENBTEEsVSxDQUNFLGMsQ0FJRixXLENBRUUsYSxDQUNBLFUsQ0FDQSwyQixDQTBDRiw0QixDQXhDQSxpQixDQUNFLFMsQ0FJRixhLENBQ0Usb0IsQ0FDQSxxQixDQUNBLHlCLENBSUYsZSxDQUNFLFUsQ0FDQSxrQixDQUlGLGlCLENBQ0Usb0IsQ0FDQSxrQixDQUNBLGUsQ0FDQSxlLENBQ0EsVSxDQUVGLHVCLENBQ0Usa0IsQ0FLRixxQixDQUNBLHNCLENBQ0UsYyxDQUNBLGMsQ0FDQSxnQixDQUNBLHFCLENBQ0EsVSxDQUNBLDhCLENBVUYsaUIsQ0FDRSxvQixDQVFGLG9CLENBQ0Usb0IsQ0FLRixnRCxDQUNBLHVELENBQ0Usd0IsQ0FFRixpRCxDQUNBLHdELENBQ0UseUIsQ0FFRix1RCxDQUNFLDJCLENBRUYsd0QsQ0FDRSw0QixDQUtGLGlELENBREEsd0NBQXlDLFUsQ0FFdkMseUIsQ0FFRixzREFBdUQsVSxDQUNyRCxZLENBQ0EsNEIsQ0FRRixlLENBQ0Usb0IsQ0FDQSxZLENBQ0EsZSxDQUNBLGdCLENBQ0EsdUIsQ0FDQSxtQixDQUVBLGtCLENBQ0EsbUMsQ0FDQSwwQixDQUNBLGUsQ0FHRixtQixDQUNFLG9CLENBQ0Esa0IsQ0FFQSxlLENBQ0EsbUMsQ0FDQSwyQyxDQUdGLHVCLENBQ0UseUIsQ0FDQSxxQyxDQUNBLHNCLENBQ0EsMkMsQ0FRRixhLENBREEscUIsQ0FFRSxlLENBQ0EsaUIsQ0FDQSxrQixDQUNBLG1CLENBRUEsMkMsQ0FDQSxlLENBR0Ysb0IsQ0FEQSw0QixDQUVJLGlCLENBQ0EseUQsQ0FFQSxPLENBQ0EsVSxDQUNBLFUsQ0FFQSx3QixDQUNBLHFCLENBRUEsWSxDQUNBLGEsQ0FDQSxlLENBS0osbUIsQ0FEQSwyQixDQUVFLGlCLENBQ0EsVSxDQUNBLE8sQ0FDQSxXLENBRUEsaUIsQ0FDQSwrQixDQUNBLFUsQ0FDQSxXLENBRUEsc0MsQ0FDQSxvQixDQVFGLGdCLENBb0JBLHNCLENBR0UsTyxDQWNBLGdDLENBYkEsSyxDQXhCRixnQixDQUNFLGlCLENBR0EsUSxDQUNBLFMsQ0FDQSxpQixDQUVBLG9CLENBRUEsUyxDQUNBLFUsQ0FPQSxzQyxDQU5BLFMsQ0FRRixzQixDQXFFQSxzQixDQUNFLGlCLENBS0Esc0MsQ0FLQSwwQixDQUVBLE8sQ0FDQSxRLENBbkZGLHNCLENBS0UsVSxDQU1BLDhCLENBQ0Esa0MsQ0FDQSxtQyxDQUNBLCtCLENBWkEsVSxDQWtCRixzQixDQUNFLGMsQ0FDQSxpQixDQUNBLGUsQ0FDQSxnQixDQUNBLHNCLENBQ0EsUSxDQUlGLHFCLENBQ0EsMkIsQ0FDRSxVLENBQ0EsTSxDQUVGLDJCLENBQ0UsZ0MsQ0FDQSxrQyxDQUNBLGlDLENBQ0EsK0IsQ0FFQSx3QixDQUVGLDJCLENBQ0UsaUIsQ0FJRiw0QixDQUNFLFEsQ0FDQSxVLENBRUYsaUMsQ0FDRSxVLENBQ0EsUyxDQU9GLGdCLENBQ0UsaUIsQ0FFQSxxQixDQUNBLDJDLENBQ0EsNEIsQ0FxQkEsd0IsQ0FDQSxtQixDQUNBLCtCLENBQ0EsbUIsQ0FyQkYsc0IsQ0FFRSxVLENBRUEsUSxDQUNBLE0sQ0FHQSxrQixDQUNBLDRCLENBQ0Esd0IsQ0FhRixnQyxDQUNFLDhCLENBQ0Esa0IsQ0FDQSxnQyxDQUtBLGUsQ0FDQSwyQixDQUNBLDJDLENBRUYsc0MsQ0FDRSxTLENBQ0EsTyxDQUVBLGtCLENBQ0EsNEIsQ0FDQSx3QixDQUNBLHdCLENBS0YsNkIsQ0FEQSx1QixDQUVFLGlCLENBQ0EsUSxDQUVGLGdDLENBQ0EsMEIsQ0FDRSwyQixDQUVGLGdELENBQ0EsMEMsQ0FDRSxpQyxDQUNBLG1CLENBSUYsNkIsQ0FDRSwrQixDQUVGLDZDLENBQ0UscUMsQ0FDQSxtQixDQVNGLGtCLENBREEsZ0MsQ0FFRSxVLENBQ0EsaUIsQ0FDQSxRLENBQ0EsSyxDQUNBLE0sQ0FFQSxpQixDQUVBLDJDLENBRUYsbUMsQ0FDRSxRLENBQ0EsUSxDQUNBLDJDLENBR0YscUMsQ0FDRSxVLENBQ0Esc0IsQ0FDQSwyQyxDQUdGLHNDLENBQ0UsVSxDQUNBLFMsQ0FDQSxPLENBQ0EsMkMsQ0FFRix3QyxDQUNFLFUsQ0FDQSxRLENBQ0EsUSxDQUNBLDJDLENBRUYseUMsQ0FDRSxRLENBQ0EsUSxDQUNBLFMsQ0FDQSxPLENBQ0EsVSxDQUNBLDJDLENBWUYsa0IsQ0FDRSxVLENBUUYsZ0IsQ0FEQSx3QixDQUVFLHdCLENBQ0Esb0IsQ0FFQSxxQixDQUNBLG9CLENBRUYsK0IsQ0FDQSx1QixDQUNFLG9CLENBT0YsZ0IsQ0FFRSxvQixDQUZGLGdCLENBT0EsdUIsQ0FDRSx3QixDQUNBLHFCLENBQ0EscUIsQ0FRRix1QixDQURBLCtCLENBRUUsd0IsQ0FDQSxvQixDQUVBLHFCLENBQ0EscUIsQ0FFRiw0QyxDQUNBLG9DLENBQ0Usd0IsQ0FDQSxxQixDQUNBLHFCLENBU0Ysc0JBQXFCLFUsQ0FEckIseUIsQ0FFRSw4QixDQVFGLGdCLENBREEsd0IsQ0FFRSxzQixDQWVGLGEsQ0FEQSxxQixDQUVFLGtDLENBQ0EsOEIsQ0FDQSxvQixDQUdGLDJCLENBQ0Esb0IsQ0FDRSxrQyxDQUNBLDhCLENBQ0Esb0IsQ0FHRixvQixDQUNBLDBCLENBQ0Usc0MsQ0FHRixvQixDQUNFLDhCLENBR0YsbUIsQ0FDRSx5QixDQUNBLHVCLENBQ0EsOEIsQ0FFRixrQyxDQUNBLDBCLENBQ0UsK0IsQ0FDQSx1QixDQUNBLDhCLENBS0YsZ0IsQ0FEQSx3QixDQUVFLGtDLENBQ0EsOEIsQ0FDQSxvQixDQUdGLDhCLENBQ0EsdUIsQ0FDRSxrQyxDQUNBLDhCLENBQ0Esb0IsQ0FHRix1QixDQUNBLDZCLENBQ0Usc0MsQ0FHRix1QixDQUNFLDhCLENBR0Ysc0IsQ0FDRSx5QixDQUNBLHVCLENBQ0EsOEIsQ0FFRixxQyxDQUNBLDZCLENBQ0UsK0IsQ0FDQSx1QixDQUNBLDhCLENBS0YsZ0IsQ0FEQSx3QixDQUVFLGtDLENBQ0EsOEIsQ0FDQSxvQixDQUdGLDhCLENBQ0EsdUIsQ0FDRSxrQyxDQUNBLDhCLENBQ0Esb0IsQ0FHRix1QixDQUNBLDZCLENBQ0Usc0MsQ0FHRix1QixDQUNFLDhCLENBR0Ysc0IsQ0FDRSx5QixDQUNBLHVCLENBQ0EsOEIsQ0FFRixxQyxDQUNBLDZCLENBQ0UsK0IsQ0FDQSx1QixDQUNBLDhCLENBS0YsZSxDQURBLHVCLENBRUUsa0MsQ0FDQSw4QixDQUNBLG9CLENBR0YsNkIsQ0FDQSxzQixDQUNFLGtDLENBQ0EsOEIsQ0FDQSxvQixDQUdGLHNCLENBQ0EsNEIsQ0FDRSxzQyxDQUdGLHNCLENBQ0UsOEIsQ0FHRixxQixDQUNFLHlCLENBQ0EsdUIsQ0FDQSw4QixDQUVGLG9DLENBQ0EsNEIsQ0FDRSwrQixDQUNBLHVCLENBQ0EsOEIsQ0FLRixlLENBREEsdUIsQ0FFRSxrQyxDQUNBLDhCLENBQ0Esb0IsQ0FHRiw2QixDQUNBLHNCLENBQ0Usa0MsQ0FDQSw4QixDQUNBLG9CLENBR0Ysc0IsQ0FDQSw0QixDQUNFLHNDLENBR0Ysc0IsQ0FDRSw4QixDQUdGLHFCLENBQ0UseUIsQ0FDQSx1QixDQUNBLDhCLENBRUYsb0MsQ0FDQSw0QixDQUNFLCtCLENBQ0EsdUIsQ0FDQSw4QixDQUtGLGMsQ0FEQSxzQixDQUVFLGtDLENBQ0EsOEIsQ0FDQSxvQixDQUdGLDRCLENBQ0EscUIsQ0FDRSxrQyxDQUNBLDhCLENBQ0Esb0IsQ0FHRixxQixDQUNBLDJCLENBQ0Usc0MsQ0FHRixxQixDQUNFLDhCLENBR0Ysb0IsQ0FDRSx5QixDQUNBLHVCLENBQ0EsOEIsQ0FFRixtQyxDQUNBLDJCLENBQ0UsK0IsQ0FDQSx1QixDQUNBLDhCLENBS0YsYyxDQURBLHNCLENBRUUsa0MsQ0FDQSw4QixDQUNBLG9CLENBR0YsNEIsQ0FDQSxxQixDQUNFLGtDLENBQ0EsOEIsQ0FDQSxvQixDQUdGLHFCLENBQ0EsMkIsQ0FDRSxzQyxDQUdGLHFCLENBQ0UsOEIsQ0FHRixvQixDQUNFLHlCLENBQ0EsdUIsQ0FDQSw4QixDQUVGLG1DLENBQ0EsMkIsQ0FDRSwrQixDQUNBLHVCLENBQ0EsOEIsQ0FLRixnQixDQURBLHdCLENBRUUsa0MsQ0FDQSw4QixDQUNBLG9CLENBR0YsOEIsQ0FDQSx1QixDQUNFLGtDLENBQ0EsOEIsQ0FDQSxvQixDQUdGLHVCLENBQ0EsNkIsQ0FDRSxzQyxDQUdGLHVCLENBQ0UsOEIsQ0FHRixzQixDQUNFLHlCLENBQ0EsdUIsQ0FDQSw4QixDQUVGLHFDLENBQ0EsNkIsQ0FDRSwrQixDQUNBLHVCLENBQ0EsOEIsQ0FLRixnQixDQURBLHdCLENBRUUsa0MsQ0FDQSw4QixDQUNBLG9CLENBR0YsOEIsQ0FDQSx1QixDQUNFLGtDLENBQ0EsOEIsQ0FDQSxvQixDQUdGLHVCLENBQ0EsNkIsQ0FDRSxzQyxDQUdGLHVCLENBQ0UsOEIsQ0FHRixzQixDQUNFLHlCLENBQ0EsdUIsQ0FDQSw4QixDQUVGLHFDLENBQ0EsNkIsQ0FDRSwrQixDQUNBLHVCLENBQ0EsOEIsQ0FLRixjLENBREEsc0IsQ0FFRSxrQyxDQUNBLDhCLENBQ0Esb0IsQ0FHRiw0QixDQUNBLHFCLENBQ0Usa0MsQ0FDQSw4QixDQUNBLG9CLENBR0YscUIsQ0FDQSwyQixDQUNFLHNDLENBR0YscUIsQ0FDRSw4QixDQUdGLG9CLENBQ0UseUIsQ0FDQSx1QixDQUNBLDhCLENBRUYsbUMsQ0FDQSwyQixDQUNFLCtCLENBQ0EsdUIsQ0FDQSw4QixDQUtGLGUsQ0FEQSx1QixDQUVFLGtDLENBQ0EsOEIsQ0FDQSxvQixDQUdGLDZCLENBQ0Esc0IsQ0FDRSxrQyxDQUNBLDhCLENBQ0Esb0IsQ0FHRixzQixDQUNBLDRCLENBQ0Usc0MsQ0FHRixzQixDQUNFLDhCLENBR0YscUIsQ0FDRSx5QixDQUNBLHVCLENBQ0EsOEIsQ0FFRixvQyxDQUNBLDRCLENBQ0UsK0IsQ0FDQSx1QixDQUNBLDhCLENBS0YsYyxDQURBLHNCLENBRUUsa0MsQ0FDQSw4QixDQUNBLG9CLENBR0YsNEIsQ0FDQSxxQixDQUNFLGtDLENBQ0EsOEIsQ0FDQSxvQixDQUdGLHFCLENBQ0EsMkIsQ0FDRSxzQyxDQUdGLHFCLENBQ0UsOEIsQ0FHRixvQixDQUNFLHlCLENBQ0EsdUIsQ0FDQSw4QixDQUVGLG1DLENBQ0EsMkIsQ0FDRSwrQixDQUNBLHVCLENBQ0EsOEIsQ0FLRixlLENBREEsdUIsQ0FFRSxrQyxDQUNBLDhCLENBQ0Esb0IsQ0FHRiw2QixDQUNBLHNCLENBQ0Usa0MsQ0FDQSw4QixDQUNBLG9CLENBR0Ysc0IsQ0FDQSw0QixDQUNFLHNDLENBR0Ysc0IsQ0FDRSw4QixDQUdGLHFCLENBQ0UseUIsQ0FDQSx1QixDQUNBLDhCLENBRUYsb0MsQ0FDQSw0QixDQUNFLCtCLENBQ0EsdUIsQ0FDQSw4QixDQVFGLGUsQ0FDRSxlLENBQ0EsbUMsQ0FDQSxxQixDQUNBLGUsQ0FJRixzQixDQUNFLG9CLENBQ0EsZSxDQUNBLGEsQ0FDQSx1QyxDQUNBLGUsQ0FJRiwrQixDQUNFLG9CLENBU0YsdUIsQ0FEQSxlLENBRUUsVSxDQUNBLHFCLENBUUYsa0IsQ0FEQSwwQixDQUVFLG9DLENBUUYsb0IsQ0FEQSw0QixDQUVFLGlCLENBRUEsbUIsQ0FDQSxhLENBQ0EsaUIsQ0FTRixrQixDQURBLDBCLENBRUUsYSxDQUNBLGMsQ0FFQSxzQixDQUVBLGUsQ0FDQSxpQixDQUNBLG9CLENBR0Ysd0IsQ0FEQSxnQyxDQUVFLFcsQ0FDQSxZLENBQ0EsZSxDQUNBLFUsQ0FDQSxXLENBQ0EsdUIsQ0FPRixrQixDQUNFLGlCLENBOEJBLGMsQ0EzQkYsMkIsQ0FDRSxpQixDQUdGLHlCLENBQ0Usd0IsQ0FHQSxrQixDQUNBLG9CLENBSUEsaUIsQ0FDQSxVLENBQ0EsdUIsQ0FDQSxxQixDQUVBLFMsQ0FDQSxhLENBQ0EsYyxDQUNBLDhCLENBS0Ysa0MsQ0FDRSxjLENBdkJGLHlCLENBMEJBLHlDLENBQ0Usd0IsQ0FDQSx5RCxDQUNBLEssQ0FDQSxRLENBR0YsbUMsQ0FDQSxrQyxDQUNFLFksQ0FDQSxpQixDQUVGLDBDLENBY0Esd0MsQ0FiQSx5QyxDQUNFLHdCLENBRUEsVSxDQUNBLHlELENBQ0EsUSxDQUNBLFEsQ0FHRixpQyxDQUNFLFksQ0FDQSxtQixDQUVGLHdDLENBQ0Usd0IsQ0FFQSxXLENBRUEsTyxDQUNBLE0sQ0FHRixrQyxDQUNFLFksQ0FDQSxvQixDQUVGLHlDLENBQ0Usd0IsQ0FDQSx3RCxDQUNBLE8sQ0FDQSxPLENBQ0EsVyxDQUNBLFMsQ0FNRiwrQixDQUNBLCtDLENBQ0UsZSxDQUdGLGdELENBQ0EsK0MsQ0FDRSxXLENBQ0EsUSxDQUNBLGMsQ0FHRiw4QyxDQUNFLE8sQ0FDQSxTLENBR0YsK0MsQ0FDRSxPLENBQ0EsVSxDQVFGLGtCLENBQ0UsaUIsQ0FDQSxXLENBQ0EsUSxDQUNBLFMsQ0FDQSw2QixDQVFGLGMsQ0FEQSxzQixDQUVFLHNCLENBR0YsYyxDQURBLHNCLENBRUUsc0IsQ0FHRixlLENBREEsdUIsQ0FFRSxzQixDQUdGLFMsQ0FEQSxpQixDQUVFLHNCLENBR0YsZSxDQURBLHVCLENBRUUsYyxDQUdGLGEsQ0FEQSxxQixDQUVFLHVCLENBR0YsYyxDQURBLHNCLENBRUUsdUIsQ0FHRixpQixDQURBLHlCLENBRUUsdUI7Ozs7Ozs7Ozs7QUM3c0NGLFEsQ0FGQSxVLENBR0Usb0IsQ0FERixRLENBREEsVSxDQURBLFUsQ0FJRSxZLENBQ0EsUyxDQUtGLG9CLENBREEsc0IsQ0FEQSxzQixDQUdFLFksQ0FDQSxhLENBS0YsbUIsQ0FEQSxxQixDQURBLHFCLENBR0UsZSxDQUNBLGdCLENBUUYsYSxDQU1FLG9CLENBR0EscUIsQ0FDQSx3QixDQVBGLG9CLENBREEsYyxDQURBLGEsQ0FEQSxhLENBSUUsaUIsQ0FDQSxrQixDQUVBLDJCLENBTEYsYyxDQURBLGEsQ0FRRSxxQixDQUNBLHdCLENBUEYsb0IsQ0FEQSxjLENBSUUsb0IsQ0FVRixvQixDQURBLG9CLENBREEsK0IsQ0FEQSwrQixDQUlFLFUsQ0FDQSxhLENBQ0EsUSxDQUNBLFUsQ0FDQSxpQixDQUtGLGdDLENBQ0EsMEIsQ0FGQSx5QixDQURBLHlCLENBSUUsYSxDQUlGLCtCLENBQ0EseUIsQ0FGQSx3QixDQURBLHdCLENBSUUsZ0IsQ0FNRixjLENBREEsYSxDQURBLGEsQ0FHRSxVLENBQ0EsUSxDQUNBLDBCLENBTUYsb0IsQ0FEQSxnQixDQURBLGdCLENBR0UscUIsQ0FDQSxtQixDQUtGLDJCLENBQ0EscUIsQ0FDRSxrQixDQUNBLFEsQ0FDQSxhLENBQ0EseUIsQ0FDQSxrQixDQUNBLHlCLENBRUYsc0MsQ0FDQSxnQyxDQUNFLG9CLENBQ0Esa0IsQ0FLRiwyQixDQUNBLHFCLENBQ0Usa0IsQ0FDQSw0QixDQUNBLFEsQ0FDQSxrQixDQUVGLGdDQUFtQyxXLE1BQWlCLEksQ0FDcEQsMEJBQTZCLFcsTUFBaUIsSSxDQUM1QyxrQixDQUVGLCtCLENBQ0EseUIsQ0FDRSxrQixDQUlGLHNDLENBREEsOEIsQ0FHQSxnQyxDQURBLHdCLENBRUUsb0IsQ0FJRiw2QixDQUNBLHVCLENBQ0Usd0IsQ0FHRixtQyxDQURBLG9DLENBR0EsNkIsQ0FEQSw4QixDQUVFLGtCLENBQ0EsVSxDQUNBLGtCLENBQ0Esa0IsQ0FFRix1QyxDQUNBLGlDLENBQ0Usb0IsQ0FDQSxVLENBRUYsbUMsQ0FDQSw2QixDQUNFLGEsQ0FDQSxjLENBSUYsNEIsQ0FDQSxzQixDQUNFLGEsQ0FDQSxRLENBQ0EsNEksQ0FDQSxlLENBQ0EscUIsQ0FJRixpQyxDQUNBLDJCLENBQ0UsYSxDQUNBLG9CLENBS0Ysc0IsQ0FEQSxnQixDQUVFLGMsQ0FJRixxQixDQUNBLGUsQ0FDRSxjLENBQ0EsYSxDQUVGLDJCLENBQ0EscUIsQ0FDRSxhLENBSUYsNEIsQ0FDQSxzQixDQUNFLG9CLENBSUYsNkIsQ0FDQSx1QixDQUNFLGMsQ0FDQSx1QixDQUVGLG1DLENBQ0EsNkIsQ0FDRSx1QixDQUlGLCtCLENBQ0UsVSxDQUVGLGdDLENBQ0UsVyxDQUdGLDRDLENBQ0Esc0MsQ0FDRSxVLENBQ0EsZ0IsQ0FFRiw2QyxDQUNBLHVDLENBQ0UsVyxDQUNBLGdCLENBUUYsNkIsQ0FEQSx1QixDQUVFLGlCLENBQ0Esa0IsQ0FDQSw0QixDQUVBLG9CLENBQ0EsMkIsQ0FFQSxxQixDQUNBLHdCLENBRUYsb0MsQ0FDQSw4QixDQUNFLFEsQ0FDQSxjLENBRUYseUMsQ0FDQSxtQyxDQUNFLGEsQ0FFRix3QyxDQUNBLGtDLENBQ0UsZ0IsQ0FZRixtQixDQUNFLG9CLENBQ0EsVyxDQUVGLHlCLENBQ0Usb0IsQ0FDQSxlLENBR0Ysd0JBQXVCLDBCLENBQ3JCLHVCLENBQ0Esd0IsQ0FFRix5QixDQUNFLGMsQ0FDQSxnQixDQVFGLHdDLENBRkEscUMsQ0FGQSxzQyxDQUdBLGtDLENBRkEsK0IsQ0FGQSxnQyxDQU1FLHFCLENBSUYscUMsQ0FDQSxvQyxDQUNFLHVCLENBQ0EsMEIsQ0FJRixnQyxDQUNFLFEsQ0FDQSxtQixDQUVGLCtCLENBQ0Esd0MsQ0FDRSxVLENBQ0Esb0IsQ0FZRiw2QixDQUNBLHVCLENBQ0UsbUIsQ0FDQSxpQyxDQUVGLHNDLENBQ0EsZ0MsQ0FDRSxvQyxDQU9GLGlDLENBQ0EsMkIsQ0FDRSxxQixDQWdCRixxQyxDQUNBLCtCLENBQ0UsMEIsQ0FFRiwwQyxDQVJBLG9DLENBU0Esb0MsQ0FSQSw4QixDQVNFLDBCLENBSUYsOEIsQ0FDQSx3QixDQUNFLGMsQ0FDQSwwQixDQUVGLG9DLENBQ0EsOEIsQ0FDRSxhLENBS0YsOEJBQTZCLEksQ0FDM0Isb0MsQ0FFRiw4QkFBNkIsVSxDQUMzQix1QixDQVNGLCtCLENBREEsdUMsQ0FEQSxxQyxDQUdFLDRCLENBSUYsa0MsQ0FEQSwwQyxDQURBLHdDLENBR0UsK0IsQ0FJRixrQyxDQURBLDBDLENBREEsd0MsQ0FHRSwrQixDQU9GLG1CLENBRUEsMEJBQXlCLEksQ0FEekIsb0IsQ0FFRSxvQixDQUNBLHlCLENBR0YsK0JBQThCLFUsQ0FEOUIsK0IsQ0FFRSxvQixDQUdGLCtCQUE4QixXLENBRDlCLGdDLENBRUUsb0IsQ0FFRiwrQixDQUNBLHNDQUFxQyxJLENBQ25DLHFCLENBSUYsNEIsQ0FFQSxtQ0FBa0MsSSxDQURsQyw2QixDQUVFLDBCLENBV0YsK0NBQThDLEksQ0FKOUMsd0NBQXVDLFcsQ0FKdkMsd0NBQXVDLFUsQ0FPdkMseUMsQ0FKQSx5QyxDQUpBLHdDLENBRUUsVSxDQWVGLDhCLENBQ0Esd0IsQ0FDRSxjLENBQ0EsYyxDQUNBLFksQ0FDQSxRLENBQ0Esb0IsQ0FDQSxrQixDQUNBLHlFLENBRUYseUMsQ0FDQSxtQyxDQUNFLGUsQ0FFRixtQyxDQUNBLDhCLENBQ0UsMEIsQ0FDQSxvQixDQUVGLHFDLENBQ0EsK0IsQ0FDRSwwQixDQUNBLG9CLENBRUYscUMsQ0FDQSwrQixDQUNFLDBCLENBQ0EscUIsQ0FLRixpQyxDQUNFLGMsQ0FDQSwwQixDQUdGLHVDLENBQ0UsZ0MsQ0FDQSxVLENBT0Ysd0MsQ0FKQSx3QyxDQUNFLGdDLENBQ0EsVSxDQVNGLHFDLENBRUEsK0IsQ0FFRSxlLENBT0YsdUIsQ0FDRSx3RixDQUVGLHNCQUFxQix3QixDQUNuQixnQixDQU1GLG9CQUFtQix1QixDQUNuQixvQkFBbUIsaUIsQ0FDakIsYyxDQUNBLGUsQ0FFRixxQyxDQUNBLCtCLENBQ0UsaUIsQ0FDQSxrQixDQVFGLGlCLENBREEsVSxDQUVFLG1CLENBR0YsNkIsQ0FDQSx1QixDQUZBLGEsQ0FHRSxpQixDQUdGLG9DLENBQ0EsOEIsQ0FGQSxvQixDQUdFLGdCLENBQ0EsbUIsQ0FDQSxpQixDQUNBLFEsQ0FDQSxTLENBQ0EsZSxDQUNBLG9CLENBQ0EsVyxDQUNBLFMsQ0FDQSxhLENBQ0Esa0IsQ0FJRixxQyxDQUNBLCtCLENBdUJBLDBDLENBREEseUMsQ0F4QkEsb0IsQ0FHRSxxQixDQUlGLHVCLENBREEsYSxDQUVFLG9CLENBS0YsNEIsQ0FEQSw4QixDQUVFLGEsQ0FHRixrQyxDQURBLGlDLENBRUUsbUIsQ0FHRiw4QyxDQURBLDZDLENBRUUsYSxDQU9GLHNELENBREEscUQsQ0FFRSxZLENBUUYsZ0IsQ0FDQSxzQixDQUZBLFUsQ0FHQSxhLENBQ0UscUIsQ0FDQSxtQixDQUNBLG9CLENBR0YsNEIsQ0FDQSxzQixDQUZBLGEsQ0FHRSxvQixDQUNBLGlCLENBR0YsbUMsQ0FDQSw2QixDQUZBLG9CLENBR0UsaUIsQ0FDQSxRLENBQ0EsUyxDQUNBLGdCLENBQ0EsbUIsQ0FDQSxvQixDQUNBLHlCLENBQ0EsaUMsQ0FDQSxnQixDQUNBLHFCLENBQ0EscUIsQ0FDQSxVLENBSUYsNEMsQ0FDQSxzQyxDQUZBLDZCLENBR0UsMEIsQ0FLRixrQyxDQURBLHdDLENBRUUsd0IsQ0FFRiwyQixDQUNFLG1CLENBS0Ysc0IsQ0FEQSxhLENBRUUsZSxDQUdGLG1DLENBREEsdUIsQ0FFRSxnQixDQUtGLDJCLENBREEscUIsQ0FFRSxhLENBR0YsOEMsQ0FDQSx3QyxDQUZBLCtCLENBR0UsZSxDQUNBLGlCLENBT0Ysc0IsQ0FDRSx1QyxDQUtGLGtDLENBSEEsNEIsQ0FDRSxlLENBS0Ysd0MsQ0FDQSxrQyxDQUNFLGUsQ0FJRixxQkFBb0Isb0MsQ0FDbEIsb0IsQ0FLRiwrQixDQURBLDhCQUE2QixZLENBRTNCLGEsQ0FDQSxjLENBRUYsb0NBQXFDLFksQ0FDbkMsb0IsQ0E0QkYsMkIsQ0F4QkEsd0IsQ0FDRSxhLENBRUYsb0MsQ0FDQSw4QixDQUNFLG9CLENBRUYsb0MsQ0FDRSxhLENBQ0EsYyxDQUNBLDBCLENBRUYsMEMsQ0FDRSxnQixDQUlGLHNDLENBQ0EsZ0MsQ0FDRSxRLENBQ0EsZSxDQU9GLHNDQUF1QyxhLENBQ3JDLGlCLENBRUYsc0NBQXVDLFksQ0FDckMsa0IsQ0FFRixpQyxDQUNFLGUsQ0FDQSx3QyxDQUNBLFEsQ0FDQSxjLENBRUYsNkMsQ0FDRSxnQixDQUtGLDBDLENBRkEsK0IsQ0FDQSwrQixDQUVFLGlDLENBUUYscUIsQ0FDQSxxQixDQUNFLHVDLENBQ0EsaUIsQ0FDQSxrQixDQUVGLGdDLENBQ0UsMEMsQ0FJRixpQyxDQUNBLGdDLENBQ0UsdUIsQ0FDQSwwQixDQUlGLGlDLENBQ0UsYyxDQUVGLHVDLENBQ0Usa0IsQ0FJRix3QixDQWNBLHVCLENBaUJBLDBCLENBOUJFLGEsQ0FFRixvQyxDQUNBLDhCLENBQ0Usb0IsQ0FFRixvQyxDQUNFLG9CLENBQ0EscUIsQ0FDQSwwQixDQU9GLG1DLENBQ0EsNkIsQ0FDRSxvQixDQUVGLG1DLENBQ0UsYSxDQUNBLGMsQ0FDQSwwQixDQUVGLG1DLENBQ0UsZ0IsQ0FPRixzQyxDQUNBLGdDLENBQ0UsZSxDQUNBLHdDLENBQ0EsUSxDQUNBLGlCLENBQ0Esa0IsQ0FFQSxjLENBRUYsaUQsQ0FDQSwyQyxDQUNFLGtCLENBQ0EseUMsQ0FRRiwrQyxDQUNBLHlDLENBTEEsOEIsQ0FDQSw4QixDQUNFLDJDLENBV0YscUJBQW9CLFcsWUFBeUIsYSxDQUMzQyx1QixDQUVGLHFCQUFvQixXLFlBQXlCLFksQ0FDM0MsMEIsQ0FFRiw0Q0FBNkMsYSxDQUM3QyxzQ0FBdUMsYSxDQUNyQyxpQixDQUVGLDRDQUE2QyxZLENBQzdDLHNDQUF1QyxZLENBQ3JDLGtCLENBSUYsb0NBQW1DLFcsWUFBeUIsYSxDQUMxRCx1QixDQUVGLG9DQUFtQyxXLFlBQXlCLFksQ0FDMUQsMEIsQ0FFRiwyREFBNEQsYSxDQUM1RCxxREFBc0QsYSxDQUNwRCxtQixDQUVGLDJEQUE0RCxZLENBQzVELHFEQUFzRCxZLENBQ3BELG9CLENBT0YsYSxDQUNFLHFCLENBRUYsYSxDQUNFLHFCLENBRUYsYyxDQUNFLHFCLENBRUYsUSxDQUNFLGEsQ0FFRixjLENBQ0Usc0IsQ0FFRixZLENBQ0Usc0IsQ0FFRixhLENBQ0Usc0IsQ0FFRixnQixDQUNFLHNCLENBR0Ysb0MsQ0FDQSw4QixDQUNFLHNCLENBRUYsb0MsQ0FDQSw4QixDQUNFLHNCLENBRUYscUMsQ0FDQSwrQixDQUNFLHNCLENBRUYsK0IsQ0FDQSx5QixDQUNFLGMsQ0FFRixxQyxDQUNBLCtCLENBQ0UsdUIsQ0FFRixtQyxDQUNBLDZCLENBQ0UsdUIsQ0FFRixvQyxDQUNBLDhCLENBQ0UsdUIsQ0FFRix1QyxDQUNBLGlDLENBQ0UsdUI7Ozs7Ozs7Ozs7QUM5MkJGLGtCQUNFLEUsQ0FDRSxzQixDQUVGLEUsQ0FDRSwwQkFuREosVSxDQUNFLFksQ0FDQSxpQixDQUNBLE8sQ0FDQSxRLENBQ0EsUSxDQUNBLGlCLENBQ0EsWSxDQUNBLDJDLENBaUJGLGdCLENBYkEsaUIsQ0FjRSxpQixDQUNBLFUsQ0FDQSxLLENBQ0EsUSxDQUNBLFUsQ0FDQSxXLENBS0Esb0IsQ0F4QkYsaUIsQ0FTRSxnQyxDQUlGLGdCLENBUUUsMkIsQ0FDQSxrQyxDQUlBLDRDLENBQ0Esa0IsQ0FDQSxpQixDQUVBLGdDLENBZUYscUIsQ0FEQSxzQixDQUVFLFUsQ0FDQSxXLENBQ0EsbUIsQ0FHRixxQixDQURBLHNCLENBRUUsbUIsQ0FDQSxvQixDQUNBLDBCLENBR0Ysc0IsQ0FEQSx1QixDQUVFLG1CLENBQ0Esb0IsQ0FDQSwwQixDQUdGLGdCLENBREEsaUIsQ0FFRSxtQixDQUNBLG9CLENBQ0EsMkIsQ0FHRixzQixDQURBLHVCLENBRUUsbUIsQ0FDQSxvQixDQUNBLDJCLENBR0Ysb0IsQ0FEQSxxQixDQUVFLG1CLENBQ0Esb0IsQ0FDQSwyQixDQUdGLHFCLENBREEsc0IsQ0FFRSxtQixDQUNBLG9CLENBQ0EsMkIsQ0FHRix3QixDQURBLHlCLENBRUUsbUIsQ0FDQSxvQixDQUNBLDJCLENBUUYsa0IsQ0FDRSxhLENBSUYscUIsQ0FDRSwwQixDQUVGLDRCLENBQ0Usa0MsQ0FFRiwyQixDQUNFLHlDLENBSUYsOEIsQ0FDRSxxQixDQUVGLHFDLENBQ0UsMkIsQ0FFRixvQyxDQUNFLDRDLENBV0YsZSxDQUNFLG9CLENBQ0EscUIsQ0FDQSxpQixDQUNBLGlCLENBUUYsOEIsQ0FDRSwyQixDQUNBLHVCLENBR0YsaUIsQ0FDQSxrQixDQUNFLGEsQ0FFRixtQixDQUNBLGlCLENBQ0UsWSxDQWNGLG1DLENBQ0EsZSxDQUNFLFUsQ0FDQSxXLENBQ0EscUIsQ0FFRixtQyxDQUNBLGUsQ0FDRSxtQixDQUNBLG9CLENBQ0EscUIsQ0FFRixvQyxDQUNBLGdCLENBQ0UsbUIsQ0FDQSxvQixDQUNBLHFCLENBRUYsOEIsQ0FDQSxVLENBQ0UsbUIsQ0FDQSxvQixDQUNBLGEsQ0FFRixvQyxDQUNBLGdCLENBQ0UsbUIsQ0FDQSxvQixDQUNBLHNCLENBR0YsYyxDQURBLGtDLENBRUUsbUIsQ0FDQSxvQixDQUNBLHNCLENBR0YsZSxDQURBLG1DLENBRUUsbUIsQ0FDQSxvQixDQUNBLHNCLENBRUYsc0MsQ0FDQSxrQixDQUNFLG1CLENBQ0Esb0IsQ0FDQSxzQixDQUlGLG9CLENBQ0UsYyxDQUNBLHlCLENBRUYsb0IsQ0FDRSx1QixDQUNBLHlCLENBRUYscUIsQ0FDRSx1QixDQUNBLGtCLENBRUYsZSxDQUNFLHVCLENBQ0EseUIsQ0FFRixxQixDQUNFLHVCLENBQ0EseUIsQ0FFRixtQixDQUNFLHVCLENBQ0Esa0IsQ0FFRixvQixDQUNFLHVCLENBQ0EseUIsQ0FFRix1QixDQUNFLHVCLENBQ0EseUIsQ0FRRixtQixDQUNFLDBCLENBRUYsMEIsQ0FDRSxrQyxDQUVGLHlCLENBQ0UscUIsQ0FPRixpQixDQUNFLGlCLENBQ0EscUIsQ0FDQSxRLENBQ0EsTSxDQUNBLEssQ0FDQSxjLENBR0Ysd0IsQ0FDQSx5QixDQUNFLG9CLENBSUYsaUMsQ0FDQSxrQyxDQUNFLGEsQ0FDQSxnQixDQUNBLGlCOzs7Ozs7Ozs7O0FDclNGLDhCQUNFLEUsQ0FDRSw2QixDQUVGLEUsQ0FDRSw4QkFoQkosZSxDQUNFLGUsQ0FDQSxlLENBQ0Esc0MsQ0FDQSxrQyxDQUVBLHFHLENBQ0EsMkIsQ0FDQSxlLENBWUYsK0IsQ0FDRSxlLENBR0Esb0IsQ0FFRiwrQyxDQUNFLG1CLENBRUYsK0QsQ0FDRSxvQixDQUVGLCtFLENBQ0UsbUIsQ0FqQ0YsZSxDQXNDQSxtQyxDQUNBLHFCLENBRkEsdUIsQ0FJRSxxQixDQUlGLDJCQUEwQixPLE1BQWEsSSxDQUNyQyxZLENBRUYsa0NBQWlDLFEsQ0FDL0IsUSxDQUNBLGUsQ0FFQSxnQixDQUVGLHVDQUFzQyxRLENBQ3BDLFEsQ0FDQSxlLENBRUEsZSxDQUtGLHFCLENBQ0UsaUIsQ0FDQSxrQixDQWtCQSxrQixDQWZGLDJCLENBREEsNEIsQ0FFRSxRLENBQ0EsaUIsQ0FDQSxVLENBQ0Esd0IsQ0FFRiw0QixDQUNFLE0sQ0FFRiwyQixDQUNFLE8sQ0FRRiwyQixDQURBLDRCLENBRUUsVyxDQUVGLDBCQUF5QixhLENBQ3ZCLGUsQ0FJRix1QixDQUNFLGlCLENBQ0EsZSxDQUlGLHdDLENBQ0UsUSxDQUVGLHdDLENBQ0UsUyxDQUVGLHdDLENBQ0UsUyxDQUVGLHdDLENBQ0UsUyxDQUVGLHdDLENBQ0UsUyxDQUlGLDZCLENBQ0UseUIsQ0FHRixtQyxDQURBLG9DLENBRUUsa0IsQ0FFRixrQ0FBaUMsYSxDQUMvQixzQixDQUVGLG1DLENBQ0UsUyxDQUVGLGdELENBQ0UsUyxDQUlGLG1DLENBQ0UsZSxDQUVGLDBDLENBQ0Usa0IsQ0FFRixtQyxDQUNFLGEsQ0FDQSxrQixDQUNBLFUsQ0FDQSxlLENBTUYseUMsQ0FGQSx3QyxDQUNBLDRDLENBRUUsWSxDQUlGLDRCQUEyQixvQixDQUYzQiwyQkFBMEIsb0IsQ0FDMUIsK0JBQThCLG9CLENBRTVCLG1CLENBQ0EsVSxDQUNBLGEsQ0FJRix3QixDQUNFLHVILENBT0Esd0IsQ0FIRiw0QyxDQUNBLDhCLENBQ0Esb0MsQ0FIQSxnQyxDQUlFLHdCLENBWUYsMEMsQ0FDRSxRLENBRUYsK0MsQ0FDRSxTLENBRUYsMEMsQ0FDRSxTLENBRUYsNEMsQ0FDRSxTLENBRUYsMkMsQ0FDRSxTLENBRUYsZ0QsQ0FDRSxTLENBUUYscUIsQ0FDRSxjOzs7Ozs7Ozs7O0FDL01GLFEsQ0FDRSxpQixDQUNBLEssQ0FDQSxXLENBQ0EsVyxDQThHQSxjLENBM0dGLGEsQ0FDRSxTLENBQ0EsVSxDQUNBLGtCLENBQ0EsaUIsQ0FrQkYsc0IsQ0FmQSxjLENBQ0UsUyxDQUNBLFUsQ0FDQSxrQixDQUNBLGlCLENBV0Ysc0IsQ0FDRSxNLENBTUYsdUIsQ0FDRSxTLENBQ0EsTyxDQUNBLGtCLENBQ0EsaUIsQ0FRRixpQixDQUNFLGEsQ0FFRixzQixDQUNFLG9CLENBQ0EsbUIsQ0FDQSx5QyxDQUVGLHVCLENBQ0Usd0MsQ0FDQSxvQixDQUNBLG1CLENBT0YsYyxDQUNFLHVCLENBRUYsbUIsQ0FDRSxpQixDQUNBLGdCLENBRUYsb0IsQ0FDRSxpQixDQUNBLGdCLENBR0YsbUIsQ0FDRSx3QixDQUVGLHdCLENBQ0Usa0IsQ0FDQSxpQixDQUVGLHlCLENBQ0Usa0IsQ0FDQSxpQixDQU9GLHNCLENBQ0EsdUIsQ0FDRSxTLENBQ0EsUSxDQU9GLGEsQ0FDRSxzQixDQUVGLGEsQ0FDRSxzQixDQUVGLGMsQ0FDRSxzQixDQUtGLGMsQ0FDRSx1QixDQUVGLFksQ0FDRSx1QixDQUVGLGEsQ0FDRSx1QixDQUVGLGdCLENBQ0UsdUI7Ozs7Ozs7Ozs7QUM5SEYsVSxDQUNFLGUsQ0FDQSwyQixDQUNBLHFCLENBR0YsMkIsQ0FDRSwyQixDQUNBLGUsQ0FDQSxnQixDQUNBLG1CLENBQ0EsMkIsQ0FFRiwwQixDQUNFLDJCLENBQ0EsbUIsQ0FJRixrQyxDQUNBLGlDLENBQ0UsbUIsQ0F3R0YsZSxDQTNGQSxnQixDQUNFLDJCLENBQ0EseUIsQ0FDQSxrQixDQThGRix3QixDQTNGQSx5QixDQTRGRSxhLENBQ0EsVSxDQUNBLGtCLENBRUEsUSxDQWhHRix5QixDQUVFLFUsQ0FLQSxpQyxDQUdGLGlDLENBQ0UsMkIsQ0FFRixnQyxDQUNFLDJCLENBQ0EsZ0IsQ0FDQSxvQixDQUdGLHdDLENBQ0EsdUMsQ0FDRSxxQyxDQUVGLHVDLENBQ0Esc0MsQ0FJQSx1QyxDQUhFLGtDLENBTUYsc0MsQ0FDRSxxQyxDQW5CRixnQyxDQXFCQSw4QyxDQUNBLDZDLENBQ0Usb0MsQ0FFRiw2QyxDQUNBLDRDLENBQ0Usa0MsQ0FHRixtQyxDQUNFLG9DLENBV0YscUMsQ0FUQSwyQyxDQUNBLDBDLENBQ0UscUMsQ0FFRiwwQyxDQUNBLHlDLENBQ0Usa0MsQ0FNRiw2QyxDQUNBLDRDLENBQ0Usb0MsQ0FFRiw0QyxDQUNBLDJDLENBQ0Usa0MsQ0FRRixnQyxDQUNFLFMsQ0FFRix1QyxDQUNBLHNDLENBQ0UsUyxDQWNGLHdCLENBTUUsMEQsQ0FHRixnQyxDQUNFLDJCLENBRUYsK0IsQ0FDRSwyQixDQUNBLGdCLENBQ0Esb0IsQ0FFRix1QyxDQUNBLHNDLENBQ0UscUMsQ0FFRiw2QyxDQUNBLDRDLENBQ0Usb0MsQ0FFRiwwQyxDQUNBLHlDLENBQ0UscUMsQ0FFRiw0QyxDQUNBLDJDLENBQ0Usb0MsQ0FTRixrQyxDQUNFLHVCLENBQ0Esc0IsQ0FLQSw2QixDQURGLHdDLENBQ0UsNkIsQ0FFRix5QyxDQUNBLHdDLENBQ0EsK0MsQ0FDQSw4QyxDQUNFLHdCLENBR0YsdUMsQ0FDRSw0QixDQUVGLDhDLENBQ0EsNkMsQ0FDRSx5QixDQU9GLGtELENBQ0UseUIsQ0FDQSx1QixDQUNBLG1CLENBQ0EsZSxDQUNBLGdCLENBQ0Esb0IsQ0FDQSxxQixDQUNBLHdCLENBRUYsZ0QsQ0FDRSxzQixDQVFGLDJCLENBQ0UsUyxDQVdGLGtCLENBQ0UsZ0IsQ0FPRiwyQixDQUNFLDZCLENBUUYsbUIsQ0FDRSx3Qjs7Ozs7Ozs7OztBQzRPRix3QkFDRSxFLENBQ0Usc0IsQ0FFRixFLENBQ0UsMEJBemVKLFcsQ0FDRSxpQixDQUNBLGUsQ0FDQSx5QyxDQUNBLGEsQ0FDQSxXLENBQ0EsMEIsQ0FDQSxtQyxDQUdGLHVCLENBQ0UsWSxDQUVGLHNCLENBQ0UsZSxDQUtGLG9CLENBQ0UsUSxDQUNBLGMsQ0FDQSxlLENBRUEsYyxDQUNBLGUsQ0FDQSxlLENBQ0EsUSxDQUNBLDBDLENBRUYsK0IsQ0FDRSxrQixDQVNGLCtCLENBQ0UsVSxDQUlGLG1FLENBQ0Usd0IsQ0FDQSx5QixDQUVGLG1FLENBQ0UsMkIsQ0FDQSw0QixDQUVGLHlCQUF3QixJLE1BQVUsc0MsQ0FDaEMsd0IsQ0FDQSx5QixDQUVGLHlCQUF3QixJLE1BQVUseUMsQ0FDaEMsMkIsQ0FDQSw0QixDQUtGLGdDLENBQ0EsMkIsQ0FGQSxxQixDQUdFLGUsQ0FDQSxrQixDQUVGLGdCLENBQ0UsYSxDQUNBLDBCLENBSUYsdUIsQ0FDRSxlLENBQ0EsbUMsQ0FDQSx5QyxDQUVGLHNDLENBQ0UsVyxDQWFGLHVCLENBQ0UsWSxDQUNBLHFCLENBQ0Esc0IsQ0FDQSxtQixDQUNBLGlCLENBQ0EsYyxDQUNBLGdCLENBQ0EsVyxDQUNBLGdCLENBQ0Esa0IsQ0FDQSwrQixDQUNBLGdELENBR0YsK0IsQ0FDQSxnQyxDQUNFLGEsQ0FLRiwrQixDQUtBLHVDLENBQ0Esc0MsQ0FDQSx3QyxDQUNBLHlDLENBWEEsOEIsQ0FDQSxnQyxDQUNBLGlDLENBRUUsZSxDQUNBLGdCLENBQ0EsaUIsQ0FXRiwrQixDQUNFLGlCLENBRUYsdUMsQ0FDRSxvQixDQUNBLFUsQ0FDQSx5QixDQUVGLGtELENBQ0UsYyxDQVNGLGlCLENBREEsa0IsQ0FFRSxZLENBQ0EsYSxDQUNBLFksQ0FFRiw2QixDQXVDQSxvRCxDQXRDRSxZLENBRUYsNEIsQ0EyQ0Esc0QsQ0ExQ0UsZSxDQUlGLHVCLENBQ0Esd0IsQ0FIQSx3QixDQUNBLHlCLENBR0UscUIsQ0FDQSxrQixDQUNBLFUsQ0FDQSxhLENBQ0EsVyxDQUNBLE0sQ0FDQSxpQixDQUNBLFUsQ0FDQSxtQyxDQUNBLGEsQ0FHRix3QixDQURBLHlCLENBRUUseUIsQ0FDQSxLLENBQ0EsVSxDQUdGLHVCLENBREEsd0IsQ0FFRSx3QixDQUNBLEssQ0FDQSxVLENBSUYsd0MsQ0FDRSxjLENBQ0EsZSxDQUtGLDJDLENBQ0UsWSxDQUNBLGlCLENBVUYsbUIsQ0FDRSxvQixDQUtGLHlCLENBREEsMEIsQ0FEQSwwQixDQURBLDJCLENBSUUsVSxDQUNBLGlCLENBQ0EsVyxDQUNBLE0sQ0FFQSx1QyxDQUNBLDBCLENBRUEsVSxDQUNBLFUsQ0FDQSxrQixDQUdGLDBCLENBREEsMkIsQ0FFRSxZLENBS0YsK0IsQ0FEQSxnQyxDQUVFLGEsQ0FDQSxRLENBT0Ysa0MsQ0FEQSxtQyxDQURBLG1DLENBREEsb0MsQ0FJRSxnQyxDQUNBLHVDLENBT0Ysa0IsQ0FDRSxhLENBR0YsaUMsQ0FDRSxXLENBSUYsbUMsQ0FDQSwwQyxDQUNFLGMsQ0FDQSxlLENBT0YsbUIsQ0FDRSxhLENBSUYsb0IsQ0FDRSxtQixDQUVGLDZCLENBQ0EsNkIsQ0FDRSxhLENBQ0EsYSxDQU9GLG9CLENBQ0Usa0IsQ0FDQSxXLENBQ0EsaUIsQ0FDQSxxQixDQUNBLG1CLENBUUYsa0IsQ0FEQSxtQixDQUVFLHlFLENBU0YsWSxDQUNFLHFCLENBQ0EsaUIsQ0FDQSxhLENBQ0EsbUMsQ0FDQSx5QyxDQUNBLDBCLENBRUYsd0IsQ0FDRSxZLENBRUYsdUIsQ0FDRSxlLENBS0YscUIsQ0FDRSxLLENBQ0EsUSxDQUNBLGUsQ0FDQSxRLENBQ0EsVSxDQUNBLGUsQ0FDQSxRLENBQ0EsdUMsQ0FHRixpQkFBZ0IsaUMsQ0FHZCxlLENBQ0EsWSxDQUNBLFEsQ0FDQSxlLENBQ0EsSyxDQUNBLDJDLENBSUYsaUJBQWdCLGdDLENBQ2QsSyxDQUNBLFEsQ0FDQSxZLENBQ0EsZSxDQUNBLDhDLENBQ0EsMkMsQ0FJRixpQkFBZ0IsZ0MsQ0FDZCwwQixDQUtGLHlCLENBQ0UsdUMsQ0FDQSxXLENBRUYsa0MsQ0FDRSxlLENBRUYsb0NBQXVDLFksQ0FDckMsWSxDQUlGLHVCLENBQ0UsWSxDQUNBLGtCLENBRUEsZSxDQUNBLFMsQ0FDQSxxQixDQUNBLHlDLENBQ0EsYSxDQUNBLDBCLENBQ0EsbUMsQ0FjRixnQyxDQVZBLGlDLENBYUUsUSxDQUVBLDRCLENBQ0EsZSxDQUNBLFEsQ0FDQSxlLENBbEJGLGlDLENBTUUsdUMsQ0FJRixnQyxDQUNFLGEsQ0FDQSxnQixDQUVBLFcsQ0FLQSx3QyxDQUlGLDZDLENBQ0UsZSxDQUVGLDRDLENBQ0UsZ0IsQ0FZRixvQixDQUNFLFcsQ0FDQSx1QixDQU9GLG1CLENBQ0UsaUIsQ0FDQSxjLENBQ0EsbUIsQ0FDQSwwQixDQUNBLDJCLENBQ0Esd0IsQ0FFRiwwQixDQUNFLGlCLENBQ0EsVSxDQUNBLEssQ0FDQSxNLENBQ0EsK0IsQ0FDQSxVLENBQ0EsVyxDQUNBLDBCLENBQ0EsVyxDQUVGLHlCLENBQ0UsaUIsQ0FDQSxVLENBQ0EsTyxDQUNBLFEsQ0FFQSx3QixDQUNBLFMsQ0FDQSxVLENBRUEsaUMsQ0FDQSxrQyxDQUVBLG9CLENBRUEsa0QsQ0FDQSxrQixDQUNBLGlCLENBRUEsZ0MsQ0FDQSxrQixDQUNBLFcsQ0FzQkYsaUIsQ0FDRSxjLENBQ0EsZSxDQUNBLFEsQ0FDQSxlLENBT0YsMEIsQ0FDRSxXLENBQ0EsYSxDQUNBLFEsQ0FDQSxVLENBQ0EsaUIsQ0FRRixvQkFBbUIsVSxDQUNqQixzQyxDQUVGLHdCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLHVCQUFzQixVLENBQ3BCLHNDLENBRUYsMkIsQ0FDRSxrQyxDQUNBLG9CLENBSUYsdUJBQXNCLFUsQ0FDcEIsc0MsQ0FFRiwyQixDQUNFLGtDLENBQ0Esb0IsQ0FJRixzQkFBcUIsVSxDQUNuQixzQyxDQUVGLDBCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLHNCQUFxQixVLENBQ25CLHNDLENBRUYsMEIsQ0FDRSxrQyxDQUNBLG9CLENBSUYscUJBQW9CLFUsQ0FDbEIsc0MsQ0FFRix5QixDQUNFLGtDLENBQ0Esb0IsQ0FJRixxQkFBb0IsVSxDQUNsQixzQyxDQUVGLHlCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLHVCQUFzQixVLENBQ3BCLHNDLENBRUYsMkIsQ0FDRSxrQyxDQUNBLG9CLENBSUYsdUJBQXNCLFUsQ0FDcEIsc0MsQ0FFRiwyQixDQUNFLGtDLENBQ0Esb0IsQ0FJRixxQkFBb0IsVSxDQUNsQixzQyxDQUVGLHlCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLHNCQUFxQixVLENBQ25CLHNDLENBRUYsMEIsQ0FDRSxrQyxDQUNBLG9CLENBSUYscUJBQW9CLFUsQ0FDbEIsc0MsQ0FFRix5QixDQUNFLGtDLENBQ0Esb0IsQ0FJRixzQkFBcUIsVSxDQUNuQixzQyxDQUVGLDBCLENBQ0Usa0MsQ0FDQSxvQixDQU9GLGtDLENBQ0UsZSxDQUVGLG1DLENBQ0UsZ0IsQ0FFRixvQyxDQUNFLGlCLENBT0YsbUIsQ0FDQSxrQyxDQUNFLFUsQ0FDQSxnQixDQUVGLG1DLENBQ0UsVyxDQUNBLGUsQ0FRRixvQixDQUNFLFEsQ0FDQSxlLENBSUEsa0IsQ0FERiw0QixDQUNFLGtCLENBQ0EsMEIsQ0FJRiw2QixDQUNFLHFCLENBWkYsb0IsQ0FjQSxzQyxDQUNFLDBCLENBSUYsNkIsQ0FDRSxpQixDQVFGLHFCLENBQ0Usa0IsQ0FDQSxvQixDQUVGLDhCLENBQ0UscUYsQ0FDQSwwQixDQUlGLG9CLENBQ0Usa0IsQ0FDQSxvQixDQUVGLDZCLENBQ0UsdUYsQ0FDQSwwQixDQVNGLG9CLENBQ0UsSyxDQUNBLFEsQ0FDQSxlLENBQ0EsYSxDQUNBLDJCLENBQ0EsK0IsQ0FDQSxlLENBQ0Esd0IsQ0FFRixpQkFBZ0IsUSwyQkFBcUMsSyxDQUNuRCxlLENBSUYsa0MsQ0FDRSxRLENBQ0EsZSxDQUNBLEssQ0FDQSxlLENBQ0EsMkMsQ0FFRiw4QyxDQUNFLFksQ0FJRixxQyxDQUNFLFEsQ0FDQSxZLENBQ0EsSyxDQUNBLGtCLENBQ0EsOEMsQ0FDQSwyQyxDQUVGLGdELENBQ0UsZSxDQVFGLGdCLENBREEsMEIsQ0FFRSxzQixDQUdGLGdCLENBREEsMEIsQ0FFRSxzQixDQUdGLGlCLENBREEsMkIsQ0FFRSxzQixDQUdGLFcsQ0FEQSxxQixDQUVFLGMsQ0FHRixpQixDQURBLDJCLENBRUUsdUIsQ0FHRixlLENBREEseUIsQ0FFRSx1QixDQUdGLGdCLENBREEsMEIsQ0FFRSx1QixDQUdGLG1CLENBREEsNkIsQ0FFRSx1Qjs7Ozs7Ozs7OztBQzd4QkYsUyxDQUNFLG1CLENBQ0Esa0IsQ0FDQSxtQixDQUNBLFksQ0FDQSxhLENBQ0EsZSxDQUNBLHdCLENBQ0EsMEIsQ0FDQSxtQyxDQUlGLHFCLENBQ0UsWSxDQUlGLG9CLENBQ0UsZSxDQVFGLGUsQ0FzQkEscUIsQ0FnQkUsd0YsQ0F0Q0YsZSxDQUVFLFksQ0FDQSxhLENBQ0EsYyxDQUNBLGtCLENBQ0EscUIsQ0FDQSxrQixDQUNBLHNCLENBRUEsUSxDQUNBLHdCLENBQ0EsZSxDQUNBLHFCLENBQ0EsZSxDQUNBLGUsQ0FFQSx5QyxDQWhCQSxpQixDQWVBLFEsQ0FNRixxQixDQUVFLGlCLENBQ0EsUyxDQUNBLFUsQ0FDQSxPLENBQ0EsTyxDQUNBLGEsQ0FDQSxxQixDQUNBLGtCLENBQ0EsbUIsQ0FFQSxrQixDQUNBLCtCLENBQ0Esd0IsQ0FHQSx5RCxDQUlGLDJCLENBQ0UsZ0IsQ0FDQSwyQyxDQUlGLDBCLENBQ0UsMkMsQ0FHQSxpQixDQUNBLGMsQ0FJRiwwQixDQUNFLDBCLENBU0Ysc0IsQ0FDRSw0SSxDQUNBLHNCLENBQ0EsZSxDQUVGLHNCLENBQ0UsVSxDQUlGLDRCLENBQ0UsZSxDQUNBLHFCLENBQ0EscUIsQ0FFRiw0QixDQUNFLFUsQ0FFRixtQyxDQUNFLGdCLENBSUYscUIsQ0FDRSxhLENBQ0EsZSxDQUNBLGlCLENBSUEsYSxDQUNBLGEsQ0FDQSxpQixDQUhGLDhCLENBQ0UsYSxDQUNBLGEsQ0FDQSxpQixDQUdBLGtCLENBSUYsY0FBYSxzQixDQUNYLFUsQ0FJRixvQixDQUNBLGdCLENBQ0UsYyxDQVdGLGlCLENBQ0UscUIsQ0FFRiw4QixDQUVFLGUsQ0FDQSxpQixDQUNBLDZCLENBRUEsaUIsQ0FDQSxlLENBQ0EseUIsQ0FDQSxtQixDQUNBLGUsQ0FWRiw4QixDQWFBLHlCLENBQ0UsYSxDQUNBLGlCLENBUUYsa0IsQ0FDRSxtQixDQUNBLHFCLENBQ0EsZ0IsQ0FFRix3QixDQUNFLDBCLENBQ0EsZSxDQUNBLHdCLENBQ0EsaUIsQ0FDQSwwQyxDQUVGLG9DLENBQ0Usd0IsQ0FDQSwyQyxDQUVGLG1DLENBQ0Usa0IsQ0FDQSwyQyxDQUVGLG1DLENBQ0UsMEIsQ0FLRiw4QixDQUlFLE8sQ0FDQSxPLENBQ0Esd0IsQ0FJQSxZLENBZ0dGLHFCLENBOUZBLHFDLENBQ0UsYSxDQUVGLHlDLENBQ0UsWSxDQUVGLGdELENBQ0UsYSxDQVNGLHlDQUVFLGNBQWEsYSxDQUNYLG1CLENBQ0EsZ0IsQ0FDQSxxQixDQUVGLGNBQWEsbUIsQ0FDWCxvQixDQUNBLHFCLENBQ0EsZSxDQUNBLHdCLENBRUYsY0FBYSwrQixDQUNYLHdCLENBQ0EsMkMsQ0FFRixjQUFhLDhCLENBQ1gsMkMsQ0FJRixjQUFhLHlCLENBQ1gsc0IsQ0FJRixjQUFhLDRCLENBQ1gsaUIsQ0FLRixzQkFBcUIsMEIsQ0FEckIsY0FBYSx5QixDQUVYLGlCQVdKLDBCLENBREEsaUMsQ0FHQSxzQixDQURBLDZCLENBRUUsa0IsQ0FDQSxvQixDQUtGLDJCLENBREEsa0MsQ0FHQSx1QixDQURBLDhCLENBRUUsa0IsQ0FDQSxvQixDQUlGLHNCLENBQ0UsVyxDQUNBLGtCLENBRUYsNEIsQ0FDRSxrQixDQUVGLDZCLENBQ0UsYSxDQUVGLHFDLENBQ0EsNEIsQ0FDRSxxQixDQU9GLDRCLENBQ0UsYSxDQUtGLHVDLENBSEEsZ0MsQ0FDRSxZLENBUUYsaUMsQ0FEQSx3QyxDQUdBLDZCLENBREEsb0MsQ0FFRSxjLENBQ0Esa0IsQ0FDQSxxQixDQUtGLHdDLENBREEsc0MsQ0FFRSxhLENBSUYsd0IsQ0FDRSxXLENBQ0EsZSxDQUNBLG1CLENBS0EsdUIsQ0FERixxQyxDQURBLCtCLENBRUUsdUIsQ0FFRiw4QixDQUNFLGUsQ0FjRix5Q0FFQSxvQyxDQUNFLG1CLENBQ0EsZ0IsQ0FDQSxxQixDQUlGLDBDLENBQ0UscUIsQ0FDQSxlLENBQ0Esd0IsQ0FFRixzRCxDQUNFLHdCLENBQ0EsMkMsQ0FFRixxRCxDQUNFLDJDLENBSUYsZ0QsQ0FDRSxzQixDQUlGLG1ELENBQ0UsaUIsQ0FLRix5RCxDQURBLGdELENBRUUsaUJBVUYsZSxDQUNFLFksQ0FDQSxVLENBUUYsa0IsQ0FDRSxzQyxDQUNBLGEsQ0FDQSxnQyxDQUNBLDJDLENBRUYsb0MsQ0FDRSxnQyxDQUVGLG1DLENBQ0UsZ0MsQ0FJRix5QixDQUNFLGEsQ0FDQSwyQyxDQUVGLDJDLENBQ0UsZ0MsQ0FFRiwwQyxDQUNFLGdDLENBd0JGLHFCLENBSEEsb0IsQ0FEQSxvQixDQUhBLG1CLENBTUEscUIsQ0FEQSxtQixDQUhBLHFCLENBREEsbUIsQ0FPRSxnQixDQVhGLGUsQ0FIQSxjLENBREEsYyxDQUhBLGEsQ0FvQkEsbUIsQ0FkQSxlLENBREEsYSxDQUhBLGUsQ0FEQSxhLENBb0JFLFUsQ0FFRixtQixDQUNFLFMsQ0FFRixxQixDQUNFLGEsQ0FFRixvQixDQUNFLFMsQ0FFRixvQixDQUNFLFMsQ0FFRixtQixDQUNFLGEsQ0FFRixxQixDQUNFLGEsQ0FFRixxQixDQUNFLFcsQ0FTRixhLENBREEsb0IsQ0FFRSxzQixDQUdGLGEsQ0FEQSxvQixDQUVFLHNCLENBR0YsYyxDQURBLHFCLENBRUUsc0IsQ0FHRixRLENBREEsZSxDQUVFLGMsQ0FHRixjLENBREEscUIsQ0FFRSx1QixDQUdGLFksQ0FEQSxtQixDQUVFLHVCLENBR0YsYSxDQURBLG9CLENBRUUsdUIsQ0FHRixnQixDQURBLHVCLENBRUUsdUIsQ0N6aUJGLFdBQ0Usa0IsQ0FDQSxncVNBTUYsd0MsQ0FEQSxzQyxDQUVFLGtCLENBQ0EsZTs7Ozs7Ozs7OztBQ1VGLGMsQ0FDRSxhLENBQ0Esb0IsQ0FDQSxRLENBQ0EscUIsQ0E4RUEsYyxDQTVFRiwwQixDQUNFLFksQ0FFRix5QixDQUNFLGUsQ0FRRix1QixDQUNFLG9CLENBQ0EsVSxDQUNBLHFCLENBRUEscUIsQ0FDQSxvQixDQUNBLHVCLENBSUYsZ0IsQ0FDRSxhLENBRUYsc0IsQ0FDRSxhLENBS0YsNEIsQ0FDRSxxQixDQUNBLHVCLENBSUYsd0IsQ0FDRSxjLENBRUYsdUIsQ0FDRSxvQixDQUNBLFEsQ0FDQSxTLENBSUYsc0IsQ0FDRSxvQixDQUNBLHVCLENBT0YsOEIsQ0FDRSxlLENBUUYsbUIsQ0FDRSxzQixDQUVGLG1CLENBQ0Usc0IsQ0FFRixvQixDQUNFLHNCLENBS0Ysb0IsQ0FDRSx1QixDQUVGLGtCLENBQ0UsdUIsQ0FFRixtQixDQUNFLHVCLENBRUYsc0IsQ0FDRSx1Qjs7Ozs7Ozs7OztBQ29oQkYscUJBQ0UsRSxDQUNFLHNCLENBRUYsRSxDQUNFLDBCQXBuQkosUSxDQUNFLGlCLENBQ0EsYyxDQWcvQkEsYyxDQXorQkYsVSxDQUNFLFksQ0FPRixlLENBQ0UsVSxDQUNBLGMsQ0FHRiwwQixDQUNBLGtDLENBQ0UsZSxDQUdGLHVCLENBQ0UsVSxDQUNBLFEsQ0FRRixxQixDQUNFLGEsQ0FDQSx1QixDQUNBLHFCLENBQ0EscUIsQ0FDQSxlLENBQ0EsbUIsQ0FTRixtQkFBa0IsTyxDQUNsQix5QixDQUNBLG1DLENBQ0EsMEIsQ0FPQSx5QixDQU5BLDJCLENBQ0EsNkIsQ0FDQSwyQixDQUNBLHdCLENBRUEseUIsQ0FEQSx5QixDQUdBLHdCLENBWkEsaUIsQ0FhRSxVLENBQ0Esa0IsQ0FJRixnQyxDQUNBLG9DLENBQ0UsbUIsQ0FHRixtQkFBa0IsTyxDQUNsQix5QixDQUNBLG1DLENBQ0EsMEIsQ0FPQSx5QixDQU5BLDJCLENBQ0EsNkIsQ0FDQSwyQixDQUNBLHdCLENBRUEseUIsQ0FEQSx5QixDQUdBLHdCLENBQ0UsNEksQ0FDQSxRLENBQ0EsUyxDQUNBLHVCLENBQ0EsK0IsQ0FFQSx3QixDQUNBLHVCLENBQ0EsYSxDQUVBLGUsQ0FDQSxtQyxDQUNBLHFCLENBQ0EsMEIsQ0FDQSxvQyxDQUNBLCtDLENBSUYsaUIsQ0FDRSxRLENBQ0EsdUIsQ0FDQSwrQixDQUVBLHVCLENBRUEsZSxDQUNBLG1DLENBQ0EsUyxDQUNBLHFCLENBQ0EsMEIsQ0FDQSxvQyxDQUNBLCtDLENBQ0EsYSxDQUNBLGtCLENBQ0EsZSxDQUVGLHNCQUFxQixPLENBQ25CLFcsQ0FDQSxjLENBQ0EsZSxDQUlGLDZCLENBREEsaUIsQ0FFRSxrQixDQWdCRixlLENBQ0UsYSxDQUNBLFcsQ0FDQSxVLENBQ0EsZSxDQUNBLG1DLENBQ0EsMEIsQ0FDQSxvQyxDQUNBLGlCLENBQ0EscUIsQ0FDQSwrQyxDQVFGLG1DLENBQ0UsVSxDQUVGLGtELENBQ0UsVyxDQWlDRiwrQixDQURBLHVDLENBM0JBLDBDLENBREEsa0QsQ0FuQ0EsdUIsQ0FxQ0UsVSxDQUdGLHlELENBREEsaUUsQ0FFRSxVLENBUUYseUIsQ0FDQSxpQyxDQUNBLDhCLENBQ0UsVSxDQUtGLDJCQUEwQixnQixDQUQxQixtQ0FBa0MsZ0IsQ0FFaEMsVSxDQUNBLHFCLENBWUYsc0MsQ0FHQSxxQyxDQUNBLHFDLENBTEEscUMsQ0FFQSxzQyxDQUNBLG9DLENBSkEsb0MsQ0FPQSxzQyxDQUNBLG9DLENBQ0Esb0MsQ0FDRSxhLENBQ0EsTyxDQVVGLHVCLENBRkEseUIsQ0FDQSx5QixDQUVFLFksQ0FJRiw2QixDQUNFLFksQ0FPRiw2QixDQUNFLGtCLENBQ0EseUIsQ0FDQSxrQyxDQUNBLHVCLENBR0YsOEIsQ0FEQSxzQyxDQUVFLGtCLENBQ0EsMEIsQ0FHRixxQyxDQURBLDZDLENBRUUsd0IsQ0FDQSxXLENBQ0EsVSxDQUNBLE8sQ0FDQSxNLENBWUYsNEMsQ0FDRSw0QyxDQUNBLDhCLENBSUYsa0QsQ0FDRSw0QyxDQUNBLDhCLENBSUYsNEMsQ0FDRSw4QyxDQUNBLDhCLENBVUYsb0MsQ0FDRSwyQixDQUVGLCtCLENBQ0UscUMsQ0FFRiwyQixDQUNFLDJCLENBR0YsMEMsQ0FDRSwyQixDQUVGLHFDLENBQ0UscUMsQ0FFRixpQyxDQUNFLDJCLENBSUYsMkMsQ0FDRSxhLENBRUYsc0MsQ0FDRSx1QixDQUVGLGtDLENBQ0UsYSxDQUdGLGlELENBQ0UsYSxDQUVGLDRDLENBQ0UsdUIsQ0FFRix3QyxDQUNFLGEsQ0FRRixtQkFBa0IsYSxDQUNsQiwrQixDQUNBLHlDLENBQ0EsZ0MsQ0FPQSwrQixDQU5BLGlDLENBQ0EsbUMsQ0FDQSxpQyxDQUNBLDhCLENBRUEsK0IsQ0FEQSwrQixDQUdBLDhCLENBQ0UscUIsQ0FDQSxvQixDQUNBLDBCLENBQ0EsZSxDQUNBLDJDLENBRUYsdUIsQ0FDRSxxQixDQUNBLG9CLENBQ0EsMEIsQ0FDQSxlLENBQ0EsMkMsQ0FDQSx1QixDQXVDRixrQ0FBaUMsTyxDQTlCakMsc0NBQXFDLE8sQ0FlckMsc0NBQXFDLE8sQ0FkbkMsYSxDQUVGLDhDQUE2QyxPLENBQzNDLG9CLENBRUYsMkNBQTBDLE8sQ0FDeEMsWSxDQVdGLDhDQUE2QyxPLENBQzNDLG9CLENBRUYsMkNBQTBDLE8sQ0FDeEMsWSxDQVdGLDBDQUF5QyxPLENBQ3ZDLG9CLENBRUYsdUNBQXNDLE8sQ0FDcEMsWSxDQW1KRiwwQyxDQUZBLDJDLENBMUlBLDRCLENBRkEsMkIsQ0E2SUEsa0QsQ0FGQSxtRCxDQTFJQSxvQyxDQUZBLG1DLENBSUUsYSxDQUlGLG1DLENBREEsMkMsQ0FFRSxvQixDQUNBLFUsQ0FtQkYsZ0NBQStCLE8sQ0FDL0Isc0MsQ0FDQSxnRCxDQUNBLHVDLENBT0Esc0MsQ0FOQSx3QyxDQUNBLDBDLENBQ0Esd0MsQ0FDQSxxQyxDQUVBLHNDLENBREEsc0MsQ0FHQSxxQyxDQVpBLDRCLENBREEsOEIsQ0FaQSx3Q0FBdUMsTyxDQUN2Qyw4QyxDQUNBLHdELENBQ0EsK0MsQ0FPQSw4QyxDQU5BLGdELENBQ0Esa0QsQ0FDQSxnRCxDQUNBLDZDLENBRUEsOEMsQ0FEQSw4QyxDQUdBLDZDLENBWkEsb0MsQ0FEQSxzQyxDQTRCRSxrQixDQUNBLG9CLENBQ0EsYSxDQUNBLGdCLENBQ0EsZSxDQUlGLGdDQUErQixhLENBQy9CLDRDLENBQ0Esc0QsQ0FDQSw2QyxDQU9BLDRDLENBTkEsOEMsQ0FDQSxnRCxDQUNBLDhDLENBQ0EsMkMsQ0FFQSw0QyxDQURBLDRDLENBR0EsMkMsQ0FaQSxrQyxDQURBLG9DLENBY0Usa0IsQ0FDQSxvQixDQUNBLGEsQ0FFQSx1QixDQUNBLGUsQ0FJRiw0QixDQUNFLGtDLENBU0Ysa0MsQ0FFQSx3QyxDQURBLHdDLENBSEEsMEMsQ0FDQSxnRCxDQUlFLGtCLENBQ0EsYSxDQUdGLGtDLENBSUEsd0MsQ0FMQSwwQyxDQUlBLGdELENBRkUsOEIsQ0FPRiw4QyxDQURBLHNELENBRUUsb0IsQ0FHRiw0RCxDQURBLG9FLENBRUUsd0IsQ0FDQSxhLENBS0Ysb0QsQ0FNQSx1RCxDQVBBLDRELENBTUEsK0QsQ0FKRSx3QixDQVlGLHFELENBREEsNkQsQ0FFRSxrQyxDQVVGLG9DQUFtQyxPLE1BQWEsYSxDQUZoRCxvQ0FBbUMsTyxNQUFhLGMsQ0FDaEQsNENBQTJDLE8sTUFBYSxhLENBRnhELDRDQUEyQyxPLE1BQWEsYyxDQUl0RCxhLENBS0Ysb0NBQW1DLE8sTUFBYSxvQixDQUZoRCxvQ0FBbUMsTyxNQUFhLHFCLENBQ2hELDRDQUEyQyxPLE1BQWEsb0IsQ0FGeEQsNENBQTJDLE8sTUFBYSxxQixDQUl0RCxrQixDQUNBLG9CLENBY0Ysd0IsQ0FEQSxnQyxDQUVBLHlCLENBQ0UsbUIsQ0FDQSxXLENBRUYsOEIsQ0FDQSwrQixDQUNFLFcsQ0FFRixrQyxDQUNFLFMsQ0FRRixnQixDQUNFLGlCLENBQ0EsYyxDQUNBLG1CLENBRUYsdUIsQ0FDRSxpQixDQUNBLFUsQ0FDQSxLLENBQ0EsTSxDQUNBLCtCLENBQ0EsVSxDQUNBLFcsQ0FDQSxXLENBRUYsc0IsQ0FDRSxpQixDQUNBLFUsQ0FDQSxPLENBQ0EsUSxDQUVBLHdCLENBQ0EsUyxDQUNBLFUsQ0FFQSw4QixDQUNBLGtDLENBRUEsb0IsQ0FFQSxrRCxDQUNBLGtCLENBQ0EsaUIsQ0FFQSxnQyxDQUNBLGtCLENBQ0EsVyxDQXlCRix3QyxDQUZBLG9DLENBREEsNkMsQ0FFQSw4QkFBNkIsZ0MsQ0FIN0IsOEJBQTZCLDRCLENBSzNCLHFCLENBQ0EsVyxDQUNBLGEsQ0FLRixvQyxDQURBLDZDLENBREEsOEJBQTZCLDRCLENBRzNCLG9CLENBQ0Esa0IsQ0FJRix3QyxDQURBLDhCQUE2QixnQyxDQUUzQixpQixDQUNBLEssQ0FDQSxTLENBZ0JGLDRDLENBREEsNkMsQ0FEQSxnQyxDQVFBLHFDLENBQ0EsaUMsQ0FIQSw2QyxDQUNBLHlDLENBRkEsc0MsQ0FEQSxtQyxDQURBLG9DLENBSkEsdUIsQ0FXRSwwQixDQUlGLDRCQUEyQixPLENBQzNCLGtDLENBQ0EsNEMsQ0FDQSxtQyxDQU9BLGtDLENBTkEsb0MsQ0FDQSxzQyxDQUNBLG9DLENBQ0EsaUMsQ0FFQSxrQyxDQURBLGtDLENBR0EsaUMsQ0FDRSxlLENBQ0EsaUMsQ0FDQSxxQixDQUNBLGUsQ0FTRix3QixDQUNFLGEsQ0FDQSxjLENBRUYsbUMsQ0FDRSxlLENBR0YsOEIsQ0FDRSx1QixDQUNBLHFCLENBQ0EscUIsQ0FDQSxlLENBQ0EsbUIsQ0FHRiwrQixDQUNBLHNDLENBQ0UsYSxDQUNBLGEsQ0FDQSxTLENBUUYsZ0IsQ0FDRSxZLENBQ0Esa0IsQ0FDQSxrQixDQUVGLHVCLENBQ0UsYSxDQUNBLGlCLENBQ0Esa0IsQ0FFRixtQyxDQUNFLGdCLENBQ0EsZSxDQUtGLDJCLENBREEsNEIsQ0FFRSxTLENBR0YsNkIsQ0FEQSw4QixDQUVFLGtCLENBR0YsNEIsQ0FEQSw2QixDQUVFLFMsQ0FHRiw0QixDQURBLDZCLENBRUUsUyxDQUdGLDJCLENBREEsNEIsQ0FFRSxrQixDQUdGLDZCLENBREEsOEIsQ0FFRSxrQixDQUdGLDZCLENBREEsOEIsQ0FFRSxXLENBR0YsNEIsQ0FEQSw2QixDQUVFLGtCLENBR0YsMkIsQ0FEQSw0QixDQUVFLFMsQ0FJRix5Q0FDRSxnQixDQUNFLGMsQ0FrQkYsYUFBWSxZLG9CQUFnQyxvQixDQUQ1QyxhQUFZLFksb0JBQWdDLHFCLENBTDVDLGFBQVksWSxtQkFBK0Isb0IsQ0FEM0MsYUFBWSxZLG1CQUErQixxQixDQUQzQyxhQUFZLFksbUJBQStCLG9CLENBRDNDLGFBQVksWSxtQkFBK0IscUIsQ0FXM0MsYUFBWSxZLG1CQUErQixvQixDQUQzQyxhQUFZLFksbUJBQStCLHFCLENBSDNDLGFBQVksWSxvQkFBZ0Msb0IsQ0FENUMsYUFBWSxZLG9CQUFnQyxxQixDQUQ1QyxhQUFZLFksa0JBQThCLG9CLENBRDFDLGFBQVksWSxrQkFBOEIscUIsQ0FTMUMsYUFBWSxZLGtCQUE4QixvQixDQUQxQyxhQUFZLFksa0JBQThCLHFCLENBYjFDLGFBQVksWSxvQkFBZ0Msb0IsQ0FENUMsYUFBWSxZLG9CQUFnQyxxQixDQUQ1QyxhQUFZLFksa0JBQThCLG9CLENBRDFDLGFBQVksWSxrQkFBOEIscUIsQ0FEMUMsYUFBWSxZLG9DQUFnRCxvQixDQUQ1RCxtQ0FBa0MsNEIsQ0FvQmhDLG9CLENBQ0EsZ0JBTUosNEIsQ0FDRSxXLENBQ0EsaUIsQ0FDQSxrQixDQUdGLHdCLENBQ0UscUIsQ0FFRix3QixDQUNFLHFCLENBRUYsMEIsQ0FDRSxzQixDQUVGLHlCLENBQ0UsbUIsQ0FFRix5QixDQUNFLHNCLENBRUYsd0IsQ0FDRSxxQixDQUVGLDBCLENBQ0Usc0IsQ0FFRiwwQixDQUNFLG1CLENBRUYseUIsQ0FDRSxzQixDQUVGLHdCLENBQ0UscUIsQ0FFRiwyQixDQUNFLHNCLENBRUYsMkIsQ0FDRSxtQixDQUVGLDZCLENBQ0Usc0IsQ0FFRiw2QixDQUNFLHFCLENBRUYsNEIsQ0FDRSxzQixDQUVGLDRCLENBQ0Usb0IsQ0FJRix5Q0FlRSxhQUFZLFksY0FBMEIsK0IsQ0FHdEMsYUFBWSxZLGNBQTBCLGdDLENBSXRDLGFBQVksWSxjQUEwQixpQyxDQVZ0QyxhQUFZLFksY0FBMEIsOEIsQ0FEdEMsYUFBWSxZLGNBQTBCLDhCLENBVXRDLGFBQVksWSxjQUEwQixrQyxDQUx0QyxhQUFZLFksY0FBMEIsOEIsQ0FGdEMsYUFBWSxZLGNBQTBCLCtCLENBRHRDLGFBQVksWSxjQUEwQiw2QixDQVV0QyxhQUFZLFksY0FBMEIsaUMsQ0FOdEMsYUFBWSxZLGNBQTBCLDZCLENBR3RDLGFBQVksWSxjQUEwQixrQyxDQVZ0QyxhQUFZLFksY0FBMEIsK0IsQ0FTdEMsYUFBWSxZLGNBQTBCLGdDLENBVnRDLGFBQVksWSxjQUEwQiw2QixDQUR0QyxhQUFZLFksbUJBQStCLG9CLENBRDNDLGFBQVksWSxtQkFBK0IscUIsQ0FEM0MsYUFBWSxZLG1CQUErQixvQixDQUQzQyxhQUFZLFksbUJBQStCLHFCLENBRDNDLGFBQVksWSxvQkFBZ0Msb0IsQ0FENUMsYUFBWSxZLG9CQUFnQyxxQixDQUQ1QyxhQUFZLFksa0JBQThCLG9CLENBRDFDLGFBQVksWSxrQkFBOEIscUIsQ0F1QnhDLG9CLENBRUYsZ0IsQ0FDRSxpQkFTSiw2QyxDQURBLDZDLENBRUUsVSxDQUNBLGEsQ0FPRix1QixDQUNFLGMsQ0FDQSxrQixDQUVGLDhCLENBQ0UsUSxDQUNBLGlCLENBT0YsNEIsQ0FDQSx3QixDQUhBLG9DLENBQ0EsZ0MsQ0FGQSw2QixDQUtFLG9CLENBQ0EsVSxDQUdBLHVCLENBQ0EscUIsQ0FDQSxlLENBQ0EscUIsQ0FDQSxtQixDQVZGLDRCLENBQ0Esd0IsQ0FIQSxvQyxDQUNBLGdDLENBS0UsWSxDQUNBLGUsQ0FTRiw2QixDQUNFLHdCLENBTUYsNEIsQ0FDQSw2QixDQUhBLG9DLENBQ0EscUMsQ0FHRSxvQixDQUNBLFUsQ0FFQSxZLENBQ0EsZSxDQUVBLHFCLENBQ0EsYSxDQUtGLG1DLENBREEsMkMsQ0FFRSx3QixDQUdGLGtDLENBREEsMEMsQ0FFRSxRLENBSUYsbUMsQ0FDRSxZLENBQ0Esa0IsQ0FFRix5QyxDQUNBLDBDLENBQ0UsVSxDQVFGLGEsQ0FDRSxzQixDQUVGLGEsQ0FDRSxzQixDQUVGLGMsQ0FDRSxzQixDQUtGLGMsQ0FDRSx1QixDQUVGLFksQ0FDRSx1QixDQUVGLGEsQ0FDRSx1QixDQUVGLGdCLENBQ0UsdUI7Ozs7Ozs7Ozs7QUNsZ0NGLFEsQ0FDRSxZLENBQ0Esa0IsQ0FDQSxjLENBQ0EsbUIsQ0FDQSxTLENBV0EsWSxDQUVGLGdCLENBQ0UsbUIsQ0FDQSxvQixDQUVGLCtCLENBQ0UsbUIsQ0FDQSxvQixDQUtGLGMsQ0FDRSxlLENBUUYscUJBQXNCLEssQ0FDdEIscUIsQ0FDRSxpQixDQUNBLG9CLENBRUEsVyxDQUNBLGlCLENBQ0Esa0IsQ0FDQSxrQixDQUdGLFUsQ0FDRSxpQixDQUNBLGtCLENBT0YsYSxDQUNFLGlCLENBQ0EsWSxDQUNBLGtCLENBQ0EsYyxDQUNBLHVCLENBQ0EsbUIsQ0FDQSxvQixDQUNBLFMsQ0FDQSxnQixDQUNBLG1CLENBUUYscUJBQXNCLEssQ0FDcEIsZ0IsQ0FDQSxtQixDQUVGLHFCLENBQ0UsWSxDQUNBLGUsQ0FRRix5QixDQURBLGlCLENBRUUsYyxDQVFGLDZCLENBQ0UsWSxDQUVGLDRCLENBQ0UsZSxDQUtGLHNDQUF1QyxRLE1BQWMsVSxDQURyRCwyQ0FBOEMsUSxNQUFjLFUsQ0FFMUQsVSxDQUlGLHlCLENBQ0UsVyxDQUNBLFcsQ0FFRixxQyxDQUNFLDJCLENBS0YsK0MsQ0FEQSxvRCxDQUVFLGUsQ0FZRix5Q0FDRSxhLENBQ0UsVSxDQUNBLGMsQ0FDQSxlLENBQ0EsYSxDQUNBLGdCLEFBR0osK0RBQ0UsYSxDQUNFLFUsQ0FDQSxhLENBQ0EsYyxDQUNBLGdCLENBQ0EsbUIsQUFHSixnRUFDRSxhLENBQ0UsVSxDQUNBLGEsQ0FDQSxjLENBQ0EsZSxDQUNBLGtCLEFBR0osaUVBQ0UsYSxDQUNFLFUsQ0FDQSxhLENBQ0EsYyxDQUNBLGdCLENBQ0EsbUIsQUFHSiwwQ0FDRSxhLENBQ0UsVSxDQUNBLGEsQ0FDQSxjLENBQ0EsZ0IsQ0FDQSxtQkFVSiwyQixDQUNBLGdDLENBQ0UsVSxDQUtGLDBDQUEyQyxLLENBRDNDLDBDLENBRUUsVSxDQUdGLDBDQUEyQyxLLENBRDNDLDBDLENBRUUsUyxDQUdGLDRDQUE2QyxLLENBRDdDLDRDLENBRUUsa0IsQ0FHRiwyQ0FBNEMsSyxDQUQ1QywyQyxDQUVFLFMsQ0FHRiwyQ0FBNEMsSyxDQUQ1QywyQyxDQUVFLFMsQ0FHRiwwQ0FBMkMsSyxDQUQzQywwQyxDQUVFLGtCLENBR0YsNENBQTZDLEssQ0FEN0MsNEMsQ0FFRSxrQixDQUdGLDRDQUE2QyxLLENBRDdDLDRDLENBRUUsVyxDQUdGLDJDQUE0QyxLLENBRDVDLDJDLENBRUUsa0IsQ0FHRiwwQ0FBMkMsSyxDQUQzQywwQyxDQUVFLFMsQ0FHRiw2Q0FBOEMsSyxDQUQ5Qyw2QyxDQUVFLGlCLENBR0YsNkNBQThDLEssQ0FEOUMsNkMsQ0FFRSxpQixDQUdGLCtDQUFnRCxLLENBRGhELCtDLENBRUUsaUIsQ0FHRiwrQ0FBZ0QsSyxDQURoRCwrQyxDQUVFLGlCLENBR0YsOENBQStDLEssQ0FEL0MsOEMsQ0FFRSxpQixDQUdGLDhDQUErQyxLLENBRC9DLDhDLENBRUUsVyxDQUlGLDBDLENBQ0Usb0IsQ0FFRiwwQyxDQUNFLG1CLENBRUYsNEMsQ0FDRSw0QixDQUVGLDJDLENBQ0UsbUIsQ0FFRiwyQyxDQUNFLG1CLENBRUYsMEMsQ0FDRSw0QixDQUVGLDRDLENBQ0UsNEIsQ0FFRiw0QyxDQUNFLHFCLENBRUYsMkMsQ0FDRSw0QixDQUVGLDBDLENBQ0UsbUIsQ0FFRiw2QyxDQUNFLDJCLENBRUYsNkMsQ0FDRSwyQixDQUVGLCtDLENBQ0UsMkIsQ0FFRiwrQyxDQUNFLDJCLENBRUYsOEMsQ0FDRSwyQixDQU9GLG9CLENBQ0UsZSxDQVdGLDBDLENBRkEsK0MsQ0FEQSx3QyxDQUVBLG1DLENBaEJBLDhDLENBa0JFLHFCLENBS0YsMEMsQ0FGQSwrQyxDQURBLHdDLENBRUEsbUMsQ0FFRSxxQixDQUtGLDRDLENBRkEsaUQsQ0FEQSwwQyxDQUVBLHFDLENBRUUsc0IsQ0FLRiwyQyxDQUZBLGdELENBREEseUMsQ0FFQSxvQyxDQUVFLG1CLENBS0YsMkMsQ0FGQSxnRCxDQURBLHlDLENBRUEsb0MsQ0FFRSxzQixDQUtGLDBDLENBRkEsK0MsQ0FEQSx3QyxDQUVBLG1DLENBRUUscUIsQ0FLRiw0QyxDQUZBLGlELENBREEsMEMsQ0FFQSxxQyxDQUVFLHNCLENBS0YsNEMsQ0FGQSxpRCxDQURBLDBDLENBRUEscUMsQ0FFRSxtQixDQUtGLDJDLENBRkEsZ0QsQ0FEQSx5QyxDQUVBLG9DLENBRUUsc0IsQ0FLRiwwQyxDQUZBLCtDLENBREEsd0MsQ0FFQSxtQyxDQUVFLHFCLENBS0YsNkMsQ0FGQSxrRCxDQURBLDJDLENBRUEsc0MsQ0FFRSxzQixDQUtGLDZDLENBRkEsa0QsQ0FEQSwyQyxDQUVBLHNDLENBRUUsbUIsQ0FLRiwrQyxDQUZBLG9ELENBREEsNkMsQ0FFQSx3QyxDQUVFLHNCLENBS0YsK0MsQ0FGQSxvRCxDQURBLDZDLENBRUEsd0MsQ0FFRSxxQixDQUtGLDhDLENBRkEsbUQsQ0FEQSw0QyxDQUVBLHVDLENBRUUsc0IsQ0FLRiw4QyxDQUZBLG1ELENBREEsNEMsQ0FFQSx1QyxDQUVFLG9CLENBUUYsK0RBSUUsaUQsQ0FGQSxzRCxDQURBLCtDLENBRUEsMEMsQ0FFRSxxQixDQUtGLGlELENBRkEsc0QsQ0FEQSwrQyxDQUVBLDBDLENBRUUscUIsQ0FLRixtRCxDQUZBLHdELENBREEsaUQsQ0FFQSw0QyxDQUVFLHNCLENBS0Ysa0QsQ0FGQSx1RCxDQURBLGdELENBRUEsMkMsQ0FFRSxtQixDQUtGLGtELENBRkEsdUQsQ0FEQSxnRCxDQUVBLDJDLENBRUUsc0IsQ0FLRixpRCxDQUZBLHNELENBREEsK0MsQ0FFQSwwQyxDQUVFLHFCLENBS0YsbUQsQ0FGQSx3RCxDQURBLGlELENBRUEsNEMsQ0FFRSxzQixDQUtGLG1ELENBRkEsd0QsQ0FEQSxpRCxDQUVBLDRDLENBRUUsbUIsQ0FLRixrRCxDQUZBLHVELENBREEsZ0QsQ0FFQSwyQyxDQUVFLHNCLENBS0YsaUQsQ0FGQSxzRCxDQURBLCtDLENBRUEsMEMsQ0FFRSxxQixDQUtGLG9ELENBRkEseUQsQ0FEQSxrRCxDQUVBLDZDLENBRUUsc0IsQ0FLRixvRCxDQUZBLHlELENBREEsa0QsQ0FFQSw2QyxDQUVFLG1CLENBS0Ysc0QsQ0FGQSwyRCxDQURBLG9ELENBRUEsK0MsQ0FFRSxzQixDQUtGLHNELENBRkEsMkQsQ0FEQSxvRCxDQUVBLCtDLENBRUUscUIsQ0FLRixxRCxDQUZBLDBELENBREEsbUQsQ0FFQSw4QyxDQUVFLHNCLENBS0YscUQsQ0FGQSwwRCxDQURBLG1ELENBRUEsOEMsQ0FFRSxzQixBQUtKLCtEQUlFLGlELENBRkEsc0QsQ0FEQSwrQyxDQUVBLDBDLENBRUUscUIsQ0FLRixpRCxDQUZBLHNELENBREEsK0MsQ0FFQSwwQyxDQUVFLHFCLENBS0YsbUQsQ0FGQSx3RCxDQURBLGlELENBRUEsNEMsQ0FFRSxzQixDQUtGLGtELENBRkEsdUQsQ0FEQSxnRCxDQUVBLDJDLENBRUUsbUIsQ0FLRixrRCxDQUZBLHVELENBREEsZ0QsQ0FFQSwyQyxDQUVFLHNCLENBS0YsaUQsQ0FGQSxzRCxDQURBLCtDLENBRUEsMEMsQ0FFRSxxQixDQUtGLG1ELENBRkEsd0QsQ0FEQSxpRCxDQUVBLDRDLENBRUUsc0IsQ0FLRixtRCxDQUZBLHdELENBREEsaUQsQ0FFQSw0QyxDQUVFLG1CLENBS0Ysa0QsQ0FGQSx1RCxDQURBLGdELENBRUEsMkMsQ0FFRSxzQixDQUtGLGlELENBRkEsc0QsQ0FEQSwrQyxDQUVBLDBDLENBRUUscUIsQ0FLRixvRCxDQUZBLHlELENBREEsa0QsQ0FFQSw2QyxDQUVFLHNCLENBS0Ysb0QsQ0FGQSx5RCxDQURBLGtELENBRUEsNkMsQ0FFRSxtQixDQUtGLHNELENBRkEsMkQsQ0FEQSxvRCxDQUVBLCtDLENBRUUsc0IsQ0FLRixzRCxDQUZBLDJELENBREEsb0QsQ0FFQSwrQyxDQUVFLHFCLENBS0YscUQsQ0FGQSwwRCxDQURBLG1ELENBRUEsOEMsQ0FFRSxzQixDQUtGLHFELENBRkEsMEQsQ0FEQSxtRCxDQUVBLDhDLENBRUUsc0IsQUFLSix5Q0FJRSxtRCxDQUZBLHdELENBREUsaUQsQ0FFRiw0QyxDQUVFLHFCLENBS0YsbUQsQ0FGQSx3RCxDQURBLGlELENBRUEsNEMsQ0FFRSxxQixDQUtGLHFELENBRkEsMEQsQ0FEQSxtRCxDQUVBLDhDLENBRUUsc0IsQ0FLRixvRCxDQUZBLHlELENBREEsa0QsQ0FFQSw2QyxDQUVFLG1CLENBS0Ysb0QsQ0FGQSx5RCxDQURBLGtELENBRUEsNkMsQ0FFRSxzQixDQUtGLG1ELENBRkEsd0QsQ0FEQSxpRCxDQUVBLDRDLENBRUUscUIsQ0FLRixxRCxDQUZBLDBELENBREEsbUQsQ0FFQSw4QyxDQUVFLHNCLENBS0YscUQsQ0FGQSwwRCxDQURBLG1ELENBRUEsOEMsQ0FFRSxtQixDQUtGLG9ELENBRkEseUQsQ0FEQSxrRCxDQUVBLDZDLENBRUUsc0IsQ0FLRixtRCxDQUZBLHdELENBREEsaUQsQ0FFQSw0QyxDQUVFLHFCLENBS0Ysc0QsQ0FGQSwyRCxDQURBLG9ELENBRUEsK0MsQ0FFRSxzQixDQUtGLHNELENBRkEsMkQsQ0FEQSxvRCxDQUVBLCtDLENBRUUsbUIsQ0FLRix3RCxDQUZBLDZELENBREEsc0QsQ0FFQSxpRCxDQUVFLHNCLENBS0Ysd0QsQ0FGQSw2RCxDQURBLHNELENBRUEsaUQsQ0FFRSxxQixDQUtGLHVELENBRkEsNEQsQ0FEQSxxRCxDQUVBLGdELENBRUUsc0IsQ0FLRix1RCxDQUZBLDRELENBREEscUQsQ0FFQSxnRCxDQUVFLHNCLEFBS0osaUVBSUUsdUQsQ0FGQSw0RCxDQURBLHFELENBRUEsZ0QsQ0FFRSxxQixDQUtGLHVELENBRkEsNEQsQ0FEQSxxRCxDQUVBLGdELENBRUUscUIsQ0FLRix5RCxDQUZBLDhELENBREEsdUQsQ0FFQSxrRCxDQUVFLHNCLENBS0Ysd0QsQ0FGQSw2RCxDQURBLHNELENBRUEsaUQsQ0FFRSxtQixDQUtGLHdELENBRkEsNkQsQ0FEQSxzRCxDQUVBLGlELENBRUUsc0IsQ0FLRix1RCxDQUZBLDRELENBREEscUQsQ0FFQSxnRCxDQUVFLHFCLENBS0YseUQsQ0FGQSw4RCxDQURBLHVELENBRUEsa0QsQ0FFRSxzQixDQUtGLHlELENBRkEsOEQsQ0FEQSx1RCxDQUVBLGtELENBRUUsbUIsQ0FLRix3RCxDQUZBLDZELENBREEsc0QsQ0FFQSxpRCxDQUVFLHNCLENBS0YsdUQsQ0FGQSw0RCxDQURBLHFELENBRUEsZ0QsQ0FFRSxxQixDQUtGLDBELENBRkEsK0QsQ0FEQSx3RCxDQUVBLG1ELENBRUUsc0IsQ0FLRiwwRCxDQUZBLCtELENBREEsd0QsQ0FFQSxtRCxDQUVFLG1CLENBS0YsNEQsQ0FGQSxpRSxDQURBLDBELENBRUEscUQsQ0FFRSxzQixDQUtGLDRELENBRkEsaUUsQ0FEQSwwRCxDQUVBLHFELENBRUUscUIsQ0FLRiwyRCxDQUZBLGdFLENBREEseUQsQ0FFQSxvRCxDQUVFLHNCLENBS0YsMkQsQ0FGQSxnRSxDQURBLHlELENBRUEsb0QsQ0FFRSxzQixBQUtKLDBDQUlFLHFELENBRkEsMEQsQ0FEQSxtRCxDQUVBLDhDLENBRUUscUIsQ0FLRixxRCxDQUZBLDBELENBREEsbUQsQ0FFQSw4QyxDQUVFLHFCLENBS0YsdUQsQ0FGQSw0RCxDQURBLHFELENBRUEsZ0QsQ0FFRSxzQixDQUtGLHNELENBRkEsMkQsQ0FEQSxvRCxDQUVBLCtDLENBRUUsbUIsQ0FLRixzRCxDQUZBLDJELENBREEsb0QsQ0FFQSwrQyxDQUVFLHNCLENBS0YscUQsQ0FGQSwwRCxDQURBLG1ELENBRUEsOEMsQ0FFRSxxQixDQUtGLHVELENBRkEsNEQsQ0FEQSxxRCxDQUVBLGdELENBRUUsc0IsQ0FLRix1RCxDQUZBLDRELENBREEscUQsQ0FFQSxnRCxDQUVFLG1CLENBS0Ysc0QsQ0FGQSwyRCxDQURBLG9ELENBRUEsK0MsQ0FFRSxzQixDQUtGLHFELENBRkEsMEQsQ0FEQSxtRCxDQUVBLDhDLENBRUUscUIsQ0FLRix3RCxDQUZBLDZELENBREEsc0QsQ0FFQSxpRCxDQUVFLHNCLENBS0Ysd0QsQ0FGQSw2RCxDQURBLHNELENBRUEsaUQsQ0FFRSxtQixDQUtGLDBELENBRkEsK0QsQ0FEQSx3RCxDQUVBLG1ELENBRUUsc0IsQ0FLRiwwRCxDQUZBLCtELENBREEsd0QsQ0FFQSxtRCxDQUVFLHFCLENBS0YseUQsQ0FGQSw4RCxDQURBLHVELENBRUEsa0QsQ0FFRSxzQixDQUtGLHlELENBRkEsOEQsQ0FEQSx1RCxDQUVBLGtELENBRUUsc0JBUUosaUIsQ0FDQSxzQixDQUNBLHNCLENBQ0UsaUIsQ0FDQSxzQixDQUVGLDhCQUErQixRLE1BQWMsVSxNQUFnQixLLENBQzdELG1DQUFzQyxRLE1BQWMsVyxDQUNwRCxtQ0FBb0MsUSxNQUFjLFcsQ0FDaEQsZSxDQUdGLHlCLENBQ0EsOEIsQ0FDRSxhLENBQ0EsZ0IsQ0FDQSxpQixDQVNGLDZCLENBRkEsNkJBQThCLEssQ0FDOUIsNkIsQ0FFRSxtQixDQUNBLG9CLENBS0YsNEMsQ0FGQSw0Q0FBNkMsSyxDQUM3Qyw0QyxDQUVFLG1CLENBQ0Esb0IsQ0FLRixpQyxDQURBLGlDLENBRUUsa0IsQ0FDQSxtQixDQUdGLGdELENBREEsZ0QsQ0FFRSxrQixDQUNBLG1CLENBUUYsb0JBQW1CLFcsTUFBaUIsYyxDQUNsQyxrQixDQUVGLHNDLENBQ0UsdUIsQ0FDQSx3QixDQUVGLG9DLENBQ0Usc0IsQ0FDQSx5QixDQU9GLHVDLENBQ0UsaUIsQ0FFRix3QyxDQUNFLGdCLENBUUYscUJBQW9CLDZCLGNBQTZDLEssQ0FDakUscUJBQW9CLDJDLENBQ2xCLHdDLENBSUYsa0RBQW1ELEssQ0FDbkQsa0QsQ0FDRSxlLENBQ0Esa0IsQ0FDQSxhLENBQ0EsZ0IsQ0FFRiwwQyxDQUNFLFksQ0FDQSxlLENBMkJBLGlCLENBckJGLHFCQUFvQixrRCxDQUNwQixxQkFBb0IsdUQsQ0FtRHBCLDhCQUE2Qiw2QixjQUE2QyxpQixDQUMxRSw4QkFBNkIsdUQsQ0FuRDNCLGUsQ0FJRiw4RCxDQUNFLFksQ0FLRiw2QixDQUNFLHdDLENBRUYseUMsQ0E0QkEsNkQsQ0EzQkUsZSxDQU9GLGlELENBQ0UsaUIsQ0FDQSxVLENBQ0EsSyxDQUNBLE0sQ0FFQSx1QixDQUNBLFUsQ0FFQSxhLENBQ0Esd0MsQ0FLRiw0QkFBMkIsVyxNQUFpQixjLENBRDVDLDhDLENBRUUsVSxDQVNGLDhCQUE2Qiw2QixjQUE2QyxLLENBQzFFLDhCQUE2QiwyQyxDQUMzQiwwQyxDQU1GLDBELENBQ0UsMEMsQ0FJRix5RCxDQUNFLGtCLENBQ0EsbUIsQ0FDQSx1QixDQUVGLHdFLENBQ0Usa0IsQ0FDQSxtQixDQUNBLHVCLENBT0YsZSxDQUNFLFUsQ0FDQSxZLENBQ0EsNEIsQ0FHRixvQixDQUNFLG9CLENBQ0EsUSxDQUNBLFMsQ0FDQSw2QixDQUVGLDRCQUE2QixLLENBQzdCLDRCLENBQ0UsNkIsQ0FHRixtQyxDQUNBLHdDLENBQ0UsZSxDQUdGLDRCQUE2QixLLENBQzdCLDRCLENBQ0UsVyxDQUVGLG9DQUFxQyxLLENBQ3JDLG9DLENBQ0UsYSxDQUVGLG1EQUFvRCxLLENBQ3BELG1ELENBQ0UsVyxDQUlGLG9DLENBQ0UsZSxDQUNBLFEsQ0FFRixxRCxDQUdBLDZELENBRkUsZSxDQWVGLDJDLENBREEsMkNBQTRDLEssQ0FENUMsMkMsQ0FGQSwyQ0FBNEMsSyxDQUM1QywyQyxDQUlFLHFCLENBQ0Esa0IsQ0FDQSwrQixDQVFGLDhDLENBREEsOENBQStDLEssQ0FEL0MsOEMsQ0FGQSw4Q0FBK0MsSyxDQUMvQyw4QyxDQUlFLHFCLENBQ0EscUIsQ0FDQSwyQixDQVFGLDhDLENBREEsOENBQStDLEssQ0FEL0MsOEMsQ0FGQSw4Q0FBK0MsSyxDQUMvQyw4QyxDQUlFLHFCLENBQ0EscUIsQ0FDQSw2QixDQVFGLCtCLENBREEsK0JBQWdDLEssQ0FEaEMsK0IsQ0FEQSwwQixDQURBLCtCLENBS0UsNkIsQ0FDQSxrQixDQUNBLHFCLENBT0YsaUMsQ0FEQSwrQkFBZ0MsTyxDQURoQyxpQyxDQURBLDRCLENBREEsaUMsQ0FLRSxXLENBWUYsbUQsQ0FEQSw4QyxDQURBLDRDLENBRkEsdUMsQ0FDQSw0QyxDQUlFLGUsQ0FDQSxrQixDQVFGLHFELENBREEsZ0QsQ0FEQSw4QyxDQUZBLHlDLENBQ0EsOEMsQ0FJRSxpQixDQUNBLGtCLENBRUYsaUMsQ0FDRSxzQixDQVFGLG9ELENBREEsK0MsQ0FEQSw2QyxDQUZBLHdDLENBQ0EsNkMsQ0FJRSxnQixDQUNBLGtCLENBT0YsaUMsQ0FEQSwrQixDQUVBLHNDLENBSkEsMEIsQ0FDQSwrQixDQUlFLGtCLENBQ0EsWSxDQW1CRiwyQixDQU5BLDBCLENBSUEsMkIsQ0FOQSwyQixDQU9BLDBCLENBUkEsMkIsQ0FGQSw0QixDQVFBLDBCLENBREEsNEIsQ0FSQSx5QixDQUtBLDBCLENBRUEsNEIsQ0FMQSw0QixDQVdFLGdCLENBQ0EsbUIsQ0FDQSxnQixDQUNBLG1CLENBS0Ysb0IsQ0FEQSxpQixDQUVBLHlCLENBQ0Usa0MsQ0FDQSxVLENBSUYsdUIsQ0FEQSxvQixDQUVBLDRCLENBQ0Usa0MsQ0FDQSxVLENBS0YsNEIsQ0FEQSx1QixDQURBLG9CLENBR0Usa0MsQ0FDQSxVLENBSUYsc0IsQ0FEQSxtQixDQUVBLDJCLENBQ0Usa0MsQ0FDQSxVLENBSUYsc0IsQ0FEQSxtQixDQUVBLDJCLENBQ0Usa0MsQ0FDQSxVLENBS0YsMEIsQ0FEQSxxQixDQURBLGtCLENBR0Usa0MsQ0FDQSxVLENBSUYscUIsQ0FEQSxrQixDQUVBLDBCLENBQ0Usa0MsQ0FDQSxVLENBS0YsNEIsQ0FEQSx1QixDQURBLG9CLENBR0Usa0MsQ0FDQSxVLENBSUYsdUIsQ0FEQSxvQixDQUVBLDRCLENBQ0Usa0MsQ0FDQSxVLENBSUYscUIsQ0FEQSxrQixDQUVBLDBCLENBQ0Usa0MsQ0FDQSxVLENBSUYsc0IsQ0FEQSxtQixDQUVBLDJCLENBQ0Usa0MsQ0FDQSxVLENBSUYscUIsQ0FEQSxrQixDQUVBLDBCLENBQ0Usa0MsQ0FDQSxVLENBSUYsc0IsQ0FEQSxtQixDQUVBLDJCLENBQ0Usa0MsQ0FDQSxVLENBVUYsMkMsQ0FGQSwyQ0FBNEMsSyxDQUM1QywyQyxDQUVFLG9CLENBQ0EsVyxDQUlGLGdELENBREEsZ0QsQ0FEQSwyQyxDQUdFLFcsQ0FVRix5Q0FHRSx1QyxDQUZBLGtDLENBQ0EsdUMsQ0FFRSwwQixDQUdGLHVDLENBREEsNkMsQ0FFRSw2QixDQUlGLCtDQUE4QyxrRCxDQUM5QywrQ0FBOEMsdUQsQ0FDNUMsd0MsQ0FFRiwrQ0FBOEMsaUQsQ0FDOUMsK0NBQThDLHNELENBQzVDLGUsQ0FHRixrRyxDQUNFLHdDLENBRUYsaUcsQ0FDRSxlLENBR0Ysa0UsQ0FDRSw2QixDQUVGLGlFLENBQ0UsaUIsQUFLSiwrREFHRSx1QyxDQUZBLGtDLENBQ0EsdUMsQ0FFRSwwQixDQUVGLDZDLENBQ0UsNkIsQ0FJRiwrQ0FBOEMsa0QsQ0FDOUMsK0NBQThDLHVELENBQzVDLHdDLENBRUYsK0NBQThDLGlELENBQzlDLCtDQUE4QyxzRCxDQUM1QyxlLENBR0Ysa0csQ0FDRSx3QyxDQUVGLGlHLENBQ0UsZSxDQUdGLGtFLENBQ0UsNkIsQ0FFRixpRSxDQUNFLGlCLEFBS0oseUNBR0UseUMsQ0FGQSxvQyxDQUNBLHlDLENBRUUsMEIsQ0FFRiwrQyxDQUNFLDZCLENBSUYsaURBQWdELGtELENBQ2hELGlEQUFnRCx1RCxDQUM5Qyx3QyxDQUVGLGlEQUFnRCxpRCxDQUNoRCxpREFBZ0Qsc0QsQ0FDOUMsZSxDQUdGLG9HLENBQ0Usd0MsQ0FFRixtRyxDQUNFLGUsQ0FHRixvRSxDQUNFLDZCLENBRUYsbUUsQ0FDRSxpQixBQVVKLCtEQUNFLGlCLENBQ0UsVSxDQUdGLHNCLENBREEsc0IsQ0FFRSxrQixDQUNBLG1CLENBR0YsOEIsQ0FEQSw4QixDQUVFLDhCLENBQ0EsMEIsQ0FDQSw2QixDQUNBLHlCLENBQ0EsUSxDQUlGLHVELENBREEsbURBQW9ELEssQ0FEcEQsbUQsQ0FHRSxvQixDQVNGLHdELENBTEEseUQsQ0FJQSxvREFBcUQsSyxDQURyRCxvRCxDQUpBLHFEQUFzRCxLLENBRHRELHFELENBR0UsbUIsQ0FTRix3RCxDQVVBLHlELENBTEEsdUQsQ0FOQSxvREFBcUQsSyxDQURyRCxvRCxDQVdBLHFEQUFzRCxLLENBRHRELHFELENBSkEsbURBQW9ELEssQ0FEcEQsbUQsQ0FGRSw0QixDQWNGLHlELENBS0Esd0QsQ0FOQSxxREFBc0QsSyxDQUR0RCxxRCxDQU1BLG9EQUFxRCxLLENBRHJELG9ELENBRkUsbUIsQ0FjRiwwRCxDQUxBLHVELENBSUEsc0RBQXVELEssQ0FEdkQsc0QsQ0FKQSxtREFBb0QsSyxDQURwRCxtRCxDQUdFLG1CLENBY0YsNEQsQ0FMQSwwRCxDQUlBLHdEQUF5RCxLLENBRHpELHdELENBSkEsc0RBQXVELEssQ0FEdkQsc0QsQ0FHRSw0QixDQWNGLDJELENBTEEsNEQsQ0FJQSx1REFBd0QsSyxDQUR4RCx1RCxDQUpBLHdEQUF5RCxLLENBRHpELHdELENBR0UsNEIsQ0FTRiwyRCxDQURBLHVEQUF3RCxLLENBRHhELHVELENBR0UsdUIsQUFLSix5Q0FFRSxzQixDQURBLHNCLENBRUUsa0IsQ0FDQSxtQixDQUdGLDhCLENBREEsOEIsQ0FFRSwwQixDQUNBLDZCLENBQ0Esa0IsQ0FDQSx5QixDQUlGLDRDQUE2QywyQixDQUQ3QyxzQ0FBcUMsVSxtQkFBK0IsSyxDQURwRSxzQ0FBcUMsNkIsQ0FHbkMsb0IsQ0E2QkYsOENBQStDLDJCLENBZi9DLDZDQUE4QywyQixDQUw5Qyw2Q0FBOEMsMkIsQ0FlOUMsOENBQStDLDJCLENBTC9DLDRDQUE2QywyQixDQWY3Qyw4Q0FBK0MsMkIsQ0F3Qi9DLHdDQUF1QyxVLG1CQUErQixLLENBRHRFLHdDQUF1Qyw2QixDQWR2Qyx1Q0FBc0MsVSxtQkFBK0IsSyxDQURyRSx1Q0FBc0MsNkIsQ0FKdEMsdUNBQXNDLFUsbUJBQStCLEssQ0FEckUsdUNBQXNDLDZCLENBZ0J0Qyx3Q0FBdUMsVSxtQkFBK0IsSyxDQUR0RSx3Q0FBdUMsNkIsQ0FKdkMsc0NBQXFDLFUsbUJBQStCLEssQ0FEcEUsc0NBQXFDLDZCLENBZHJDLHdDQUF1QyxVLG1CQUErQixLLENBRHRFLHdDQUF1Qyw2QixDQUdyQyxtQixDQXVDRiwrQ0FBZ0QsMkIsQ0FWaEQsNkNBQThDLDJCLENBSzlDLDRDQUE2QywyQixDQWU3QyxpREFBa0QsMkIsQ0FMbEQsK0NBQWdELDJCLENBTmhELHlDQUF3QyxVLG1CQUErQixLLENBRHZFLHlDQUF3Qyw2QixDQVR4Qyx1Q0FBc0MsVSxtQkFBK0IsSyxDQURyRSx1Q0FBc0MsNkIsQ0FNdEMsc0NBQXFDLFUsbUJBQStCLEssQ0FEcEUsc0NBQXFDLDZCLENBZ0JyQywyQ0FBMEMsVSxtQkFBK0IsSyxDQUR6RSwyQ0FBMEMsNkIsQ0FKMUMseUNBQXdDLFUsbUJBQStCLEssQ0FEdkUseUNBQXdDLDZCLENBWnRDLDRCLENBNkJGLGdEQUFpRCwyQixDQUxqRCxpREFBa0QsMkIsQ0FVbEQsZ0RBQWlELDJCLENBTmpELDBDQUF5QyxVLG1CQUErQixLLENBRHhFLDBDQUF5Qyw2QixDQUp6QywyQ0FBMEMsVSxtQkFBK0IsSyxDQUR6RSwyQ0FBMEMsNkIsQ0FXMUMsMENBQXlDLFUsbUJBQStCLEssQ0FEeEUsMENBQXlDLDZCLENBUHZDLG1CLENBbUJGLGtCLENBQ0UsVSxDQUNBLHVCLENBQ0Esd0IsQ0FRRix5QyxDQUpBLHVDLENBQ0Esc0MsQ0FFQSwrQkFBZ0MsSyxDQURoQywrQixDQUpBLG9DLENBQ0EsK0IsQ0FNRSxvQixDQUNBLGtCLENBQ0EseUIsQ0FDQSxzQixDQUVGLHVCQUFzQixpQixDQUNwQixRLENBQ0EsUyxDQUlGLHdDLENBQ0EsNkMsQ0FDRSx3QixDQUNBLHlCLENBSUYsMkIsQ0FDQSxnQkFBZSxrQyxDQUNiLDJCLENBQ0EsNEIsQ0FPRixzQ0FBdUMsaUIsQ0FGdkMsOEQsQ0FDQSx1Q0FBd0MsaUIsQ0FGeEMsK0QsQ0FJRSx5QixDQUVGLCtDQUFnRCxLLENBRWhELCtDLENBREEsZ0RBQWlELEssQ0FFakQsZ0QsQ0FDRSx5QyxDQUdGLHNDQUF1QyxLLENBRXZDLHNDLENBREEsMEJBQXlCLFcsbUJBQWdDLEssQ0FFekQsMEJBQXlCLDhCLENBQ3ZCLHVDLENBQ0EseUIsQ0FDQSwwQixDQUNBLDZCLENBR0YsOEIsQ0FDRSx5QixDQUVGLDBCQUF5QixXLG1CQUFnQyxLLENBQ3pELDBCQUF5Qiw4QixDQUN2Qix3QixDQUNBLHlCLENBdUJGLDREQUErRCxRLENBTS9ELGdFQUFtRSxRLENBWm5FLDBEQUE2RCxRLENBa0I3RCw4REFBaUUsUSxDQWJqRSx1REFBd0QsUSxDQUR4RCxvREFBcUQsUSxDQU9yRCwyREFBNEQsUSxDQUQ1RCx3REFBeUQsUSxDQVh6RCxxREFBc0QsUSxDQUR0RCxrREFBbUQsUSxDQW1CbkQseURBQTBELFEsQ0FEMUQsc0RBQXVELFEsQ0FidkQsK0NBQThDLFEsQ0FNOUMsbURBQWtELFEsQ0FabEQsNkNBQTRDLFEsQ0FrQjVDLGlEQUFnRCxRLENBZDlDLHdCLEFBc0JKLCtEQVVFLDREQUErRCxRLENBTS9ELGdFQUFtRSxRLENBWm5FLDBEQUE2RCxRLENBa0I3RCw4REFBaUUsUSxDQWJqRSx1REFBd0QsUSxDQUR4RCxvREFBcUQsUSxDQU9yRCwyREFBNEQsUSxDQUQ1RCx3REFBeUQsUSxDQVh6RCxxREFBc0QsUSxDQUR0RCxrREFBbUQsUSxDQW1CbkQseURBQTBELFEsQ0FEMUQsc0RBQXVELFEsQ0FidkQsK0NBQThDLFEsQ0FNOUMsbURBQWtELFEsQ0FabEQsNkNBQTRDLFEsQ0FrQjVDLGlEQUFnRCxRLENBZDlDLHdCLEFBdUJKLGdFQWdCRSxnRUFBbUUsUSxDQVpuRSwwREFBNkQsVSxDQU03RCwwREFBNkQsVSxDQVk3RCw4REFBaUUsUSxDQVBqRSwyREFBNEQsUSxDQUQ1RCx3REFBeUQsUSxDQVh6RCxxREFBc0QsVSxDQUR0RCxrREFBbUQsVSxDQU9uRCxxREFBc0QsVSxDQUR0RCxrREFBbUQsVSxDQWFuRCx5REFBMEQsUSxDQUQxRCxzREFBdUQsUSxDQVB2RCxtREFBa0QsUSxDQVpsRCw2Q0FBNEMsVSxDQU01Qyw2Q0FBNEMsVSxDQVk1QyxpREFBZ0QsUSxDQWQ5Qyx3QixBQXVCSixpRUFJRSwwREFBNkQsVSxDQU03RCwwREFBNkQsVSxDQU03RCw4REFBaUUsUSxDQWJqRSxxREFBc0QsVSxDQUR0RCxrREFBbUQsVSxDQU9uRCxxREFBc0QsVSxDQUR0RCxrREFBbUQsVSxDQU9uRCx5REFBMEQsUSxDQUQxRCxzREFBdUQsUSxDQWJ2RCw2Q0FBNEMsVSxDQU01Qyw2Q0FBNEMsVSxDQU01QyxpREFBZ0QsUSxDQVI5Qyx3QixBQWlCSiwwQ0FJRSwwREFBNkQsVSxDQU03RCwwREFBNkQsVSxDQVA3RCxxREFBc0QsVSxDQUR0RCxrREFBbUQsVSxDQU9uRCxxREFBc0QsVSxDQUR0RCxrREFBbUQsVSxDQVBuRCw2Q0FBNEMsVSxDQU01Qyw2Q0FBNEMsVSxDQUYxQyx3QkN2MURKLFEsQ0FDRSxZLENBQ0EsYSxDQUNBLDRJLENBQ0EsZSxDQUNBLGUsQ0FDQSxtQyxDQUNBLHlDLENBQ0EsMEIsQ0FDQSx1QixDQWczREEsYyxDQTcyREYsYyxDQUNFLFUsQ0FDQSxhLENBQ0EsUSxDQUNBLFUsQ0FDQSxpQixDQUdGLG9CLENBQ0UsWSxDQUVGLG1CLENBQ0UsZSxDQVFGLGMsQ0FDRSxRLENBR0YsYUFBWSxnQixDQUNWLFksQ0FPRixhQUFZLGdCLENBQ1YsWSxDQUNBLGtCLENBR0YsYyxDQUNFLGlCLENBQ0EscUIsQ0FDQSxhLENBQ0Esb0IsQ0FDQSx1QyxDQUNBLGEsQ0FDQSxnQixDQUVBLGMsQ0FDQSxnQyxDQUNBLG1CLENBQ0EscUIsQ0FDQSxlLENBQ0EsaUUsQ0FHRiwwQixDQUNFLDJDLENBSUYscUIsQ0FDRSxpQixDQUNBLFUsQ0FDQSxLLENBQ0EsTyxDQUNBLFcsQ0FFQSxTLENBQ0EsNEIsQ0FRRixxQkFBc0IsSSxDQUN0QiwyQixDQUZBLHFCLENBR0UsZ0IsQ0FDQSxlLENBRUYsNEIsQ0FDRSxZLENBRUYsMkIsQ0FDRSxlLENBT0YscUIsQ0FDRSxVLENBQ0EsVSxDQUNBLHdCLENBT0YsYUFBWSx3QixDQUNWLGlCLENBQ0EsSyxDQUNBLGMsQ0FDQSwwQixDQUNBLHVCLENBQ0EsYSxDQVFGLG1CLENBREEsYyxDQUVFLFksQ0FDQSxtQixDQUNBLHNCLENBT0YscUIsQ0FDRSxVLENBRUYsYUFBWSx1QixDQUNWLGlCLENBQ0EsSyxDQUNBLGMsQ0FFRiwyQixDQUNFLGEsQ0FDQSx1QixDQUNBLDBCLENBUUYscUIsQ0FDQSw4QixDQUNFLFEsQ0FDQSxhLENBQ0EscUIsQ0FDQSxlLENBR0Ysb0NBQXFDLEksQ0FDbkMsZSxDQUNBLGEsQ0FDQSxlLENBU0YsOEIsQ0FDRSxTLENBQ0EsVyxDQUNBLGdCLENBSUYsNkIsQ0FDRSwwQixDQUNBLDJDLENBQ0EsZSxDQUNBLFEsQ0FDQSxzQyxDQUNBLCtCLENBS0YsaUMsQ0FDRSxRLENBQ0EsZSxDQUNBLHVCLENBQ0EsMEMsQ0FDQSx3QixDQUNBLCtCLENBQ0EsNkIsQ0FDQSx5QixDQUNBLHlCLENBQ0EseUIsQ0FFRix1QyxDQUlBLDBDLENBSEUsb0MsQ0FDQSwrQixDQU1GLHdDLENBQ0Usb0MsQ0FDQSx5QixDQUNBLCtCLENBR0YsMkNBQTBDLFUsQ0FDeEMsYSxDQUVGLDRDQUE2QyxVLENBQzNDLG9CLENBQ0EsdUIsQ0FDQSxVLENBQ0EsNEIsQ0FLRix1QyxDQUNBLGtDLENBQ0UsMEIsQ0FDQSxzQixDQUlGLHNDLENBQ0UsZ0IsQ0FJRiwrQyxDQUNBLDZDLENBQ0UsMEIsQ0FJRixzQyxDQUNFLFcsQ0FDQSxlLENBQ0EsZSxDQUVGLHNDLENBQ0UsUyxDQUNBLFcsQ0FDQSxRLENBQ0Esc0MsQ0FDQSxzRCxDQUVGLDZDLENBQ0UsUSxDQUVGLHFDQUFvQyxjLENBQ2xDLEssQ0FFRix1QyxDQUNFLHlCLENBQ0EsNEIsQ0FFRix1QyxDQUNFLGUsQ0FJRixtQyxDQUNFLFUsQ0FPRixxQixDQUNFLGUsQ0FDQSxVLENBQ0EsZSxDQUdGLDhCLENBQ0UsZSxDQUNBLFUsQ0FDQSxpQixDQUNBLG9CLENBQ0Esd0IsQ0FFRiw4QixDQWJBLHFCLENBY0Usd0IsQ0FPRix1QkFBd0IsSSxDQUN0QixvQixDQUNBLHFCLENBQ0EsYyxDQUNBLFcsQ0FFRixnQ0FBaUMsZSxDQUMvQixhLENBQ0EsYyxDQUNBLFUsQ0FZRiwyQixDQUNFLHdCLENBU0Ysa0QsQ0FDRSx1QixDQUVGLHVDLENBQ0UsUSxDQUNBLFEsQ0FPRix5Q0FDRSxzQixDQUNFLG9CLENBQ0EsdUIsQ0FDQSwwQixBQUdKLHlDQUNFLGFBQVksVSxNQUFnQixLLE1BQVcsUSxNQUFjLFcsdUJBQXNDLE0sTUFBWSx3QixDQUNyRyx5Q0FjSix5QixDQUNBLDZCLENBQ0EseUIsQ0FDQSxxQixDQUNFLGMsQ0FDQSwwQixDQUNBLHFCLENBUUYsMEIsQ0FDQSwwQixDQUNBLHNCLENBQ0UsMEIsQ0FDQSxxQixDQVFGLHFCLENBQ0UsMEIsQ0FDQSxxQixDQUNBLGUsQ0FDQSxlLENBRUYsNEIsQ0FDRSxTLENBT0YsMkIsQ0FDQSxvQyxDQUNFLGdDLENBQ0EscUIsQ0FRRix1QixDQUNBLDZCLENBQ0Usd0IsQ0FDQSxzQyxDQUNBLGlDLENBYUYsYUFBWSxxQixDQUNaLGFBQVksUyxPQUFnQixxQixDQUMxQixZLENBQ0EsMkIsQ0FHRixhQUFZLHNCLENBQ1osYUFBWSxzQixDQUNWLFksQ0FDQSwwQixDQUlGLDRCLENBQ0Esa0MsQ0FDRSxVLENBQ0EsTSxDQVFGLGlCLENBQ0UsYSxDQUNBLHFCLENBQ0EsZSxDQUNBLHlDLENBSUYsdUIsQ0FDRSxhLENBQ0EsYyxDQUNBLGUsQ0FDQSxpQixDQW1FRiwwQyxDQWpFQSxtQyxDQUNFLDJDLENBbUVGLHlDLENBakVBLGtDLENBQ0UsMkMsQ0FJRiw4QixDQUNFLFcsQ0FDQSxpQixDQUlGLDhCLENBQ0UsWSxDQUNBLFcsQ0FDQSxpQixDQUVGLHFDLENBQ0UsVSxDQUNBLGlCLENBS0YsOEIsQ0FDRSxpQixDQUNBLFUsQ0FDQSxLLENBQ0EsTSxDQUNBLFUsQ0FDQSxVLENBQ0EsNEIsQ0FHRiwwQyxDQUNFLHNCLENBS0YsNkIsQ0FDRSwyQixDQUVGLDZCLENBQ0UsYyxDQUNBLHlCLENBQ0EscUIsQ0FDQSxvQixDQUdGLDhDLENBREEsMEMsQ0FFRSxxQixDQXVERiw2QixDQXJEQSxvQyxDQUNFLFksQ0FJRiw4QixDQUNFLDBCLENBQ0EsZSxDQUNBLGUsQ0FRRix5QyxDQUNFLDBCLENBRUYsaUQsQ0FDRSxnQixDQUVGLDBDLENBQ0UsNEIsQ0FDQSxlLENBQ0EscUIsQ0FRRixnQixDQUNFLGUsQ0FDQSx5QixDQUNBLFEsQ0FDQSxjLENBQ0EsK0IsQ0FFRixzQixDQUNFLG9DLENBRUYsc0IsQ0FDRSxjLENBQ0Esa0IsQ0FFQSxpQyxDQUNBLGtDLENBQ0EsZ0MsQ0FDQSxnQyxDQUNBLHFCLENBT0YsNEIsQ0FDRSw0QixDQUNBLG9CLENBSUYsNkIsQ0FDRSxlLENBQ0EscUIsQ0FDQSxvQixDQUNBLG9CLENBQ0EsZSxDQUNBLGtCLENBQ0EsZSxDQUNBLHFELENBSUYsK0JBQWdDLGEsQ0FDaEMsK0JBQWdDLEksd0JBQThCLGEsQ0FDNUQsZSxDQUNBLGEsQ0FDQSxZLENBQ0EsYyxDQUNBLFUsQ0FFRiw2QyxDQUNFLGlCLENBQ0EsMEIsQ0FDQSxTLENBSUYsdUIsQ0F1QkEseUIsQ0FDRSxjLENBQ0EsZSxDQUNBLHlCLENBQ0Esa0IsQ0EzQkYsdUIsQ0FLRSw0QixDQUVGLDZCLENBdUJBLCtCLENBdEJFLGMsQ0FDQSxpQyxDQUNBLGtDLENBQ0EsbUMsQ0FDQSxlLENBRUYsb0MsQ0FDRSxlLENBQ0EscUIsQ0FDQSxvQixDQUNBLGUsQ0FDQSxxRCxDQUlGLHlCLENBS0UsOEIsQ0FFRiwrQixDQUlFLGdDLENBQ0EsaUIsQ0EwQkYsNEMsQ0F4QkEsc0MsQ0FDRSxlLENBQ0EscUIsQ0FDQSxvQixDQUNBLGlCLENBQ0EscUQsQ0FJRiwrQixDQUNFLGMsQ0FDQSxlLENBQ0EseUIsQ0FDQSxrQixDQUNBLGlCLENBQ0EsNkIsQ0FFRixxQyxDQUNFLGMsQ0FDQSxrQyxDQUNBLG1DLENBQ0EsZ0MsQ0FDQSxnQixDQUVGLDRDLENBSUUsaUIsQ0FDQSxxRCxDQUlGLHNDLENBQ0UsZSxDQUNBLGlDLENBQ0Esa0MsQ0FDQSxnQyxDQUNBLGtCLENBU0YsbUIsQ0FDRSxRLENBQ0EsbUIsQ0FDQSxxQixDQUVGLG9DLENBQ0UsMkMsQ0FLRiwyQyxDQUNFLFksQ0FHRix5QixDQUNFLGEsQ0FDQSxpQixDQUVGLHFDLENBQ0Usa0IsQ0FJRixnQyxDQUNFLGUsQ0FDQSx1QixDQUNBLGdDLENBQ0EscUIsQ0FDQSxlLENBT0Ysa0IsQ0FDRSxjLENBQ0Esd0IsQ0FDQSx5QixDQUNBLGUsQ0FDQSxRLENBQ0EsZSxDQUlGLHdCLENBQ0UsaUIsQ0FDQSxlLENBQ0EsUSxDQUNBLCtCLENBQ0Esb0IsQ0FDQSxjLENBQ0EseUIsQ0FDQSwwQixDQUlGLCtCLENBQ0Usc0IsQ0FJRiwrQixDQUNFLGUsQ0FDQSxpQixDQUNBLGMsQ0FJRixpQ0FBa0MsSSxDQXdQbEMsNEJBQTZCLEksQ0F2UDNCLFEsQ0FJRix1QyxDQUNBLG1DLENBQ0EsK0IsQ0FDRSwwQixDQUNBLHFCLENBSUYsK0IsQ0FJRSwwQixDQUpGLCtCLENBUUEscUMsQ0FDRSxlLENBQ0EsMEIsQ0FDQSxxQixDQUtGLHNDLENBQ0Esa0MsQ0FDRSxvQyxDQUVGLGdELENBQ0EsNEMsQ0FDQSx3QyxDQUNFLGdDLENBQ0Esb0IsQ0FFRix3QyxDQUNFLGdDLENBQ0Esb0IsQ0FJRix1QixDQUNFLGEsQ0FDQSxjLENBRUYsd0MsQ0FDRSxjLENBRUYsMkIsQ0FrUUEseUMsQ0FqUUUsZSxDQUlGLHNDQUFxQyxnQixDQUNuQyxxQixDQUVGLHNDQUFxQyxzQixDQUNuQyxRLENBQ0EseUIsQ0FRRixpQyxDQUNFLFEsQ0FDQSxzQixDQUNBLG9DLENBRUYsd0MsQ0F5SUEsYSxDQXhJRSxlLENBU0YsMkIsQ0FMQSw2QyxDQUNFLDRCLENBWUYsMkIsQ0FDRSxhLENBQ0EsYyxDQUNBLDBDLENBR0YsaUMsQ0FDRSwrQixDQUNBLHlCLENBQ0EsZSxDQUNBLG1CLENBRUEsZSxDQUNBLGdDLENBQ0EsdUIsQ0FDQSx5QixDQUlGLHdDLENBQ0UsK0IsQ0FFRixzQyxDQUNFLHlCLENBRUYsdUMsQ0FDRSxZLENBSUYsZ0QsQ0FDQSw0QyxDQUNBLHdDLENBQ0UsNEIsQ0FDQSxxQixDQUlGLGlELENBQ0EsNkMsQ0FDQSx5QyxDQUNFLDRCLENBQ0EsK0IsQ0FJRix3QyxDQUNFLDRCLENBQ0EsZSxDQUVBLGUsQ0FKRix3QyxDQVNBLDhDLENBQ0Usb0IsQ0FDQSxxQixDQUlGLGlELENBQ0Usd0IsQ0FJRixvQyxDQUNFLHFCLENBQ0Esc0IsQ0FDQSx3QixDQUNBLHFDLENBRUYsMEMsQ0FDRSxrQixDQUNBLHdCLENBQ0EsOEIsQ0FDQSx5QixDQUNBLGlCLENBQ0Esc0IsQ0FJRixpRCxDQUNFLG9CLENBSUYsb0MsQ0FLRSxnQixDQUNBLCtCLENBRUYsMEMsQ0FDRSwwQixDQUVGLGlELENBQ0Usb0IsQ0FJRixxRCxDQUNBLGlELENBQ0UscUIsQ0FLRixpRCxDQUNFLGlCLENBQ0EsVSxDQU9GLGEsQ0FDRSxjLENBRUEsZSxDQUNBLFEsQ0FFQSxnQixDQUVGLG1CLENBQ0UsZSxDQUNBLGUsQ0FDQSxpQixDQUNBLFEsQ0FDQSx3QixDQUNBLGUsQ0FDQSxvQixDQUNBLDJCLENBSUYsMEIsQ0FDQSxnQyxDQUNFLHNCLENBSUYsMEIsQ0FDRSw0QixDQUNBLFMsQ0FDQSxxQixDQUNBLHFCLENBQ0Esd0IsQ0FDQSxlLENBU0Ysd0IsQ0FDRSxRLENBSUYsc0IsQ0FDRSxZLENBRUYsa0MsQ0FDRSxZLENBRUYsaUMsQ0FDRSxlLENBRUYsNEIsQ0FDRSxvQixDQUNBLGMsQ0FDQSxlLENBRUYsbUMsQ0FDRSxVLENBQ0Esd0IsQ0FFRixtQyxDQUNFLGdDLENBSUYsaUNBQWdDLGdCLENBQzlCLFEsQ0FFRixpQ0FBZ0Msc0IsQ0FDOUIsUSxDQUNBLGMsQ0FJRix5QixDQUNFLFMsQ0FDQSw0QixDQUlGLDBCLENBRUUsUSxDQUNBLGUsQ0FDQSxlLENBQ0EscUIsQ0FMRiwwQixDQVNBLGdDLENBQ0UsNEIsQ0FPRixzQixDQUNFLGUsQ0FJRixzQixDQUdBLG1DLENBRkEsNEIsQ0FDQSxrQyxDQUVFLHNDLENBSUYsbUIsQ0FDRSxhLENBQ0EsYyxDQVFGLHNCLENBQ0Usb0IsQ0FDQSxVLENBSUYsbUIsQ0FDRSxXLENBQ0EsaUIsQ0FDQSxhLENBSUYsOEJBQStCLFUsQ0FDN0IsUSxDQUNBLFMsQ0FJRiwwQixDQUNFLFMsQ0FJRix5QixDQUNFLFUsQ0FDQSxhLENBSUYsdUNBQXdDLFUsQ0FDdEMsYSxDQUNBLFMsQ0FDQSxhLENBQ0EsVSxDQUlGLDRCLENBQ0UsVSxDQVFGLHFCLENBQ0UsaUIsQ0FJRiwyQixDQUNFLGEsQ0FDQSxxQixDQUlGLHNDQUF1QyxVLENBQ3JDLFUsQ0FDQSxhLENBQ0EsZ0MsQ0FDQSw2QixDQUlGLGlDLENBQ0UsVyxDQVlGLHlDQUNFLGtCLENBQ0UscUIsQ0FFRix3QixDQUNFLG9CLENBRUYsK0IsQ0FDRSxpQixDQUNBLFUsQ0FDQSxRLENBQ0EsUSxDQUNBLE0sQ0FDQSxVLENBQ0EsVSxDQUNBLDRCLENBSUYsNkIsQ0FEQSw2QixDQUVFLHdCLENBR0YsOEIsQ0FEQSw4QixDQUVFLHVCLENBSUYsNkIsQ0FEQSw4QixDQUVFLHVCQVNKLHlCLENBQ0EseUIsQ0FDRSw4QixDQUNBLHVCLENBRUYsNEIsQ0FDQSw0QixDQUNFLDhCLENBQ0EsdUIsQ0FFRiw0QixDQUNBLDRCLENBQ0UsOEIsQ0FDQSx1QixDQUVGLDJCLENBQ0EsMkIsQ0FDRSw4QixDQUNBLHVCLENBR0YsMkIsQ0FEQSwyQixDQUVFLDhCLENBQ0EsdUIsQ0FFRiwwQixDQUNBLDBCLENBQ0UsOEIsQ0FDQSx1QixDQUdGLDBCLENBREEsMEIsQ0FFRSw4QixDQUNBLHVCLENBRUYsNEIsQ0FDQSw0QixDQUNFLDhCLENBQ0EsdUIsQ0FFRiw0QixDQUNBLDRCLENBQ0UsOEIsQ0FDQSx1QixDQUVGLDBCLENBQ0EsMEIsQ0FDRSw4QixDQUNBLHVCLENBR0YsMkIsQ0FEQSwyQixDQUVFLDhCLENBQ0EsdUIsQ0FHRiwwQixDQURBLDBCLENBRUUsOEIsQ0FDQSx1QixDQVFGLGlCLENBQ0UsMEIsQ0FDQSxrQixDQUNBLGUsQ0FJRix1QixDQUNBLDhCQUErQixJLENBQzdCLGMsQ0FDQSwwQixDQUVGLDRCLENBQ0UsYyxDQUlGLDhCLENBR0EsdUMsQ0FGRSxnQyxDQU9GLHNDLENBQ0EsNkNBQTRDLEksQ0FDMUMsMEIsQ0FJRiw4QixDQUNFLFEsQ0FDQSxjLENBQ0EsZSxDQUlGLGdDLENBQ0Esc0MsQ0FDRSwwQixDQUtGLHNDLENBY0EsbUMsQ0FiQSxrQyxDQVlBLCtCLENBWEEsOEIsQ0FIQSxrQyxDQUlFLGdDLENBQ0EsVSxDQW9CRixtRCxDQWpCQSx1RCxDQURBLG1ELENBRUUsYyxDQUNBLFUsQ0FXRiw4QixDQWdCQSxvQyxDQWZFLGdDLENBQ0Esb0IsQ0FNRiw2QyxDQUNFLDRCLENBQ0Esa0IsQ0FDQSx5QixDQUNBLGtCLENBUUYsbUQsQ0FDRSw0QixDQVFGLGdCLENBQ0UsVSxDQUNBLGtCLENBRUYsd0MsQ0FDRSxZLENBR0Ysc0IsQ0FDRSxXLENBQ0Esa0IsQ0FTRixrQyxDQUNBLHFCLENBQ0Usd0IsQ0EwRUYsbUMsQ0FnREEsb0MsQ0F4RUEsb0MsQ0FvRkEsbUMsQ0FoR0Esb0MsQ0F4QkEscUMsQ0FnR0EsbUMsQ0FaQSxxQyxDQWhHQSxrQyxDQTREQSxtQyxDQXdCQSxxQyxDQTVEQSxxQyxDQXZCRSxrQyxDQUVGLGtDLENBQ0UseUMsQ0FJRixxQyxDQUNBLHdCLENBQ0Usd0IsQ0FLRixxQyxDQUNFLHlDLENBSUYscUMsQ0FDQSx3QixDQUNFLHdCLENBS0YscUMsQ0FDRSx5QyxDQUlGLG9DLENBQ0EsdUIsQ0FDRSx3QixDQUtGLG9DLENBQ0UseUMsQ0FLRix1QixDQURBLG9DLENBRUUsd0IsQ0FLRixvQyxDQUNFLHlDLENBSUYsbUMsQ0FDQSxzQixDQUNFLHdCLENBS0YsbUMsQ0FDRSx5QyxDQUtGLHNCLENBREEsbUMsQ0FFRSx3QixDQUtGLG1DLENBQ0UseUMsQ0FJRixxQyxDQUNBLHdCLENBQ0Usd0IsQ0FLRixxQyxDQUNFLHlDLENBSUYscUMsQ0FDQSx3QixDQUNFLHdCLENBS0YscUMsQ0FDRSx5QyxDQUlGLG1DLENBQ0Esc0IsQ0FDRSx3QixDQUtGLG1DLENBQ0UseUMsQ0FLRix1QixDQURBLG9DLENBRUUsd0IsQ0FLRixvQyxDQUNFLHlDLENBS0Ysc0IsQ0FEQSxtQyxDQUVFLHdCLENBS0YsbUMsQ0FDRSx5QyxDQVFGLHFCLENBQ0EsaUMsQ0FDQSxxQixDQUNFLFMsQ0FFRixrQyxDQUNBLDhDLENBQ0Esa0MsQ0FDRSx1QixDQUNBLDBCLENBSUYsZ0MsQ0FGQSxnQyxDQUNBLDRDLENBRUUseUIsQ0FDQSwwQixDQVFGLDRDLENBREEsZ0MsQ0FFQSxnQyxDQUNFLHdCLENBT0YsZ0IsQ0FDRSxtQixDQUNBLFEsQ0FDQSxxQixDQUVGLHlCLENBQ0Usb0IsQ0FTQSxvQixDQVBGLGlDLENBQ0UsMkMsQ0FFRix3QyxDQXNDQSxxQyxDQXJDRSxZLENBS0Ysa0QsQ0FDRSxhLENBT0YsYyxDQUNBLHVCLENBQ0Usb0IsQ0FRRixhLENBQ0EsbUIsQ0FDRSxVLENBQ0Esd0IsQ0FDQSx5QixDQUNBLHVCLENBQ0Esd0IsQ0FDQSxpQixDQUNBLHNCLENBRUYsc0IsQ0FDRSx1QixDQU9GLHVCLENBQ0UsUyxDQUVGLHlCLENBQ0UsYSxDQUVGLHdCLENBQ0UsUyxDQUVGLHdCLENBQ0UsUyxDQUVGLHVCLENBQ0UsYSxDQUVGLHlCLENBQ0UsYSxDQUVGLHlCLENBQ0UsVyxDQUVGLHdCLENBQ0UsWSxDQUVGLHVCLENBQ0UsUyxDQUVGLDBCLENBQ0UsVyxDQUVGLDBCLENBQ0UsWSxDQU9GLGMsQ0FDRSxjLENBQ0EsVyxDQUNBLFEsQ0FDQSxVLENBRUYsYyxDQUNBLGdDLENBQ0EsK0IsQ0FDRSx5QixDQUdGLGMsQ0FDQSw0QixDQUNFLEssQ0FDQSxNLENBQ0EsVSxDQUNBLFcsQ0FFRiw0QixDQUNFLGUsQ0FDQSxnQixDQUNBLGlCLENBRUYsOEIsQ0FDRSxlLENBQ0Esa0IsQ0FDQSxpQixDQUNBLEssQ0FDQSxPLENBQ0EsUyxDQUNBLFcsQ0FDQSxVLENBQ0EsVyxDQUVGLCtCLENBQ0Usa0IsQ0FDQSxnQixDQUNBLGlCLENBQ0EsUSxDQUNBLE0sQ0FDQSxRLENBQ0EsVSxDQUVGLDZCLENBQ0UsZSxDQUNBLGtCLENBQ0EsZ0IsQ0FDQSxLLENBQ0EsTSxDQUNBLFUsQ0FDQSxXLENBQ0EsVSxDQUNBLFcsQ0FJRix1QixDQUNFLG1CLENBUUYsNkIsQ0FDRSxpQixDQUNBLGlCLENBQ0EsVSxDQUNBLFEsQ0FDQSxRLENBQ0EseUQsQ0FDQSxjLENBRUEsZSxDQUNBLGlCLENBQ0Esa0IsQ0FFQSxRLENBQ0EsK0IsQ0FDQSw4QixDQUVBLFMsQ0FDQSw4QixDQUVGLHNDLENBQ0UsaUIsQ0FDQSxPLENBQ0EsTyxDQUNBLFcsQ0FDQSxTLENBRUEsd0QsQ0FDQSxrQixDQUVBLFEsQ0FDQSw0QixDQUNBLDhCLENBSUYsb0MsQ0FDRSxrQixDQUVGLDZDLENBQ0UsaUIsQ0FLRix1RCxDQURBLDZDLENBRUUsWSxDQU9GLG9DLENBSEEsMEMsQ0FhQSw2QyxDQUhBLG1ELENBVEUsd0IsQ0FlRixtRCxDQUNFLHFCLENBVUYsaUIsQ0FDRSxLLENBQ0EsUSxDQUNBLGUsQ0FDQSxhLENBQ0EsMkIsQ0FDQSwrQixDQUNBLGUsQ0FFRixtQ0FBb0MsSyxDQUNsQyxlLENBSUYsK0IsQ0FDRSxRLENBQ0EsZSxDQUNBLEssQ0FDQSxlLENBQ0EsMkMsQ0FFRiwyQyxDQUNFLFksQ0FJRixrQyxDQUNFLFEsQ0FDQSxZLENBQ0EsSyxDQUNBLGtCLENBQ0EsOEMsQ0FDQSwyQyxDQUVGLDZDLENBQ0UsZSxDQUlGLHVDLENBQ0UsZ0MsQ0FFRiwwQyxDQUNFLGdDLENBSUYsc0JBQXFCLFMsQ0FDbkIsd0IsQ0FFRiwwQixDQUNFLFEsQ0FFRix5QixDQUNFLGEsQ0FDQSxjLENBQ0EsVSxDQVFGLGEsQ0FDRSxzQixDQUVGLHNCLENBQ0UsVSxDQUlGLGEsQ0FDRSxzQixDQUVGLHNCLENBQ0UsVyxDQUlGLGMsQ0FDRSxzQixDQUVGLHVCLENBQ0UsVyxDQU9GLGlCLENBQ0UsVyxDQUlGLGMsQ0FDRSx1QixDQUVGLHVCLENBQ0UsVyxDQUlGLGEsQ0FDRSx1QixDQUVGLHNCLENBQ0UsVyxDQUlGLFksQ0FDRSx1QixDQUVGLHFCLENBQ0UsVyxDQUlGLGdCLENBQ0UsdUIsQ0FFRix5QixDQUNFLFc7Ozs7Ozs7Ozs7QUNsNkRGLFcsQ0FDRSxpQixDQUNBLGMsQ0FDQSxZLENBQ0Esa0IsQ0FDQSxpQixDQUNBLG9CLENBQ0EscUIsQ0FDQSxrRixDQUNBLDBCLENBQ0EsaUUsQ0FnYkEsYSxDQS9ZRix5QixDQTlCQSx1QixDQUNFLFksQ0FnQ0Ysd0IsQ0E5QkEsc0IsQ0FDRSxlLENBU0YsbUIsQ0FDRSxhLENBQ0EsNEksQ0FDQSxlLENBQ0EsdUIsQ0FJRix3QkFBdUIsSSxDQUNyQixzQixDQUlGLGEsQ0FDRSxXLENBQ0EsYyxDQVFGLHFCLENBQ0UsZ0IsQ0FJRixzQkFBcUIsSSxDQUNuQixlLENBQ0EsUyxDQUNBLFcsQ0FDQSwwQixDQUNBLGUsQ0FFRixzQkFBcUIsZ0IsQ0FDbkIsWSxDQWtCRixzQkFBcUIsa0IsQ0FoQnJCLHNCQUFxQixlLENBQ25CLGUsQ0FFRixzQkFBcUIsTyxDQUNuQixpQixDQUNBLG9CLENBQ0EsbUIsQ0FDQSxTLENBRUYsc0JBQXFCLGMsQ0FDbkIsaUIsQ0FDQSxXLENBQ0EsUyxDQUNBLFcsQ0FDQSx1QixDQVFGLGlCLENBQ0UsaUIsQ0FJRix1QixDQUNFLGMsQ0FDQSxpQixDQUNBLFEsQ0FDQSxZLENBQ0EsVSxDQUNBLFUsQ0FDQSwyQixDQUVGLDZCLENBQ0UsUyxDQUlGLHdCLENBQ0UsWSxDQUVGLHVCLENBQ0UsZSxDQU9GLDJCLENBQ0UsYSxDQVdGLDJDLENBQ0UsYSxDQUdGLGdELENBQ0UsWSxDQU9GLHVDLENBQ0UsWSxDQVlGLG1CLENBQ0Usb0IsQ0FFRix3QixDQUNFLG1CLENBUUYsb0IsQ0FDRSxrQixDQUNBLDJDLENBQ0EsNkMsQ0FDQSxnQixDQUNBLGlCLENBRUYsc0NBQXVDLEksTUFBVSxRLENBQy9DLGUsQ0FDQSxlLENBRUYsMkIsQ0FDRSxlLENBQ0EsMkMsQ0FDQSw0RSxDQUVGLGdDQUErQixZLENBQzdCLGlCLENBRUYseUIsQ0FDRSxVLENBUUYsZ0IsQ0FDRSxZLENBQ0EsVSxDQUNBLGtCLENBRUYsMkJBQTRCLE8sQ0FDMUIsYSxDQUNBLGEsQ0FDQSxVLENBQ0EsYSxDQUNBLHFCLENBQ0EsYSxDQUNBLFUsQ0FFRix5QixDQUNFLGEsQ0FDQSxhLENBQ0EscUIsQ0FJRiwyQkFBMEIsZ0IsQ0FDeEIsYyxDQUVGLCtCLENBQ0UsUyxDQU9GLG9CLENBQ0UsNEcsQ0FrQkYsb0IsQ0FDRSx3QixDQUNBLGEsQ0FHRiw2QixDQUxBLG9CLENBTUUsc0QsQ0FFRiw0QixDQUNFLGEsQ0FJRixvQixDQUNFLHdCLENBQ0EsYSxDQUdGLDZCLENBTEEsb0IsQ0FNRSxzRCxDQUVGLDRCLENBQ0UsYSxDQUlGLGdCLENBQ0Usd0IsQ0FDQSxhLENBR0YseUIsQ0FMQSxnQixDQU1FLHNELENBRUYsd0IsQ0FDRSxhLENBSUYsbUIsQ0FDRSx3QixDQUNBLGEsQ0FHRiw0QixDQUxBLG1CLENBTUUsc0QsQ0FFRiwyQixDQUNFLGEsQ0FJRixpQixDQUNFLHdCLENBQ0EsYSxDQUdGLDBCLENBTEEsaUIsQ0FNRSxzRCxDQUVGLHlCLENBQ0UsYSxDQUlGLG1CLENBQ0Usd0IsQ0FDQSxhLENBR0YsNEIsQ0FMQSxtQixDQU1FLHNELENBRUYsMkIsQ0FDRSxhLENBTUYsaUIsQ0FEQSxvQixDQUVFLHdCLENBQ0EsMEIsQ0FHRixlLENBQ0Usd0IsQ0FDQSxhLENBQ0Esc0QsQ0FFRix1QixDQUNFLGEsQ0FHRixrQixDQUNFLHdCLENBQ0EsYSxDQUNBLHNELENBRUYsMEIsQ0FDRSxhLENBR0Ysa0IsQ0FDRSx3QixDQUNBLGEsQ0FDQSxzRCxDQUVGLDBCLENBQ0UsYSxDQUdGLGlCLENBQ0Usd0IsQ0FDQSxhLENBQ0Esc0QsQ0FFRix5QixDQUNFLGEsQ0FHRixpQixDQUNFLHdCLENBQ0EsYSxDQUNBLHNELENBRUYseUIsQ0FDRSxhLENBR0YsZ0IsQ0FDRSx3QixDQUNBLGEsQ0FDQSxzRCxDQUVGLHdCLENBQ0UsYSxDQUdGLGdCLENBQ0Usd0IsQ0FDQSxhLENBQ0Esc0QsQ0FFRix3QixDQUNFLGEsQ0FHRixrQixDQUNFLHdCLENBQ0EsYSxDQUNBLHNELENBRUYsMEIsQ0FDRSxhLENBR0Ysa0IsQ0FDRSx3QixDQUNBLGEsQ0FDQSxzRCxDQUVGLDBCLENBQ0UsYSxDQUdGLGdCLENBQ0Usd0IsQ0FDQSxhLENBQ0Esc0QsQ0FFRix3QixDQUNFLGEsQ0FHRixpQixDQUNFLHdCLENBQ0EsYSxDQUNBLHNELENBRUYseUIsQ0FDRSxhLENBT0YsZ0IsQ0FDRSxxQixDQUVGLGdCLENBQ0UscUIsQ0FFRixpQixDQUNFLHFCLENBS0YsaUIsQ0FDRSxzQixDQUVGLGUsQ0FDRSxzQixDQUVGLGdCLENBQ0Usc0IsQ0FFRixtQixDQUNFLHNCOzs7Ozs7Ozs7O0FDcGNGLFMsQ0FDRSxVLENBQ0EsZSxDQUNBLFksQ0FDQSxtQyxDQUNBLGUsQ0FDQSwwQixDQUNBLGUsQ0FDQSxxQixDQUNBLHdCLENBQ0EsZ0IsQ0FtakNBLGEsQ0FoakNGLHFCLENBQ0UsWSxDQUVGLG9CLENBQ0UsZSxDQVNGLFksQ0FEQSxZLENBRUUsNkMsQ0FvQ0YsZSxDQWhDQSxlLENBQ0UsZSxDQUVGLGtCLENBQ0UsVyxDQUNBLGtCLENBQ0Esa0IsQ0FDQSxxQixDQUNBLCtCLENBQ0Esc0IsQ0FDQSxlLENBQ0EsZSxDQUNBLG1CLENBQ0EseUMsQ0FDQSxnQixDQWlDRixpQyxDQTlCQSxpQyxDQUNFLGdCLENBR0YsNkMsQ0FDRSxnQyxDQUVGLDRDLENBQ0UsZ0MsQ0FFRiw0QyxDQUNFLDJDLENBT0Ysa0IsQ0FDRSxXLENBQ0EsdUMsQ0FDQSxrQixDQUNBLGtCLENBQ0EscUIsQ0FDQSxtQixDQUNBLHFCLENBQ0EsaUIsQ0FDQSxlLENBQ0EsbUIsQ0FLRiw2QyxDQUNFLGdDLENBRUYsNEMsQ0FDRSxnQyxDQUVGLDRDLENBQ0UsMkMsQ0FJRixlLENBQ0Usc0MsQ0FFRiwyQixDQUNFLGUsQ0FJRix1QyxDQUNFLHNDLENBSUYsWSxDQUNFLG1CLENBQ0Esa0IsQ0FJRixlLENBQ0UsdUIsQ0FFRiwwQixDQUNFLFEsQ0FrWEYsZ0MsQ0E5V0EsaUIsQ0FDRSxTLENBRUYsdUIsQ0FDRSxZLENBRUYsK0IsQ0FDRSxhLENBS0YseUNBQ0UsY0FBYSxhLENBQ1gsVSxDQVlBLFMsQ0FWRixjQUFhLG1CLENBQ2IsY0FBYSxnQixDQUViLGNBQWEsbUIsQ0FEYixjQUFhLG1CLENBR1gsb0IsQ0FDQSx1QixDQVNGLGNBQWEsbUIsQ0FIYixjQUFhLG1CLENBQ1gsYSxDQUtGLGNBQWEsZ0IsQ0FDWCxlLENBQ0Esa0IsQ0FDQSxvRCxDQUlGLGNBQWEsbUIsQ0FEYixjQUFhLG1CLENBRVgsYyxDQUNBLGtCLENBQ0EsNkIsQ0FDQSx5QixDQUdGLGNBQWEsNEIsQ0FEYixjQUFhLDRCLENBRVgsZSxDQUlGLHlCQUF3QixrQyxDQUN0QiwyQkFZSixtQixDQUNBLHVCLENBSEEsbUIsQ0FDQSx1QixDQUdFLGMsQ0FZRixvQixDQUNFLHdCLENBVUYsNkIsQ0FSQSw2QixDQUNFLGdCLENBQ0EsaUIsQ0FFRixzQyxDQUNFLHdDLENBQ0EseUMsQ0FPRixpQyxDQURBLGlDLENBRUUsdUMsQ0FDQSx3QyxDQU9GLCtCQUE4QiwyQixDQUM1QixtQixDQUNBLGMsQ0FDQSxlLENBQ0Esb0IsQ0FDQSwrQixDQUdGLCtCQUE4QiwyQixDQUM1QixtQixDQUNBLGMsQ0FDQSwwQixDQUNBLFksQ0FDQSw2QixDQUlGLHNDQUFxQywyQixDQUNuQyw0QixDQUVGLHNDQUFxQywyQixDQUNuQywyQixDQUtGLHFDLENBREEsMkNBQTBDLFMsQ0FFeEMsMEIsQ0FDQSxlLENBQ0EscUIsQ0FDQSxpQixDQUNBLGEsQ0FDQSxhLENBQ0EsYSxDQUNBLGUsQ0FDQSxnQixDQVFGLCtCQUE4Qiw0QixDQUg5QiwrQkFBOEIsNEIsQ0FDNUIsd0MsQ0FLRixvQyxDQUNFLHdDLENBYUYscUIsQ0FEQSxxQixDQUVFLDhCLENBSUEsNEIsQ0FDQSx1QixDQXNCRixrQixDQWRBLHFCLENBYUEsa0IsQ0FkQSxxQixDQUVFLDhCLENBSUEsNEIsQ0FDQSx1QixDQXFCRixvQixDQURBLG9CLENBRUUsOEIsQ0FJQSw0QixDQUNBLHVCLENBUUYsbUIsQ0FEQSxtQixDQUVFLHNDLENBSUEsNEIsQ0FDQSwrQixDQVVGLHdCLENBREEsd0IsQ0FFQSwyQixDQUNBLDhCLENBQ0UsbUIsQ0FDQSx1QixDQVdGLHlDQUVFLG9DLENBQ0EsMEMsQ0FDQSx1QyxDQUVBLDBDLENBREEsMEMsQ0FHRSxvQixDQUNBLHVCLENBR0Ysb0MsQ0FDRSxTLENBS0YsMEMsQ0FIQSwwQyxDQUNFLGEsQ0FLRix1QyxDQUNFLGUsQ0FDQSxrQixDQUNBLG9ELENBR0YsMEMsQ0FEQSwwQyxDQUVFLGMsQ0FDQSxrQixDQUNBLG1CLENBQ0EseUIsQ0FJRixvRSxDQUNFLDJCQVNKLGlDLENBREEsZ0MsQ0FFRSxlLENBR0YsbUMsQ0FEQSxrQyxDQUVFLGlCLENBR0Ysa0MsQ0FEQSxpQyxDQUVFLGdCLENBUUYsZ0MsQ0FEQSwrQixDQUVFLGtCLENBR0YsbUMsQ0FEQSxrQyxDQUVFLHFCLENBR0YsbUMsQ0FEQSxrQyxDQUVFLHFCLENBUUYsdUIsQ0FEQSx1QixDQUVFLFMsQ0FDQSxrQixDQU9GLGUsQ0FDRSxrQixDQUlGLGtCLENBREEsa0IsQ0FFRSxlLENBQ0Esc0IsQ0FRRixtQyxDQUNBLHNDLENBQ0Usb0MsQ0FDQSwrQixDQUdGLCtDLENBREEsNEMsQ0FFRSwwQyxDQUNBLG9CLENBT0YsdUNBQXdDLEksQ0FDdEMsYSxDQUNBLGEsQ0FDQSxtQixDQUlGLG1DLENBRUEsc0MsQ0FEQSxzQyxDQUVFLDRCLENBQ0EsdUIsQ0FFRixxQyxDQUVBLHdDLENBREEsd0MsQ0FFRSw0QixDQUNBLHVCLENBRUYsb0MsQ0FFQSx1QyxDQURBLHVDLENBRUUsNEIsQ0FDQSwrQixDQUVGLHNDLENBRUEseUMsQ0FEQSx5QyxDQUVFLDRCLENBQ0EsdUIsQ0FFRixzQyxDQUVBLHlDLENBREEseUMsQ0FFRSw0QixDQUNBLHVCLENBVUYsa0IsQ0FDRSxLLENBQ0EsUSxDQUNBLGUsQ0FDQSxhLENBQ0EsMkIsQ0FDQSwrQixDQUNBLGUsQ0FDQSx3QixDQUVGLG9DQUFxQyxLLENBQ25DLGUsQ0FJRixnQyxDQUNFLFEsQ0FDQSxlLENBQ0EsSyxDQUNBLGMsQ0FDQSwyQyxDQUVGLDRDLENBQ0UsWSxDQUlGLG1DLENBQ0UsUSxDQUNBLFksQ0FDQSxLLENBQ0EsaUIsQ0FDQSxvQixDQUNBLDJDLENBRUYsOEMsQ0FDRSxlLENBU0Ysd0MsQ0FEQSxrQyxDQUVFLGlDLENBS0YsaUQsQ0FEQSwyQyxDQUVFLHNDLENBSUYsd0UsQ0FDRSw0QixDQUNBLCtCLENBUUYsZ0MsQ0FEQSwrQixDQU1FLGtCLENBUUYsYSxDQUNFLDZCLENBRUYsc0IsQ0FDRSxrQyxDQUNBLG9CLENBSUYsZ0IsQ0FDRSw2QixDQUVGLHlCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLGdCLENBQ0UsNkIsQ0FFRix5QixDQUNFLGtDLENBQ0Esb0IsQ0FJRixlLENBQ0UsNkIsQ0FFRix3QixDQUNFLGtDLENBQ0Esb0IsQ0FJRixlLENBQ0UsNkIsQ0FFRix3QixDQUNFLGtDLENBQ0Esb0IsQ0FJRixjLENBQ0UsNkIsQ0FFRix1QixDQUNFLGtDLENBQ0Esb0IsQ0FJRixjLENBQ0UsNkIsQ0FFRix1QixDQUNFLGtDLENBQ0Esb0IsQ0FJRixnQixDQUNFLDZCLENBRUYseUIsQ0FDRSxrQyxDQUNBLG9CLENBSUYsZ0IsQ0FDRSw2QixDQUVGLHlCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLGMsQ0FDRSw2QixDQUVGLHVCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLGUsQ0FDRSw2QixDQUVGLHdCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLGMsQ0FDRSw2QixDQUVGLHVCLENBQ0Usa0MsQ0FDQSxvQixDQUlGLGUsQ0FDRSw2QixDQUVGLHdCLENBQ0Usa0MsQ0FDQSxvQixDQVNGLHVCLENBQ0UsVSxDQUVGLHVCLENBQ0UsUyxDQUVGLHlCLENBQ0Usa0IsQ0FFRix3QixDQUNFLFMsQ0FFRix3QixDQUNFLFMsQ0FFRix1QixDQUNFLGtCLENBRUYseUIsQ0FDRSxrQixDQUVGLHlCLENBQ0UsVyxDQUVGLHdCLENBQ0Usa0IsQ0FFRix1QixDQUNFLFMsQ0FFRiwwQixDQUNFLGlCLENBRUYsMEIsQ0FDRSxpQixDQUVGLDRCLENBQ0UsaUIsQ0FFRiw0QixDQUNFLGlCLENBRUYsMkIsQ0FDRSxpQixDQUVGLDJCLENBTUEscUIsQ0FEQSxxQixDQUpFLFcsQ0FTRixxQixDQURBLHFCLENBRUUsVyxDQUdGLHVCLENBREEsdUIsQ0FFRSxZLENBR0Ysc0IsQ0FEQSxzQixDQUVFLFMsQ0FHRixzQixDQURBLHNCLENBRUUsWSxDQUdGLHFCLENBREEscUIsQ0FFRSxXLENBR0YsdUIsQ0FEQSx1QixDQUVFLFksQ0FHRix1QixDQURBLHVCLENBRUUsUyxDQUdGLHNCLENBREEsc0IsQ0FFRSxZLENBR0YscUIsQ0FEQSxxQixDQUVFLFcsQ0FHRix3QixDQURBLHdCLENBRUUsWSxDQUdGLHdCLENBREEsd0IsQ0FFRSxTLENBR0YsMEIsQ0FEQSwwQixDQUVFLFksQ0FHRiwwQixDQURBLDBCLENBRUUsVyxDQUdGLHlCLENBREEseUIsQ0FFRSxZLENBR0YseUIsQ0FEQSx5QixDQUVFLFUsQ0FPRiwyQixDQUNFLGMsQ0FDQSxrQixDQUNBLHdDLENBQ0EscUIsQ0FFRix1QyxDQUNFLGdCLENBRUYsa0MsQ0FDQSx3QyxDQUNFLGdCLENBR0YsaUMsQ0FDRSxZLENBQ0EsaUIsQ0FDQSxlLENBQ0EsdUIsQ0FDQSxVLENBQ0EsVSxDQUNBLFUsQ0FDQSxVLENBQ0EsaUIsQ0FDQSxtQixDQUVGLDJDLENBQ0UsZSxDQUVGLDRDLENBQ0UsZSxDQUlGLG9DLENBQ0UsVyxDQUNBLHVCLENBRUYsaUMsQ0FDRSwwQixDQUNBLG9CLENBSUYsa0MsQ0FTQSx3QyxDQVJFLDBCLENBQ0EscUIsQ0FFRix3QyxDQUNFLG9CLENBVUYsMkMsQ0FDRSw2RSxDQUNBLFUsQ0FFRiwwQyxDQUNFLDZFLENBQ0EsVSxDQUVGLG9DLENBQ0UsNkIsQ0FDQSw4QixDQVNGLGtCLENBQ0UsZSxDQUNBLDBCLENBQ0EsUSxDQUVGLHFCLENBQ0UsZ0MsQ0FFQSxvQyxDQUhGLHFCLENBS0Esd0IsQ0FDRSwyQyxDQUlGLGlDLENBREEsaUMsQ0FFQSx1QyxDQUNBLHVDLENBQ0UsbUIsQ0FDQSwwQixDQUlGLHdDQUF1QywyQixDQUN2Qyx3Q0FBdUMsMkIsQ0FDckMsZSxDQUVGLCtDLENBQ0UsZ0MsQ0FDQSxVLENBT0Ysb0IsQ0FDRSxVLENBT0YsZSxDQUNFLGMsQ0FDQSxtQyxDQUNBLGUsQ0FHRixxQixDQURBLHFCLENBRUUsZSxDQUVGLGtCLENBQ0UsYyxDQUNBLGdCLENBRUYsd0IsQ0FDRSxzQyxDQUVGLGtCLENBQ0UsYyxDQUVGLDhDLENBQ0UsMEMsQ0FJRiw4QixDQUNFLFEsQ0FHRixtQ0FBa0MsUyxNQUFlLFksQ0FEakQsbUNBQWtDLFMsTUFBZSxZLENBRS9DLFUsQ0FHRixtQ0FBa0MsUyxNQUFlLHdCLENBRGpELG1DQUFrQyxTLE1BQWUsd0IsQ0FFL0MsYyxDQUdGLG1DQUFrQyxTLE1BQWUsdUIsQ0FEakQsbUNBQWtDLFMsTUFBZSx1QixDQUUvQyxlLENBRUYsbUNBQWtDLFMsTUFBZSxpQyxDQUMvQyxhLENBUUYsc0IsQ0FEQSxzQixDQUVFLHVDLENBR0Ysa0MsQ0FEQSxrQyxDQUVFLGdCLENBWUYsbUIsQ0FEQSxtQixDQUVFLFcsQ0FJRixrQyxDQUNFLGtCLENBQ0EsbUIsQ0FFRixrQyxDQUNFLGEsQ0FPRixvQixDQUNFLGlCLENBQ0Esa0IsQ0FFRixvQixDQUNFLGlCLENBSUYsbUMsQ0FDRSxpQixDQUNBLGtCLENBRUYsbUMsQ0FDRSxpQixDQVFGLGUsQ0FDRSxjLENBU0YsZSxDQUNFLGU7Ozs7Ozs7Ozs7O0FDbmtDRixNLENBQ0UsYSxDQUNBLGUsQ0FDQSxZLENBR0Ysa0IsQ0FDRSxRLENBR0YsaUIsQ0FDRSxRLENBR0YsYSxDQUNFLFEsQ0FDQSxTLENBQ0EsUSxDQUNBLGUsQ0FRRixrQixDQUNFLFcsQ0FDQSxXLENBSUYsaUMsQ0FDRSxXLENBQ0EsWSxDQUlGLGdDLENBQ0UsVyxDQUNBLFksQ0FHRiwwQixDQUNFLFcsQ0FDQSxZLENBUUYsYSxDQUNFLFcsQ0FDQSxZLENBSUYsNkIsQ0FDRSxXLENBQ0EsWSxDQVFGLGdDLENBQ0UsVyxDQUNBLFksQ0FJRixtQyxDQUNFLFcsQ0FDQSxZLENBT0YsYSxDQUNFLFcsQ0FDQSxXLENBRUYsOEIsQ0FDRSxXLENBQ0EsWSxDQUVGLDZCLENBQ0UsVyxDQUNBLFcsQ0FRRixpQixDQUNFLFcsQ0FDQSxZLENBSUYsZ0MsQ0FDRSxXLENBUUYsYSxDQUNFLFcsQ0FDQSxXLENBSUYsZ0MsQ0FDRSxXLENBQ0EsWSxDQUlGLDJCLENBQ0UsVyxDQUNBLFksQ0FJRiw0QixDQUNFLFcsQ0FDQSxXLENBUUYsa0MsQ0FDRSxXLENBQ0EsVyxDQUlGLGdCLENBQ0UsVyxDQUNBLFksQ0FRRixlLENBQ0UsVyxDQUNBLFksQ0FRRixlLENBQ0UsVyxDQUNBLFksQ0FVRixvQyxDQUNFLFcsQ0FDQSxZLENBSUYsbUMsQ0FDRSxXLENBQ0EsVyxDQVFGLGEsQ0FDRSxZLENBR0YseUNBQ0UsYSxDQUNFLGVBU0osZSxDQUNFLGdCLENBQ0EsaUIsQ0FHRixXLENBQ0UsaUIsQ0FDQSxrQixDQUVGLGlCLENBQ0UsaUIsQ0FDQSxPLENBQ0EsUSxDQUNBLFUsQ0FDQSxpQixDQUNBLDJDLENBRUEsWSxDQUNBLFUsQ0FDQSxhLENBQ0EsZSxDQUVGLHdCLENBQ0UscUIsQ0FFRiw0QixDQUNFLHVCOzs7Ozs7Ozs7O0FDNU9GLFEsQ0FEQSxlLENBRUUsYyxDQUNBLGlCLENBRUEscUIsQ0FFQSxXLENBQ0EsWSxDQUNBLGUsQ0FDQSxTLENBRUEsUSxDQUNBLDBCLENBQ0EsZ0QsQ0FDQSxpRCxDQUNBLFUsQ0FmRixRLENBR0UsWSxDQWVBLFksQ0FJRixVLENBREEsaUIsQ0FFRSxjLENBR0Ysb0IsQ0FDRSxZLENBRUYsbUIsQ0FDRSxlLENBT0YsUyxDQUNFLFksQ0FDQSxvQixDQUNBLGMsQ0FHRixlLENBQ0UsWSxDQUNBLGtCLENBQ0EsVSxDQUtGLGMsQ0E0RUEsdUIsQ0E3RUEsZSxDQTRFQSw4QixDQTFFRSxhLENBQ0EsVyxDQUNBLFEsQ0FDQSxVLENBQ0EsZSxDQUNBLGlCLENBSUYsbUIsQ0FDRSxpQixDQVFGLHFCLENBREEsNEIsQ0FFRSxxRCxDQUNBLHlCLENBSUYsb0IsQ0FEQSwyQixDQUVFLHFELENBSUYsb0IsQ0FEQSwyQixDQUVFLG9DLENBUUYsZSxDQURBLHNCLENBRUUsaUIsQ0FDQSxhLENBQ0EsYSxDQUNBLFMsQ0FDQSwwQixDQUdGLG1CLENBREEsMEIsQ0FFRSxhLENBQ0EsVSxDQUNBLFcsQ0FDQSxxQixDQUdGLG9CQUFxQixRLENBRHJCLDJCQUE4QixRLENBRTVCLFEsQ0FRRixpQixDQURBLHdCLENBRUUsVyxDQUNBLFEsQ0FDQSxzQyxDQUNBLGMsQ0FDQSxRLENBQ0EsVyxDQUNBLGUsQ0FDQSxhLENBQ0EsZSxDQWNGLHlCLENBREEsZ0MsQ0FFRSxhLENBQ0EsUyxDQUNBLDRJLENBQ0EscUIsQ0FLRiw4QkFBaUMsSSxDQURqQyxxQ0FBMEMsSSxDQUV4QyxlLENBQ0Esc0IsQ0FDQSxvQixDQUNBLHdCLENBTUYsc0MsQ0FEQSxvQyxDQURBLDZDLENBREEsMkMsQ0FJRSxlLENBUUYsZ0MsQ0FEQSx1QyxDQUVFLFUsQ0FHRixpQyxDQURBLHdDLENBRUUsVyxDQVFGLGdDLENBREEsdUMsQ0FFRSxlLENBR0Ysa0MsQ0FEQSx5QyxDQUVFLGlCLENBR0YsaUMsQ0FEQSx3QyxDQUVFLGdCLENBUUYscUIsQ0FEQSw0QixDQUVFLG9CLENBQ0EscUIsQ0FDQSxRLENBS0Ysb0IsQ0FEQSxtQixDQURBLDJCLENBREEsMEIsQ0FJRSxTLENBQ0EsVSxDQUNBLG9CLENBUUYsOEIsQ0FEQSxxQyxDQUVFLFUsQ0FDQSxxQixDQVFGLG1CLENBREEsMEIsQ0FFRSxlLENBR0YsOEIsQ0FEQSxxQyxDQUVFLGUsQ0FRRixjLENBREEscUIsQ0FFRSxhLENBQ0Esb0IsQ0FHRixnQixDQURBLHVCLENBRUUsaUIsQ0FHRiwwQixDQURBLGlDLENBRUUsYyxDQUlGLHVDLENBREEsOEMsQ0FFRSxjLENBQ0EsZ0IsQ0FTRix3QkFBeUIsSSxDQUR6QiwrQkFBa0MsSSxDQUVoQyxRLENBQ0EseUIsQ0FHRix3QkFBeUIsVSxDQUR6QiwrQkFBa0MsVSxDQUVoQyxRLENBS0YsMEIsQ0FEQSxpQyxDQUVFLHFCLENBR0YsZ0MsQ0FEQSx1QyxDQUVFLGEsQ0FLRixxQkFBc0IsSSxDQUR0Qiw0QkFBK0IsSSxDQUU3QixvQixDQUdGLHFCQUFzQixVLENBRHRCLDRCQUErQixVLENBRTdCLHFCLENBVUYsZ0IsQ0FGQSxpQixDQUNBLHVCLENBRkEsd0IsQ0FJRSxhLENBQ0Esc0IsQ0FRRixnQixDQURBLHVCLENBRUUsbUIsQ0FDQSxVLENBV0YsNEIsQ0FEQSxtQyxDQUVFLGMsQ0FDQSxXLENBQ0EseUIsQ0FHRixrQyxDQURBLHlDLENBRUUsUyxDQUNBLGEsQ0FHRixtQyxDQURBLDBDLENBRUUsYSxDQU9GLDRCLENBREEsbUMsQ0FFRSxjLENBQ0EsVyxDQUNBLHlCLENBR0Ysa0MsQ0FEQSx5QyxDQUVFLFMsQ0FDQSxhLENBR0YsbUMsQ0FEQSwwQyxDQUVFLGEsQ0FRRixlLENBREEsc0IsQ0FFRSxjLENBQ0Esc0IsQ0FDQSxXLENBQ0EsOEMsQ0FDQSxlLENBQ0EsYyxDQUNBLFUsQ0FDQSxRLENBQ0EsaUIsQ0FDQSxLLENBQ0EsTSxDQUNBLG9CLENBQ0EsZSxDQUNBLHlCLENBR0Ysc0JBQXVCLEksQ0FEdkIsNkJBQWdDLEksQ0FFOUIsb0IsQ0FHRixzQkFBdUIsVSxDQUR2Qiw2QkFBZ0MsVSxDQUU5QixhLENBWUYsZSxDQURBLHNCLENBYUUsMkYsQ0FSRixpQyxDQUVBLDBCLENBSEEsNkIsQ0FFQSxzQixDQUVFLDJGLENBV0Ysa0IsQ0FDRSxzQixDQUVGLGlCLENBQ0UsZ0IsQ0FDQSxpQixDQU9GLGMsQ0FDRSxVLENBQ0EsZ0IsQ0FPRixnQixDQUdBLGEsQ0FGQSxvQixDQUNBLFMsQ0FFRSxjLENBR0Ysc0IsQ0FHQSxtQixDQUZBLDBCLENBQ0EsZSxDQUVFLGMsQ0FDQSxTLENBQ0EsZSxDQUNBLFEsQ0FDQSxnRCxDQUNBLDBCLENBU0YsbUIsQ0FDQSxZLENBRkEsbUIsQ0FHRSxrRSxDQUlGLHlCLENBQ0Esa0IsQ0FGQSx5QixDQUdFLGtFLENBTUYsc0IsQ0FDQSxlLENBRkEsc0IsQ0FHRSxrRSxDQUlGLDRCLENBQ0EscUIsQ0FGQSw0QixDQUdFLGtFLENBTUYsc0IsQ0FDQSxlLENBRkEsc0IsQ0FHRSxrRSxDQUlGLDRCLENBQ0EscUIsQ0FGQSw0QixDQUdFLGtFLENBTUYscUIsQ0FDQSxjLENBRkEscUIsQ0FHRSxrRSxDQUlGLDJCLENBQ0Esb0IsQ0FGQSwyQixDQUdFLGtFLENBTUYscUIsQ0FDQSxjLENBRkEscUIsQ0FHRSxrRSxDQUlGLDJCLENBQ0Esb0IsQ0FGQSwyQixDQUdFLGtFLENBTUYsb0IsQ0FDQSxhLENBRkEsb0IsQ0FHRSxrRSxDQUlGLDBCLENBQ0EsbUIsQ0FGQSwwQixDQUdFLGtFLENBT0YsYSxDQUZBLG9CLENBQ0Esb0IsQ0FFRSxrRSxDQUtGLG1CLENBRkEsMEIsQ0FDQSwwQixDQUVFLGtFLENBTUYsc0IsQ0FDQSxlLENBRkEsc0IsQ0FHRSxrRSxDQUlGLDRCLENBQ0EscUIsQ0FGQSw0QixDQUdFLGtFLENBTUYsc0IsQ0FDQSxlLENBRkEsc0IsQ0FHRSxrRSxDQUlGLDRCLENBQ0EscUIsQ0FGQSw0QixDQUdFLGtFLENBTUYsb0IsQ0FDQSxhLENBRkEsb0IsQ0FHRSxrRSxDQUlGLDBCLENBQ0EsbUIsQ0FGQSwwQixDQUdFLGtFLENBT0YsYyxDQUZBLHFCLENBQ0EscUIsQ0FFRSxrRSxDQUtGLG9CLENBRkEsMkIsQ0FDQSwyQixDQUVFLGtFLENBTUYsb0IsQ0FDQSxhLENBRkEsb0IsQ0FHRSxrRSxDQUlGLDBCLENBQ0EsbUIsQ0FGQSwwQixDQUdFLGtFLENBT0YsYyxDQUZBLHFCLENBQ0EscUIsQ0FFRSxrRSxDQUtGLG9CLENBRkEsMkIsQ0FDQSwyQixDQUVFLGtFLENBUUYsYSxDQUNFLGEsQ0FDQSxjLENBRUYsbUIsQ0FDRSxVLENBYUYsZSxDQVZBLGEsQ0FDRSxnQixDQUNBLGlCLENBWUYscUIsQ0FWQSxtQixDQUNFLHFCLENBQ0EsZSxDQUNBLGdCLENBT0YscUIsQ0FDRSw4QixDQWVGLGMsQ0FWQSxjLENBb0JBLGEsQ0FuQkUsa0IsQ0FDQSxtQixDQUVGLG9CLENBQ0UsdUIsQ0FDQSxpQixDQUNBLGtCLENBT0Ysb0IsQ0FVQSxtQixDQVRFLHVCLENBQ0EsaUIsQ0FDQSxrQixDQU9GLG1CLENBQ0UsZ0MsQ0FlRixlLENBV0EsYyxDQXJCQSxlLENBZ0NBLGEsQ0EvQkUsaUIsQ0FDQSxrQixDQUVGLHFCLENBQ0UsOEIsQ0FDQSxnQixDQUNBLGlCLENBT0YscUIsQ0FXQSxvQixDQVZFLHVCLENBQ0EsZ0IsQ0FDQSxpQixDQUNBLGMsQ0FPRixvQixDQUNFLDhCLENBR0EsYyxDQU9GLG1CLENBQ0UscUIsQ0FDQSxnQixDQUNBLGlCLENBUUYseUNBQ0Usc0IsQ0FDRSxhLENBQ0EsYyxDQUVGLDRCLENBQ0UsVSxDQUNBLGEsQ0FDQSxjLENBK0NGLHdCLENBM0JBLHVCLENBVEEsdUIsQ0E2Q0EsdUIsQ0FsQkEsd0IsQ0FUQSxzQixDQW9DQSxzQixDQS9EQSx3QixDQUNFLGdCLENBQ0EsaUIsQ0FvQkYsNkIsQ0FUQSw2QixDQWtCQSw0QixDQTNCQSw4QixDQUNFLHFCLENBQ0EsZSxDQUNBLGdCLENBMENGLDhCLENBU0EsNkIsQ0FsQkEsOEIsQ0EyQkEsNEIsQ0ExQkUsOEIsQ0FDQSxlLENBQ0Esa0IsQUFnQ0osK0RBQ0Usc0IsQ0FDRSxhLENBQ0EsYyxDQUVGLDRCLENBQ0UsVSxDQUNBLGEsQ0FDQSxjLENBb0JGLHVCLENBVEEsdUIsQ0FrQkEsc0IsQ0EzQkEsd0IsQ0FDRSxnQixDQUNBLGlCLENBV0YsNkIsQ0FUQSw4QixDQUNFLHFCLENBQ0EsZSxDQUNBLGdCLENBZUYsNkIsQ0FTQSw0QixDQVJFLDhCLENBQ0EsZSxDQUNBLGdCLENBb0JGLHdCLENBU0EsdUIsQ0FTQSxzQixDQWpCRSxrQixDQUNBLG1CLENBRUYsOEIsQ0FTQSw2QixDQVNBLDRCLENBakJFLHVCLENBQ0EsaUIsQ0FDQSxrQixDQWVGLDRCLENBQ0UseUIsQUFVSix5Q0FDRSxtQixDQUNFLHVCLENBRUYscUMsQ0FDRSxzQixDQUVGLHlCLENBQ0UsdUIsQ0FDQSxxQixDQUNBLFUsQ0FDQSxtQixDQUNBLGtDQVFKLGUsQ0FDRSxhOzs7Ozs7Ozs7O0FDNTZCRixZLENBQ0UsYyxDQUNBLGUsQ0E2TkEsYyxDQTFORix3QixDQUNFLFksQ0FFRix1QixDQUNFLGUsQ0FPRixxQixDQUNFLGlCLENBQ0EsYyxDQUNBLGUsQ0FDQSxnQixDQUNBLFEsQ0FDQSxlLENBQ0EsZSxDQUVGLGlDLENBQ0UsWSxDQUNBLGEsQ0FRRiwrQixDQUNFLG9CLENBQ0EscUIsQ0FFRixzQyxDQUNFLGlCLENBQ0EsSyxDQUNBLE0sQ0FFRix3QyxDQUNFLFEsQ0FDQSxlLENBQ0EsYyxDQU9GLDZCLENBQ0UsYSxDQUNBLFcsQ0FDQSxXLENBQ0EsVSxDQUNBLGUsQ0FHRixpQyxDQURBLGdDLENBRUUsYSxDQUNBLGEsQ0FDQSxVLENBQ0EsVyxDQUNBLG9CLENBT0YsOEIsQ0FDRSxhLENBR0Ysc0MsQ0FDRSxpQixDQU9GLDZCLENBQ0UsYSxDQUNBLHFCLENBQ0EsZSxDQUVGLDhCLENBQ0UsYyxDQUVGLG9DLENBQ0UsYSxDQU9GLCtCLENBQ0Usb0IsQ0FDQSxnQixDQUNBLG9CLENBQ0EsZ0IsQ0FFRixpQyxDQUNFLG9CLENBQ0EsaUIsQ0FnQ0YsMkMsQ0E5QkEsMkMsQ0FDRSxjLENBT0YsMkIsQ0FDRSxtQixDQUNBLGEsQ0FDQSxvQixDQUNBLHFCLENBQ0EsZSxDQVFGLDhCLENBQ0UsZ0IsQ0FFRixnQyxDQUNFLGMsQ0FDQSxvQixDQUNBLGtCLENBQ0Esb0IsQ0FLRix1QyxDQUNBLHNDLENBQ0Usb0IsQ0FPRix3QixDQUNFLGMsQ0FFRixpQyxDQUNFLFUsQ0FDQSxjLENBRUYsaUMsQ0FDRSxhLENBQ0EsVyxDQU9GLHNCLENBRUEsK0IsQ0FEQSxnQyxDQUVFLFksQ0FZRix3QyxDQUNFLDJCLENBQ0Esd0IsQ0FDQSxzQyxDQU9GLHNDLENBQ0UsUyxDQUNBLGlCLENBQ0EsSyxDQUNBLE8sQ0FDQSxTLENBQ0EsMkIsQ0FDQSxvQixDQUVGLHFELENBQ0UsUyxDQVFGLGlCLENBQ0Usc0IsQ0FFRixpQixDQUNFLHNCLENBRUYsa0IsQ0FDRSxzQixDQUtGLGtCLENBQ0UsdUIsQ0FFRixnQixDQUNFLHVCLENBRUYsaUIsQ0FDRSx1QixDQUVGLG9CLENBQ0UsdUI7Ozs7Ozs7Ozs7QUNqUEYsUSxDQUNFLFksQ0F1UEEsYyxDQXJQRixvQixDQUNFLFksQ0FFRixtQixDQUNFLGUsQ0FTRixlLENBQ0UsWSxDQUNBLGtCLENBQ0EsVSxDQUNBLHNCLENBQ0EsUSxDQUNBLGMsQ0FDQSxlLENBRUYsMkIsQ0FDRSxZLENBQ0EsYSxDQUVGLDBCLENBQ0UsZ0IsQ0FJRixzQixDQUNFLGEsQ0FDQSxhLENBQ0EsVyxDQUNBLFcsQ0FDQSxrQixDQUNBLGUsQ0FFRiw0QixDQUNFLFMsQ0FDQSxlLENBQ0EsVSxDQUNBLGEsQ0FDQSxjLENBQ0EsUSxDQUNBLGtCLENBQ0Esb0IsQ0FFRiwwQixDQUNFLFUsQ0FDQSxXLENBQ0Esb0IsQ0FFRiwrQixDQUNFLHNDLENBUUYsd0IsQ0FDRSxhLENBQ0EsYSxDQUNBLGtCLENBQ0EsZSxDQUNBLG9CLENBRUYsbUMsQ0FDRSxnQixDQUlGLDBCLENBQ0UsYyxDQU9GLDhCLENBQ0UsaUIsQ0FDQSxTLENBRUEsZSxDQUNBLGEsQ0FDQSxpQixDQUNBLG9CLENBT0YsaUMsQ0FDRSxRLENBQ0EsYSxDQUNBLGUsQ0FDQSxxQixDQUlGLHFDLENBQ0Usb0IsQ0FJQSxtQixDQU9GLDhCLENBQ0Usb0IsQ0FDQSxlLENBQ0EsYyxDQUNBLHVCLENBaEJGLHFDLENBa0JBLGtDLENBQ0UsdUIsQ0FDQSxVLENBQ0EsVyxDQUNBLHFCLENBT0YsdUMsQ0FDRSxvQixDQUNBLFUsQ0FDQSxlLENBQ0EscUIsQ0FDQSxpQixDQUNBLGlCLENBQ0EsUyxDQUNBLG9CLENBT0YsK0IsQ0EyQkEsOEIsQ0ExQkUsZSxDQUNBLGMsQ0FDQSxTLENBQ0EscUIsQ0FJRiwwQyxDQUNFLG9CLENBQ0Esa0IsQ0FDQSxTLENBSUYsb0MsQ0FDRSxTLENBQ0EsZ0IsQ0FDQSxhLENBQ0EsZSxDQUNBLG9CLENBT0YsOEIsQ0FDRSxvQixDQUNBLHFCLENBR0EsUSxDQUNBLGUsQ0FDQSxlLENBRUEsb0IsQ0FHRixnQyxDQUNFLGlCLENBQ0EsaUIsQ0FFRixxQyxDQUNFLFUsQ0FDQSxvQixDQUNBLEssQ0FDQSxTLENBQ0EsUyxDQUNBLGlCLENBQ0Esa0IsQ0FHRixvQyxDQUNFLFEsQ0FDQSx5QixDQUVGLGdELENBQ0UsYSxDQUVGLGlELENBQ0UsYSxDQUlGLDJDLENBQ0UsYSxDQUVGLGtELENBQ0UsWSxDQUlGLGdDLENBQ0Esb0MsQ0FDRSxjLENBQ0EsUyxDQUNBLG9CLENBQ0EseUIsQ0FFRixzQyxDQUNBLDRDLENBQ0EsMEMsQ0FDRSxxQixDQVNGLGMsQ0FDRSxzQixDQUtGLGMsQ0FDRSx1Qjs7Ozs7Ozs7OztBQ3ZQRixlLENBQ0UsWSxDQUNBLFksQ0FDQSxVLENBQ0EsWSxDQUNBLGMsQ0FDQSxTLENBRUEsUSxDQUNBLGUsQ0FDQSxlLENBQ0EsOEIsQ0FDQSxVLENBRUYsaUIsQ0FDRSxjLENBT0YsUyxDQUNFLGMsQ0FHRixxQixDQUNFLHNCLENBRUYsb0IsQ0FDRSx5QixDQXFRRiw0QixDQTlQQSxxQixDQTJEQSw4QixDQTFERSxhLENBQ0EsVyxDQUNBLFEsQ0FDQSxVLENBQ0EsZSxDQUNBLGlCLENBRUYsMkIsQ0FDRSxZLENBRUYsMEIsQ0E2SEEscUMsQ0E1SEUsZSxDQVNGLHNCLENBQ0UsaUIsQ0FDQSxhLENBQ0EsYSxDQUNBLFUsQ0FDQSxRLENBQ0EsUyxDQUNBLGEsQ0FDQSxjLENBRUYsMEIsQ0FDRSxhLENBQ0EsVSxDQUNBLFcsQ0FDQSxxQixDQUNBLFEsQ0FHRixxQyxDQUNFLGUsQ0FRRix3QixDQUNFLGEsQ0FDQSxhLENBQ0EsYyxDQUNBLFEsQ0FDQSxTLENBQ0EsZSxDQUNBLGEsQ0FDQSxRLENBQ0EsZSxDQVdGLCtCLENBQ0UsVyxDQUNBLFUsQ0FDQSxhLENBQ0EsYSxDQUNBLGMsQ0FDQSxrQixDQUdGLGdDLENBQ0Usb0IsQ0FDQSxvQixDQUNBLDRJLENBQ0EsZSxDQUNBLHFCLENBR0YscUNBQTBDLEksQ0FDeEMsc0IsQ0FPRix1QyxDQUNFLFUsQ0FFRix3QyxDQUNFLFcsQ0FRRiw0QixDQUNFLGlCLENBQ0EsUSxDQUdGLDJCLENBREEsMEIsQ0FFRSxRLENBQ0EsUyxDQUNBLG9CLENBUUYscUMsQ0FDRSxlLENBQ0EsYyxDQUNBLGEsQ0FDQSxvQixDQUNBLHFCLENBT0YsMEIsQ0FDRSxlLENBVUYscUIsQ0FDRSxhLENBQ0EsYSxDQUNBLGUsQ0FDQSxvQixDQUVGLHVCLENBQ0UsaUIsQ0FFRixpQyxDQUNFLGMsQ0FHRiw4QyxDQUNFLGMsQ0FDQSxnQixDQVFGLCtCQUFrQyxJLENBQ2hDLFEsQ0FDQSx5QixDQUVGLCtCQUFrQyxVLENBQ2hDLFEsQ0FJRixpQyxDQUNFLHFCLENBRUYsdUMsQ0FDRSxhLENBSUYsNEJBQStCLEksQ0FDN0Isb0IsQ0FFRiw0QkFBK0IsVSxDQUM3QixxQixDQVlGLHVDLENBZ0JBLG1DLENBZkUsYyxDQUNBLFcsQ0FDQSx5QixDQUVGLDZDLENBQ0UsUyxDQUNBLGEsQ0FFRiw4QyxDQUNFLGEsQ0FXRix5QyxDQUNFLFMsQ0FDQSxhLENBRUYsMEMsQ0FDRSxhLENBT0Ysc0IsQ0FDRSxhLENBQ0EsaUIsQ0FDQSxjLENBQ0EsZ0IsQ0FDQSxVLENBQ0EsUyxDQUNBLEssQ0FDQSxNLENBQ0Esb0IsQ0FDQSxlLENBQ0EseUIsQ0FDQSxlLENBRUYsd0IsQ0FDRSw0QixDQUVGLCtDLENBQ0UsNEIsQ0FrQkYsMkJBQThCLEksQ0FDNUIsVyxDQUtGLCtEQUNFLGUsQ0FDRSxZLENBRUYsMkJBQThCLEksQ0FDNUIsVyxDQUVGLCtCLENBQ0UsYSxDQUNBLG1CLEFBTUoseUNBQ0UsY0FBYSxtQixDQUNYLHFCLENBQ0EsWSxDQUVGLGNBQWEsMEIsQ0FDWCxhLENBQ0EsZ0IsQ0FDQSxpQixDQUhGLGNBQWEsMEIsQ0FNYixjQUFhLDhCLENBQ1gsd0IsQ0FDQSxvQixDQUNBLDBCLENBRUYsY0FBYSxtQyxDQUNYLGEsQ0FDQSxtQkFjSixxRCxDQUNFLHFCLENBRUYsd0QsQ0FDRSxpQixDQUVGLHdELENBQ0UsbUIsQ0FRRix1QixDQUNFLGMsQ0FFRixzQyxDQUNFLFksQ0FRRix1QixDQUNFLHVDLENBQ0EsUSxDQUNBLGEsQ0FFRixtQyxDQUNFLGUsQ0FDQSxzQixDQUNBLHVCLENBRUYsa0MsQ0FDRSx5QixDQUNBLDBCLENBSUYsK0IsQ0FDRSxRLENBQ0EsZSxDQUVGLDhDLENBQ0UsUSxDQUNBLGEsQ0FRRixzQixDQUNBLDBCLENBQ0UsYyxDQUdGLHVDLENBQ0EsMkMsQ0FDRSxhLENBUUYsZSxDQUNFLGEsQ0FPRix5Q0FDRSxrQyxDQUNBLHNDLENBQ0UsdUI7Ozs7Ozs7Ozs7QUM3YkosYSxDQUNFLG1CLENBQ0EscUIsQ0FDQSxZLENBQ0EsYyxDQUdGLDJCLENBQ0Usa0IsQ0FHRix5QixDQUNFLFksQ0FFRix3QixDQUNFLGUsQ0FVRixjLENBRUUsc0IsQ0FDQSxjLENBVUEsWSxDQUNBLHNCLENBVEYseUIsQ0FDRSxtQixDQUNBLGEsQ0FDQSxxQixDQUNBLGtCLENBQ0EsYyxDQVFGLG9CLENBQ0UsYSxDQUNBLFcsQ0FDQSxRLENBQ0EsVSxDQUNBLGUsQ0FDQSxpQixDQUdGLDBCLENBQ0UsWSxDQTZCRixvQixDQWZBLG9CLENBY0EsZ0MsQ0FmQSxnQyxDQWlCRSw0SSxDQUlBLHdCLENBQ0EsaUIsQ0FyQkYsb0IsQ0FEQSxnQyxDQUtFLGUsQ0FDQSxhLENBRkEsZSxDQVlGLG9CLENBREEsZ0MsQ0FHRSxhLENBQ0EsZSxDQUNBLHFCLENBT0YsMkIsQ0FNQSwyQixDQVBBLHVDLENBTUEsdUMsQ0FKRSxZLENBb0JGLDBCLENBREEsc0MsQ0FFRSxTLENBQ0EsVSxDQUNBLFEsQ0FRRix5QixDQURBLHFDLENBRUUsZSxDQUNBLGMsQ0FDQSxlLENBQ0EsaUIsQ0FHRixnQyxDQURBLDRDLENBRUUsaUIsQ0FRRix3QixDQURBLG9DLENBRUUsZSxDQUNBLHVCLENBK0JGLG9CLENBd0JBLG1CLENBUUEsbUIsQ0F4Q0EsbUIsQ0FnRUEsa0IsQ0FoREEsb0IsQ0FRQSxrQixDQWhDQSxrQixDQXdEQSxvQixDQVFBLGtCLENBL0RFLGUsQ0FFRiw2QixDQUNFLGEsQ0FDQSxjLENBTUYsOEIsQ0FDRSxzQixDQUNBLGMsQ0FNRiwrQixDQUNFLGUsQ0FDQSxjLENBTUYsK0IsQ0FDRSxzQixDQUNBLGMsQ0FNRiw2QixDQUNFLHNCLENBQ0EsYyxDQU1GLDhCLENBQ0UsYSxDQUNBLGMsQ0FNRiw4QixDQUNFLGEsQ0FDQSxjLENBTUYsK0IsQ0FDRSxzQixDQUNBLGMsQ0FNRiw2QixDQUNFLGEsQ0FDQSxjLENBTUYsNkIsQ0FDRSxjLENBQ0EsYyxDQVVGLHdCLENBU0Esb0MsQ0FSRSxrQixDQUNBLGtCLENBRUYseUIsQ0FDRSxxQixDQUNBLFEsQ0FDQSxjLENBRUYsb0MsQ0FHRSxjLENBQ0EsWSxDQUdGLG9DLENBQ0EsZ0QsQ0FDRSxzQixDQUdGLHFDLENBREEsaUQsQ0FFRSxZLENBSUYsK0IsQ0FEQSwyQyxDQUVFLG9CLENBQ0EscUIsQ0FHRiwrQixDQURBLDJDLENBRUUsb0IsQ0FDQSxxQixDQUNBLGtCLENBU0Ysd0IsQ0FGQSxvQyxDQUNBLG9DLENBRUUsYSxDQUlGLDJCLENBRkEsdUMsQ0FDQSx1QyxDQUVFLGEsQ0FHRix1QyxDQUNBLDJCLENBRkEsdUMsQ0FHRSxhLENBSUYsMEIsQ0FGQSxzQyxDQUNBLHNDLENBRUUsYSxDQUlGLDBCLENBRkEsc0MsQ0FDQSxzQyxDQUVFLGEsQ0FHRixxQyxDQUNBLHlCLENBRkEscUMsQ0FHRSxhLENBSUYseUIsQ0FGQSxxQyxDQUNBLHFDLENBRUUsYSxDQUdGLHVDLENBQ0EsMkIsQ0FGQSx1QyxDQUdFLGEsQ0FJRiwyQixDQUZBLHVDLENBQ0EsdUMsQ0FFRSxhLENBSUYseUIsQ0FGQSxxQyxDQUNBLHFDLENBRUUsYSxDQUlGLDBCLENBRkEsc0MsQ0FDQSxzQyxDQUVFLGEsQ0FJRix5QixDQUZBLHFDLENBQ0EscUMsQ0FFRSxhLENBUUYsNkIsQ0FEQSx5QyxDQUVFLFUsQ0FHRiw2QixDQURBLHlDLENBRUUsMEIsQ0FLRixpQyxDQUZBLDZDLENBQ0EsNkMsQ0FFRSxhLENBSUYsb0MsQ0FGQSxnRCxDQUNBLGdELENBRUUsYSxDQUlGLG9DLENBRkEsZ0QsQ0FDQSxnRCxDQUVFLGEsQ0FJRixtQyxDQUZBLCtDLENBQ0EsK0MsQ0FFRSxhLENBSUYsbUMsQ0FGQSwrQyxDQUNBLCtDLENBRUUsYSxDQUlGLGtDLENBRkEsOEMsQ0FDQSw4QyxDQUVFLGEsQ0FJRixrQyxDQUZBLDhDLENBQ0EsOEMsQ0FFRSxhLENBSUYsb0MsQ0FGQSxnRCxDQUNBLGdELENBRUUsYSxDQUlGLG9DLENBRkEsZ0QsQ0FDQSxnRCxDQUVFLGEsQ0FJRixrQyxDQUZBLDhDLENBQ0EsOEMsQ0FFRSxhLENBSUYsbUMsQ0FGQSwrQyxDQUNBLCtDLENBRUUsYSxDQUlGLGtDLENBRkEsOEMsQ0FDQSw4QyxDQUVFLGEsQ0FPRixvQyxDQUNFLFUsQ0FDQSxrQixDQUVGLHFDLENBQ0UsVyxDQUNBLGtCLENBRUYsZ0MsQ0FDRSxlLENBZUYsb0MsQ0FEQSxnRCxDQUhBLHlCLENBREEscUMsQ0FFRSwwQixDQU9GLDhCLENBREEsMEMsQ0FFRSx3QixDQVVGLG9DLENBREEsZ0QsQ0FIQSx5QixDQURBLHFDLENBRUUsd0IsQ0FPRiw4QixDQURBLDBDLENBRUUsd0IsQ0FLRiwwQixDQURBLHNDLENBRUUsd0IsQ0FHRixxQyxDQURBLGlELENBRUUsd0IsQ0FHRiwrQixDQURBLDJDLENBRUUsd0IsQ0FLRixvQixDQURBLGdDLENBRUUsd0IsQ0FHRiwrQixDQURBLDJDLENBRUUsd0IsQ0FHRix5QixDQURBLHFDLENBRUUsd0IsQ0FLRiwwQixDQURBLHNDLENBRUUsd0IsQ0FHRixxQyxDQURBLGlELENBRUUsd0IsQ0FHRiwrQixDQURBLDJDLENBRUUsMEIsQ0FLRix5QixDQURBLHFDLENBRUUsd0IsQ0FHRixvQyxDQURBLGdELENBRUUsd0IsQ0FHRiw4QixDQURBLDBDLENBRUUsMEI7Ozs7Ozs7Ozs7QUM5Z0JGLGEsQ0FDQSx3QixDQUNFLGMsQ0FFRix3QixDQUNFLGMsQ0FDQSxTLENBS0YsK0IsQ0FEQSxvQixDQUVFLGMsQ0FJRix5QkFBd0IsSSxDQUN0QixjLENBQ0EsNEksQ0FDQSxhLENBQ0EscUIsQ0FLRix3QyxDQURBLDZCLENBRUUsWSxDQUtGLGtCQUFpQixPLGlDQUEwQyxJLENBRDNELGtCQUFpQixPLHNCQUErQixJLENBRTlDLFMsQ0FDQSxrQixDQUVGLGtCQUFpQixPLHNCQUErQixlLENBQzlDLGdCLENBS0YsOEMsQ0FEQSxtQyxDQUVFLG9CLENBQ0EsVSxDQUNBLFMsQ0FDQSxZLENBQ0EsVSxDQUNBLG1CLENBQ0EsUyxDQUNBLGEsQ0FDQSw4QyxDQUNBLHVCLENBQ0EsYyxDQVFGLCtCLENBQ0UsYSxDQUNBLFMsQ0FFRiw4QyxDQUNFLFcsQ0FDQSx1QixDQUNBLHdCLENBSUYsdUMsQ0FDRSxhLENBQ0EsbUIsQ0FRRixxRCxDQURBLDBDLENBS0EscUQsQ0FIRSx1QixDQWVGLG9CLENBQ0UsVyxDQURGLG9CLENBS0EsK0IsQ0FDRSwwQixDQUNBLGUsQ0FDQSxzRSxDQUdGLHNDLENBREEsMkIsQ0FFRSxRLENBQ0EsaUIsQ0FDQSxvQixDQUNBLGUsQ0FDQSx1QyxDQUNBLDZDLENBR0Ysa0QsQ0FEQSx1QyxDQUVFLGUsQ0FNRix3QyxDQURBLDZCLENBRUUsUSxDQUtBLHNCLENBT0YsNEMsQ0FGQSxpQyxDQUlFLGMsQ0FDQSxxQixDQWNGLDZDLENBSkEsa0MsQ0FDRSxjLENBQ0EscUIsQ0FpQkYsd0MsQ0FEQSw2QixDQUVFLGEsQ0FXRixtQixDQUNBLDhCLENBQ0UsVSxDQU9GLGtDQUFpQyxJLENBQy9CLDBCLENDbk5GLFdBQ0UsdUIsQ0FDQSxrbkcsQ0FJQSxlLENBQ0Esa0JBS0YsOEMsQ0FEQSxtQyxDQUVFLHFCLENBQ0EsYSxDQUNBLDBCLENBQ0EsZSxDQUNBLGlCLENBQ0EsaUIsQ0FJRixxRCxDQURBLDBDLENBRUUsZTs7Ozs7Ozs7OztBQ0VGLFksQ0FDRSxpQixDQUNBLG9CLENBQ0EsMEIsQ0FDQSxTLENBQ0EsdUIsQ0FDQSxpQixDQUVBLGUsQ0FDQSxjLENBQ0EsZ0IsQ0FDQSxjLENBSUYsaUMsQ0FDQSw4QixDQUNFLGMsQ0FDQSxpQixDQUNBLEssQ0FDQSxNLENBQ0EsbUIsQ0FDQSxTLENBQ0EsUyxDQUNBLFUsQ0FDQSxXLENBU0YsaUIsQ0FDQSxrQixDQUNFLFcsQ0FDQSxpQixDQUNBLGEsQ0FDQSxzQixDQUNBLFMsQ0FDQSxhLENBd0JGLHVCLENBckJBLHdCLENBc0JBLHdCLENBckJBLHlCLENBc0JFLGlCLENBRUEsSyxDQUNBLE0sQ0FDQSxVLENBQ0EsVyxDQUtBLGtGLENBakNGLHdCLENBQ0EseUIsQ0FPRSxVLENBRUEsZSxDQUNBLDBCLENBR0Esd0IsQ0FPRix1QixDQUNBLHdCLENBRUUsYyxDQUtBLGlCLENBRUEsUyxDQUNBLHFCLENBU0Ysa0IsQ0FDQSxrQixDQUNFLHFCLENBQ0EseUIsQ0FJRixrQixDQUNFLHFCLENBYUYsK0IsQ0FDQSxnQyxDQUNFLGUsQ0FDQSwrQixDQUVGLHdCLENBQ0Esd0IsQ0FrU0EsOEIsQ0FDQSwrQixDQWxTRSxvQixDQU9GLGdDLENBQ0EsaUMsQ0FDRSxrQixDQUNBLCtCLENBRUYsK0IsQ0FJQSwrQixDQUhBLGdDLENBQ0UscUIsQ0FVRixvQyxDQUNBLHFDLENBQ0UsZSxDQUNBLG9CLENBRUYsbUMsQ0FJQSw4QixDQUhBLG9DLENBQ0UscUIsQ0FVRixzQyxDQUNBLHVDLENBQ0UsZSxDQUNBLCtCLENBRUYscUMsQ0FDQSxzQyxDQUNFLFMsQ0FDQSxxQixDQU9GLHVCQUFzQix1QyxDQUN0Qix1QkFBc0Isd0MsQ0FDcEIsZSxDQUNBLCtCLENBRUYsdUJBQXNCLHNDLENBQ3RCLHVCQUFzQix1QyxDQUNwQixTLENBQ0EscUIsQ0FTRiw0QyxDQUNBLDZDLENBSEEsdUJBQXNCLDZDLENBQ3RCLHVCQUFzQiw4QyxDQUdwQixlLENBQ0Esb0IsQ0FJRiwyQyxDQUNBLDRDLENBSEEsdUJBQXNCLDRDLENBQ3RCLHVCQUFzQiw2QyxDQUdwQixxQixDQVFGLHNCLENBQ0EsNEIsQ0FDRSxjLENBVUYsdUMsQ0FDQSxrQyxDQUhBLGdDLENBQ0EsMkIsQ0FHRSx3QixDQUNBLFUsQ0FDQSxVLENBU0YseUIsQ0FDRSxVLENBSUYsK0IsQ0FDRSxjLENBQ0EsZ0IsQ0FhRixrQixDQUNFLGUsQ0FHRix1QixDQUNBLHdCLENBQ0Usc0IsQ0FJRiw4QixDQUNBLCtCLENBQ0UsVSxDQUNBLGMsQ0FFQSxVLENBQ0EsVyxDQUNBLG9CLENBQ0EsTyxDQUNBLE0sQ0FJRiw2QixDQUNBLDhCLENBQ0UsUSxDQUNBLG9CLENBR0EsZ0IsQ0FNQSxPLENBQ0EsTSxDQUNBLFUsQ0FDQSxXLENBQ0Esb0IsQ0FDQSwwQixDQUNBLGdDLENBSUYsMEMsQ0FDQSwyQyxDQUNFLHFCLENBRUYseUMsQ0FDQSwwQyxDQUNFLGdDLENBSUYsaUQsQ0FDQSxrRCxDQUNFLFMsQ0FJRiw0QyxDQUNBLDZDLENBQ0UscUIsQ0FFRiwyQyxDQUNBLDRDLENBQ0UsZ0MsQ0FJRixrRCxDQUNBLG1ELENBQ0UscUIsQ0FFRixpRCxDQUNBLGtELENBQ0UsZ0MsQ0FPRixtQixDQUNFLGtCLENBSUYseUIsQ0FDRSxZLENBQ0EsYyxDQUlGLHdCLENBQ0EseUIsQ0FDRSxtQixDQUNBLGdCLENBQ0Esb0IsQ0FJRiwrQixDQUNBLGdDLENBQ0UsYSxDQUNBLGlCLENBQ0EsVSxDQUVBLGtCLENBQ0EsTSxDQUNBLFMsQ0FFQSxTLENBRUEsZ0MsQ0FDQSxZLENBQ0EsbUIsQ0FFQSxjLENBQ0Esb0IsQ0FDQSw4QixDQUtGLDhCLENBQ0EsK0IsQ0FDRSw0RCxDQUNBLGlCLENBQ0Esb0IsQ0FDQSxTLENBQ0EsUyxDQUVBLFEsQ0FDQSw0RSxDQUNBLFksQ0FDQSxhLENBQ0EsVyxDQUNBLE0sQ0FDQSxjLENBRUEsb0IsQ0FDQSx3QixDQUlGLDJDLENBQ0EsNEMsQ0FDRSxnQyxDQUNBLFEsQ0FRRixzQyxDQUNBLHVDLENBQ0UsMEIsQ0FJRixzQyxDQUNBLHVDLENBQ0UsK0IsQ0FFRiw2QyxDQUNBLDhDLENBQ0Usa0MsQ0FFRiw0QyxDQUNBLDZDLENBQ0UsUyxDQUlGLDRDLENBQ0EsNkMsQ0E4R0EsNEMsQ0FDQSw2QyxDQTlHRSwrQixDQUVGLG1ELENBQ0Esb0QsQ0FDRSwrQixDQVFGLG1CLENBQ0UsaUIsQ0FJRix5QixDQUNFLFksQ0FDQSxhLENBSUYsd0IsQ0FDQSx5QixDQUNFLGlCLENBQ0EsbUIsQ0FDQSxxQixDQUVGLHlCLENBQ0UsaUIsQ0FJRiwrQixDQUNBLGdDLENBQ0UsYSxDQUNBLGlCLENBQ0EsVSxDQUNBLFMsQ0FDQSxjLENBQ0EsUSxDQUVBLEssQ0FFQSwwQixDQUNBLGUsQ0FDQSxZLENBQ0EsYSxDQUNBLG9CLENBSUYsOEIsQ0FDQSwrQixDQUNFLDRELENBQ0EsaUIsQ0FDQSxvQixDQUNBLFMsQ0FDQSxTLENBRUEsUSxDQUNBLDRFLENBQ0EsWSxDQUNBLGEsQ0FDQSxLLENBQ0EsTSxDQUVBLG9CLENBQ0EsNEMsQ0FHRixvQyxDQUNBLHFDLENBQ0UsWSxDQUNBLDRFLENBSUYsMkMsQ0FDQSw0QyxDQUNFLGdDLENBQ0EsUSxDQUlGLHNDLENBQ0EsdUMsQ0FDRSxnQyxDQUNBLFEsQ0FJRixzQyxDQUNBLHVDLENBQ0UsK0IsQ0FFRiw2QyxDQUNBLDhDLENBQ0Usa0MsQ0FFRiw0QyxDQUNBLDZDLENBQ0UsWSxDQUNBLDRFLENBU0YsbUQsQ0FDQSxvRCxDQUNFLGtDLENBV0Ysd0IsQ0FDQSx5QixDQUNFLHdCLENBUUYsMEIsQ0FKQSwwQixDQUNFLFksQ0N6a0JGLFdBQ0Usc0IsQ0FDQSw4ekRBT0YsdUIsQ0FEQSx3QixDQUVFLHNCLENBSUYscUMsQ0FDQSxzQyxDQUNFLGUsQ0FJRiwyQyxDQUNBLDRDLENBQ0UsYyxDQUNBLGU7Ozs7Ozs7Ozs7QUNKRixjQUFhLEssQ0FDWCxpQixDQUdGLFUsQ0FDRSxZLENBQ0EsaUIsQ0FDQSxlLENBQ0EsZ0IsQ0FFQSxVLENBQ0EsVyxDQUVBLGlCLENBQ0EscUIsQ0FDQSxXLENBRUEsZ0MsQ0FDQSxTLENBQ0EsYSxDQUVBLHdCLENBQ0Esc0IsQ0FDQSxzQyxDQUVBLHFCLENBQ0Esa0IsQ0FDQSxzQixDQUVBLGdCLENBQ0EsbUIsQ0FDQSxZLENBSUYsbUIsQ0FDRSxnQixDQUNBLFUsQ0FLRixzQixDQUNFLCtCLENBS0EsZUFBYyxtQyxDQUNaLCtCLENBRUYsZUFBYyxtQyxDQUNaLGdDLENBRUYsZUFBYyxtRCxDQUNaLGdDLENBRUYsZUFBYyx5QyxDQUNaLGdDLENBVUosd0JBQXVCLEssQ0FDdkIscUJBQW9CLEssQ0FDbEIsZSxDQUlGLHFDLENBQ0EsbUMsQ0FDQSxpQixDQUNFLFksQ0FDQSxTLENBSUYsbUIsQ0FDRSxpQixDQUNBLGtCLENBY0YsNEMsQ0FDQSwwQyxDQUNBLHdCLENBQ0UsYSxDQU9GLGdDLENBQ0UsMEIsQ0FFRixtQyxDQUNFLHdCLENBT0YsZSxDQUNFLGMsQ0FDQSxrQixDQUNBLGtCLENBQ0EsOEIsQ0FHRiwwQixDQUNBLG9CLENBQ0UsZSxDQUdGLHFCLENBQ0UsYyxDQU9GLHdCQUF5QixRLENBQ3ZCLDJCLENBQ0EsNEIsQ0FFRiwrQkFBZ0MsUSxDQUM5Qiw4QixDQUlGLDBCLENBQ0UsK0IsQ0FFRixtQyxDQUNFLHFDLENBT0YsaUMsQ0FDRSxrQixDQUVGLG9DLENBQ0UscUIsQ0F3Q0YsMkMsQ0FqQ0EsbUIsQ0FDRSxzQyxDQUVGLDhCLENBQ0UsVSxDQVFGLGlCLENBQ0UsYSxDQUNBLGUsQ0FDQSxTLENBQ0EsUSxDQUNBLFMsQ0FDQSxZLENBR0Ysa0MsQ0FDRSxnQixDQUNBLFMsQ0FDQSxVLENBQ0EsVyxDQUNBLGdDLENBQ0EsUyxDQWZGLGlCLENBa0JBLDBCLENBQ0UsNEI7Ozs7Ozs7Ozs7QUNpbEJGLHlCQUNFLEUsQ0FDRSxzQixDQUVGLEUsQ0FDRSwwQkE5eEJKLFksQ0FDRSxjLENBQ0EsaUIsQ0FDQSxvQixDQUNBLFMsQ0FDQSxlLENBQ0EsNkMsQ0FFQSx1QyxDQVdGLGtCLENBQ0UsVyxDQUNBLGlCLENBQ0EsWSxDQUNBLFMsQ0FDQSxRLENBQ0EscUIsQ0FHQSxRLENBQ0EsUyxDQUNBLGUsQ0FFQSxhLENBQ0EsZ0IsQ0FDQSxlLENBRUEseUMsQ0FDQSxtQyxDQUNBLDBCLENBQ0EsMkIsQ0FDQSxVLENBQ0EsNkIsQ0FHRixvQixDQUNFLGtCLENBUUYsdUJBQXdCLG9CLENBQ3hCLG1CLENBQ0Usc0IsQ0FPRiwyQixDQUNFLGlCLENBRUEscUIsQ0FDQSxnQixDQUVGLHVDLENBQ0UsVSxDQUNBLFcsQ0FDQSxnQixDQUVGLDZDLENBQ0UsZ0IsQ0FRRixrQixDQUNFLG9CLENBQ0EsZSxDQU9GLHdCLENBQ0UsaUIsQ0FDQSxjLENBQ0EsYSxDQUNBLFEsQ0FDQSxXLENBQ0EsZSxDQUVBLGUsQ0FDQSxlLENBRUEscUIsQ0FFQSw0QyxDQUNBLGMsQ0FDQSxtQixDQUNBLGUsQ0FDQSxlLENBQ0EsMEIsQ0FFRixvQyxDQUNFLGtCLENBUUYsaUQsQ0FEQSwyQyxDQUVFLHFCLENBQ0Esd0IsQ0FDQSx5QixDQUdGLGdELENBREEsMEMsQ0FFRSxvQixDQUNBLHVCLENBQ0EsMEIsQ0FJRixzQyxDQURBLHNDLENBRUEsdUMsQ0FDQSxvQyxDQUNFLFksQ0FRRiwwQixDQUNFLG9CLENBQ0EsdUIsQ0FDQSxxQixDQUNBLHFCLENBQ0EsZSxDQUNBLHdCLENBR0YsMkIsQ0FDRSxzQyxDQUNBLFEsQ0FDQSxhLENBR0Ysa0MsQ0FDRSxVLENBQ0EsWSxDQUNBLGlDLENBQ0EsZSxDQUVGLGlDLENBQ0UsWSxDQUVGLDhCQUErQixtQixDQUM3QixnQixDQUVGLDhCQUErQixxQixDQUMvQiw4QkFBK0IsbUIsQ0FDL0IsOEJBQStCLG9CLENBQzdCLGdCLENBQ0EsbUIsQ0FRRixxQyxDQURBLCtCLENBRUUsVyxDQUNBLGdCLENBQ0Esb0IsQ0FPRiwyQixDQUNFLGtDLENBQ0EsZSxDQUVGLGdDQUFpQyxJLENBQy9CLG9CLENBT0Ysd0IsQ0FDRSxlLENBQ0EsUyxDQUNBLFUsQ0FDQSw0QixDQUNBLG9DLENBQ0Esb0IsQ0FJRiw4QixDQWtFQSxrQyxDQUNBLHdDLENBdUhBLGtDLENBQ0EsbUMsQ0ExTEUsWSxDQWlCRiw4QixDQUZBLDhCLENBQ0EsK0IsQ0FOQSx3QixDQUZBLHdCLENBQ0EseUIsQ0FJRSxZLENBaUJGLDhCLENBRkEsOEIsQ0FHQSwrQixDQUZBLCtCLENBR0EsNEIsQ0FQQSx3QixDQUZBLHdCLENBSUEseUIsQ0FIQSx5QixDQUVBLHNCLENBT0UsYSxDQUNBLFUsQ0FDQSx5QixDQVNGLCtCLENBQ0EsNEIsQ0FGQSx5QixDQURBLHNCLENBSUUsb0IsQ0FDQSxrQixDQUNBLFUsQ0FDQSxnQixDQUNBLG1CLENBQ0EsYyxDQW9CRix3QyxDQUNFLGdCLENBTUYseUMsQ0FEQSxtQyxDQURBLCtDLENBR0UsUyxDQUNBLE8sQ0FvQkYseUIsQ0FaQSx3QixDQUNFLGMsQ0FRRix1QyxDQUNFLFEsQ0FpQkYsc0IsQ0FDRSxjLENBQ0Esb0IsQ0FDQSxlLENBQ0Esa0IsQ0FDQSxTLENBQ0EsdUIsQ0FFQSxjLENBQ0EsdUIsQ0FFQSxlLENBQ0Esb0IsQ0FDQSx5QyxDQUNBLHFCLENBQ0EsZSxDQUNBLG1DLENBQ0EsMEIsQ0FDQSw2QyxDQUdGLDZCLENBREEsOEIsQ0FFRSxVLENBR0Ysa0IsQ0FDRSxXLENBQ0EsWSxDQUNBLG1DLENBQ0Esa0IsQ0FHRixtQyxDQUNBLHFDLENBRkEsbUMsQ0FHRSxjLENBQ0EsaUIsQ0FDQSxVLENBQ0EsVyxDQUNBLHdCLENBQ0EsZSxDQUNBLFMsQ0FDQSxTLENBQ0EsbUIsQ0FDQSxtQixDQUNBLFUsQ0FDQSwyQixDQUlGLDhCLENBQ0UsVyxDQUlGLDRCLENBQ0UsaUIsQ0FDQSxlLENBQ0EsMEIsQ0FDQSxnQyxDQUNBLDRCLENBQ0EsVSxDQUNBLFMsQ0FDQSxhLENBQ0EsMEIsQ0FDQSxzQixDQUVBLDJDLENBQ0EseUMsQ0FDQSwyQixDQVdGLHFDLENBQ0Usa0MsQ0FHRix5Q0FDRSw0QixDQUNFLDBCLEFBR0oseUNBQ0UsNEIsQ0FDRSwyQixBQUdKLHlDQUNFLDRCLENBQ0UsMkIsQUFHSiwwQ0FDRSw0QixDQUNFLDJCQUtKLGtDLENBQ0UsNEIsQ0FDQSw0QyxDQUNBLGtCLENBQ0EsZ0IsQ0FJRixrRCxDQUNFLFksQ0FJRiw0QixDQUNFLCtCLENBQ0EsZSxDQUlGLDZCLENBSUEsbUMsQ0FIRSxvQixDQUNBLHlDLENBUUYsNEIsQ0FDRSxvQixDQUNBLGUsQ0FFRixrQyxDQUNFLG9CLENBQ0EseUMsQ0FJRix5Q0FBMEMsUyxDQUN4QyxlLENBQ0Esb0IsQ0FJRixtQyxDQUlBLHlDLENBSEUsb0IsQ0FDQSx5QyxDQVFGLDRDLENBQ0EsNkMsQ0FDRSxVLENBQ0EsUyxDQUlGLDZCLENBQ0UscUMsQ0FDQSxzQyxDQUlGLG1DLENBQ0Usb0MsQ0FDQSx5QixDQUVGLHlDLENBZUEsZ0MsQ0FkRSxrQixDQUNBLHlCLENBUUYsbUIsQ0FDRSxZLENBSUYsZ0MsQ0FDRSx3QixDQUdBLFcsQ0FDQSxLLENBQ0EsUSxDQUNBLFUsQ0FDQSxTLENBQ0EsdUMsQ0FDQSxlLENBS0EsaUIsQ0FDQSxTLENBRUYseUIsQ0FDRSxXLENBQ0EsaUIsQ0FDQSxRLENBQ0EsUyxDQUlGLDBDLENBTUEsd0MsQ0FMRSx3QixDQUNBLHlDLENBSUYsd0MsQ0FHRSxZLENBQ0EsZSxDQUlGLHVDLENBQ0Esd0MsQ0FDRSxXLENBRUYsZ0MsQ0FDQSxpQyxDQUNFLG1CLENBS0YseUQsQ0FEQSx5RCxDQUVFLFcsQ0FFRixtRCxDQUNFLHFDLENBSUYseUIsQ0FDRSxpQixDQUNBLGUsQ0FDQSwwQixDQUNBLGdDLENBRUYseUNBQ0UseUIsQ0FDRSwwQixBQUdKLHlDQUNFLHlCLENBQ0UsMkIsQUFHSix5Q0FDRSx5QixDQUNFLDJCLEFBR0osMENBQ0UseUIsQ0FDRSwyQkFTSixxQixDQUNFLGlELENBRUYsMkIsQ0FDRSxXLENBSUYsNEIsQ0FDQSx5QyxDQUNFLFcsQ0FJRiw0QixDQUNFLGdCLENBQ0Esb0IsQ0FDQSxrQixDQUNBLGtCLENBQ0EsYSxDQUNBLCtCLENBQ0EsK0MsQ0FDQSw2QyxDQUlGLG9DLENBQ0UsUyxDQUNBLFUsQ0FJRiwyQixDQW1CQSxrQyxDQU1FLDRDLENBQ0Esd0IsQ0ExQkYsMkIsQ0FHRSxjLENBRkEsZSxDQUNBLFMsQ0FLRix5QyxDQUNFLGlDLENBdUlGLHdDLENBREEseUMsQ0FwSUEsa0MsQ0FtQkEseUMsQ0FnY0EsK0IsQ0FEQSxnQyxDQWpkRSxZLENBUUYsa0MsQ0FDRSxvQixDQUNBLGlCLENBQ0EsSyxDQUNBLE0sQ0FDQSxlLENBVUYseUMsQ0FDRSxlLENBQ0EsUyxDQUNBLGMsQ0FDQSw0QyxDQUNBLFcsQ0FDQSx3QixDQVFGLG1CLENBQ0UsYyxDQUNBLG9CLENBQ0EsYSxDQUVGLGtDLENBQ0Usb0IsQ0FDQSx1QixDQUVGLHlCLENBQ0UsZSxDQUVGLHlCLENBQ0UsVyxDQUNBLHNCLENBQ0EsMEIsQ0FjRiwrQixDQUNFLGMsQ0FDQSxlLENBQ0EscUIsQ0FDQSxlLENBQ0EsVSxDQVNGLDhCLENBQ0UsMEIsQ0FDQSxxQixDQUNBLFUsQ0FPRiwyQixDQUNFLG9CLENBRUYscUMsQ0FDRSxvQyxDQWVGLGlDLENBYkEsa0MsQ0FjRSxpQixDQUNBLFUsQ0FDQSxPLENBQ0EsUSxDQUdBLG9DLENBQ0Esa0IsQ0FDQSxtQixDQUtBLG9CLENBM0JGLGtDLENBV0UsZ0MsQ0FFRixpQyxDQUtFLGdDLENBTUEsa0MsQ0FDQSxrQyxDQUlBLDRDLENBQ0Esa0IsQ0FDQSxpQixDQXdCRix5QkFBd0IsYyxDQUR4QixpQkFBZ0Isc0IsQ0FFZCwyQixDQUdGLHlCQUF3QiwwQixDQUR4QixpQkFBZ0Isa0MsQ0FFZCwyQixDQU1GLDBCLENBQ0UsZSxDQUlGLDBCLENBQ0UsYSxDQUNBLGlCLENBQ0EsVSxDQUVGLDBCLENBQ0UsZ0IsQ0FDQSxvQixDQUVGLGdDLENBQ0UsbUIsQ0FDQSxvQixDQVNGLGlDLENBREEscUIsQ0FFRSwwQixDQUNBLHFCLENBU0YsMkIsQ0FDRSxpQixDQUVGLDJCLENBQ0Usc0IsQ0FRRixrQixDQUVBLGdDLENBREEsd0IsQ0FFRSxhLENBR0YsNEIsQ0FDRSxrQixDQUNBLG9CLENBTUYsd0IsQ0FDQSw4QixDQU1BLDRDLENBWEEsa0MsQ0FDRSxvQixDQU9GLDhCLENBQ0UsYSxDQU9GLG9DLENBQ0Usd0IsQ0FJRixxQyxDQUNFLHdCLENBUUYsaUMsQ0FDRSxVLENBQ0EsMkIsQ0FFRix1QyxDQUNFLFMsQ0FTRixxQixDQUNBLGlDLENBQ0UsYyxDQUNBLG1CLENBQ0EsVyxDQWFGLGtCLENBQ0UsTSxDQU1GLDhCLENBREEsOEIsQ0FFRSxtQixDQUNBLG9CLENBQ0Esb0MsQ0FJRix1QixDQUNFLG1CLENBQ0EsaUIsQ0FJRiw2QixDQURBLDZCLENBRUUsUyxDQUNBLFUsQ0FDQSw0QixDQUNBLG9DLENBR0Ysc0MsQ0FDQSw0QyxDQU9FLFUsQ0FDQSxVLENBQ0EsUSxDQUVGLDRDLENBQ0Esa0QsQ0FDRSxlLENBQ0EsYyxDQVNGLHlCLENBQ0UsUSxDQUNBLFcsQ0FDQSxvQyxDQUNBLDJDLENBSUYseUIsQ0FDRSxrQixDQUNBLGtCLENBSUYsaUMsQ0FDQSxnQyxDQUNFLHFELENBRUYsK0JBQThCLFMsTUFBZSxpQixDQUMzQywyQyxDQUlGLG1DLENBQ0UsOEIsQ0FDQSwrQixDQUNBLHVDLENBRUYsbUMsQ0FDRSxvQyxDQUlGLG9DLENBS0EscUMsQ0FKRSxxRCxDQUlGLHFDLENBQ0Usb0MsQ0FLRiwwQyxDQUNFLG9DLENBRUYsZ0QsQ0FDRSx1QyxDQVNGLDRCLENBQ0UsaUIsQ0FhRiw0QixDQVRBLDRCLENBV0UsZSxDQUtBLHdCLENBQ0Esb0IsQ0FqQkYsNEIsQ0FDRSxpQixDQUVBLDBCLENBQ0EsZ0MsQ0FLRiw0QixDQUNFLGUsQ0FFQSxRLENBQ0EseUIsQ0FDQSx5QixDQUNBLGtCLENBR0EsdUMsQ0FHRiw0QyxDQURBLDRDLENBRUUsZSxDQUdGLDhDLENBREEsOEMsQ0FFRSxlLENBRUYsNEMsQ0FDQSwwQyxDQUNFLGEsQ0FJRix3Q0FFRSw0QixDQURBLDRCLENBRUUsNkIsQUFHSix5Q0FFRSw0QixDQURBLDRCLENBRUUsMkIsQUFHSix5Q0FFRSw0QixDQURBLDRCLENBRUUsMkIsQUFHSix5Q0FFRSw0QixDQURBLDRCLENBRUUsMkIsQUFHSiwwQ0FFRSw0QixDQURBLDRCLENBRUUsMkJBY0oseUIsQ0FDRSxpQixDQUNBLGEsQ0FDQSxlLENBQ0EscUIsQ0FDQSxTLENBQ0EsTyxDQUNBLFEsQ0FDQSwyQixDQUdGLDBCLENBQ0EseUIsQ0FDRSxxQyxDQUNBLHNDLENBR0YsZ0MsQ0FDQSwrQixDQUNFLGdCLENBQ0EsVSxDQUNBLFcsQ0FDQSxrQixDQUNBLFMsQ0FHRixpRCxDQURBLDRDLENBRUUsZ0IsQ0FDQSxVLENBQ0EsVyxDQUNBLGUsQ0FDQSxtQixDQUNBLFMsQ0FFRix3QyxDQUNFLFksQ0FDQSxRLENBQ0EsTyxDQUNBLGUsQ0FJRixpQyxDQUNFLGEsQ0FPRixrQixDQUNFLGEsQ0FDQSxVLENBQ0EsVyxDQUVGLGlDLENBQ0UsVyxDQVFGLDJCLENBQ0UsTSxDQUNBLFUsQ0FDQSxtRixDQUNBLG9DLENBRUYsMkIsQ0FDRSx5QixDQUNBLG9DLENBT0YsMkIsQ0FDRSxRLENBQ0EsdUIsQ0FDQSwwQixDQUdGLGlDLENBQ0UsYSxDQUNBLGlCLENBQ0EsbUIsQ0FDQSxVLENBQ0Esa0IsQ0FDQSx1QixDQUVBLFUsQ0FDQSxXLENBQ0EsMkMsQ0FDQSxlLENBQ0EsUyxDQUlBLFUsQ0FDQSxRLENBQ0EsbUIsQ0FJRixvQyxDQVFFLFEsQ0FDQSxXLENBQ0EsTSxDQUNBLFUsQ0FDQSxjLENBRUYsMEMsQ0FDRSxVLENBQ0EsUSxDQUNBLFUsQ0FDQSxRLENBQ0EsdUIsQ0FHRixxQyxDQUNFLFEsQ0FDQSxXLENBQ0EsTyxDQUNBLFMsQ0FDQSxjLENBRUYsMEMsQ0FDQSwyQyxDQUNFLFUsQ0FDQSxtQixDQUNBLG1CLENBQ0EsUSxDQUNBLHVCLENBSUYsZ0MsQ0FDRSxLLENBQ0EsUyxDQUNBLFUsQ0FDQSxnQixDQUVGLHNDLENBQ0UsTyxDQUNBLFcsQ0FDQSxRLENBQ0Esd0IsQ0FFRixhQUFZLEksTUFBVSxxQyxDQUNwQixtQixDQUNBLG9CLENBQ0EsZ0IsQ0FFRixhQUFZLEksTUFBVSwyQyxDQUNwQixPLENBQ0EsUyxDQUNBLFksQ0FDQSxRLENBQ0Esd0IsQ0FLRixpQyxDQUNFLEssQ0FDQSxTLENBQ0EsVSxDQUNBLGdCLENBRUYsdUMsQ0FDRSxPLENBQ0EsUyxDQUNBLFksQ0FDQSxRLENBQ0Esd0IsQ0FJRixrQyxDQUNFLFEsQ0FDQSxXLENBQ0EsTSxDQUNBLFUsQ0FDQSxjLENBRUYsd0MsQ0FDRSxRLENBQ0EsYSxDQUNBLFUsQ0FDQSxRLENBQ0EseUIsQ0FHRix3QyxDQUNFLGtCLENBQ0Esa0IsQ0FJRix1QyxDQUNFLE0sQ0FDQSxVLENBRUYsNkMsQ0FDRSxRLENBQ0EsVSxDQUlGLHdDLENBQ0UsTyxDQUNBLFMsQ0FFRiw4QyxDQUNFLFMsQ0FDQSxTLENBSUYsa0MsQ0FDQSxzQyxDQUNFLGtCLENBQ0EscUIsQ0FDQSx1QixDQUNBLDBCLENBRUYsd0MsQ0FDQSw0QyxDQUNFLGtCLENBQ0EscUIsQ0FDQSx5QyxDQUNBLGlCLENBSUYsdUNBQXNDLEksTUFBVSxjLENBQzlDLGtCLENBQ0Esa0IsQ0FDQSxnQixDQWdCRixzQ0FBcUMsSSxNQUFVLG9CLENBZC9DLHVDQUFzQyxJLE1BQVUsb0IsQ0FDOUMsa0IsQ0FDQSxrQixDQUNBLGMsQ0FDQSwyQyxDQUtGLHNDQUFxQyxJLE1BQVUsYyxDQUM3QyxrQixDQUNBLGtCLENBQ0EsZ0IsQ0MvM0NGLFdBQ0Usc0IsQ0FDQSxvM0QsQ0FHQSxlLENBQ0Esa0JBR0YsMkIsQ0FDRSxzQixDQUNBLGEsQ0FDQSxVLENBRUEsMEIsQ0FDQSxlLENBQ0EsaUIsQ0FDQSxpQixDQUlBLFUsQ0FFRixrQyxDQUNFLGUsQ0FJRiw4QyxDQUNFLGUsQ0FHRiw2QyxDQUNBLG1ELENBQ0UsZSxDQUlGLHNELENBQ0UsZSxDQUdGLCtCLENBQ0UsZTs7Ozs7Ozs7OztBQ3hCRixTLENBRUUsaUIsQ0FDQSxjLENBQ0EsUSxDQUNBLGUsQ0FDQSxrQixDQUNBLHFCLENBUUYsZSxDQURBLGdCLENBRUEsZ0IsQ0FDRSxpQixDQUNBLFEsQ0FDQSxVLENBQ0EsVyxDQUNBLEssQ0FDQSxNLENBQ0EsUSxDQUNBLFMsQ0FxRkYsc0IsQ0FDQSw2QixDQS9FQSxnQixDQUNFLFksQ0FPRixzQixDQUVFLGMsQ0FHQSxhLENBR0EsZ0UsQ0FPRixlLENBU0EscUIsQ0F4QkEsc0IsQ0F5QkUsaUIsQ0FDQSxLLENBQ0EsTSxDQUNBLFUsQ0FDQSxXLENBZEYsZSxDQUNFLGMsQ0FNQSxTLENBRUYscUIsQ0FNRSxTLENBQ0EsVSxDQUNBLDBELENBQ0EsVSxDQUNBLDJCLENBRUYsc0IsQ0FDRSxpQixDQUNBLE8sQ0FDQSxRLENBRUEsMkMsQ0FFQSxVLENBQ0EsYyxDQUNBLHdDLENBQ0EsMEMsQ0FDQSxVLENBV0YsMkIsQ0FDRSwwRCxDQUNBLFMsQ0FFRiw0QixDQUNFLFUsQ0FXRix1QixDQUNFLGEsQ0FVRixnQixDQUNFLG1CLENBRUYsdUIsQ0FDRSxrQixDQUVGLHdCLENBQ0UscUIsQ0FFRix3QixDQUNFLDJCOzs7Ozs7Ozs7O0FDdElGLFMsQ0FDRSxpQixDQUNBLFksQ0FDQSxZLENBQ0EsZSxDQUVBLGUsQ0FDQSxRLENBQ0EsdUUsQ0FDQSx3QixDQUVBLGEsQ0FFQSwwQixDQUNBLGdCLENBQ0EsNkMsQ0FJRiw2QixDQURBLDJCQUE0QixNLENBRTFCLG1DLENBQ0Esb0MsQ0FHRixxQixDQUNFLHNDLENBQ0EsdUMsQ0FXRixnQixDQUNFLGMsQ0FDQSxpQixDQUNBLFcsQ0FDQSxhLENBQ0EsUyxDQUVBLFUsQ0FDQSxnQixDQUNBLFUsQ0FFQSxhLENBQ0EsYyxDQUNBLG1CLENBRUYsc0IsQ0FDRSxTLENBT0YsaUIsQ0FDRSxhLENBQ0EsNEksQ0FDQSxlLENBQ0EsUSxDQUNBLHNCLENBQ0EsZSxDQUVBLHFCLENBQ0EsMEMsQ0FFRixzQkFBdUIsSSxDQUNyQix1QixDQUNBLHdCLENBQ0EsZSxDQU9GLGtCLENBQ0UsYSxDQUNBLFUsQ0FDQSxhLENBQ0EsZSxDQUNBLGMsQ0FDQSxlLENBRUYsd0IsQ0FDRSxZLENBQ0Esa0IsQ0FJRix5QixDQUNFLGEsQ0FDQSxhLENBQ0EsUSxDQUNBLGMsQ0FFRixnQyxDQUNFLGMsQ0FFRixtQyxDQUNFLGlCLENBRUYsNEIsQ0FDRSxrQixDQUlGLCtCLENBQ0UsYSxDQUNBLGEsQ0FDQSxXLENBQ0EsYyxDQUdGLHFDLENBQ0Esc0MsQ0FDRSxhLENBQ0EsWSxDQUNBLFUsQ0FDQSxnQixDQUlGLGdDLENBQ0UsUSxDQUNBLFMsQ0FDQSxVLENBQ0EsYSxDQUNBLGMsQ0FPRixrQixDQUNFLGtCLENBQ0EsWSxDQUNBLHVDLENBQ0EsZ0IsQ0FFRiwwQixDQUNFLGlCLENBUUYseUNBQ0UsUyxDQUNFLFMsQ0FDQSxVLEFBR0oseUNBQ0UsUyxDQUNFLFMsQ0FDQSxVLEFBR0oseUNBQ0UsUyxDQUNFLFcsQ0FDQSxVLEFBR0osMENBQ0UsUyxDQUNFLFcsQ0FDQSxVLEFBR0osMENBQ0UsUyxDQUNFLFcsQ0FDQSxVLEFBS0oseUNBQ0UsaUIsQ0FDRSxxQixDQUVGLGdCLENBQ0UsYSxDQUNBLFUsQ0FDQSx1QixBQUtKLHlDQUVFLGlCLENBRUUsNEMsQ0FFRixrQixDQUNFLGEsQ0FDQSxzQixDQUVGLGdCLENBQ0UsbUIsQ0FDQSxxQixDQUlGLHdCLENBQ0UscUIsQ0FFRix5QixDQUNFLGEsQ0FDQSxjLENBQ0EsdUIsQ0FDQSxpQixDQUNBLDBCLENBRUYsZ0MsQ0FDRSxjLENBQ0EsaUIsQ0FJRiwrQixDQUNFLGEsQ0FDQSxvQixDQUNBLGtCLENBQ0Esd0IsQ0FDQSxlLENBSUYsa0IsQ0FDRSw2QixDQUdGLDBCLENBREEsMkIsQ0FFRSxvQkFRSiw2QixDQUNFLDBDLENBT0YsZSxDQUVFLFEsQ0FDQSxlLENBQ0EseUIsQ0FDQSxVLENBTEYsZSxDQVNBLHdCLENBREEsd0IsQ0FEQSx1QixDQUdFLDRCLENBRUYsdUIsQ0FDRSxVLENBRUYsc0IsQ0FDRSxRLENBQ0EsWSxDQUdGLGdDLENBQ0UscUIsQ0FFRiwyQyxDQUNFLHFCLENBSUYsZ0IsQ0FDQSxnQyxDQUNFLE8sQ0FDQSxRLENBR0YsMEMsQ0FDQSwwQyxDQUVBLHVDLENBREEsNEMsQ0FFRSxRLENBSUYseUNBQ0Usc0IsQ0FDRSxZQVNKLGlCLENBQ0UsYSxDQUNBLGlCLENBQ0EsVSxDQUdGLGdCLENBQ0UsYSxDQVlGLDJDLENBQ0UsZSxDQUVGLHlDQUNFLDJDLENBQ0Usa0JBSUosMkMsQ0FDRSxlLENBRUYseUNBQ0UsMkMsQ0FDRSxrQkFTSiwwQixDQUNFLGUsQ0FFRiwyQixDQUNFLDBCLENBT0EsYyxDQUxGLGtDLENBWUEscUMsQ0FYRSxhLENBQ0EsZ0MsQ0FLRixrQyxDQUNFLGdCLENBUUYsNkMsQ0FDRSxlLENBRUYsa0QsQ0FDRSxpQixDQUNBLFEsQ0FDQSx5QixDQUlGLDRCLENBQ0UsNEIsQ0FDQSxhLENBT0Ysb0IsQ0FDRSxtQixDQUNBLGUsQ0FFRiw0QixDQUNFLHFCLENBRUYsMkIsQ0FDRSxhLENBQ0EsVSxDQUNBLHFCLENBUUYsUyxDQUNFLGMsQ0FJRiwyQkFBNEIsSSxDQXFDNUIsNEJBQTZCLEksQ0FwQzNCLGUsQ0FJRix5Q0FDRSxjLENBQ0UsUyxDQUNBLFUsQUFHSix5Q0FDRSxjLENBQ0UsVyxDQUNBLFUsQUFHSix5Q0FDRSxjLENBQ0UsVyxDQUNBLFUsQUFHSiwwQ0FDRSxjLENBQ0UsVyxDQUNBLFUsQUFHSiwwQ0FDRSxjLENBQ0UsVyxDQUNBLFUsQUFVSix5Q0FDRSxjLENBQ0UsUyxDQUNBLFUsQUFHSix5Q0FDRSxjLENBQ0UsVyxDQUNBLFUsQUFHSix5Q0FDRSxjLENBQ0UsVyxDQUNBLFUsQUFHSiwwQ0FDRSxjLENBQ0UsVyxDQUNBLFUsQUFHSiwwQ0FDRSxjLENBQ0UsVyxDQUNBLFUsQUFVSix5Q0FDRSxlLENBQ0UsUyxDQUNBLFUsQUFHSix5Q0FDRSxlLENBQ0UsVyxDQUNBLFUsQUFHSix5Q0FDRSxlLENBQ0UsVyxDQUNBLFUsQUFHSiwwQ0FDRSxlLENBQ0UsVyxDQUNBLFUsQUFHSiwwQ0FDRSxlLENBQ0UsVyxDQUNBLFVBS0osdUIsQ0FDRSxlLENBRUYseUNBQ0UsZSxDQUNFLFMsQ0FDQSxVLEFBR0oseUNBQ0UsZSxDQUNFLFMsQ0FDQSxVLEFBR0oseUNBQ0UsZSxDQUNFLFksQ0FDQSxVLEFBR0osMENBQ0UsZSxDQUNFLFksQ0FDQSxVLEFBR0osMENBQ0UsZSxDQUNFLFksQ0FDQSxVOzs7Ozs7Ozs7O0FDampCSixPLENBQ0UsWSxDQUNBLFcsQ0FDQSxpQixDQUVBLEssQ0FDQSxNLENBQ0EsVyxDQUVBLFksQ0FDQSxVLENBRUEsUSxDQUNBLGlCLENBRUEsZSxDQUNBLHFDLENBRUEsYyxDQUNBLGlCLENBQ0EscUIsQ0FFQSwyQyxDQUNBLDhCLENBR0YsUSxDQUNFLGMsQ0FHRixjLENBQ0Usb0IsQ0FDQSxhLENBQ0EsVSxDQUlGLG1CLENBQ0UsYyxDQUNBLFUsQ0FFQSxpQixDQUNBLE8sQ0FDQSxTLENBRUEsYSxDQUVBLGdCLENBQ0EsVSxDQUNBLDJCLENBVUYsYSxDQUNFLGUsQ0FDQSxTLENBR0Ysb0IsQ0FDRSxTLENBYUYsZSxDQUNFLGlCLENBQ0EsYSxDQU9GLGEsQ0FDRSxjLENBUUYsYyxDQURBLGUsQ0FFRSwyQyxDQUNBLFEsQ0FDQSxRLENBUUYsZ0IsQ0FEQSxzQixDQUVFLHdCLENBQ0EscUIsQ0FJRix1QixDQUNBLHVCLENBSEEsNkIsQ0FDQSw2QixDQUdFLG9CLENBUUYsYSxDQUNFLHlCLENBRUYsd0IsQ0FDRSwyQyxDQUVGLCtCLENBQ0UsMkM7Ozs7Ozs7Ozs7QUNqSUYsUyxDQUNFLFksQ0FFQSxLLENBQ0EsTyxDQUdBLHFCLENBQ0EsWSxDQUVBLHdCLENBQ0Esb0IsQ0FDQSxlLENBR0Esa0IsQ0FDQSxlLENBQ0EsaUIsQ0FDQSxxQixDQUVBLDBCLENBQ0EseUUsQ0E0WEEsUSxDQTFYRixpQixDQUNFLFMsQ0FFQSw0SSxDQUNBLHNCLENBQ0EsZSxDQUNBLGUsQ0FFRiwwQixDQUNFLGdCLENBR0YsZ0IsQ0FDRSxpQixDQUtBLGUsQ0FnQkYsYyxDQUNFLGlCLENBMURGLFMsQ0E4RUEsb0IsQ0FoQkEscUIsQ0FtQkUsaUIsQ0FLQSxjLENBS0EsZSxDQXhERixnQixDQTJCQSxxQixDQUdFLFUsQ0FFQSxpQixDQUNBLGtCLENBR0EsdUIsQ0FHQSw4QixDQURBLFMsQ0FLRixvQixDQUVFLDBCLENBRUEsbUIsQ0FDQSxlLENBQ0Esa0IsQ0FJQSx3QixDQUNBLG9CLENBQ0EsYyxDQUdBLGtCLENBQ0EsZSxDQUNBLGlCLENBQ0EscUIsQ0FFQSwwQixDQUNBLHlFLENBQ0EsUyxDQUlGLG1CQUFrQix1QixDQUNoQixRLENBQ0EsVSxDQUNBLFcsQ0FDQSxRLENBQ0EsZSxDQUNBLHlCLENBQ0EsMEIsQ0FFRixtQkFBa0Isc0IsQ0FDaEIsUSxDQUNBLDBCLENBQ0EsVyxDQUNBLGtCLENBS0Ysb0IsQ0FEQSxxQixDQUVFLG1CLENBQ0EsaUIsQ0FFRixxQixDQUNFLFMsQ0FDQSwwQyxDQUNBLDJCLENBQ0EsdUIsQ0FJRixvQixDQUNFLFMsQ0FDQSw4QixDQUNBLHVCLENBS0YsMEIsQ0FEQSwyQixDQUVFLGtCLENBQ0EsbUIsQ0FFRiwyQixDQUNFLDBDLENBQ0EsUyxDQUlGLG9CLENBRUEsbUQsQ0FEQSxnRCxDQUVFLDZDLENBRUYsMEIsQ0FDQSx5RCxDQUNFLDZDLENBRUYsaUQsQ0FDQSxrRCxDQUNFLDZDLENBRUYsdUQsQ0FDQSx3RCxDQUNFLDZDLENBSUYsaUQsQ0FDQSxrRCxDQUhBLDhDLENBQ0EsK0MsQ0FHRSw0QixDQUlGLHVELENBQ0Esd0QsQ0FIQSxvRCxDQUNBLHFELENBR0UsNEIsQ0FTRixvQyxDQUNFLHlCLENBS0Esa0IsQ0FJRixtQyxDQUNFLGtCLENBQ0EsVSxDQUNBLFEsQ0FDQSxlLENBRUYsMkMsQ0FDRSxxQixDQUNBLFUsQ0FRRixnRCxDQUNFLFEsQ0FDQSxVLENBQ0EsUSxDQUNBLFcsQ0FDQSwwQixDQUNBLGtCLENBRUYsaUQsQ0FDRSxRLENBQ0EsVSxDQUNBLFcsQ0FDQSxRLENBQ0EsZSxDQUNBLHlCLENBQ0EsMEIsQ0FJRiw4QyxDQUNFLFEsQ0FDQSxVLENBQ0EsTSxDQUNBLFcsQ0FDQSxrQixDQUVGLCtDLENBQ0UsUSxDQUNBLFUsQ0FDQSxXLENBQ0EsUSxDQUNBLHlCLENBQ0EsMEIsQ0FJRiwrQyxDQUNFLFEsQ0FDQSxTLENBQ0EsTyxDQUNBLFcsQ0FDQSxrQixDQUVGLGdELENBQ0UsUSxDQUNBLFMsQ0FDQSxXLENBQ0EsUyxDQUNBLHlCLENBQ0EsMEIsQ0FLRixtRCxDQUNFLFcsQ0FDQSxVLENBQ0EsUSxDQUNBLFEsQ0FDQSwwQixDQUNBLGUsQ0FFRixvRCxDQUNFLFcsQ0FDQSxVLENBQ0EsUSxDQUNBLFEsQ0FDQSx5QixDQUNBLHVCLENBSUYsaUQsQ0FDRSxNLENBQ0EsUSxDQUNBLGUsQ0FFRixrRCxDQUNFLFcsQ0FDQSxVLENBQ0EsUSxDQUNBLFEsQ0FDQSx5QixDQUNBLHVCLENBSUYsa0QsQ0FDRSxPLENBQ0EsUSxDQUNBLGUsQ0FFRixtRCxDQUNFLFcsQ0FDQSxTLENBQ0EsUSxDQUNBLFMsQ0FDQSx5QixDQUNBLHVCLENBSUYsaUQsQ0FDRSxVLENBQ0EsTyxDQUNBLGlCLENBQ0EsMEIsQ0FFRixrRCxDQUNFLFUsQ0FDQSxPLENBQ0Esd0IsQ0FDQSwwQixDQUlGLGtELENBQ0UsUyxDQUNBLE8sQ0FDQSxnQixDQUNBLDBCLENBRUYsbUQsQ0FDRSxTLENBQ0EsTyxDQUNBLHdCLENBQ0Esd0IsQ0FJRiw0QyxDQUNFLGUsQ0FDQSxnQyxDQUVGLGtELENBQ0UsZSxDQUNBLCtCLENBRUYsbUQsQ0FDRSxlLENBQ0EsK0IsQ0FFRix5QyxDQUNFLGUsQ0FJRiwyRCxDQUNFLGtCLENBQ0EsZ0MsQ0FFRixpRSxDQUNFLGtCLENBQ0EsK0IsQ0FFRixrRSxDQUNFLGtCLENBQ0EsK0IsQ0FFRix3RCxDQUNFLGtCLENBR0YsNEMsQ0FDRSw4QixDQUVGLDJDLENBQ0UsMkIsQ0FFRixrRCxDQUNFLDJCLENBRUYsaUQsQ0FHQSxtRCxDQUZFLDZCLENBS0Ysa0QsQ0FDRSw0QixDQVlGLGEsQ0FDRSxzQixDQUVGLGtCLENBQ0UsNEIsQ0FFRixvQixDQUNFLDhCLENBRUYsbUIsQ0FDRSw2QixDQUlGLHFCLENBQ0Usd0IsQ0FDQSwwQixDQUVGLHNCLENBQ0Usd0IsQ0FDQSx5QixDQUlGLGdCLENBQ0Usc0IsQ0FFRixxQixDQUNFLHlCLENBRUYsdUIsQ0FDRSwyQixDQUVGLHNCLENBQ0UsMEIsQ0FRRiw4QixDQWFBLDRCLENBYUEsNkIsQ0F6QkUsd0IsQ0FDQSxnQixDQUNBLFEsQ0FDQSxVLENBQ0EsVyxDQUNBLGdDLENBR0YscUIsQ0FDRSxhLENBR0YsNEIsQ0FhQSw2QixDQVhFLFEsQ0FHQSxhLENBSUYsc0IsQ0FDRSxjLENBR0YsNkIsQ0FFRSxTLENBRUEsUyxDQU1GLDJCLENBQ0UsUSxDQUNBLFUsQ0FDQSxtQixDQUNBLFEsQ0FDQSx3QixDQUVGLGtCLENBQ0UsYSxDQUdGLHlCLENBV0EsMEIsQ0FWRSxtQixDQUNBLFEsQ0FDQSxRLENBQ0EsVSxDQUNBLGEsQ0FFRixtQixDQUNFLGMsQ0FHRiwwQixDQUVFLFMsQ0FFQSxTLENBTUYsNEIsQ0FXQSw2QixDQVZFLE8sQ0FDQSxrQixDQUNBLFcsQ0FDQSxTLENBQ0EsdUIsQ0FDQSwrQixDQUtGLDZCLENBRUUsaUIsQ0FFQSxVLENBRUEsK0IsQ0FJRix1QixDQUlBLDRCLENBREEsNkIsQ0FJQSxvQixDQU5FLGUsQ0FXRixnQyxDQUlBLHFDLENBREEsc0MsQ0FJQSw2QixDQU5FLGtCLENBZ0JGLHVCQUF3QixRLENBQ3RCLDBCLENBQ0Esc0IsQ0FPRixpQixDQUNFLGEsQ0FDQSxpQixDQUNBLFUsQ0FHRixtQixDQUNBLGlCLENBQ0UsYSxDQUdGLGlCLENBQ0UsdUIsQ0FDQSwwQixDQVlGLHNCLENBQ0UsWSxDQVFGLGMsQ0FDRSxlLENBRUYsNkIsQ0FDRSxlLENBR0YseUNBQ0UsYyxDQUNBLDZCLENBQ0UsaUJBU0osZSxDQUNFLFUsQ0FDQSxjLENBU0Ysa0IsQ0FDRSxrQixDQUNBLFUsQ0FDQSxRLENBQ0EsZSxDQUVGLDBCLENBQ0UscUIsQ0FDQSxVLENBRUYseUIsQ0FDRSx3QixDQUNBLHlCLENBT0YsaUIsQ0FDRSxjLENBUUYsYyxDQUNFLHNCLENBRUYsYyxDQUNFLHNCLENBRUYsZSxDQUNFLHNCLENBS0YsZSxDQUNFLHVCLENBRUYsYyxDQUNFLHVCOzs7Ozs7Ozs7O0FDMWNGLDJCQUNFLEUsQ0FDRSxVLENBQ0EsTyxDQUlGLEUsQ0FDRSxTLENBQ0EsWUExT0osWSxDQUNFLGlCLENBQ0EsYSxDQUNBLGMsQ0FDQSxRLENBQ0Esa0IsQ0FDQSxlLENBQ0EseUIsQ0FDQSxTLENBQ0EsMEIsQ0FpY0EsYyxDQTliRix3QixDQUNFLGdCLENBRUYsdUIsQ0FDRSxnQixDQVFGLGlCLENBQ0UsYSxDQUNBLGEsQ0FDQSxpQixDQUNBLFEsQ0FDQSxhLENBQ0EsZSxDQUNBLDBCLENBQ0EsbUQsQ0FJRiwyQixDQWlCQSxtQixDQUNFLGlCLENBTUEsVyxDQUVBLGUsQ0FDQSxnQixDQTNCRiwyQixDQUNFLGtCLENBRUEsVSxDQUNBLHFCLENBQ0EsTyxDQUNBLFUsQ0FDQSxTLENBRUEsMEIsQ0FFQSxnQixDQUVBLGUsQ0FJRixtQixDQUVFLFUsQ0FDQSxhLENBQ0EsUSxDQUNBLFUsQ0FDQSxNLENBRUEscUIsQ0FHQSxlLENBQ0EsaUIsQ0FDQSx5QixDQVVGLCtDLENBQ0EsK0MsQ0FDRSx3QixDQUVGLCtDLENBQ0Usd0IsQ0FFRiwrQyxDQUNBLCtDLENBQ0Usd0IsQ0FFRiwrQyxDQUNFLHdCLENBRUYsK0MsQ0FDQSwrQyxDQUNFLHdCLENBR0YsaUQsQ0FEQSwrQyxDQUVFLHdCLENBSUYsaUQsQ0FtQkEsbUQsQ0FsQkEsaUQsQ0FHQSxpRCxDQUdBLGlELENBQ0EsaUQsQ0FHQSxpRCxDQUdBLGlELENBQ0EsaUQsQ0FHQSxpRCxDQWhCRSxxQixDQXNCRiw4QyxDQUNBLDhDLENBQ0EsOEMsQ0FDQSw4QyxDQUNBLDhDLENBQ0EsOEMsQ0FDQSw4QyxDQUNBLDhDLENBQ0EsOEMsQ0FDRSx3QixDQUVGLGdELENBQ0EsZ0QsQ0FDQSxnRCxDQUNBLGdELENBQ0EsZ0QsQ0FDQSxnRCxDQUNBLGdELENBQ0EsZ0QsQ0FDQSxnRCxDQUNFLHFCLENBaUJGLHlCLENBQ0Usa0MsQ0FJQSx3QixDQWxCRixzQyxDQW9CQSwyQixDQUNFLGEsQ0FPRix5QixDQUNFLGtDLENBSUEsd0IsQ0FoQkYsZ0MsQ0FlQSxnQyxDQUNFLHdCLENBRUYsMkIsQ0FDRSxhLENBT0YsdUIsQ0FDRSxrQyxDQURGLHVCLENBSUEsOEIsQ0FDRSx3QixDQUVGLHlCLENBQ0UsYSxDQU9GLHdCLENBQ0UsaUIsQ0FDQSxhLENBRUYsK0IsQ0FDRSxVLENBQ0EsUyxDQUVBLGlCLENBQ0EsSyxDQUNBLE0sQ0FDQSxPLENBQ0EsUSxDQUNBLGUsQ0FFQSwwQixDQUVBLDBDLENBbUJGLHFCLENBQ0UsVyxDQUVGLDBCLENBQ0EsaUMsQ0FDRSx3QixDQWFGLHFCLENBQ0UsZ0MsQ0FDQSxRLENBRUYsMEIsQ0FDRSxlLENBRUYsb0MsQ0FDRSxhLENBRUYsNEIsQ0FDRSxVLENBRUYsb0MsQ0FDRSxhLENBRUYsb0MsQ0FDRSxhLENBRUYsa0MsQ0FDRSxhLENBUUYscUIsQ0FPQSwwQixDQUNFLGEsQ0FDQSxZLENBQ0EsUyxDQUNBLGUsQ0FDQSwyQyxDQVpGLHFCLENBQ0UsYyxDQUNBLGlCLENBQ0EsUSxDQUNBLFEsQ0FHRiwwQixDQVFFLGUsQ0FJRix5QixDQUNBLDhCLENBQ0UsSyxDQUNBLDJDLENBRUYsOEIsQ0FDRSxlLENBS0YsOEIsQ0FEQSxpQyxDQUVFLGlCLENBQ0EsUSxDQUNBLE0sQ0FDQSxXLENBQ0EsVSxDQUdGLHFDLENBREEsd0MsQ0FFRSxRLENBQ0EsVyxDQVFGLHFCLENBQ0Usd0IsQ0FFRiw4QixDQUNFLHdCLENBSUYsd0IsQ0FDRSx3QixDQUVGLGlDLENBQ0Usd0IsQ0FJRix3QixDQUNFLHdCLENBRUYsaUMsQ0FDRSx3QixDQUlGLHVCLENBQ0Usd0IsQ0FFRixnQyxDQUNFLHdCLENBSUYsdUIsQ0FDRSx3QixDQUVGLGdDLENBQ0Usd0IsQ0FJRixzQixDQUNFLHdCLENBRUYsK0IsQ0FDRSx3QixDQUlGLHNCLENBQ0Usd0IsQ0FFRiwrQixDQUNFLHdCLENBSUYsd0IsQ0FDRSx3QixDQUVGLGlDLENBQ0Usd0IsQ0FJRix3QixDQUNFLHdCLENBRUYsaUMsQ0FDRSx3QixDQUlGLHNCLENBQ0Usd0IsQ0FFRiwrQixDQUNFLHdCLENBSUYsdUIsQ0FDRSx3QixDQUVGLGdDLENBQ0Usd0IsQ0FJRixzQixDQUNFLHdCLENBRUYsK0IsQ0FDRSx3QixDQUlGLHVCLENBQ0Usd0IsQ0FFRixnQyxDQUNFLHdCLENBT0YsaUIsQ0FDRSxzQixDQUVGLHNCLENBQ0UsVyxDQUdGLGtCLENBQ0Usc0IsQ0FFRix1QixDQUNFLFUsQ0FNRixpQixDQUNFLGEsQ0FHRixrQixDQUNFLHVCLENBRUYsdUIsQ0FDRSxZLENBR0YsZ0IsQ0FDRSx1QixDQUVGLHFCLENBQ0UsWTs7Ozs7Ozs7OztBQzNkRixVLENBQ0UsbUIsQ0FDQSxrQixDQUNBLHVCLENBc0pBLGMsQ0FwSkYscUIsQ0FDRSxjLENBSUYsZ0IsQ0FDRSxTLENBQ0EsUSxDQUlBLGEsQ0FDQSxjLENBQ0EsWSxDQUNBLFcsQ0FDQSxtRixDQWVBLGMsQ0FDQSxxQixDQUlGLHVCLENBQ0UsYyxDQUNBLHFCLENBSUYseUIsQ0FDQSxnQyxDQUNFLGMsQ0FDQSxxQixDQXFDRixzQixDQTVCQSxxQixDQUNFLFksQ0FDQSxXLENBQ0EsYyxDQUNBLHFCLENBQ0EsZ0IsQ0FJRiw0QixDQUNFLHdCLENBQ0EsdUIsQ0FDQSx1RixDQUlGLDhCLENBQ0EscUMsQ0FDRSx3QixDQUNBLG9CLENBQ0EsdUYsQ0FRRixzQixDQUNFLFcsQ0FJQSwwQixDQUlGLDZCLENBQ0Usd0IsQ0FDQSx1QixDQUNBLHVGLENBSUYsK0IsQ0FDQSxzQyxDQUNFLHdCLENBQ0EsdUIsQ0FDQSx1RixDQWFGLHlCLENBQ0UsYyxDQWFGLHlCLENBSkEsZ0MsQ0FHQSxrQyxDQUZFLFMsQ0FhRixlLENBQ0Usc0IsQ0FFRixlLENBQ0Usc0IsQ0FFRixnQixDQUNFLHNCLENBS0YsZ0IsQ0FDRSx1QixDQUVGLGUsQ0FDRSx1QixDQUVGLGtCLENBQ0UsYyxDQ3RMRixXQUNFLG9CLENBQ0Esa3BlLENBSUEsZSxDQUNBLGtCQUVGLGdCLENBQ0Usb0IsQ0FDQSxhLENBQ0EsMEIsQ0FDQSxlLENBQ0EsaUIsQ0FDQSxpQixDQVFGLDhCLENBSkEsdUIsQ0FpQkEsbUMsQ0FKQSw0QixDQVlBLDZCLENBeEJFLGUsQ0FxQkYsb0MsQ0FDRSxlLENBbUJGLG9DLENBSkEsNkIsQ0FDRSxlOzs7Ozs7Ozs7O0FDdENGLFUsQ0FDRSxpQixDQTZZQSxhLENBMVlGLGtCLENBQ0UsUSxDQUNBLFMsQ0FDQSx1QixDQUNBLHVDLENBRUEsZ0IsQ0FDQSxpQixDQUNBLGUsQ0FFQSx3QixDQUNBLHVCLENBQ0EsYSxDQUVBLGUsQ0FDQSxtQyxDQUNBLHFCLENBQ0Esb0MsQ0FDQSw2RixDQUdGLGtCLENBQ0Usb0IsQ0FRRiwrQixDQUNFLGMsQ0FPRixtQixDQUNFLFksQ0FFQSxpQixDQUNBLFEsQ0FDQSxNLENBQ0EsMkIsQ0FDQSxrQixDQUNBLGUsQ0FDQSxtQixDQUVBLGUsQ0FFQSxlLENBQ0EsVSxDQUVBLDBCLENBQ0EseUUsQ0FDQSx3QixDQUNBLFcsQ0FFRixnQyxDQUNFLDJDLENBRUYsK0IsQ0FDRSwyQyxDQU9GLDJCLENBQ0UsYyxDQUNBLGEsQ0FDQSxlLENBQ0EsYSxDQUNBLGdDLENBQ0EscUIsQ0FDQSxnQixDQUNBLHlDLENBRUYsc0MsQ0FDRSw0QixDQUlGLGtDLENBQ0UsVyxDQUNBLGUsQ0FDQSxjLENBQ0EsUyxDQUNBLFUsQ0FDQSxtQixDQUVGLHNDLENBQ0UsYSxDQUNBLFUsQ0FDQSxXLENBT0YsMkMsQ0FDRSxnQixDQUdGLGtDLENBQ0UsdUIsQ0FDQSw0SSxDQUNBLGUsQ0FDQSxhLENBQ0EscUIsQ0FFRix3QyxDQUNFLFksQ0FDQSxxQixDQUNBLG9CLENBRUYsa0MsQ0FDRSxXLENBQ0EsYSxDQU9GLDRCLENBQ0UsVyxDQUVGLG9DLENBQ0UsNEksQ0FDQSxjLENBQ0EsZSxDQUNBLHFCLENBRUYseUMsQ0FDRSxpQixDQUNBLGEsQ0FDQSxxQixDQUlGLDJCLENBQ0UsYSxDQUNBLGUsQ0FDQSxrQixDQUNBLHVCLENBQ0EscUIsQ0FDQSxlLENBQ0EsaUIsQ0FZRix3QixDQUNFLCtCLENBQ0EsZSxDQUNBLHFCLENBb0JGLHNDLENBYkEsdUMsQ0FjRSxpQixDQUNBLFUsQ0FDQSxPLENBQ0EsUSxDQUVBLG9DLENBQ0Esa0IsQ0FDQSxtQixDQUtBLG9CLENBMUJGLHVDLENBV0UsZ0MsQ0FFRixzQyxDQVVFLGdDLENBQ0Esa0MsQ0FJQSw0QyxDQUNBLGtCLENBQ0EsaUIsQ0FFQSxnQyxDQVNGLG9ELENBREEsaUMsQ0FFRSxrQixDQUVGLHdCLENBQ0Usa0IsQ0FPRiw2QyxDQUNFLGtCLENBRUYsbUQsQ0FDRSxxQixDQUlGLHFELENBREEsa0MsQ0FFRSxpQixDQUNBLG1DLENBQ0Esa0IsQ0FDQSxlLENBS0YsK0MsQ0FIQSx5QyxDQUNFLHFCLENBV0YsbUIsQ0FDRSxjLENBQ0EsbUIsQ0FDQSxXLENBWUYsNEIsQ0FDRSwwQixDQUlGLDZDLENBQ0UsbUIsQ0FDQSxpQixDQUNBLFMsQ0FDQSxTLENBQ0EsUSxDQUNBLEssQ0FDQSxPLENBQ0EsMEMsQ0FFRixvRCxDQUNFLGMsQ0FDQSxVLENBQ0EsbUIsQ0FFRixxQ0FBc0Msd0MsQ0FDcEMsZSxDQUVGLG1ELENBQ0UsUyxDQUNBLGEsQ0FRRiw0QixDQUNFLFUsQ0FHRixzQyxDQUNBLG9DLENBQ0UsYSxDQUlGLHNDLENBQ0UsaUIsQ0FDQSxrQixDQUNBLGUsQ0FDQSxvRCxDQUlGLGlELENBQ0Usa0IsQ0FJRixnRSxDQUNFLGdDLENBRUYsb0UsQ0FDRSxnQyxDQUlGLDRDLENBQ0Usa0IsQ0FDQSxzQixDQUNBLFcsQ0FDQSxrQixDQUNBLGMsQ0FDQSw0SSxDQUNBLGEsQ0FDQSxnQixDQUNBLGUsQ0FDQSxvQixDQUNBLHlDLENBSUYsK0MsQ0FDRSxrQixDQUNBLGUsQ0FDQSx3QyxDQUNBLHlDLENBRUYsOEMsQ0FDRSx5QyxDQUNBLG9ELENBQ0EsZ0MsQ0FXRiwwQyxDQUNFLFUsQ0FDQSxNLENBRUYsMkMsQ0FDRSxPLENBQ0EsUyxDQU9GLHlCLENBQ0UsVSxDQVFGLGUsQ0FDRSxxQixDQUVGLGdCLENBQ0UscUIsQ0FLRixnQixDQUNFLHNCLENBRUYsYyxDQUNFLHNCLENBRUYsZSxDQUNFLHNCLENBRUYsa0IsQ0FDRSxzQixDQU9GLHlDQUNFLG1CLENBQ0UsOEI7Ozs7Ozs7Ozs7QUNsYUosUyxDQUNFLGlCLENBQ0Esa0IsQ0FDQSxvQixDQUNBLGtCLENBQ0Esc0csQ0FHRixnQixDQUNFLDJCLENBR0YsZSxDQUNFLFMsQ0FDQSxVLENBRUEsa0IsQ0FDQSwwQixDQUlBLFksQ0FHRixpQixDQUNFLHFDLENBT0Ysb0IsQ0FDRSxjLENBQ0EsVyxDQUVBLFcsQ0FFQSx3QixDQUNBLHFCLENBQ0EsaUMsQ0FFRiw2QixDQUNFLFUsQ0FDQSxXLENBQ0EsYSxDQUVBLGlCLENBQ0EsZ0IsQ0FFRixpQyxDQUNFLGtCLENBQ0EscUIsQ0FDQSxhLENBT0YsK0IsQ0FDRSxlLENBRUYsb0IsQ0FDRSxrQixDQUVGLHNCLENBQ0Usa0IsQ0FZRixpQixDQUNFLGlCLENBQ0EsVyxDQUNBLFksQ0FRRix5QixDQUNFLGlCLENBQ0EsSyxDQUNBLE0sQ0FDQSxhLENBQ0EsVyxDQUVGLHNCLENBQ0UsVSxDQVFGLDBCLENBQ0UsaUIsQ0FHQSxzRyxDQUVGLHlCLENBQ0Usa0MsQ0FPRixzQixDQUNFLGE7Ozs7Ozs7Ozs7QUN4SEYsVyxDQUNFLGMsQ0FDQSxLLENBQ0EsTSxDQUdBLGUsQ0FDQSxxQixDQUNBLDRCLENBQ0EsaUIsQ0FDQSxnQyxDQUVBLHFCLENBQ0EsZSxDQUNBLHlCLENBQ0Esa0IsQ0FDQSx5QixDQUNBLFcsQ0FqQkYsVyxDQXFCQSxhLENBQ0UsMEIsQ0FRRixnQixDQUNFLFUsQ0FDQSxNLENBQ0EsZ0MsQ0FFRixpQixDQUNFLGlCLENBQ0EsbUIsQ0FDQSxnQyxDQUlGLGtCLENBREEsZSxDQUVFLG9CLENBQ0EscUIsQ0FFRixlLENBQ0UsZSxDQUNBLHFCLENBQ0EsZ0MsQ0FFRixrQixDQUNFLGtCLENBQ0Esa0IsQ0FDQSwrQixDQVFGLFMsQ0FDRSxXLENBQ0EsaUIsQ0FDQSxtQixDQUlGLGEsQ0FDRSw0QixDQUlGLGNBQWEsSyxDQUNYLDRCLENBR0YsY0FBYSxZLENBQ2IsY0FBYSxtQixDQUZiLGNBQWEsaUIsQ0FHWCxpQixDQVFGLGdCLENBYUEsaUIsQ0FFRSwwQixDQUdBLCtCLENBbEJGLGdCLENBS0UscUIsQ0FKQSxjLENBS0EsVyxDQU9GLGlCLENBQ0UsaUIsQ0FFQSxlLENBQ0EsZSxDQUVBLFMsQ0FTQSxrQixDQU5GLHFCLENBQ0UsZSxDQVlGLHVCLENBQ0UsYyxDQUNBLEssQ0FDQSxPLENBQ0EsVSxDQUNBLCtCLENBQ0EsZSxDQUNBLFMsQ0FDQSx3QixDQUNBLG1CLENBQ0EsWSxDQU9GLHNCLENBQ0UseUIsQ0FXRiw4QixDQUNFLG9CLENBQ0EscUIsQ0FDQSxtQixDQU9GLHFCLENBUUEsbUIsQ0FDRSxrQixDQVVGLDBCLENBTEEsd0IsQ0FDQSx5QixDQUdBLHVCLENBRkUsc0MsQ0FRRiwrQixDQUNBLGdDLENBQ0UsZ0MsQ0FFRixnQyxDQUNBLGlDLENBQ0UsaUMsQ0FFRiw4QixDQUNBLCtCLENBQ0UsK0IsQ0FFRixpQyxDQUNBLGtDLENBQ0UsZ0MsQ0FJRix5RCxDQUNBLDBELENBQ0EseUQsQ0FDQSwwRCxDQXJDQSxtQixDQXNDRSw0QixDQWlCRixxQixDQUNBLHNCLENBQ0UsVyxDQUVGLG9DLENBQ0EscUMsQ0FDRSxVLENBRUYsZ0IsQ0FDQSxpQixDQUNFLFcsQ0FFRixxQixDQUNBLHNCLENBQ0UsVyxDQUVGLG9DLENBQ0EscUMsQ0FDRSxXLENBSUYsb0MsQ0FDQSxxQyxDQUNFLGdDLENBRUYsbUQsQ0FDQSxvRCxDQUNFLCtCLENBRUYsb0MsQ0FDQSxxQyxDQUNFLGdDLENBRUYsbUQsQ0FDQSxvRCxDQUNFLGdDLENBSUYscUMsQ0FDQSxzQyxDQUNFLGlDLENBRUYsb0QsQ0FDQSxxRCxDQUNFLGdDLENBRUYscUMsQ0FDQSxzQyxDQUNFLGlDLENBRUYsb0QsQ0FDQSxxRCxDQUNFLGlDLENBY0YsbUIsQ0FDRSxXLENBSUYsd0IsQ0FDRSxpQyxDQUVGLHlCLENBQ0UsZ0MsQ0FFRix1QixDQUNFLGlDLENBRUYsMEIsQ0FDRSxnQyxDQUlGLDZCLENBZ0NBLGdCLENBL0JBLDJCLENBQ0UsK0IsQ0FhRixrQyxDQVRBLGdDLENBR0EsaUMsQ0FHQSwrQixDQUxFLDhCLENBYUYsa0MsQ0FDQSxtQyxDQUNFLHdCLENBVUYsZ0IsQ0FFRSxXLENBSUYscUIsQ0FDRSxnQyxDQUVGLHNCLENBQ0UsK0IsQ0FFRixvQixDQUNFLGlDLENBRUYsdUIsQ0FDRSxnQyxDQUlGLHdCLENBQ0UsNkIsQ0FTRixtQixDQUNFLDRCLENBQ0EsUyxDQUlGLDJCLENBQ0UsNEIsQ0FDQSwrQixDQVNGLHVCLENBa0NBLHFCLENBakNFLFMsQ0FJRiw0QixDQUNFLCtCLENBRUYsNkIsQ0FDRSw4QixDQUVGLDJCLENBQ0UsK0IsQ0FFRiw4QixDQUNFLCtCLENBSUYsaUMsQ0FDRSwrQixDQUlGLCtCLENBQ0UsNkIsQ0FjRiwwQixDQUNFLDhCLENBRUYsMkIsQ0FDRSwrQixDQUVGLHlCLENBQ0UsK0IsQ0FFRiw0QixDQUNFLGdDLENBb0RGLDRDLENBaERBLCtCLENBY0Esc0IsQ0FiRSwrQixDQUlGLDZCLENBQ0UsNkIsQ0FRRixzQixDQUVFLFcsQ0FJRiwyQixDQUNFLGdDLENBRUYsNEIsQ0FDRSwrQixDQUVGLDBCLENBQ0UsaUMsQ0FFRiw2QixDQUNFLGdDLENBSUYsbUMsQ0FDRSx3QixDQUVGLG9DLENBQ0Usd0IsQ0FFRixrQyxDQUNFLHdCLENBRUYscUMsQ0FDRSx3QixDQVFGLHdDLENBREEsc0MsQ0FFRSx1QixDQUNBLFUsQ0FDQSxXLENBQ0EseUIsQ0FJRiw4QixDQUNFLDRCLENBRUYsc0MsQ0FDRSxvQjs7Ozs7Ozs7OztBQzlmRixVLENBQ0UsZSxDQUNBLGUsQ0FDQSxXLENBUUYsZ0IsQ0FPQSxnQixDQU5FLGlCLENBQ0EsUyxDQUNBLFUsQ0FJRixnQixDQUNFLGMsQ0FNRixvQixDQUNBLG9CLENBQ0UsSyxDQUNBLFcsQ0FFRix1QixDQUNBLHVCLENBQ0UsUSxDQUNBLFEsQ0FRRixpQixDQUNFLHVCLENBQ0Esb0IsQ0FDQSxtQixDQUNBLGtCLENBQ0EsZTs7Ozs7Ozs7OztBQzlDRixPLENBQ0UsWSxDQVdGLGMsQ0FDQSxZLENBQ0UsYSxDQU9GLGUsQ0FDRSxpQixDQUNBLGUsQ0FDQSxhLENBQ0EsZ0IsQ0FFRixpQixDQUNFLDJCLENBQ0EsdUIsQ0FrQkYsNkIsQ0FkQSw4QixDQWFBLHFCLENBZEEsc0IsQ0FnQkUsaUIsQ0FDQSxVLENBQ0EsUyxDQUNBLFEsQ0FFQSwwQixDQUNBLFcsQ0FDQSxZLENBS0Esb0IsQ0EzQkYsOEIsQ0FEQSxzQixDQVlFLGdDLENBR0YsNkIsQ0FEQSxxQixDQVdFLGdDLENBQ0Esa0MsQ0FJQSw0QyxDQUNBLGtCLENBQ0EsaUIsQ0FFQSxnQzs7Ozs7Ozs7OztBQzNERixvQkFDRSxFLENBQ0UsaUMsQ0FDQSxVLENBRUYsRyxDQUNFLGlDLENBQ0EsVSxDQUNBLFUsQ0FFRixHLENBQ0UsbUMsQ0FDQSxTLENBQ0EsVyxDQUVGLEUsQ0FDRSxnQyxDQUNBLGEsQUFLSix5QkFDRSxFLENBQ0UsVyxDQUNBLG9ELENBRUYsRyxDQUNFLFUsQ0FDQSwyRSxDQUVGLEcsQ0FDRSxTLENBRUYsRSxDQUNFLFUsQ0FDQSxzRSxDQUNBLFcsQUFHSiwwQkFDRSxFLENBQ0UsVyxDQUNBLG9ELENBRUYsRyxDQUNFLFMsQ0FDQSwwRSxDQUVGLEcsQ0FDRSxTLENBRUYsRSxDQUNFLFMsQ0FDQSxzRSxDQUNBLFcsQUFzQkosa0JBQ0UsRSxDQUNFLFMsQ0FDQSxrQixDQUVGLEUsQ0FDRSxTLENBQ0Esb0IsQUFHSixtQkFDRSxFLENBQ0UsUyxDQUNBLGtCLENBRUYsRSxDQUNFLFMsQ0FDQSxvQixBQXlDSixrQkFDRSxFLENBQ0UsUyxDQUVGLEUsQ0FDRSxXLEFBR0osb0JBQ0UsRSxDQUNFLFMsQ0FDQSx5QixDQUVGLEUsQ0FDRSxTLENBQ0EsMEIsQUFHSixzQkFDRSxFLENBQ0UsUyxDQUNBLDBCLENBRUYsRSxDQUNFLFMsQ0FDQSwwQixBQUdKLHNCQUNFLEUsQ0FDRSxTLENBQ0EseUIsQ0FFRixFLENBQ0UsUyxDQUNBLDBCLEFBR0osdUJBQ0UsRSxDQUNFLFMsQ0FDQSwwQixDQUVGLEUsQ0FDRSxTLENBQ0EsMEIsQUFLSixtQkFDRSxFLENBQ0UsUyxDQUVGLEUsQ0FDRSxXLEFBR0oscUJBQ0UsRSxDQUNFLFMsQ0FDQSx3QixDQUVGLEUsQ0FDRSxTLENBQ0EsMEIsQUFHSix1QkFDRSxFLENBQ0UsUyxDQUNBLHdCLENBRUYsRSxDQUNFLFMsQ0FDQSwyQixBQUdKLHVCQUNFLEUsQ0FDRSxTLENBQ0Esd0IsQ0FFRixFLENBQ0UsUyxDQUNBLDBCLEFBR0osd0JBQ0UsRSxDQUNFLFMsQ0FDQSx3QixDQUVGLEUsQ0FDRSxTLENBQ0EsMkIsQUEwQkosNEJBQ0UsRSxDQUNFLDZDLENBQ0EsUyxDQUVGLEUsQ0FDRSwyQyxDQUNBLFcsQUFHSiwwQkFDRSxFLENBQ0UsNkMsQ0FDQSxTLENBRUYsRSxDQUNFLDJDLENBQ0EsVyxBQUtKLDZCQUNFLEUsQ0FDRSwyQyxDQUNBLFMsQ0FFRixFLENBQ0UsNEMsQ0FDQSxXLEFBR0osMkJBQ0UsRSxDQUNFLDJDLENBQ0EsUyxDQUVGLEUsQ0FDRSw2QyxDQUNBLFcsQUFlSixtQkFDRSxFLENBQ0UsUyxDQUNBLG1CLENBRUYsRSxDQUNFLFMsQ0FDQSxvQixBQUtKLG9CQUNFLEUsQ0FDRSxTLENBQ0Esa0IsQ0FFRixFLENBQ0UsUyxDQUNBLHFCLEFBZ0RKLGlCQUNFLEUsQ0FDRSxTLENBQ0EsMkIsQ0FFRixHLENBQ0UsOEIsQ0FFRixHLENBQ0UsMkIsQ0FFRixHLENBQ0UsUyxDQUNBLGlDLENBRUYsRyxDQUNFLDhCLENBRUYsRSxDQUNFLFMsQ0FDQSwwQixBQUdKLG1CQUNFLEUsQ0FDRSxTLENBQ0EsaUMsQ0FFRixHLENBQ0UsUyxDQUNBLGdDLENBRUYsRyxDQUNFLCtCLENBRUYsRyxDQUNFLCtCLENBRUYsRSxDQUNFLDhCLEFBR0oscUJBQ0UsRSxDQUNFLFMsQ0FDQSxrQyxDQUVGLEcsQ0FDRSxTLENBQ0EsK0IsQ0FFRixHLENBQ0UsZ0MsQ0FFRixHLENBQ0UsOEIsQ0FFRixFLENBQ0UsZ0IsQUFHSixxQkFDRSxFLENBQ0UsUyxDQUNBLGlDLENBRUYsRyxDQUNFLFMsQ0FDQSxnQyxDQUVGLEcsQ0FDRSwrQixDQUVGLEcsQ0FDRSwrQixDQUVGLEUsQ0FDRSxnQixBQUdKLHNCQUNFLEUsQ0FDRSxTLENBQ0Esa0MsQ0FFRixHLENBQ0UsUyxDQUNBLCtCLENBRUYsRyxDQUNFLGdDLENBRUYsRyxDQUNFLDhCLENBRUYsRSxDQUNFLGdCLEFBS0osa0JBQ0UsRyxDQUNFLDJCLENBRUYsRyxDQUFLLEcsQ0FDSCxTLENBQ0EsOEIsQ0FFRixFLENBQ0UsUyxDQUNBLDZCLEFBR0osb0JBQ0UsRyxDQUNFLCtCLENBRUYsRyxDQUFLLEcsQ0FDSCxTLENBQ0EsZ0MsQ0FFRixFLENBQ0UsUyxDQUNBLG1DLEFBR0osc0JBQ0UsRyxDQUNFLGdDLENBRUYsRyxDQUFLLEcsQ0FDSCxTLENBQ0EsK0IsQ0FFRixFLENBQ0UsUyxDQUNBLG9DLEFBR0osdUJBQ0UsRyxDQUNFLFMsQ0FDQSwrQixDQUVGLEUsQ0FDRSxTLENBQ0Esb0MsQUFHSixzQkFDRSxHLENBQ0UsUyxDQUNBLGdDLENBRUYsRSxDQUNFLFMsQ0FDQSxtQyxBQTZDSixvQkFDRSxFLENBQ0UsUyxDQUNBLG1CLENBRUYsRSxDQUNFLFMsQ0FDQSxxQixBQUdKLG9CQUNFLEUsQ0FDRSxTLENBQ0EsbUIsQ0FFRixFLENBQ0UsUyxDQUNBLHFCLEFBS0oscUJBQ0UsRSxDQUNFLFMsQ0FDQSxtQixDQUVGLEUsQ0FDRSxTLENBQ0EscUIsQUFHSixxQkFDRSxFLENBQ0UsUyxDQUNBLG1CLENBRUYsRSxDQUNFLFMsQ0FDQSxxQixBQWlESixvQkFDRSxFLENBQ0UsNEMsQ0FDQSxTLENBRUYsRyxDQUNFLDZDLENBQ0EsUyxDQUVGLEcsQ0FDRSw0QyxDQUVGLEcsQ0FDRSw4QyxDQUVGLEUsQ0FDRSw2QyxBQUdKLG9CQUNFLEUsQ0FDRSw2QyxDQUNBLFMsQ0FFRixHLENBQ0UsNEMsQ0FDQSxTLENBRUYsRyxDQUNFLCtDLENBRUYsRyxDQUNFLDZDLENBRUYsRSxDQUNFLDZDLEFBS0oscUJBQ0UsRSxDQUNFLDJDLENBRUYsRyxDQUNFLDhDLENBRUYsRyxDQUNFLDhDLENBRUYsRyxDQUNFLDZDLENBQ0EsUyxDQUVGLEUsQ0FDRSw0QyxDQUNBLFcsQUFHSixxQkFDRSxFLENBQ0UsMkMsQ0FFRixHLENBQ0UsNkMsQ0FFRixHLENBQ0UsNkMsQ0FFRixHLENBQ0UsNEMsQ0FDQSxTLENBRUYsRSxDQUNFLDZDLENBQ0EsVyxBQWVKLGtCQUNFLEUsQ0FDRSxTLENBQ0Esa0IsQ0FFRixFLENBQ0UsUyxDQUNBLG9CLEFBR0osbUJBQ0UsRSxDQUNFLFMsQ0FDQSxrQixDQUVGLEUsQ0FDRSxTLENBQ0Esb0IsQUFnREosaUJBQ0UsRSxDQUFJLEcsQ0FBSyxFLENBQ1AsUyxDQUVGLEcsQ0FBSyxHLENBQ0gsVyxBQUtKLGlCQUNFLEUsQ0FBSSxFLENBQ0YsdUIsQ0FFRixHLENBQUssRyxDQUFLLEcsQ0FBSyxHLENBQUssRyxDQUNsQiwyQixDQUVGLEcsQ0FBSyxHLENBQUssRyxDQUFLLEcsQ0FDYiw0QixBQUtKLGtCQUNFLEUsQ0FBSSxHLENBQUssRyxDQUFLLEcsQ0FBSyxFLENBQ2pCLHVCLENBRUYsRyxDQUNFLDJCLENBRUYsRyxDQUNFLDZCLEFBS0osZ0JBQ0UsRSxDQUNFLGtCLENBRUYsRyxDQUFLLEcsQ0FDSCxpQyxDQUVGLEcsQ0FBSyxHLENBQUssRyxDQUFLLEcsQ0FDYixpQyxDQUVGLEcsQ0FBSyxHLENBQUssRyxDQUNSLGtDLENBRUYsRSxDQUNFLDhCLEFBS0osaUJBQ0UsRSxDQVFBLEUsQ0FQRSxrQixDQUNBLFMsQ0FFRixHLENBQ0UsbUIsQ0FDQSxZLEFBVUosa0JBQ0UsRSxDQWtCQSxFLENBakJFLHdCLENBRUYsRyxDQUNFLDZCLENBRUYsRyxDQUNFLDZCLENBRUYsRyxDQUNFLDZCLENBRUYsRyxDQUNFLDZCLENBRUYsRyxDQUNFLCtCLEFBUUosZ0JBQ0UsRSxDQU1BLEUsQ0FMRSx3QixDQUVGLEcsQ0FDRSwwQkNuNkJKLFcsQ0FDRSwyQixDQUNBLHdCLENBQ0EsOEIsQ0FDQSx3QixDQVNGLHFCLENBQ0UsMEIsQ0FDQSw0QixDQUlGLG1CLENBQ0UsaUIsQ0FDQSxZLENBQ0EsYSxDQUlGLGtCLENBQ0UsWSxDQUNBLGlCLENBSUYsbUIsQ0FDRSx1QixDQUNBLDRCLENBTUYsb0IsQ0FDRSwyQixDQU9GLG1CLENBQ0Usa0MsQ0R6REYsa0IsQ0FDRSx3QixDQUVGLHFCLENBQ0UsdUIsQ0FHRiwyQixDQURBLHNCLENBRUUsNEIsQ0FFRiw0QixDQUNFLDZCLENBb0VGLGdCLENBQ0UsMkIsQ0FDQSx3QixDQUNBLHFELENBRUYsbUIsQ0FDRSxxQixDQUVGLG9CLENBQ0Usc0IsQ0E2QkYsbUIsQ0FDRSxxQixDQUVGLGdDLENBQ0UsdUIsQ0FFRixrQyxDQUNFLHlCLENBRUYsa0MsQ0FDRSx5QixDQUVGLG1DLENBQ0UsMEIsQ0FHRixvQixDQUNFLHNCLENBRUYsaUMsQ0FDRSx3QixDQUVGLG1DLENBQ0UsMEIsQ0FFRixtQyxDQUNFLDBCLENBRUYsb0MsQ0FDRSwyQixDQTJHRixtQixDQUNBLG9CLENBQ0Usd0IsQ0FFRiw4QixDQUNFLCtCLENBRUYsK0IsQ0FDRSxnQyxDQUVGLDRCLENBQ0UsNkIsQ0FFRiw2QixDQUNFLDhCLENBbURGLG9CLENBQ0Usc0IsQ0FFRixxQixDQUNFLHVCLENBZ0NGLGUsQ0FDRSxzQixDQUNBLHdELENBRUYsa0IsQ0FDRSxvQixDQUVGLCtCLENBQ0Usc0IsQ0FFRixpQyxDQUNFLHdCLENBRUYsaUMsQ0FDRSx3QixDQUVGLGtDLENBQ0UseUIsQ0FJRixtQixDQUNFLHFCLENBRUYsZ0MsQ0FDRSx1QixDQUVGLGtDLENBQ0UseUIsQ0FFRixrQyxDQUNFLHlCLENBRUYsbUMsQ0FDRSwwQixDQXlLRixvQixDQUNBLG1DLENBQ0UsdUIsQ0FDQSwyQixDQUVGLGlDLENBQ0UsdUIsQ0FDQSw4QixDQUVGLG1DLENBQ0UsdUIsQ0FDQSw2QixDQUVGLG9DLENBQ0UsdUIsQ0FDQSw0QixDQUdGLHFCLENBQ0Esb0MsQ0FDRSx3QixDQUNBLDJCLENBRUYsa0MsQ0FDRSx3QixDQUNBLDhCLENBRUYsb0MsQ0FDRSx3QixDQUNBLDZCLENBRUYscUMsQ0FDRSx3QixDQUNBLDRCLENBb0RGLGlCLENBQ0Usd0IsQ0FHRixtQyxDQUNFLHVCLENBQ0EsMkIsQ0FFRixpQyxDQUNFLHVCLENBQ0EsOEIsQ0FFRixtQyxDQUNFLHVCLENBQ0EsNkIsQ0FFRixvQyxDQUNFLHVCLENBQ0EsNEIsQ0FHRixxQixDQUNBLG9DLENBQ0Usd0IsQ0FDQSwyQixDQUVGLGtDLENBQ0Usd0IsQ0FDQSw4QixDQUVGLG9DLENBQ0Usd0IsQ0FDQSw2QixDQUVGLHFDLENBQ0Usd0IsQ0FDQSw0QixDQXdGRixtQixDQUNFLHFCLENBRUYsb0IsQ0FDRSxzQixDQWlDRixpQixDQUlBLGlCLENBSEUsd0IsQ0FDQSxvQixDQUVGLGlCLENBRUUsb0IsQ0FFRixrQixDQUlBLGdCLENBSEUsd0IsQ0FDQSxxQixDQUVGLGdCLENBRUUsbUIsQ0FFRixpQixDQUNFLHdCLENBQ0Esb0IsQ0FFRixrQixDQUNFLHdCLENBQ0EscUIsQ0FFRixnQixDQUNFLHlCLENBQ0EsbUQsQ0FHQSxtQiIsImZpbGUiOiJzZW1hbnRpYy5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLypcblxu4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilZcgICDilojilojilZfilojilojilojilojilojilojilojilojilZfilojilojilZcg4paI4paI4paI4paI4paI4paI4pWXICAgIOKWiOKWiOKVlyAgIOKWiOKWiOKVl+KWiOKWiOKVl1xu4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWR4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdICAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKVkVxu4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilojilojilZHilojilojilZTilojilojilZcg4paI4paI4pWRICAg4paI4paI4pWRICAg4paI4paI4pWR4paI4paI4pWRICAgICAgICAg4paI4paI4pWRICAg4paI4paI4pWR4paI4paI4pWRXG7ilZrilZDilZDilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVkeKVmuKWiOKWiOKVl+KWiOKWiOKVkSAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKVkSAgICAgICAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkeKWiOKWiOKVkVxu4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVkSDilZrilojilojilojilojilZEgICDilojilojilZEgICDilojilojilZHilZrilojilojilojilojilojilojilZcgICAg4pWa4paI4paI4paI4paI4paI4paI4pWU4pWd4paI4paI4pWRXG7ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWdICDilZrilZDilZDilZDilZ0gICDilZrilZDilZ0gICDilZrilZDilZ0g4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWdICAgICDilZrilZDilZDilZDilZDilZDilZ0g4pWa4pWQ4pWdXG5cbiAgSW1wb3J0IHRoaXMgZmlsZSBpbnRvIHlvdXIgTEVTUyBwcm9qZWN0IHRvIHVzZSBTZW1hbnRpYyBVSSB3aXRob3V0IGJ1aWxkIHRvb2xzXG4qL1xuLyogR2xvYmFsICovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBSZXNldFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFJlc2V0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUmVzZXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFJlc2V0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQm9yZGVyLUJveCAqL1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1MYXRvOjQwMCw3MDAsNDAwaXRhbGljLDcwMGl0YWxpYyZzdWJzZXQ9bGF0aW4nKTtcbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4vKiBpUGFkIElucHV0IFNoYWRvd3MgKi9cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiBtb2JpbGUgZmlyZWZveCB0b28hICovXG59XG4vKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG59XG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovXG59XG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi9cbn1cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyxcbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gU2l0ZVxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFBhZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbn1cbmh0bWwge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5ib2R5IHtcbiAgbWFyZ2luOiAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCAn5paH5rOJ6amb5q2j6buRJywgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywgJ+W+rui7n+ato+m7kemrlCcsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODVlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgSGVhZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUge1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCAn5paH5rOJ6amb5q2j6buRJywgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywgJ+W+rui7n+ato+m7kemrlCcsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4yODU3MTQyOWVtO1xuICBtYXJnaW46IGNhbGMoMnJlbSAtICAwLjE0Mjg1NzE0ZW0gKSAwZW0gMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDBlbTtcbn1cbmgxIHtcbiAgbWluLWhlaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuaDIge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbmg0IHtcbiAgZm9udC1zaXplOiAxLjA3MTQyODU3cmVtO1xufVxuaDUge1xuICBmb250LXNpemU6IDFyZW07XG59XG5oMTpmaXJzdC1jaGlsZCxcbmgyOmZpcnN0LWNoaWxkLFxuaDM6Zmlyc3QtY2hpbGQsXG5oNDpmaXJzdC1jaGlsZCxcbmg1OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuaDE6bGFzdC1jaGlsZCxcbmgyOmxhc3QtY2hpbGQsXG5oMzpsYXN0LWNoaWxkLFxuaDQ6bGFzdC1jaGlsZCxcbmg1Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFRleHRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5wIHtcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NWVtO1xufVxucDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbnA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYSB7XG4gIGNvbG9yOiAjNDE4M0M0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5hOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTY3JvbGxiYXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBIaWdobGlnaHRpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTaXRlICovXG46Oi13ZWJraXQtc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDRTJGRjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NDRTJGRjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQ0UyRkY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogRm9ybSAqL1xudGV4dGFyZWE6Oi13ZWJraXQtc2VsZWN0aW9uLFxuaW5wdXQ6Oi13ZWJraXQtc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjQpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbnRleHRhcmVhOjotbW96LXNlbGVjdGlvbixcbmlucHV0OjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC40KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG50ZXh0YXJlYTo6c2VsZWN0aW9uLFxuaW5wdXQ6OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC40KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKiBGb3JjZSBTaW1wbGUgU2Nyb2xsYmFycyAqL1xuYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xufVxuYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG5ib2R5IDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOndpbmRvdy1pbmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5ib2R5IDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyOCwgMTM1LCAxMzksIDAuOCk7XG59XG4vKiBJbnZlcnRlZCBVSSAqL1xuYm9keSAudWkuaW52ZXJ0ZWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuYm9keSAudWkuaW52ZXJ0ZWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbmJvZHkgLnVpLmludmVydGVkOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuYm9keSAudWkuaW52ZXJ0ZWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEdsb2JhbCBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBFbGVtZW50cyAqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gQnV0dG9uXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBCdXR0b25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBCdXR0b24gKi9cbi8qIEJ1dHRvbiBkZWZhdWx0cyB0byB1c2luZyBzYW1lIGhlaWdodCBhcyBpbnB1dCBnbG9iYWxseSAqL1xuLyogVGV4dCAqL1xuLyogSW50ZXJuYWwgU2hhZG93ICovXG4vKiBCb3ggU2hhZG93ICovXG4vKiBJY29uICovXG4vKiBMb2FkZXIgKi9cbi8qXG5Ad2lsbENoYW5nZTogYm94LXNoYWRvdywgdHJhbnNmb3JtLCBvcGFjaXR5LCBjb2xvciwgYmFja2dyb3VuZDtcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JvdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEhvdmVyZWQgKi9cbi8qIEZvY3VzZWQgKi9cbi8qIERpc2FibGVkICovXG4vKiBQcmVzc2VkIERvd24gKi9cbi8qIEFjdGl2ZSAqL1xuLyogQWN0aXZlICsgSG92ZXJlZCAqL1xuLyogTG9hZGluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBPciAqL1xuLyogSWNvbiAqL1xuLyogTGFiZWxlZCAqL1xuLyogaHlwb3RlbnVzZSBvZiB0cmlhbmdsZSAqL1xuLyogTGFiZWxlZCBJY29uICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQmFzaWMgKi9cbi8qIEJhc2ljIEhvdmVyICovXG4vKiBCYXNpYyBGb2N1cyAqL1xuLyogQmFzaWMgRG93biAqL1xuLyogQmFzaWMgQWN0aXZlICovXG4vKiBCYXNpYyBJbnZlcnRlZCAqL1xuLyogQmFzaWMgR3JvdXAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQ29sb3JzICovXG4vKiBDb2xvcmVkICovXG4vKiBJbnZlcnRlZCAqL1xuLyogT3JkaW5hbGl0eSAqL1xuLyogQ29tcGFjdCAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIEZsb2F0ZWQgKi9cbi8qIEFuaW1hdGVkICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEJ1dHRvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEJ1dHRvbiAqL1xuLyogQnV0dG9uIGRlZmF1bHRzIHRvIHVzaW5nIHNhbWUgaGVpZ2h0IGFzIGlucHV0IGdsb2JhbGx5ICovXG4vKiBUZXh0ICovXG4vKiBJbnRlcm5hbCBTaGFkb3cgKi9cbi8qIEJveCBTaGFkb3cgKi9cbi8qIEljb24gKi9cbi8qIExvYWRlciAqL1xuLypcbkB3aWxsQ2hhbmdlOiBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIG9wYWNpdHksIGNvbG9yLCBiYWNrZ3JvdW5kO1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcm91cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSG92ZXJlZCAqL1xuLyogRm9jdXNlZCAqL1xuLyogRGlzYWJsZWQgKi9cbi8qIFByZXNzZWQgRG93biAqL1xuLyogQWN0aXZlICovXG4vKiBBY3RpdmUgKyBIb3ZlcmVkICovXG4vKiBMb2FkaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE9yICovXG4vKiBJY29uICovXG4vKiBMYWJlbGVkICovXG4vKiBoeXBvdGVudXNlIG9mIHRyaWFuZ2xlICovXG4vKiBMYWJlbGVkIEljb24gKi9cbi8qIEludmVydGVkICovXG4vKiBCYXNpYyAqL1xuLyogQmFzaWMgSG92ZXIgKi9cbi8qIEJhc2ljIEZvY3VzICovXG4vKiBCYXNpYyBEb3duICovXG4vKiBCYXNpYyBBY3RpdmUgKi9cbi8qIEJhc2ljIEludmVydGVkICovXG4vKiBCYXNpYyBHcm91cCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBDb2xvcnMgKi9cbi8qIENvbG9yZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBPcmRpbmFsaXR5ICovXG4vKiBDb21wYWN0ICovXG4vKiBBdHRhY2hlZCAqL1xuLyogRmxvYXRlZCAqL1xuLyogQW5pbWF0ZWQgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBCdXR0b25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDFlbTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJhY2tncm91bmQ6ICNFMEUxRTIgbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgJ+aWh+aziempm+ato+m7kScsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsICflvq7ou5/mraPpu5Hpq5QnLCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwZW0gMC4yNWVtIDBlbSAwZW07XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjllbSAxLjVlbSAwLjc4NTcxNDI5ZW07XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudCBpbnNldCwgMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2UsIGJhY2tncm91bmQgMC4xcyBlYXNlO1xuICB3aWxsLWNoYW5nZTogJyc7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NBQ0JDRDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50IGluc2V0LCAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi51aS5idXR0b246aG92ZXIgLmljb24ge1xuICBvcGFjaXR5OiAwLjg1O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NBQ0JDRDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogJycgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogJycgIWltcG9ydGFudDtcbn1cbi51aS5idXR0b246Zm9jdXMgLmljb24ge1xuICBvcGFjaXR5OiAwLjg1O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgRG93blxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5idXR0b246YWN0aXZlLFxuLnVpLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JBQkJCQztcbiAgYmFja2dyb3VuZC1pbWFnZTogJyc7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudCBpbnNldCwgbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzBDMUMyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQgaW5zZXQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLmFjdGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzBDMUMyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi51aS5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDMEMxQzI7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgTG9hZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNwZWNpZmljaXR5IGhhY2sgKi9cbi51aS5sb2FkaW5nLmxvYWRpbmcubG9hZGluZy5sb2FkaW5nLmxvYWRpbmcubG9hZGluZy5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyLCBvcGFjaXR5IDAuMXMgZWFzZTtcbn1cbi51aS5sb2FkaW5nLmJ1dHRvbjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMGVtIDBlbSAtMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4udWkubG9hZGluZy5idXR0b246YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMGVtIDBlbSAtMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgYW5pbWF0aW9uOiBidXR0b24tc3BpbiAwLjZzIGxpbmVhcjtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjRkZGRkZGIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuMmVtO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQ7XG59XG4udWkubGFiZWxlZC5pY29uLmxvYWRpbmcuYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5Aa2V5ZnJhbWVzIGJ1dHRvbi1zcGluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi51aS5iYXNpYy5sb2FkaW5nLmJ1dHRvbjpub3QoLmludmVydGVkKTpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5iYXNpYy5sb2FkaW5nLmJ1dHRvbjpub3QoLmludmVydGVkKTphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICM3Njc2NzY7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuYnV0dG9ucyAuZGlzYWJsZWQuYnV0dG9uLFxuLnVpLmRpc2FibGVkLmJ1dHRvbixcbi51aS5idXR0b246ZGlzYWJsZWQsXG4udWkuZGlzYWJsZWQuYnV0dG9uOmhvdmVyLFxuLnVpLmRpc2FibGVkLmFjdGl2ZS5idXR0b24ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNDUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyBHcm91cCBXaXRoIERpc2FibGVkICovXG4udWkuYmFzaWMuYnV0dG9ucyAudWkuZGlzYWJsZWQuYnV0dG9uIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuNSk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQW5pbWF0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5hbmltYXRlZC5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB6LWluZGV4OiAxO1xufVxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAuY29udGVudCB7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG59XG4udWkuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMS41ZW07XG59XG4udWkuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiBIb3Jpem9udGFsICovXG4udWkuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQsXG4udWkuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zaXRpb246IHJpZ2h0IDAuM3MgZWFzZSAwcztcbn1cbi51aS5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwJTtcbn1cbi51aS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMTAwJTtcbiAgbWFyZ2luLXRvcDogLTAuNWVtO1xufVxuLnVpLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAudmlzaWJsZS5jb250ZW50LFxuLnVpLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDIwMCU7XG59XG4udWkuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC5oaWRkZW4uY29udGVudCxcbi51aS5hbmltYXRlZC5idXR0b246aG92ZXIgLmhpZGRlbi5jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDAlO1xufVxuLyogVmVydGljYWwgKi9cbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCxcbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogdG9wIDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICB0b3A6IC01MCU7XG4gIGxlZnQ6IDAlO1xuICByaWdodDogYXV0bztcbn1cbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246Zm9jdXMgLnZpc2libGUuY29udGVudCxcbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246aG92ZXIgLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKTtcbiAgcmlnaHQ6IGF1dG87XG59XG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC5oaWRkZW4uY29udGVudCxcbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246aG92ZXIgLmhpZGRlbi5jb250ZW50IHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLyogRmFkZSAqL1xuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQsXG4udWkuZmFkZS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UsIHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG4udWkuZmFkZS5hbmltYXRlZC5idXR0b24gLnZpc2libGUuY29udGVudCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIG9wYWNpdHk6IDA7XG4gIGxlZnQ6IDAlO1xuICByaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xufVxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC52aXNpYmxlLmNvbnRlbnQsXG4udWkuZmFkZS5hbmltYXRlZC5idXR0b246aG92ZXIgLnZpc2libGUuY29udGVudCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xufVxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC5oaWRkZW4uY29udGVudCxcbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAuaGlkZGVuLmNvbnRlbnQge1xuICBsZWZ0OiAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmludmVydGVkLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRkZGRkZGIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogR3JvdXAgKi9cbi51aS5pbnZlcnRlZC5idXR0b25zIC5idXR0b24ge1xuICBtYXJnaW46IDBweCAwcHggMHB4IC0ycHg7XG59XG4udWkuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cbi51aS5pbnZlcnRlZC52ZXJ0aWNhbC5idXR0b25zIC5idXR0b24ge1xuICBtYXJnaW46IDBweCAwcHggLTJweCAwcHg7XG59XG4udWkuaW52ZXJ0ZWQudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLyogU3RhdGVzICovXG4vKiBIb3ZlciAqL1xuLnVpLmludmVydGVkLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRkZGRkZGIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4vKiBBY3RpdmUgLyBGb2N1cyAqL1xuLnVpLmludmVydGVkLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5idXR0b24uYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNGRkZGRkYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi8qIEFjdGl2ZSBGb2N1cyAqL1xuLnVpLmludmVydGVkLmJ1dHRvbi5hY3RpdmU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjRENERERFO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0RDRERERSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTGFiZWxlZCBCdXR0b25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5sYWJlbGVkLmJ1dHRvbjpub3QoLmljb24pIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4udWkubGFiZWxlZC5idXR0b24gPiAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwcHg7XG59XG4udWkubGFiZWxlZC5idXR0b24gPiAubGFiZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDBweCAwcHggMHB4IC0xcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogJyc7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBUYWcgKi9cbi51aS5sYWJlbGVkLmJ1dHRvbiA+IC50YWcubGFiZWw6YmVmb3JlIHtcbiAgd2lkdGg6IDEuODVlbTtcbiAgaGVpZ2h0OiAxLjg1ZW07XG59XG4vKiBSaWdodCAqL1xuLnVpLmxhYmVsZWQuYnV0dG9uOm5vdChbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdKSA+IC5idXR0b24ge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1xufVxuLnVpLmxhYmVsZWQuYnV0dG9uOm5vdChbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdKSA+IC5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xufVxuLyogTGVmdCBTaWRlICovXG4udWlbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdLmJ1dHRvbiA+IC5idXR0b24ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0uYnV0dG9uID4gLmxhYmVsIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFNvY2lhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRmFjZWJvb2sgKi9cbi51aS5mYWNlYm9vay5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM0I1OTk4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmZhY2Vib29rLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMDRkOGE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5mYWNlYm9vay5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJkNDM3MztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogVHdpdHRlciAqL1xuLnVpLnR3aXR0ZXIuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU1QUNFRTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS50d2l0dGVyLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNWEyZjQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS50d2l0dGVyLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjc5NWU5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBHb29nbGUgUGx1cyAqL1xuLnVpLmdvb2dsZS5wbHVzLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNERDRCMzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuZ29vZ2xlLnBsdXMuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwMzIxYztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmdvb2dsZS5wbHVzLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzIzMzIxO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBMaW5rZWQgSW4gKi9cbi51aS5saW5rZWRpbi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUY4OEJFO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkubGlua2VkaW4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE0N2JhZjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmxpbmtlZGluLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTg2OTkyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBZb3VUdWJlICovXG4udWkueW91dHViZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkYwMDAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnlvdXR1YmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MDAwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnlvdXR1YmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzAwMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEluc3RhZ3JhbSAqL1xuLnVpLmluc3RhZ3JhbS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk3NjlDO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmluc3RhZ3JhbS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Q2OThlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuaW5zdGFncmFtLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk1Yzc5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBQaW50ZXJlc3QgKi9cbi51aS5waW50ZXJlc3QuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0JEMDgxQztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5waW50ZXJlc3QuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FjMDAxMztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBpbnRlcmVzdC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhjMDYxNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogVksgKi9cbi51aS52ay5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEQ3MTk4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkudmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQxNjQ4YTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkudmsuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYzU4NzY7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmJ1dHRvbiA+IC5pY29uOm5vdCguYnV0dG9uKSB7XG4gIGhlaWdodDogMC44NTcxNDI4NmVtO1xuICBvcGFjaXR5OiAwLjg7XG4gIG1hcmdpbjogMGVtIDAuNDI4NTcxNDNlbSAwZW0gLTAuMjE0Mjg1NzFlbTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gIHZlcnRpY2FsLWFsaWduOiAnJztcbiAgY29sb3I6ICcnO1xufVxuLnVpLmJ1dHRvbjpub3QoLmljb24pID4gLmljb246bm90KC5idXR0b24pOm5vdCguZHJvcGRvd24pIHtcbiAgbWFyZ2luOiAwZW0gMC40Mjg1NzE0M2VtIDBlbSAtMC4yMTQyODU3MWVtO1xufVxuLnVpLmJ1dHRvbjpub3QoLmljb24pID4gLnJpZ2h0Lmljb246bm90KC5idXR0b24pOm5vdCguZHJvcGRvd24pIHtcbiAgbWFyZ2luOiAwZW0gLTAuMjE0Mjg1NzFlbSAwZW0gMC40Mjg1NzE0M2VtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZsb2F0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uYnV0dG9ucyxcbi51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uYnV0dG9uIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogMC4yNWVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uYnV0dG9ucyxcbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmJ1dHRvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb21wYWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuY29tcGFjdC5idXR0b25zIC5idXR0b24sXG4udWkuY29tcGFjdC5idXR0b24ge1xuICBwYWRkaW5nOiAwLjU4OTI4NTcxZW0gMS4xMjVlbSAwLjU4OTI4NTcxZW07XG59XG4udWkuY29tcGFjdC5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5jb21wYWN0Lmljb24uYnV0dG9uIHtcbiAgcGFkZGluZzogMC41ODkyODU3MWVtIDAuNTg5Mjg1NzFlbSAwLjU4OTI4NTcxZW07XG59XG4udWkuY29tcGFjdC5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmNvbXBhY3QubGFiZWxlZC5pY29uLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNTg5Mjg1NzFlbSAzLjY5NjQyODU3ZW0gMC41ODkyODU3MWVtO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkubWluaS5idXR0b25zIC5idXR0b24sXG4udWkubWluaS5idXR0b25zIC5vcixcbi51aS5taW5pLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS50aW55LmJ1dHRvbnMgLm9yLFxuLnVpLnRpbnkuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5zbWFsbC5idXR0b25zIC5vcixcbi51aS5zbWFsbC5idXR0b24ge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJ1dHRvbnMgLm9yLFxuLnVpLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5sYXJnZS5idXR0b25zIC5idXR0b24sXG4udWkubGFyZ2UuYnV0dG9ucyAub3IsXG4udWkubGFyZ2UuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5idXR0b25zIC5idXR0b24sXG4udWkuYmlnLmJ1dHRvbnMgLm9yLFxuLnVpLmJpZy5idXR0b24ge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5idXR0b25zIC5idXR0b24sXG4udWkuaHVnZS5idXR0b25zIC5vcixcbi51aS5odWdlLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5tYXNzaXZlLmJ1dHRvbnMgLm9yLFxuLnVpLm1hc3NpdmUuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEljb24gT25seVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pY29uLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjllbSAwLjc4NTcxNDI5ZW0gMC43ODU3MTQyOWVtO1xufVxuLnVpLmljb24uYnV0dG9ucyAuYnV0dG9uID4gLmljb24sXG4udWkuaWNvbi5idXR0b24gPiAuaWNvbiB7XG4gIG9wYWNpdHk6IDAuOTtcbiAgbWFyZ2luOiAwZW0gIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBCYXNpY1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNikgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMge1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSkgaW5zZXQsIDBweCAxcHggNHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogJycgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSkgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLmFjdGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuLyogVmVydGljYWwgKi9cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjM1KSBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQgaW5zZXQ7XG59XG4udWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpIGluc2V0LCAwcHggMXB4IDRweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldCBpbnNldDtcbn1cbi51aS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogJycgIWltcG9ydGFudDtcbn1cbi8qIFN0YW5kYXJkIEJhc2ljIEludmVydGVkICovXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRjlGQUZCICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZmZmZmYgaW5zZXQgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZmZmZmYgaW5zZXQgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgaW5zZXQgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmludmVydGVkLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgaW5zZXQ7XG59XG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5hY3RpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZmZmZmYgaW5zZXQgIWltcG9ydGFudDtcbn1cbi8qIEJhc2ljIEdyb3VwICovXG4udWkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmJhc2ljLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLmJhc2ljLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmJhc2ljLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDBweDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgTGFiZWxlZCBJY29uXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b24sXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA0LjA3MTQyODU3ZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMS41ZW0gIWltcG9ydGFudDtcbn1cbi8qIExlZnQgTGFiZWxlZCAqL1xuLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zID4gLmJ1dHRvbiA+IC5pY29uLFxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b24gPiAuaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMGVtO1xuICB3aWR0aDogMi41NzE0Mjg1N2VtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogJyc7XG4gIGJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggdHJhbnNwYXJlbnQgaW5zZXQ7XG59XG4vKiBMZWZ0IExhYmVsZWQgKi9cbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyA+IC5idXR0b24gPiAuaWNvbixcbi51aS5sYWJlbGVkLmljb24uYnV0dG9uID4gLmljb24ge1xuICB0b3A6IDBlbTtcbiAgbGVmdDogMGVtO1xufVxuLyogUmlnaHQgTGFiZWxlZCAqL1xuLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaWNvbi5idXR0b24ge1xuICBwYWRkaW5nLXJpZ2h0OiA0LjA3MTQyODU3ZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiAxLjVlbSAhaW1wb3J0YW50O1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaWNvbi5idXR0b24gPiAuaWNvbiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwZW07XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICBib3gtc2hhZG93OiAxcHggMHB4IDBweCAwcHggdHJhbnNwYXJlbnQgaW5zZXQ7XG59XG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb246YmVmb3JlLFxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b24gPiAuaWNvbjpiZWZvcmUsXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb246YWZ0ZXIsXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uID4gLmljb24ge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCA+IC5pY29uIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQgPiAuaWNvbiB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkID4gLmljb24ge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkID4gLmljb24ge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKiBGbHVpZCBMYWJlbGVkICovXG4udWkuZmx1aWRbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdLmljb24uYnV0dG9uLFxuLnVpLmZsdWlkW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaWNvbi5idXR0b24ge1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFRvZ2dsZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRvZ2dsZSAoTW9kaWZpZXMgYWN0aXZlIHN0YXRlIHRvIGdpdmUgYWZmb3JkYW5jZXMpICovXG4udWkudG9nZ2xlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYnV0dG9ucyAuYnV0dG9uLnRvZ2dsZS5hY3RpdmUsXG4udWkuYnV0dG9uLnRvZ2dsZS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4udWkuYnV0dG9uLnRvZ2dsZS5hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhYjM5ICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENpcmN1bGFyXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNpcmN1bGFyLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwZW07XG59XG4udWkuY2lyY3VsYXIuYnV0dG9uID4gLmljb24ge1xuICB3aWR0aDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIE9yIEJ1dHRvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5idXR0b25zIC5vciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDAuM2VtO1xuICBoZWlnaHQ6IDIuNTcxNDI4NTdlbTtcbiAgei1pbmRleDogMztcbn1cbi51aS5idXR0b25zIC5vcjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBjb250ZW50OiAnb3InO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuODkyODU3MTRlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjg5Mjg1NzE0ZW07XG4gIHdpZHRoOiAxLjc4NTcxNDI5ZW07XG4gIGhlaWdodDogMS43ODU3MTQyOWVtO1xuICBsaW5lLWhlaWdodDogMS43ODU3MTQyOWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQgaW5zZXQ7XG59XG4udWkuYnV0dG9ucyAub3JbZGF0YS10ZXh0XTpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG59XG4vKiBGbHVpZCBPciAqL1xuLnVpLmZsdWlkLmJ1dHRvbnMgLm9yIHtcbiAgd2lkdGg6IDBlbSAhaW1wb3J0YW50O1xufVxuLnVpLmZsdWlkLmJ1dHRvbnMgLm9yOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTaW5ndWxhciAqL1xuLnVpLmF0dGFjaGVkLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMGVtO1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpICFpbXBvcnRhbnQ7XG59XG4vKiBUb3AgLyBCb3R0b20gKi9cbi51aS5hdHRhY2hlZC50b3AuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG4udWkuYXR0YWNoZWQuYm90dG9tLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLyogTGVmdCAvIFJpZ2h0ICovXG4udWkubGVmdC5hdHRhY2hlZC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogMC43NWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDBlbSAwZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS5yaWdodC5hdHRhY2hlZC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMC43NWVtO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbTtcbn1cbi8qIFBsdXJhbCAqL1xuLnVpLmF0dGFjaGVkLmJ1dHRvbnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgei1pbmRleDogMjtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbn1cbi51aS5hdHRhY2hlZC5idXR0b25zIC5idXR0b24ge1xuICBtYXJnaW46IDBlbTtcbn1cbi51aS5hdHRhY2hlZC5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG4udWkuYXR0YWNoZWQuYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG4vKiBUb3AgLyBCb3R0b20gKi9cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xufVxuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDBlbSAwZW0gMGVtO1xufVxuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0uYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuLyogTGVmdCAvIFJpZ2h0ICovXG4udWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5idXR0b25zIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW07XG59XG4udWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwZW07XG59XG4udWlbY2xhc3MqPVwicmlnaHQgYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMGVtIDBlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDBlbSAwZW0gMGVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMGVtIDAuMjg1NzE0MjlyZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mbHVpZC5idXR0b25zLFxuLnVpLmZsdWlkLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmZsdWlkLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLnR3by5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkudHdvLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS50aHJlZS5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkudGhyZWUuYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogMzMuMzMzJTtcbn1cbi51aS5mb3VyLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5mb3VyLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi51aS5maXZlLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5maXZlLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDIwJTtcbn1cbi51aS5zaXguYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnNpeC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxNi42NjYlO1xufVxuLnVpLnNldmVuLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5zZXZlbi5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxNC4yODUlO1xufVxuLnVpLmVpZ2h0LmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5laWdodC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aS5uaW5lLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5uaW5lLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDExLjExJTtcbn1cbi51aS50ZW4uYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnRlbi5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMCU7XG59XG4udWkuZWxldmVuLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5lbGV2ZW4uYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogOS4wOSU7XG59XG4udWkudHdlbHZlLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS50d2VsdmUuYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogOC4zMzMzJTtcbn1cbi8qIEZsdWlkIFZlcnRpY2FsIEJ1dHRvbnMgKi9cbi51aS5mbHVpZC52ZXJ0aWNhbC5idXR0b25zLFxuLnVpLmZsdWlkLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IGF1dG87XG59XG4udWkudHdvLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiA1MCU7XG59XG4udWkudGhyZWUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDMzLjMzMyU7XG59XG4udWkuZm91ci52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogMjUlO1xufVxuLnVpLmZpdmUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDIwJTtcbn1cbi51aS5zaXgudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDE2LjY2NiU7XG59XG4udWkuc2V2ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDE0LjI4NSU7XG59XG4udWkuZWlnaHQudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDEyLjUlO1xufVxuLnVpLm5pbmUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDExLjExJTtcbn1cbi51aS50ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDEwJTtcbn1cbi51aS5lbGV2ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDkuMDklO1xufVxuLnVpLnR3ZWx2ZS52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogOC4zMzMzJTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gQmxhY2sgLS0tKi9cbi51aS5ibGFjay5idXR0b25zIC5idXR0b24sXG4udWkuYmxhY2suYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCMUMxRDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLmJsYWNrLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5ibGFjay5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyOTJhO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJsYWNrLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZjMwMzI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ibGFjay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJsYWNrLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzNjM3O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5ibGFjay5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5ibGFjay5hY3RpdmUuYnV0dG9uLFxuLnVpLmJsYWNrLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwZjEwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5ibGFjay5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzFCMUMxRCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5ibGFjay5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzI3MjkyYSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzI3MjkyYSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5ibGFjay5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzJmMzAzMiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzI3MjkyYSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuYmxhY2suYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMGYwZjEwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzQzNjM3ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5ibGFjay5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMzNDM2MzcgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMzNDM2MzcgIWltcG9ydGFudDtcbn1cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLmJsYWNrLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRDRENEQ1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsYWNrLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMDAwMDAwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzAwMDAwMCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzU0NTQ1NCAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMwMDAwMDAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMDAwMDAwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBHcmV5IC0tLSovXG4udWkuZ3JleS5idXR0b25zIC5idXR0b24sXG4udWkuZ3JleS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkuZ3JleS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5ncmV5LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MzgzODM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5ncmV5LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuZ3JleS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkwOTA5MDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmdyZXkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5ncmV5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLmdyZXkuYWN0aXZlLmJ1dHRvbixcbi51aS5ncmV5LmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjk2OTY5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmdyZXkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmdyZXkuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM3Njc2NzYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM3Njc2NzYgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5ncmV5LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjODM4MzgzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjODM4MzgzICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuZ3JleS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzhhOGE4YSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzgzODM4MyAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmdyZXkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5ncmV5LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzY5Njk2OSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzkwOTA5MCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5ncmV5LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzkwOTA5MCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzkwOTA5MCAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMuZ3JleS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNENEQ0RDUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NmZDBkMjtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjN2M5Y2I7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZXkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZmQwZDI7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMmM0YzU7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjY2ZkMGQyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2M3YzljYiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0RDRERERSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjZmQwZDIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjYzJjNGM1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBCcm93biAtLS0qL1xuLnVpLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5icm93bi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU2NzNGO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkuYnJvd24uYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJyb3duLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NzViMzM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5icm93bi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYnJvd24uYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkwNTMyYjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYnJvd24uYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MDUwMzE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5icm93bi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLmJyb3duLmFjdGl2ZS5idXR0b24sXG4udWkuYnJvd24uYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTVhMzE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMuYnJvd24uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjQTU2NzNGIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOTc1YjMzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOTc1YjMzICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOTA1MzJiIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOTc1YjMzICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYnJvd24uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5icm93bi5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM5OTVhMzEgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM4MDUwMzEgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5icm93bi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzgwNTAzMSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzgwNTAzMSAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMuYnJvd24uYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNENjdDMUMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNENjdDMUM7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzg2ZjExO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzE2ODA4O1xufVxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYnJvd24uYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzZmMGQ7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E5NjIxNjtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNjODZmMTEgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNENjdDMUMgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjYzE2ODA4IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRDY3QzFDICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2NjNmYwZCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0Q2N0MxQyAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNhOTYyMTYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNENjdDMUMgIWltcG9ydGFudDtcbn1cbi8qLS0tIEJsdWUgLS0tKi9cbi51aS5ibHVlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5ibHVlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1RDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5ibHVlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJsdWUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2NzhjMjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJsdWUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkNzFiYjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5ibHVlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWE2OWE0O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmx1ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJsdWUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkuYmx1ZS5hY3RpdmUuYnV0dG9uLFxuLnVpLmJsdWUuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjc5YzY7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMuYmx1ZS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuYmx1ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzIxODVEMCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLmJsdWUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxNjc4YzIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxNjc4YzIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMGQ3MWJiIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMTY3OGMyICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYmx1ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmJsdWUuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMTI3OWM2IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMWE2OWE0ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYmx1ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLmJsdWUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMWE2OWE0IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMWE2OWE0ICFpbXBvcnRhbnQ7XG59XG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5ibHVlLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzU0QzhGRiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzU0QzhGRjtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhYzBmZjtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYmJiZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsdWUuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWMwZmY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMWI4ZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjM2FjMGZmIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTRDOEZGICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzJiYmJmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzU0QzhGRiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMzYWMwZmYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NEM4RkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMjFiOGZmIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTRDOEZGICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBHcmVlbiAtLS0qL1xuLnVpLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5ncmVlbi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkuZ3JlZW4uYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmdyZWVuLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNmFiMzk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ncmVlbi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuZ3JlZW4uYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBlYTQzMjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuZ3JlZW4uYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOThmMzU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5ncmVlbi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmdyZWVuLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLmdyZWVuLmFjdGl2ZS5idXR0b24sXG4udWkuZ3JlZW4uYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxM2FlMzg7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMjFCQTQ1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMTZhYjM5IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMTZhYjM5ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMGVhNDMyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMTZhYjM5ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5ncmVlbi5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxM2FlMzggaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxOThmMzUgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ncmVlbi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzE5OGYzNSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzE5OGYzNSAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMuZ3JlZW4uYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyRUNDNDAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyRUNDNDA7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiZTM0O1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTliODJiO1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZmMyMzE7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1YTIzMztcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyMmJlMzQgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyRUNDNDAgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMTliODJiIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMkVDQzQwICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzFmYzIzMSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzJFQ0M0MCAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyNWEyMzMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyRUNDNDAgIWltcG9ydGFudDtcbn1cbi8qLS0tIE9yYW5nZSAtLS0qL1xuLnVpLm9yYW5nZS5idXR0b25zIC5idXR0b24sXG4udWkub3JhbmdlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjcxMUM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5vcmFuZ2UuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNjIwMjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLm9yYW5nZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkub3JhbmdlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTViMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjU5MGM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5vcmFuZ2UuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5vcmFuZ2UuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkub3JhbmdlLmFjdGl2ZS5idXR0b24sXG4udWkub3JhbmdlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU2MTAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLm9yYW5nZS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRjI3MTFDIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRjI3MTFDICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNmMjYyMDIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmMjYyMDIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2U1NWIwMCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2YyNjIwMiAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLm9yYW5nZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNmNTYxMDAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNjZjU5MGMgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjY2Y1OTBjIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjY2Y1OTBjICFpbXBvcnRhbnQ7XG59XG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5vcmFuZ2UuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGODUxQiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGODUxQjtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY3NzAxO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMTcwMDA7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY3NzAxO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U3NmIwMDtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjc3MDEgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRjg1MUIgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZjE3MDAwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkY4NTFCICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNzcwMSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGODUxQiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNlNzZiMDAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRjg1MUIgIWltcG9ydGFudDtcbn1cbi8qLS0tIFBpbmsgLS0tKi9cbi51aS5waW5rLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5waW5rLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMDM5OTc7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5waW5rLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnBpbmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MWE4ZDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnBpbmsuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxMGY4NTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5waW5rLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzcxZjdlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucGluay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnBpbmsuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkucGluay5hY3RpdmUuYnV0dG9uLFxuLnVpLnBpbmsuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYTE1OGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMucGluay5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMucGluay5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0UwMzk5NyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0UwMzk5NyAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnBpbmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNlNjFhOGQgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlNjFhOGQgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5waW5rLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZTEwZjg1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZTYxYThkICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucGluay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnBpbmsuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZWExNThkIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjYzcxZjdlICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucGluay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnBpbmsuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYzcxZjdlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjYzcxZjdlICFpbXBvcnRhbnQ7XG59XG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5waW5rLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI0ZGOEVERiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGOEVERjtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNzRkODtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY1ZDM7XG59XG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnBpbmsuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjc0ZDg7XG59XG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjViZDE7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY3NGQ4IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkY4RURGICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNjVkMyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGOEVERiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjc0ZDggaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRjhFREYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY1YmQxIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkY4RURGICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBWaW9sZXQgLS0tKi9cbi51aS52aW9sZXQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnZpb2xldC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNUM5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkudmlvbGV0LmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnZpb2xldC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkudmlvbGV0LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1ODI5YmI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnZpb2xldC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGYyMGI1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudmlvbGV0LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTAyYWExO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnZpb2xldC5hY3RpdmUuYnV0dG9uLFxuLnVpLnZpb2xldC5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU2MjZiZjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy52aW9sZXQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnZpb2xldC5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzY0MzVDOSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzY0MzVDOSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnZpb2xldC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjNTgyOWJiIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTgyOWJiICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy52aW9sZXQuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM0ZjIwYjUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1ODI5YmIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy52aW9sZXQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy52aW9sZXQuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjNTYyNmJmIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTAyYWExICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzUwMmFhMSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzUwMmFhMSAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMudmlvbGV0LmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNBMjkxRkIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNBMjkxRkI7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhhNzNmZjtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2Q2NGZmO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhhNzNmZjtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ODYwZjk7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjOGE3M2ZmIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQTI5MUZCICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzdkNjRmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0EyOTFGQiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM4YTczZmYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNBMjkxRkIgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNzg2MGY5IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQTI5MUZCICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBQdXJwbGUgLS0tKi9cbi51aS5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnB1cnBsZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTMzM0M4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkucHVycGxlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnB1cnBsZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucHVycGxlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NjI3YmE7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnB1cnBsZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGYxZWI0O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODIyOTlmO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucHVycGxlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkucHVycGxlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnB1cnBsZS5hY3RpdmUuYnV0dG9uLFxuLnVpLnB1cnBsZS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3MjRiZTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnB1cnBsZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0EzMzNDOCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0EzMzNDOCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnB1cnBsZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOTYyN2JhIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOTYyN2JhICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICM4ZjFlYjQgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM5NjI3YmEgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5wdXJwbGUuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOTcyNGJlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjODIyOTlmICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzgyMjk5ZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzgyMjk5ZiAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMucHVycGxlLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNEQzczRkYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEQzczRkY7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2NWFmZjtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDI0YWZmO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnB1cnBsZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2NWFmZjtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZjQwZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZDY1YWZmIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjREM3M0ZGICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2QyNGFmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0RDNzNGRiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNkNjVhZmYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEQzczRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjY2Y0MGZmIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjREM3M0ZGICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBSZWQgLS0tKi9cbi51aS5yZWQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnJlZC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREIyODI4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkucmVkLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLnJlZC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucmVkLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5yZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnJlZC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2ExMDEwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucmVkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkucmVkLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIxZTFlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucmVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkucmVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnJlZC5hY3RpdmUuYnV0dG9uLFxuLnVpLnJlZC5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MTUxNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5yZWQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnJlZC5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0RCMjgyOCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnJlZC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMucmVkLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZDAxOTE5IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZDAxOTE5ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5yZWQuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNjYTEwMTAgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNkMDE5MTkgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5yZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5yZWQuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZDQxNTE1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjYjIxZTFlICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMucmVkLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2IyMWUxZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2IyMWUxZSAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMucmVkLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnJlZC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNGRjY5NUUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRjY5NUU7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTE0NDtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnJlZC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0MzM1O1xufVxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnJlZC5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNTE0NDtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjM5MmI7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmY1MTQ0IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkY2OTVFICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2ZmNDMzNSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGNjk1RSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZjUxNDQgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRjY5NUUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmYzOTJiIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkY2OTVFICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBUZWFsIC0tLSovXG4udWkudGVhbC5idXR0b25zIC5idXR0b24sXG4udWkudGVhbC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBCNUFEO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkudGVhbC5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS50ZWFsLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDljOTU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS50ZWFsLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDhjODY7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVhbC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODI3YztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnRlYWwuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS50ZWFsLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnRlYWwuYWN0aXZlLmJ1dHRvbixcbi51aS50ZWFsLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5Yzk1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnRlYWwuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnRlYWwuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwMEI1QUQgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy50ZWFsLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMDA5Yzk1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDA5Yzk1ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMudGVhbC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMudGVhbC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzAwOGM4NiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwOWM5NSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnRlYWwuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy50ZWFsLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzAwOWM5NSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwODI3YyAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy50ZWFsLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzAwODI3YyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAwODI3YyAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMudGVhbC5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM2REZGRkYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2REZGRkY7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xufVxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0ZmZmZjtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NGZmZmY7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnRlYWwuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NGZmZmY7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYWZmZmY7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNTRmZmZmIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNkRGRkZGICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzQ0ZmZmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZERkZGRiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM1NGZmZmYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2REZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjM2FmZmZmIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNkRGRkZGICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBPbGl2ZSAtLS0qL1xuLnVpLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5vbGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjVDQzE4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG4udWkub2xpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLm9saXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhN2JkMGQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5vbGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkub2xpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EwYjYwNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkub2xpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ZDllMTM7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5vbGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLm9saXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLm9saXZlLmFjdGl2ZS5idXR0b24sXG4udWkub2xpdmUuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhYWMxMDk7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjQjVDQzE4IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQjVDQzE4ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYTdiZDBkIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjYTdiZDBkICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjYTBiNjA1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjYTdiZDBkICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5vbGl2ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNhYWMxMDkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM4ZDllMTMgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5vbGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzhkOWUxMyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzhkOWUxMyAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMub2xpdmUuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNEOUU3NzggaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEOUU3Nzg7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOGVhNWM7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYWVmNDc7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vbGl2ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhZWQ1OTtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RkZjRkO1xufVxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2Q4ZWE1YyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0Q5RTc3OCAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNkYWVmNDcgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEOUU3NzggIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZGFlZDU5IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRDlFNzc4ICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2NkZGY0ZCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0Q5RTc3OCAhaW1wb3J0YW50O1xufVxuLyotLS0gWWVsbG93IC0tLSovXG4udWkueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS55ZWxsb3cuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCQkQwODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLnllbGxvdy5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnllbGxvdy5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFhZTAwO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS55ZWxsb3cuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhYTMwMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnllbGxvdy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnllbGxvdy5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NkOTkwMztcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnllbGxvdy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnllbGxvdy5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS55ZWxsb3cuYWN0aXZlLmJ1dHRvbixcbi51aS55ZWxsb3cuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYWFlMDA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNGQkJEMDggaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGQkJEMDggIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnllbGxvdy5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2VhYWUwMCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2VhYWUwMCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnllbGxvdy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZGFhMzAwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZWFhZTAwICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMueWVsbG93LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2VhYWUwMCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2NkOTkwMyAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnllbGxvdy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnllbGxvdy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNjZDk5MDMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNjZDk5MDMgIWltcG9ydGFudDtcbn1cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnllbGxvdy5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjRkZFMjFGIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZFMjFGO1xufVxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGYwNTtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVkNTAwO1xufVxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnllbGxvdy5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZGYwNTtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmNkMDA7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZmZkZjA1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZFMjFGICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggI2Y1ZDUwMCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRTIxRiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICNmZmRmMDUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkUyMUYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjZWJjZDAwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZFMjFGICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBQcmltYXJ5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBTdGFuZGFyZCAtLS0qL1xuLnVpLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnByaW1hcnkuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVEMDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLnByaW1hcnkuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucHJpbWFyeS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTY3OGMyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkucHJpbWFyeS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGQ3MWJiO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxYTY5YTQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5wcmltYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5wcmltYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkucHJpbWFyeS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyNzljNjtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMjE4NUQwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE4NUQwICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucHJpbWFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMucHJpbWFyeS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzE2NzhjMiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzE2NzhjMiAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwZDcxYmIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxNjc4YzIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMucHJpbWFyeS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxMjc5YzYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxYTY5YTQgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMucHJpbWFyeS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxYTY5YTQgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxYTY5YTQgIWltcG9ydGFudDtcbn1cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnByaW1hcnkuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNTRDOEZGIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTRDOEZGO1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FjMGZmO1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiYmJmZjtcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNhYzBmZjtcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxYjhmZjtcbn1cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMzYWMwZmYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NEM4RkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjMmJiYmZmIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTRDOEZGICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzNhYzBmZiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzU0QzhGRiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICMyMWI4ZmYgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NEM4RkYgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2Vjb25kYXJ5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTdGFuZGFyZCAqL1xuLnVpLnNlY29uZGFyeS5idXR0b25zIC5idXR0b24sXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5zZWNvbmRhcnkuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4udWkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI3MjkyYTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZTMwMzI7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5zZWNvbmRhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNDM2Mzc7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkuc2Vjb25kYXJ5LmFjdGl2ZS5idXR0b24sXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjcyOTJhO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuc2Vjb25kYXJ5LmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMUIxQzFEIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMUIxQzFEICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyNzI5MmEgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyNzI5MmEgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzJlMzAzMiBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzI3MjkyYSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnNlY29uZGFyeS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyNzI5MmEgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMzNDM2MzcgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMzQzNjM3IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzQzNjM3ICFpbXBvcnRhbnQ7XG59XG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5wcmltYXJ5LmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM1NDU0NTQgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NDU0NTQ7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYxNjE2MTtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjg2ODY4O1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzYxNjE2MTtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZTZlNmU7XG59XG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNjE2MTYxIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTQ1NDU0ICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggIzY4Njg2OCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzU0NTQ1NCAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICM2MTYxNjEgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1NDU0NTQgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAjNmU2ZTZlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTQ1NDU0ICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLVxuICAgIFBvc2l0aXZlXG4tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFN0YW5kYXJkICovXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnBvc2l0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMUJBNDU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cbi51aS5wb3NpdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucG9zaXRpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2YWIzOTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5wb3NpdGl2ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGVhNDMyO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5wb3NpdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5OGYzNTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLnVpLnBvc2l0aXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkucG9zaXRpdmUuYWN0aXZlLmJ1dHRvbixcbi51aS5wb3NpdGl2ZS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzYWUzODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMyMUJBNDUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxNmFiMzkgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxNmFiMzkgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMwZWE0MzIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMxNmFiMzkgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnBvc2l0aXZlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggIzEzYWUzOCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzE5OGYzNSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMTk4ZjM1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMTk4ZjM1ICFpbXBvcnRhbnQ7XG59XG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5wcmltYXJ5LmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLyotLS0tLS0tLS0tLS0tLS1cbiAgICAgTmVnYXRpdmVcbi0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU3RhbmRhcmQgKi9cbi51aS5uZWdhdGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkubmVnYXRpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCMjgyODtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuLnVpLm5lZ2F0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpIGluc2V0O1xufVxuLnVpLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5uZWdhdGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDAxOTE5O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLm5lZ2F0aXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYTEwMTA7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi51aS5uZWdhdGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLm5lZ2F0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIxZTFlO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5uZWdhdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5uZWdhdGl2ZS5hY3RpdmUuYnV0dG9uLFxuLnVpLm5lZ2F0aXZlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDQxNTE1O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0RCMjgyOCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2QwMTkxOSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2QwMTkxOSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI2NhMTAxMCBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2QwMTkxOSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMubmVnYXRpdmUuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjZDQxNTE1IGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjYjIxZTFlICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNiMjFlMWUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNiMjFlMWUgIWltcG9ydGFudDtcbn1cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnByaW1hcnkuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgR3JvdXBzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmJ1dHRvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZm9udC1zaXplOiAwZW07XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luOiAwZW0gMC4yNWVtIDBlbSAwZW07XG59XG4udWkuYnV0dG9uczpub3QoLmJhc2ljKTpub3QoLmludmVydGVkKSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBDbGVhcmZpeCAqL1xuLnVpLmJ1dHRvbnM6YWZ0ZXIge1xuICBjb250ZW50OiBcIi5cIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIFN0YW5kYXJkIEdyb3VwICovXG4udWkuYnV0dG9ucyAuYnV0dG9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIG1hcmdpbjogMGVtO1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIG1hcmdpbjogMHB4IDBweCAwcHggMHB4O1xufVxuLnVpLmJ1dHRvbnMgPiAudWkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCguaW52ZXJ0ZWQpLFxuLnVpLmJ1dHRvbnM6bm90KC5iYXNpYyk6bm90KC5pbnZlcnRlZCkgPiAuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50IGluc2V0LCAwcHggMGVtIDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi51aS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi8qIFZlcnRpY2FsICBTdHlsZSAqL1xuLnVpLnZlcnRpY2FsLmJ1dHRvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDBweCAwcHggMHB4IDBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gQ29udGFpbmVyXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250YWluZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNaW5pbXVtIEd1dHRlciBpcyB1c2VkIHRvIGRldGVybWluZSAgdGhlIG1heGltdW0gY29udGFpbmVyIHdpZHRoIGZvciBhIGdpdmVuIGRldmljZSAqL1xuLyogRGV2aWNlcyAqL1xuLyogQ291cGxpbmcgKEFkZCBOZWdhdGl2ZSBNYXJnaW4gdG8gY29udGFpbmVyIHNpemUpICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGV4dCAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250YWluZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNaW5pbXVtIEd1dHRlciBpcyB1c2VkIHRvIGRldGVybWluZSAgdGhlIG1heGltdW0gY29udGFpbmVyIHdpZHRoIGZvciBhIGdpdmVuIGRldmljZSAqL1xuLyogRGV2aWNlcyAqL1xuLyogQ291cGxpbmcgKEFkZCBOZWdhdGl2ZSBNYXJnaW4gdG8gY29udGFpbmVyIHNpemUpICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGV4dCAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRhaW5lclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFsbCBTaXplcyAqL1xuLnVpLmNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuY29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudWkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudWkudmVyeS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBUYWJsZXQgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWkuY29udGFpbmVyIHtcbiAgICB3aWR0aDogNzIzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKCA3MjNweCAgKyAgMnJlbSApICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKCA3MjNweCAgKyAgM3JlbSApICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnZlcnkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoIDcyM3B4ICArICA1cmVtICkgIWltcG9ydGFudDtcbiAgfVxufVxuLyogU21hbGwgTW9uaXRvciAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAudWkuY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTMzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKCA5MzNweCAgKyAgMnJlbSApICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKCA5MzNweCAgKyAgM3JlbSApICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnZlcnkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoIDkzM3B4ICArICA1cmVtICkgIWltcG9ydGFudDtcbiAgfVxufVxuLyogTGFyZ2UgTW9uaXRvciAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDExMjdweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoIDExMjdweCAgKyAgMnJlbSApICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKCAxMTI3cHggICsgIDNyZW0gKSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS52ZXJ5LnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBjYWxjKCAxMTI3cHggICsgIDVyZW0gKSAhaW1wb3J0YW50O1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVGV4dCBDb250YWluZXIgKi9cbi51aS50ZXh0LmNvbnRhaW5lciB7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsICfmlofms4npqZvmraPpu5EnLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCAn5b6u6Luf5q2j6buR6auUJywgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG4gIG1heC13aWR0aDogNzAwcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbi51aS50ZXh0LmNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi8qIEZsdWlkICovXG4udWkuZmx1aWQuY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLmNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnVpLmp1c3RpZmllZC5jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBoeXBoZW5zOiBhdXRvO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIERpdmlkZXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIERpdmlkZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUZXh0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSWNvbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBIb3Jpem9udGFsIC8gVmVydGljYWwgKi9cbi8qIEludmVydGVkICovXG4vKiBTZWN0aW9uICovXG4vKiBTaXplcyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBEaXZpZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGV4dCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEljb24gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogSG9yaXpvbnRhbCAvIFZlcnRpY2FsICovXG4vKiBJbnZlcnRlZCAqL1xuLyogU2VjdGlvbiAqL1xuLyogU2l6ZXMgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBEaXZpZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmRpdmlkZXIge1xuICBtYXJnaW46IDFyZW0gMHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMGVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNpY1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5kaXZpZGVyOm5vdCgudmVydGljYWwpOm5vdCguaG9yaXpvbnRhbCkge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEFsbG93IGRpdmlkZXIgYmV0d2VlbiBlYWNoIGNvbHVtbiByb3cgKi9cbi51aS5ncmlkID4gLmNvbHVtbiArIC5kaXZpZGVyLFxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiArIC5kaXZpZGVyIHtcbiAgbGVmdDogYXV0bztcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEhvcml6b250YWxcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAnJztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5ob3Jpem9udGFsLmRpdmlkZXI6YmVmb3JlLFxuLnVpLmhvcml6b250YWwuZGl2aWRlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLnVpLmhvcml6b250YWwuZGl2aWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxZW0gdG9wIDUwJTtcbn1cbi51aS5ob3Jpem9udGFsLmRpdmlkZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDFlbSB0b3AgNTAlO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFZlcnRpY2FsXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnZlcnRpY2FsLmRpdmlkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogMHJlbTtcbiAgcGFkZGluZzogMGVtO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA1MCU7XG4gIGxpbmUtaGVpZ2h0OiAwZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuLnVpLnZlcnRpY2FsLmRpdmlkZXI6YmVmb3JlLFxuLnVpLnZlcnRpY2FsLmRpdmlkZXI6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgY29udGVudDogJyc7XG4gIHotaW5kZXg6IDM7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gIDFyZW0gKTtcbn1cbi51aS52ZXJ0aWNhbC5kaXZpZGVyOmJlZm9yZSB7XG4gIHRvcDogLTEwMCU7XG59XG4udWkudmVydGljYWwuZGl2aWRlcjphZnRlciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwcHg7XG59XG4vKiBJbnNpZGUgZ3JpZCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXIsXG4gIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46ICcnO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjpiZWZvcmUsXG4gIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOmJlZm9yZSxcbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOmFmdGVyLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjphZnRlciB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOmJlZm9yZSxcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxZW0gdG9wIDUwJTtcbiAgfVxuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6YWZ0ZXIsXG4gIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDFlbSB0b3AgNTAlO1xuICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmRpdmlkZXIgPiAuaWNvbiB7XG4gIG1hcmdpbjogMHJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBIaWRkZW5cbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaGlkZGVuLmRpdmlkZXIge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4udWkuaGlkZGVuLmRpdmlkZXI6YmVmb3JlLFxuLnVpLmhpZGRlbi5kaXZpZGVyOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5kaXZpZGVyLmludmVydGVkLFxuLnVpLnZlcnRpY2FsLmludmVydGVkLmRpdmlkZXIsXG4udWkuaG9yaXpvbnRhbC5pbnZlcnRlZC5kaXZpZGVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuZGl2aWRlci5pbnZlcnRlZCxcbi51aS5kaXZpZGVyLmludmVydGVkOmFmdGVyLFxuLnVpLmRpdmlkZXIuaW52ZXJ0ZWQ6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSAhaW1wb3J0YW50O1xuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEZpdHRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5maXR0ZWQuZGl2aWRlciB7XG4gIG1hcmdpbjogMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENsZWFyaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNsZWFyaW5nLmRpdmlkZXIge1xuICBjbGVhcjogYm90aDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnNlY3Rpb24uZGl2aWRlciB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmRpdmlkZXIge1xuICBmb250LXNpemU6IDFyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmhvcml6b250YWwuZGl2aWRlcjpiZWZvcmUsXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQmFBQUFBQUNDQVlBQUFDdVRIdUtBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlGcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TlMxak1ERTBJRGM1TGpFMU1UUTRNU3dnTWpBeE15OHdNeTh4TXkweE1qb3dPVG94TlNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElDaFhhVzVrYjNkektTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzFPVGhCUkRZNE9VTkRNVFl4TVVVME9VRTNOVVZHT0VKRE16TXpNakUyTnlJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvMU9UaEJSRFk0UVVORE1UWXhNVVUwT1VFM05VVkdPRUpETXpNek1qRTJOeUkrSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pVNU9FRkVOamczUTBNeE5qRXhSVFE1UVRjMVJVWTRRa016TXpNeU1UWTNJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalU1T0VGRU5qZzRRME14TmpFeFJUUTVRVGMxUlVZNFFrTXpNek15TVRZM0lpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCtWVTUxM2dBQUFEVkpSRUZVZU5yczBERU5BQ0FRQkRCSVdMR0JKUWJ5L21VY0puNXNKWFFtT1FNQUFBQUFBSnF0KzJwckFBQUFBQUNnMnhkZ0FOazZCRVZ1Smd5TUFBQUFBRWxGVGtTdVFtQ0MnKTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOmJlZm9yZSxcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6YmVmb3JlLFxuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6YWZ0ZXIsXG4gIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCYUFBQUFBQ0NBWUFBQUN1VEh1S0FBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBeUZwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOUzFqTURFMElEYzVMakUxTVRRNE1Td2dNakF4TXk4d015OHhNeTB4TWpvd09Ub3hOU0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESUNoWGFXNWtiM2R6S1NJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvMU9UaEJSRFk0T1VORE1UWXhNVVUwT1VFM05VVkdPRUpETXpNek1qRTJOeUlnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8xT1RoQlJEWTRRVU5ETVRZeE1VVTBPVUUzTlVWR09FSkRNek16TWpFMk55SStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalU1T0VGRU5qZzNRME14TmpFeFJUUTVRVGMxUlVZNFFrTXpNek15TVRZM0lpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qVTVPRUZFTmpnNFEwTXhOakV4UlRRNVFUYzFSVVk0UWtNek16TXlNVFkzSWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K1ZVNTEzZ0FBQURWSlJFRlVlTnJzMERFTkFDQVFCREJJV0xHQkpRYnkvbVVjSm41c0pYUW1PUU1BQUFBQUFKcXQrMnByQUFBQUFBQ2cyeGRnQU5rNkJFVnVKZ3lNQUFBQUFFbEZUa1N1UW1DQycpO1xuICB9XG59XG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBGbGFnXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGbGFnXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGbGFnXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBGbGFnXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuaS5mbGFnOm5vdCguaWNvbikge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbjogMGVtIDAuNWVtIDBlbSAwZW07XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogU3ByaXRlICovXG5pLmZsYWc6bm90KC5pY29uKTpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvaW1hZ2VzL2ZsYWdzLnBuZ1wiKSBuby1yZXBlYXQgLTEwOHB4IC0xOTc2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDExcHg7XG59XG4vKiBGbGFnIFNwcml0ZSBCYXNlZCBPbiBodHRwOi8vd3d3LmZhbWZhbWZhbS5jb20vbGFiL2ljb25zL2ZsYWdzLyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmkuZmxhZy5hZDpiZWZvcmUsXG5pLmZsYWcuYW5kb3JyYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4O1xufVxuaS5mbGFnLmFlOmJlZm9yZSxcbmkuZmxhZy51bml0ZWQuYXJhYi5lbWlyYXRlczpiZWZvcmUsXG5pLmZsYWcudWFlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjZweDtcbn1cbmkuZmxhZy5hZjpiZWZvcmUsXG5pLmZsYWcuYWZnaGFuaXN0YW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC01MnB4O1xufVxuaS5mbGFnLmFnOmJlZm9yZSxcbmkuZmxhZy5hbnRpZ3VhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNzhweDtcbn1cbmkuZmxhZy5haTpiZWZvcmUsXG5pLmZsYWcuYW5ndWlsbGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMDRweDtcbn1cbmkuZmxhZy5hbDpiZWZvcmUsXG5pLmZsYWcuYWxiYW5pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEzMHB4O1xufVxuaS5mbGFnLmFtOmJlZm9yZSxcbmkuZmxhZy5hcm1lbmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTU2cHg7XG59XG5pLmZsYWcuYW46YmVmb3JlLFxuaS5mbGFnLm5ldGhlcmxhbmRzLmFudGlsbGVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTgycHg7XG59XG5pLmZsYWcuYW86YmVmb3JlLFxuaS5mbGFnLmFuZ29sYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTIwOHB4O1xufVxuaS5mbGFnLmFyOmJlZm9yZSxcbmkuZmxhZy5hcmdlbnRpbmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0yMzRweDtcbn1cbmkuZmxhZy5hczpiZWZvcmUsXG5pLmZsYWcuYW1lcmljYW4uc2Ftb2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0yNjBweDtcbn1cbmkuZmxhZy5hdDpiZWZvcmUsXG5pLmZsYWcuYXVzdHJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTI4NnB4O1xufVxuaS5mbGFnLmF1OmJlZm9yZSxcbmkuZmxhZy5hdXN0cmFsaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0zMTJweDtcbn1cbmkuZmxhZy5hdzpiZWZvcmUsXG5pLmZsYWcuYXJ1YmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0zMzhweDtcbn1cbmkuZmxhZy5heDpiZWZvcmUsXG5pLmZsYWcuYWxhbmQuaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTM2NHB4O1xufVxuaS5mbGFnLmF6OmJlZm9yZSxcbmkuZmxhZy5hemVyYmFpamFuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzkwcHg7XG59XG5pLmZsYWcuYmE6YmVmb3JlLFxuaS5mbGFnLmJvc25pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTQxNnB4O1xufVxuaS5mbGFnLmJiOmJlZm9yZSxcbmkuZmxhZy5iYXJiYWRvczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTQ0MnB4O1xufVxuaS5mbGFnLmJkOmJlZm9yZSxcbmkuZmxhZy5iYW5nbGFkZXNoOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDY4cHg7XG59XG5pLmZsYWcuYmU6YmVmb3JlLFxuaS5mbGFnLmJlbGdpdW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC00OTRweDtcbn1cbmkuZmxhZy5iZjpiZWZvcmUsXG5pLmZsYWcuYnVya2luYS5mYXNvOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNTIwcHg7XG59XG5pLmZsYWcuYmc6YmVmb3JlLFxuaS5mbGFnLmJ1bGdhcmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNTQ2cHg7XG59XG5pLmZsYWcuYmg6YmVmb3JlLFxuaS5mbGFnLmJhaHJhaW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC01NzJweDtcbn1cbmkuZmxhZy5iaTpiZWZvcmUsXG5pLmZsYWcuYnVydW5kaTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTU5OHB4O1xufVxuaS5mbGFnLmJqOmJlZm9yZSxcbmkuZmxhZy5iZW5pbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTYyNHB4O1xufVxuaS5mbGFnLmJtOmJlZm9yZSxcbmkuZmxhZy5iZXJtdWRhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNjUwcHg7XG59XG5pLmZsYWcuYm46YmVmb3JlLFxuaS5mbGFnLmJydW5laTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTY3NnB4O1xufVxuaS5mbGFnLmJvOmJlZm9yZSxcbmkuZmxhZy5ib2xpdmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNzAycHg7XG59XG5pLmZsYWcuYnI6YmVmb3JlLFxuaS5mbGFnLmJyYXppbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTcyOHB4O1xufVxuaS5mbGFnLmJzOmJlZm9yZSxcbmkuZmxhZy5iYWhhbWFzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNzU0cHg7XG59XG5pLmZsYWcuYnQ6YmVmb3JlLFxuaS5mbGFnLmJodXRhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTc4MHB4O1xufVxuaS5mbGFnLmJ2OmJlZm9yZSxcbmkuZmxhZy5ib3V2ZXQuaXNsYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtODA2cHg7XG59XG5pLmZsYWcuYnc6YmVmb3JlLFxuaS5mbGFnLmJvdHN3YW5hOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtODMycHg7XG59XG5pLmZsYWcuYnk6YmVmb3JlLFxuaS5mbGFnLmJlbGFydXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC04NThweDtcbn1cbmkuZmxhZy5iejpiZWZvcmUsXG5pLmZsYWcuYmVsaXplOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtODg0cHg7XG59XG5pLmZsYWcuY2E6YmVmb3JlLFxuaS5mbGFnLmNhbmFkYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTkxMHB4O1xufVxuaS5mbGFnLmNjOmJlZm9yZSxcbmkuZmxhZy5jb2Nvcy5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtOTYycHg7XG59XG5pLmZsYWcuY2Q6YmVmb3JlLFxuaS5mbGFnLmNvbmdvOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtOTg4cHg7XG59XG5pLmZsYWcuY2Y6YmVmb3JlLFxuaS5mbGFnLmNlbnRyYWwuYWZyaWNhbi5yZXB1YmxpYzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEwMTRweDtcbn1cbmkuZmxhZy5jZzpiZWZvcmUsXG5pLmZsYWcuY29uZ28uYnJhenphdmlsbGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMDQwcHg7XG59XG5pLmZsYWcuY2g6YmVmb3JlLFxuaS5mbGFnLnN3aXR6ZXJsYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTA2NnB4O1xufVxuaS5mbGFnLmNpOmJlZm9yZSxcbmkuZmxhZy5jb3RlLmRpdm9pcmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMDkycHg7XG59XG5pLmZsYWcuY2s6YmVmb3JlLFxuaS5mbGFnLmNvb2suaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTExMThweDtcbn1cbmkuZmxhZy5jbDpiZWZvcmUsXG5pLmZsYWcuY2hpbGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMTQ0cHg7XG59XG5pLmZsYWcuY206YmVmb3JlLFxuaS5mbGFnLmNhbWVyb29uOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTE3MHB4O1xufVxuaS5mbGFnLmNuOmJlZm9yZSxcbmkuZmxhZy5jaGluYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTExOTZweDtcbn1cbmkuZmxhZy5jbzpiZWZvcmUsXG5pLmZsYWcuY29sb21iaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMjIycHg7XG59XG5pLmZsYWcuY3I6YmVmb3JlLFxuaS5mbGFnLmNvc3RhLnJpY2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMjQ4cHg7XG59XG5pLmZsYWcuY3M6YmVmb3JlLFxuaS5mbGFnLnNlcmJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEyNzRweDtcbn1cbmkuZmxhZy5jdTpiZWZvcmUsXG5pLmZsYWcuY3ViYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEzMDBweDtcbn1cbmkuZmxhZy5jdjpiZWZvcmUsXG5pLmZsYWcuY2FwZS52ZXJkZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEzMjZweDtcbn1cbmkuZmxhZy5jeDpiZWZvcmUsXG5pLmZsYWcuY2hyaXN0bWFzLmlzbGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEzNTJweDtcbn1cbmkuZmxhZy5jeTpiZWZvcmUsXG5pLmZsYWcuY3lwcnVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTM3OHB4O1xufVxuaS5mbGFnLmN6OmJlZm9yZSxcbmkuZmxhZy5jemVjaC5yZXB1YmxpYzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE0MDRweDtcbn1cbmkuZmxhZy5kZTpiZWZvcmUsXG5pLmZsYWcuZ2VybWFueTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE0MzBweDtcbn1cbmkuZmxhZy5kajpiZWZvcmUsXG5pLmZsYWcuZGppYm91dGk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNDU2cHg7XG59XG5pLmZsYWcuZGs6YmVmb3JlLFxuaS5mbGFnLmRlbm1hcms6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNDgycHg7XG59XG5pLmZsYWcuZG06YmVmb3JlLFxuaS5mbGFnLmRvbWluaWNhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTUwOHB4O1xufVxuaS5mbGFnLmRvOmJlZm9yZSxcbmkuZmxhZy5kb21pbmljYW4ucmVwdWJsaWM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNTM0cHg7XG59XG5pLmZsYWcuZHo6YmVmb3JlLFxuaS5mbGFnLmFsZ2VyaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNTYwcHg7XG59XG5pLmZsYWcuZWM6YmVmb3JlLFxuaS5mbGFnLmVjdWFkb3I6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNTg2cHg7XG59XG5pLmZsYWcuZWU6YmVmb3JlLFxuaS5mbGFnLmVzdG9uaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNjEycHg7XG59XG5pLmZsYWcuZWc6YmVmb3JlLFxuaS5mbGFnLmVneXB0OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTYzOHB4O1xufVxuaS5mbGFnLmVoOmJlZm9yZSxcbmkuZmxhZy53ZXN0ZXJuLnNhaGFyYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE2NjRweDtcbn1cbmkuZmxhZy5nYi5lbmc6YmVmb3JlLFxuaS5mbGFnLmVuZ2xhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNjkwcHg7XG59XG5pLmZsYWcuZXI6YmVmb3JlLFxuaS5mbGFnLmVyaXRyZWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNzE2cHg7XG59XG5pLmZsYWcuZXM6YmVmb3JlLFxuaS5mbGFnLnNwYWluOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTc0MnB4O1xufVxuaS5mbGFnLmV0OmJlZm9yZSxcbmkuZmxhZy5ldGhpb3BpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE3NjhweDtcbn1cbmkuZmxhZy5ldTpiZWZvcmUsXG5pLmZsYWcuZXVyb3BlYW4udW5pb246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNzk0cHg7XG59XG5pLmZsYWcuZmk6YmVmb3JlLFxuaS5mbGFnLmZpbmxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xODQ2cHg7XG59XG5pLmZsYWcuZmo6YmVmb3JlLFxuaS5mbGFnLmZpamk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xODcycHg7XG59XG5pLmZsYWcuZms6YmVmb3JlLFxuaS5mbGFnLmZhbGtsYW5kLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xODk4cHg7XG59XG5pLmZsYWcuZm06YmVmb3JlLFxuaS5mbGFnLm1pY3JvbmVzaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xOTI0cHg7XG59XG5pLmZsYWcuZm86YmVmb3JlLFxuaS5mbGFnLmZhcm9lLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xOTUwcHg7XG59XG5pLmZsYWcuZnI6YmVmb3JlLFxuaS5mbGFnLmZyYW5jZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE5NzZweDtcbn1cbmkuZmxhZy5nYTpiZWZvcmUsXG5pLmZsYWcuZ2Fib246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggMHB4O1xufVxuaS5mbGFnLmdiOmJlZm9yZSxcbmkuZmxhZy51azpiZWZvcmUsXG5pLmZsYWcudW5pdGVkLmtpbmdkb206YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTI2cHg7XG59XG5pLmZsYWcuZ2Q6YmVmb3JlLFxuaS5mbGFnLmdyZW5hZGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTUycHg7XG59XG5pLmZsYWcuZ2U6YmVmb3JlLFxuaS5mbGFnLmdlb3JnaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTc4cHg7XG59XG5pLmZsYWcuZ2Y6YmVmb3JlLFxuaS5mbGFnLmZyZW5jaC5ndWlhbmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEwNHB4O1xufVxuaS5mbGFnLmdoOmJlZm9yZSxcbmkuZmxhZy5naGFuYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTMwcHg7XG59XG5pLmZsYWcuZ2k6YmVmb3JlLFxuaS5mbGFnLmdpYnJhbHRhcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTU2cHg7XG59XG5pLmZsYWcuZ2w6YmVmb3JlLFxuaS5mbGFnLmdyZWVubGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTgycHg7XG59XG5pLmZsYWcuZ206YmVmb3JlLFxuaS5mbGFnLmdhbWJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMjA4cHg7XG59XG5pLmZsYWcuZ246YmVmb3JlLFxuaS5mbGFnLmd1aW5lYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMjM0cHg7XG59XG5pLmZsYWcuZ3A6YmVmb3JlLFxuaS5mbGFnLmd1YWRlbG91cGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTI2MHB4O1xufVxuaS5mbGFnLmdxOmJlZm9yZSxcbmkuZmxhZy5lcXVhdG9yaWFsLmd1aW5lYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMjg2cHg7XG59XG5pLmZsYWcuZ3I6YmVmb3JlLFxuaS5mbGFnLmdyZWVjZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMzEycHg7XG59XG5pLmZsYWcuZ3M6YmVmb3JlLFxuaS5mbGFnLnNhbmR3aWNoLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTMzOHB4O1xufVxuaS5mbGFnLmd0OmJlZm9yZSxcbmkuZmxhZy5ndWF0ZW1hbGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTM2NHB4O1xufVxuaS5mbGFnLmd1OmJlZm9yZSxcbmkuZmxhZy5ndWFtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0zOTBweDtcbn1cbmkuZmxhZy5ndzpiZWZvcmUsXG5pLmZsYWcuZ3VpbmVhLWJpc3NhdTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNDE2cHg7XG59XG5pLmZsYWcuZ3k6YmVmb3JlLFxuaS5mbGFnLmd1eWFuYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNDQycHg7XG59XG5pLmZsYWcuaGs6YmVmb3JlLFxuaS5mbGFnLmhvbmcua29uZzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNDY4cHg7XG59XG5pLmZsYWcuaG06YmVmb3JlLFxuaS5mbGFnLmhlYXJkLmlzbGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNDk0cHg7XG59XG5pLmZsYWcuaG46YmVmb3JlLFxuaS5mbGFnLmhvbmR1cmFzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC01MjBweDtcbn1cbmkuZmxhZy5ocjpiZWZvcmUsXG5pLmZsYWcuY3JvYXRpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNTQ2cHg7XG59XG5pLmZsYWcuaHQ6YmVmb3JlLFxuaS5mbGFnLmhhaXRpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC01NzJweDtcbn1cbmkuZmxhZy5odTpiZWZvcmUsXG5pLmZsYWcuaHVuZ2FyeTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNTk4cHg7XG59XG5pLmZsYWcuaWQ6YmVmb3JlLFxuaS5mbGFnLmluZG9uZXNpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNjI0cHg7XG59XG5pLmZsYWcuaWU6YmVmb3JlLFxuaS5mbGFnLmlyZWxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTY1MHB4O1xufVxuaS5mbGFnLmlsOmJlZm9yZSxcbmkuZmxhZy5pc3JhZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTY3NnB4O1xufVxuaS5mbGFnLmluOmJlZm9yZSxcbmkuZmxhZy5pbmRpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNzAycHg7XG59XG5pLmZsYWcuaW86YmVmb3JlLFxuaS5mbGFnLmluZGlhbi5vY2Vhbi50ZXJyaXRvcnk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTcyOHB4O1xufVxuaS5mbGFnLmlxOmJlZm9yZSxcbmkuZmxhZy5pcmFxOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC03NTRweDtcbn1cbmkuZmxhZy5pcjpiZWZvcmUsXG5pLmZsYWcuaXJhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNzgwcHg7XG59XG5pLmZsYWcuaXM6YmVmb3JlLFxuaS5mbGFnLmljZWxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTgwNnB4O1xufVxuaS5mbGFnLml0OmJlZm9yZSxcbmkuZmxhZy5pdGFseTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtODMycHg7XG59XG5pLmZsYWcuam06YmVmb3JlLFxuaS5mbGFnLmphbWFpY2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTg1OHB4O1xufVxuaS5mbGFnLmpvOmJlZm9yZSxcbmkuZmxhZy5qb3JkYW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTg4NHB4O1xufVxuaS5mbGFnLmpwOmJlZm9yZSxcbmkuZmxhZy5qYXBhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtOTEwcHg7XG59XG5pLmZsYWcua2U6YmVmb3JlLFxuaS5mbGFnLmtlbnlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC05MzZweDtcbn1cbmkuZmxhZy5rZzpiZWZvcmUsXG5pLmZsYWcua3lyZ3l6c3RhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtOTYycHg7XG59XG5pLmZsYWcua2g6YmVmb3JlLFxuaS5mbGFnLmNhbWJvZGlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC05ODhweDtcbn1cbmkuZmxhZy5raTpiZWZvcmUsXG5pLmZsYWcua2lyaWJhdGk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEwMTRweDtcbn1cbmkuZmxhZy5rbTpiZWZvcmUsXG5pLmZsYWcuY29tb3JvczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTA0MHB4O1xufVxuaS5mbGFnLmtuOmJlZm9yZSxcbmkuZmxhZy5zYWludC5raXR0cy5hbmQubmV2aXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEwNjZweDtcbn1cbmkuZmxhZy5rcDpiZWZvcmUsXG5pLmZsYWcubm9ydGgua29yZWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEwOTJweDtcbn1cbmkuZmxhZy5rcjpiZWZvcmUsXG5pLmZsYWcuc291dGgua29yZWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTExMThweDtcbn1cbmkuZmxhZy5rdzpiZWZvcmUsXG5pLmZsYWcua3V3YWl0OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMTQ0cHg7XG59XG5pLmZsYWcua3k6YmVmb3JlLFxuaS5mbGFnLmNheW1hbi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMTcwcHg7XG59XG5pLmZsYWcua3o6YmVmb3JlLFxuaS5mbGFnLmthemFraHN0YW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTExOTZweDtcbn1cbmkuZmxhZy5sYTpiZWZvcmUsXG5pLmZsYWcubGFvczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTIyMnB4O1xufVxuaS5mbGFnLmxiOmJlZm9yZSxcbmkuZmxhZy5sZWJhbm9uOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMjQ4cHg7XG59XG5pLmZsYWcubGM6YmVmb3JlLFxuaS5mbGFnLnNhaW50Lmx1Y2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMjc0cHg7XG59XG5pLmZsYWcubGk6YmVmb3JlLFxuaS5mbGFnLmxpZWNodGVuc3RlaW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEzMDBweDtcbn1cbmkuZmxhZy5sazpiZWZvcmUsXG5pLmZsYWcuc3JpLmxhbmthOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMzI2cHg7XG59XG5pLmZsYWcubHI6YmVmb3JlLFxuaS5mbGFnLmxpYmVyaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEzNTJweDtcbn1cbmkuZmxhZy5sczpiZWZvcmUsXG5pLmZsYWcubGVzb3RobzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTM3OHB4O1xufVxuaS5mbGFnLmx0OmJlZm9yZSxcbmkuZmxhZy5saXRodWFuaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE0MDRweDtcbn1cbmkuZmxhZy5sdTpiZWZvcmUsXG5pLmZsYWcubHV4ZW1ib3VyZzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTQzMHB4O1xufVxuaS5mbGFnLmx2OmJlZm9yZSxcbmkuZmxhZy5sYXR2aWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE0NTZweDtcbn1cbmkuZmxhZy5seTpiZWZvcmUsXG5pLmZsYWcubGlieWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE0ODJweDtcbn1cbmkuZmxhZy5tYTpiZWZvcmUsXG5pLmZsYWcubW9yb2NjbzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTUwOHB4O1xufVxuaS5mbGFnLm1jOmJlZm9yZSxcbmkuZmxhZy5tb25hY286YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE1MzRweDtcbn1cbmkuZmxhZy5tZDpiZWZvcmUsXG5pLmZsYWcubW9sZG92YTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTU2MHB4O1xufVxuaS5mbGFnLm1lOmJlZm9yZSxcbmkuZmxhZy5tb250ZW5lZ3JvOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xNTg2cHg7XG59XG5pLmZsYWcubWc6YmVmb3JlLFxuaS5mbGFnLm1hZGFnYXNjYXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE2MTNweDtcbn1cbmkuZmxhZy5taDpiZWZvcmUsXG5pLmZsYWcubWFyc2hhbGwuaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTYzOXB4O1xufVxuaS5mbGFnLm1rOmJlZm9yZSxcbmkuZmxhZy5tYWNlZG9uaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE2NjVweDtcbn1cbmkuZmxhZy5tbDpiZWZvcmUsXG5pLmZsYWcubWFsaTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTY5MXB4O1xufVxuaS5mbGFnLm1tOmJlZm9yZSxcbmkuZmxhZy5teWFubWFyOmJlZm9yZSxcbmkuZmxhZy5idXJtYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzNweCAtMTgyMXB4O1xufVxuaS5mbGFnLm1uOmJlZm9yZSxcbmkuZmxhZy5tb25nb2xpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTc0M3B4O1xufVxuaS5mbGFnLm1vOmJlZm9yZSxcbmkuZmxhZy5tYWNhdTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTc2OXB4O1xufVxuaS5mbGFnLm1wOmJlZm9yZSxcbmkuZmxhZy5ub3J0aGVybi5tYXJpYW5hLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE3OTVweDtcbn1cbmkuZmxhZy5tcTpiZWZvcmUsXG5pLmZsYWcubWFydGluaXF1ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTgyMXB4O1xufVxuaS5mbGFnLm1yOmJlZm9yZSxcbmkuZmxhZy5tYXVyaXRhbmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xODQ3cHg7XG59XG5pLmZsYWcubXM6YmVmb3JlLFxuaS5mbGFnLm1vbnRzZXJyYXQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE4NzNweDtcbn1cbmkuZmxhZy5tdDpiZWZvcmUsXG5pLmZsYWcubWFsdGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE4OTlweDtcbn1cbmkuZmxhZy5tdTpiZWZvcmUsXG5pLmZsYWcubWF1cml0aXVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xOTI1cHg7XG59XG5pLmZsYWcubXY6YmVmb3JlLFxuaS5mbGFnLm1hbGRpdmVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xOTUxcHg7XG59XG5pLmZsYWcubXc6YmVmb3JlLFxuaS5mbGFnLm1hbGF3aTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTk3N3B4O1xufVxuaS5mbGFnLm14OmJlZm9yZSxcbmkuZmxhZy5tZXhpY286YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggMHB4O1xufVxuaS5mbGFnLm15OmJlZm9yZSxcbmkuZmxhZy5tYWxheXNpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMjZweDtcbn1cbmkuZmxhZy5tejpiZWZvcmUsXG5pLmZsYWcubW96YW1iaXF1ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNTJweDtcbn1cbmkuZmxhZy5uYTpiZWZvcmUsXG5pLmZsYWcubmFtaWJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNzhweDtcbn1cbmkuZmxhZy5uYzpiZWZvcmUsXG5pLmZsYWcubmV3LmNhbGVkb25pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTA0cHg7XG59XG5pLmZsYWcubmU6YmVmb3JlLFxuaS5mbGFnLm5pZ2VyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMzBweDtcbn1cbmkuZmxhZy5uZjpiZWZvcmUsXG5pLmZsYWcubm9yZm9say5pc2xhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE1NnB4O1xufVxuaS5mbGFnLm5nOmJlZm9yZSxcbmkuZmxhZy5uaWdlcmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xODJweDtcbn1cbmkuZmxhZy5uaTpiZWZvcmUsXG5pLmZsYWcubmljYXJhZ3VhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0yMDhweDtcbn1cbmkuZmxhZy5ubDpiZWZvcmUsXG5pLmZsYWcubmV0aGVybGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTIzNHB4O1xufVxuaS5mbGFnLm5vOmJlZm9yZSxcbmkuZmxhZy5ub3J3YXk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTI2MHB4O1xufVxuaS5mbGFnLm5wOmJlZm9yZSxcbmkuZmxhZy5uZXBhbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMjg2cHg7XG59XG5pLmZsYWcubnI6YmVmb3JlLFxuaS5mbGFnLm5hdXJ1OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0zMTJweDtcbn1cbmkuZmxhZy5udTpiZWZvcmUsXG5pLmZsYWcubml1ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMzM4cHg7XG59XG5pLmZsYWcubno6YmVmb3JlLFxuaS5mbGFnLm5ldy56ZWFsYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0zNjRweDtcbn1cbmkuZmxhZy5vbTpiZWZvcmUsXG5pLmZsYWcub21hbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMzkwcHg7XG59XG5pLmZsYWcucGE6YmVmb3JlLFxuaS5mbGFnLnBhbmFtYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNDE2cHg7XG59XG5pLmZsYWcucGU6YmVmb3JlLFxuaS5mbGFnLnBlcnU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTQ0MnB4O1xufVxuaS5mbGFnLnBmOmJlZm9yZSxcbmkuZmxhZy5mcmVuY2gucG9seW5lc2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC00NjhweDtcbn1cbmkuZmxhZy5wZzpiZWZvcmUsXG5pLmZsYWcubmV3Lmd1aW5lYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNDk0cHg7XG59XG5pLmZsYWcucGg6YmVmb3JlLFxuaS5mbGFnLnBoaWxpcHBpbmVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC01MjBweDtcbn1cbmkuZmxhZy5wazpiZWZvcmUsXG5pLmZsYWcucGFraXN0YW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTU0NnB4O1xufVxuaS5mbGFnLnBsOmJlZm9yZSxcbmkuZmxhZy5wb2xhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTU3MnB4O1xufVxuaS5mbGFnLnBtOmJlZm9yZSxcbmkuZmxhZy5zYWludC5waWVycmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTU5OHB4O1xufVxuaS5mbGFnLnBuOmJlZm9yZSxcbmkuZmxhZy5waXRjYWlybi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC02MjRweDtcbn1cbmkuZmxhZy5wcjpiZWZvcmUsXG5pLmZsYWcucHVlcnRvLnJpY286YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTY1MHB4O1xufVxuaS5mbGFnLnBzOmJlZm9yZSxcbmkuZmxhZy5wYWxlc3RpbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTY3NnB4O1xufVxuaS5mbGFnLnB0OmJlZm9yZSxcbmkuZmxhZy5wb3J0dWdhbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNzAycHg7XG59XG5pLmZsYWcucHc6YmVmb3JlLFxuaS5mbGFnLnBhbGF1OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC03MjhweDtcbn1cbmkuZmxhZy5weTpiZWZvcmUsXG5pLmZsYWcucGFyYWd1YXk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTc1NHB4O1xufVxuaS5mbGFnLnFhOmJlZm9yZSxcbmkuZmxhZy5xYXRhcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNzgwcHg7XG59XG5pLmZsYWcucmU6YmVmb3JlLFxuaS5mbGFnLnJldW5pb246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTgwNnB4O1xufVxuaS5mbGFnLnJvOmJlZm9yZSxcbmkuZmxhZy5yb21hbmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC04MzJweDtcbn1cbmkuZmxhZy5yczpiZWZvcmUsXG5pLmZsYWcuc2VyYmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC04NThweDtcbn1cbmkuZmxhZy5ydTpiZWZvcmUsXG5pLmZsYWcucnVzc2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC04ODRweDtcbn1cbmkuZmxhZy5ydzpiZWZvcmUsXG5pLmZsYWcucndhbmRhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC05MTBweDtcbn1cbmkuZmxhZy5zYTpiZWZvcmUsXG5pLmZsYWcuc2F1ZGkuYXJhYmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC05MzZweDtcbn1cbmkuZmxhZy5zYjpiZWZvcmUsXG5pLmZsYWcuc29sb21vbi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC05NjJweDtcbn1cbmkuZmxhZy5zYzpiZWZvcmUsXG5pLmZsYWcuc2V5Y2hlbGxlczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtOTg4cHg7XG59XG5pLmZsYWcuZ2Iuc2N0OmJlZm9yZSxcbmkuZmxhZy5zY290bGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTAxNHB4O1xufVxuaS5mbGFnLnNkOmJlZm9yZSxcbmkuZmxhZy5zdWRhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTA0MHB4O1xufVxuaS5mbGFnLnNlOmJlZm9yZSxcbmkuZmxhZy5zd2VkZW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTEwNjZweDtcbn1cbmkuZmxhZy5zZzpiZWZvcmUsXG5pLmZsYWcuc2luZ2Fwb3JlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMDkycHg7XG59XG5pLmZsYWcuc2g6YmVmb3JlLFxuaS5mbGFnLnNhaW50LmhlbGVuYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTExOHB4O1xufVxuaS5mbGFnLnNpOmJlZm9yZSxcbmkuZmxhZy5zbG92ZW5pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTE0NHB4O1xufVxuaS5mbGFnLnNqOmJlZm9yZSxcbmkuZmxhZy5zdmFsYmFyZDpiZWZvcmUsXG5pLmZsYWcuamFuLm1heWVuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMTcwcHg7XG59XG5pLmZsYWcuc2s6YmVmb3JlLFxuaS5mbGFnLnNsb3Zha2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMTk2cHg7XG59XG5pLmZsYWcuc2w6YmVmb3JlLFxuaS5mbGFnLnNpZXJyYS5sZW9uZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTIyMnB4O1xufVxuaS5mbGFnLnNtOmJlZm9yZSxcbmkuZmxhZy5zYW4ubWFyaW5vOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMjQ4cHg7XG59XG5pLmZsYWcuc246YmVmb3JlLFxuaS5mbGFnLnNlbmVnYWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTEyNzRweDtcbn1cbmkuZmxhZy5zbzpiZWZvcmUsXG5pLmZsYWcuc29tYWxpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTMwMHB4O1xufVxuaS5mbGFnLnNyOmJlZm9yZSxcbmkuZmxhZy5zdXJpbmFtZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTMyNnB4O1xufVxuaS5mbGFnLnN0OmJlZm9yZSxcbmkuZmxhZy5zYW8udG9tZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTM1MnB4O1xufVxuaS5mbGFnLnN2OmJlZm9yZSxcbmkuZmxhZy5lbC5zYWx2YWRvcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTM3OHB4O1xufVxuaS5mbGFnLnN5OmJlZm9yZSxcbmkuZmxhZy5zeXJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTQwNHB4O1xufVxuaS5mbGFnLnN6OmJlZm9yZSxcbmkuZmxhZy5zd2F6aWxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE0MzBweDtcbn1cbmkuZmxhZy50YzpiZWZvcmUsXG5pLmZsYWcuY2FpY29zLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE0NTZweDtcbn1cbmkuZmxhZy50ZDpiZWZvcmUsXG5pLmZsYWcuY2hhZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTQ4MnB4O1xufVxuaS5mbGFnLnRmOmJlZm9yZSxcbmkuZmxhZy5mcmVuY2gudGVycml0b3JpZXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE1MDhweDtcbn1cbmkuZmxhZy50ZzpiZWZvcmUsXG5pLmZsYWcudG9nbzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTUzNHB4O1xufVxuaS5mbGFnLnRoOmJlZm9yZSxcbmkuZmxhZy50aGFpbGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTU2MHB4O1xufVxuaS5mbGFnLnRqOmJlZm9yZSxcbmkuZmxhZy50YWppa2lzdGFuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xNTg2cHg7XG59XG5pLmZsYWcudGs6YmVmb3JlLFxuaS5mbGFnLnRva2VsYXU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE2MTJweDtcbn1cbmkuZmxhZy50bDpiZWZvcmUsXG5pLmZsYWcudGltb3JsZXN0ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTYzOHB4O1xufVxuaS5mbGFnLnRtOmJlZm9yZSxcbmkuZmxhZy50dXJrbWVuaXN0YW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE2NjRweDtcbn1cbmkuZmxhZy50bjpiZWZvcmUsXG5pLmZsYWcudHVuaXNpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTY5MHB4O1xufVxuaS5mbGFnLnRvOmJlZm9yZSxcbmkuZmxhZy50b25nYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTcxNnB4O1xufVxuaS5mbGFnLnRyOmJlZm9yZSxcbmkuZmxhZy50dXJrZXk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE3NDJweDtcbn1cbmkuZmxhZy50dDpiZWZvcmUsXG5pLmZsYWcudHJpbmlkYWQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE3NjhweDtcbn1cbmkuZmxhZy50djpiZWZvcmUsXG5pLmZsYWcudHV2YWx1OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xNzk0cHg7XG59XG5pLmZsYWcudHc6YmVmb3JlLFxuaS5mbGFnLnRhaXdhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTgyMHB4O1xufVxuaS5mbGFnLnR6OmJlZm9yZSxcbmkuZmxhZy50YW56YW5pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTg0NnB4O1xufVxuaS5mbGFnLnVhOmJlZm9yZSxcbmkuZmxhZy51a3JhaW5lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xODcycHg7XG59XG5pLmZsYWcudWc6YmVmb3JlLFxuaS5mbGFnLnVnYW5kYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTg5OHB4O1xufVxuaS5mbGFnLnVtOmJlZm9yZSxcbmkuZmxhZy51cy5taW5vci5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xOTI0cHg7XG59XG5pLmZsYWcudXM6YmVmb3JlLFxuaS5mbGFnLmFtZXJpY2E6YmVmb3JlLFxuaS5mbGFnLnVuaXRlZC5zdGF0ZXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE5NTBweDtcbn1cbmkuZmxhZy51eTpiZWZvcmUsXG5pLmZsYWcudXJ1Z3VheTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTk3NnB4O1xufVxuaS5mbGFnLnV6OmJlZm9yZSxcbmkuZmxhZy51emJla2lzdGFuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAwcHg7XG59XG5pLmZsYWcudmE6YmVmb3JlLFxuaS5mbGFnLnZhdGljYW4uY2l0eTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTI2cHg7XG59XG5pLmZsYWcudmM6YmVmb3JlLFxuaS5mbGFnLnNhaW50LnZpbmNlbnQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC01MnB4O1xufVxuaS5mbGFnLnZlOmJlZm9yZSxcbmkuZmxhZy52ZW5lenVlbGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC03OHB4O1xufVxuaS5mbGFnLnZnOmJlZm9yZSxcbmkuZmxhZy5icml0aXNoLnZpcmdpbi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMTA0cHg7XG59XG5pLmZsYWcudmk6YmVmb3JlLFxuaS5mbGFnLnVzLnZpcmdpbi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMTMwcHg7XG59XG5pLmZsYWcudm46YmVmb3JlLFxuaS5mbGFnLnZpZXRuYW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0xNTZweDtcbn1cbmkuZmxhZy52dTpiZWZvcmUsXG5pLmZsYWcudmFudWF0dTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTE4MnB4O1xufVxuaS5mbGFnLmdiLndsczpiZWZvcmUsXG5pLmZsYWcud2FsZXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yMDhweDtcbn1cbmkuZmxhZy53ZjpiZWZvcmUsXG5pLmZsYWcud2FsbGlzLmFuZC5mdXR1bmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yMzRweDtcbn1cbmkuZmxhZy53czpiZWZvcmUsXG5pLmZsYWcuc2Ftb2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yNjBweDtcbn1cbmkuZmxhZy55ZTpiZWZvcmUsXG5pLmZsYWcueWVtZW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yODZweDtcbn1cbmkuZmxhZy55dDpiZWZvcmUsXG5pLmZsYWcubWF5b3R0ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTMxMnB4O1xufVxuaS5mbGFnLnphOmJlZm9yZSxcbmkuZmxhZy5zb3V0aC5hZnJpY2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0zMzhweDtcbn1cbmkuZmxhZy56bTpiZWZvcmUsXG5pLmZsYWcuemFtYmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMzY0cHg7XG59XG5pLmZsYWcuenc6YmVmb3JlLFxuaS5mbGFnLnppbWJhYndlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMzkwcHg7XG59XG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBIZWFkZXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEhlYWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFN1YiBIZWFkaW5nICovXG4vKiBTdWIgSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBJbWFnZSAqL1xuLyogTGFiZWwgKi9cbi8qIENvbnRlbnQgKi9cbi8qIFBhcmFncmFwaCBhZnRlciBIZWFkZXIgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2l6aW5nICovXG4vKiBTdWIgSGVhZGVyICovXG4vKiBJY29uIEhlYWRlciAqL1xuLyogTm8gTGluZSBIZWlnaHQgT2Zmc2V0ICovXG4vKiBEaXZpZGVkICovXG4vKiBCbG9jayAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBGbG9hdGVkICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEhlYWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFN1YiBIZWFkaW5nICovXG4vKiBTdWIgSGVhZGVyICovXG4vKiBJY29uICovXG4vKiBJbWFnZSAqL1xuLyogTGFiZWwgKi9cbi8qIENvbnRlbnQgKi9cbi8qIFBhcmFncmFwaCBhZnRlciBIZWFkZXIgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2l6aW5nICovXG4vKiBTdWIgSGVhZGVyICovXG4vKiBJY29uIEhlYWRlciAqL1xuLyogTm8gTGluZSBIZWlnaHQgT2Zmc2V0ICovXG4vKiBEaXZpZGVkICovXG4vKiBCbG9jayAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBGbG9hdGVkICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgSGVhZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU3RhbmRhcmQgKi9cbi51aS5oZWFkZXIge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogY2FsYygycmVtIC0gIDAuMTQyODU3MTRlbSApIDBlbSAxcmVtO1xuICBwYWRkaW5nOiAwZW0gMGVtO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCAn5paH5rOJ6amb5q2j6buRJywgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywgJ+W+rui7n+ato+m7kemrlCcsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmhlYWRlcjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IC0wLjE0Mjg1NzE0ZW07XG59XG4udWkuaGVhZGVyOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTdWIgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwZW07XG4gIG1hcmdpbjogMGVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaGVhZGVyID4gLmljb24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBvcGFjaXR5OiAxO1xuICBmb250LXNpemU6IDEuNWVtO1xuICBwYWRkaW5nLXRvcDogMGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyogV2l0aCBUZXh0IE5vZGUgKi9cbi51aS5oZWFkZXIgLmljb246b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSW1hZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5oZWFkZXIgPiAuaW1hZ2U6bm90KC5pY29uKSxcbi51aS5oZWFkZXIgPiBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuMTQyODU3MTRlbTtcbiAgd2lkdGg6IDIuNWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4udWkuaGVhZGVyID4gLmltYWdlOm5vdCguaWNvbik6b25seS1jaGlsZCxcbi51aS5oZWFkZXIgPiBpbWc6b25seS1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5oZWFkZXIgLmNvbnRlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4vKiBBZnRlciBJbWFnZSAqL1xuLnVpLmhlYWRlciA+IGltZyArIC5jb250ZW50LFxuLnVpLmhlYWRlciA+IC5pbWFnZSArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyogQWZ0ZXIgSWNvbiAqL1xuLnVpLmhlYWRlciA+IC5pY29uICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gTG9vc2UgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaGVhZGVyIC51aS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogJyc7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4vKiBQb3NpdGlvbmluZyAqL1xuLnVpLmhlYWRlciArIHAge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLSovXG5oMS51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDJyZW07XG59XG5oMi51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG5oMy51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG5oNC51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMDcxNDI4NTdyZW07XG59XG5oNS51aS5oZWFkZXIge1xuICBmb250LXNpemU6IDFyZW07XG59XG4vKiBTdWIgSGVhZGVyICovXG5oMS51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG5oMi51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG5oMy51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDFyZW07XG59XG5oNC51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDFyZW07XG59XG5oNS51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gQ29udGVudCBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmh1Z2UuaGVhZGVyIHtcbiAgbWluLWhlaWdodDogMWVtO1xuICBmb250LXNpemU6IDJlbTtcbn1cbi51aS5sYXJnZS5oZWFkZXIge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFlbTtcbn1cbi51aS5tZWRpdW0uaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG59XG4udWkuc21hbGwuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjA3MTQyODU3ZW07XG59XG4udWkudGlueS5oZWFkZXIge1xuICBmb250LXNpemU6IDFlbTtcbn1cbi8qIFN1YiBIZWFkZXIgKi9cbi51aS5odWdlLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5sYXJnZS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLnNtYWxsLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS50aW55LmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFN1YiBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnN1Yi5oZWFkZXIge1xuICBwYWRkaW5nOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTQyODU3MTRyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICcnO1xufVxuLnVpLnNtYWxsLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbn1cbi51aS5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkubGFyZ2Uuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLmh1Z2Uuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pY29uLmhlYWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDJyZW0gMGVtIDFyZW07XG59XG4udWkuaWNvbi5oZWFkZXI6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLmljb24uaGVhZGVyOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLnVpLmljb24uaGVhZGVyIC5pY29uIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMGVtO1xuICBmb250LXNpemU6IDNlbTtcbiAgbWFyZ2luOiAwZW0gYXV0byAwLjVyZW07XG4gIG9wYWNpdHk6IDE7XG59XG4udWkuaWNvbi5oZWFkZXIgLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMGVtO1xufVxuLnVpLmljb24uaGVhZGVyIC5jaXJjdWxhci5pY29uIHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4udWkuaWNvbi5oZWFkZXIgLnNxdWFyZS5pY29uIHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4udWkuYmxvY2suaWNvbi5oZWFkZXIgLmljb24ge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4udWkuaWNvbi5oZWFkZXIuYWxpZ25lZCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5kaXNhYmxlZC5oZWFkZXIge1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pbnZlcnRlZC5oZWFkZXIge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLnVpLmludmVydGVkLmF0dGFjaGVkLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICM1NDU0NTQgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51aS5pbnZlcnRlZC5ibG9jay5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuaW52ZXJ0ZWQuYmxvY2suaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gUmVkIC0tLSovXG4udWkucmVkLmhlYWRlciB7XG4gIGNvbG9yOiAjREIyODI4ICFpbXBvcnRhbnQ7XG59XG5hLnVpLnJlZC5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2QwMTkxOSAhaW1wb3J0YW50O1xufVxuLnVpLnJlZC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0RCMjgyODtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQucmVkLmhlYWRlciB7XG4gIGNvbG9yOiAjRkY2OTVFICFpbXBvcnRhbnQ7XG59XG5hLnVpLmludmVydGVkLnJlZC5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmNTE0NCAhaW1wb3J0YW50O1xufVxuLyotLS0gT3JhbmdlIC0tLSovXG4udWkub3JhbmdlLmhlYWRlciB7XG4gIGNvbG9yOiAjRjI3MTFDICFpbXBvcnRhbnQ7XG59XG5hLnVpLm9yYW5nZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2YyNjIwMiAhaW1wb3J0YW50O1xufVxuLnVpLm9yYW5nZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0YyNzExQztcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmhlYWRlciB7XG4gIGNvbG9yOiAjRkY4NTFCICFpbXBvcnRhbnQ7XG59XG5hLnVpLmludmVydGVkLm9yYW5nZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmNzcwMSAhaW1wb3J0YW50O1xufVxuLyotLS0gT2xpdmUgLS0tKi9cbi51aS5vbGl2ZS5oZWFkZXIge1xuICBjb2xvcjogI0I1Q0MxOCAhaW1wb3J0YW50O1xufVxuYS51aS5vbGl2ZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2E3YmQwZCAhaW1wb3J0YW50O1xufVxuLnVpLm9saXZlLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQjVDQzE4O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5vbGl2ZS5oZWFkZXIge1xuICBjb2xvcjogI0Q5RTc3OCAhaW1wb3J0YW50O1xufVxuYS51aS5pbnZlcnRlZC5vbGl2ZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2Q4ZWE1YyAhaW1wb3J0YW50O1xufVxuLyotLS0gWWVsbG93IC0tLSovXG4udWkueWVsbG93LmhlYWRlciB7XG4gIGNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG59XG5hLnVpLnllbGxvdy5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2VhYWUwMCAhaW1wb3J0YW50O1xufVxuLnVpLnllbGxvdy5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0ZCQkQwODtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQueWVsbG93LmhlYWRlciB7XG4gIGNvbG9yOiAjRkZFMjFGICFpbXBvcnRhbnQ7XG59XG5hLnVpLmludmVydGVkLnllbGxvdy5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmZGYwNSAhaW1wb3J0YW50O1xufVxuLyotLS0gR3JlZW4gLS0tKi9cbi51aS5ncmVlbi5oZWFkZXIge1xuICBjb2xvcjogIzIxQkE0NSAhaW1wb3J0YW50O1xufVxuYS51aS5ncmVlbi5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzE2YWIzOSAhaW1wb3J0YW50O1xufVxuLnVpLmdyZWVuLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMjFCQTQ1O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5ncmVlbi5oZWFkZXIge1xuICBjb2xvcjogIzJFQ0M0MCAhaW1wb3J0YW50O1xufVxuYS51aS5pbnZlcnRlZC5ncmVlbi5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzIyYmUzNCAhaW1wb3J0YW50O1xufVxuLyotLS0gVGVhbCAtLS0qL1xuLnVpLnRlYWwuaGVhZGVyIHtcbiAgY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbn1cbmEudWkudGVhbC5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzAwOWM5NSAhaW1wb3J0YW50O1xufVxuLnVpLnRlYWwuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMEI1QUQ7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnRlYWwuaGVhZGVyIHtcbiAgY29sb3I6ICM2REZGRkYgIWltcG9ydGFudDtcbn1cbmEudWkuaW52ZXJ0ZWQudGVhbC5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzU0ZmZmZiAhaW1wb3J0YW50O1xufVxuLyotLS0gQmx1ZSAtLS0qL1xuLnVpLmJsdWUuaGVhZGVyIHtcbiAgY29sb3I6ICMyMTg1RDAgIWltcG9ydGFudDtcbn1cbmEudWkuYmx1ZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzE2NzhjMiAhaW1wb3J0YW50O1xufVxuLnVpLmJsdWUuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyMTg1RDA7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmJsdWUuaGVhZGVyIHtcbiAgY29sb3I6ICM1NEM4RkYgIWltcG9ydGFudDtcbn1cbmEudWkuaW52ZXJ0ZWQuYmx1ZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzNhYzBmZiAhaW1wb3J0YW50O1xufVxuLyotLS0gVmlvbGV0IC0tLSovXG4udWkudmlvbGV0LmhlYWRlciB7XG4gIGNvbG9yOiAjNjQzNUM5ICFpbXBvcnRhbnQ7XG59XG5hLnVpLnZpb2xldC5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzU4MjliYiAhaW1wb3J0YW50O1xufVxuLnVpLnZpb2xldC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzY0MzVDOTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmhlYWRlciB7XG4gIGNvbG9yOiAjQTI5MUZCICFpbXBvcnRhbnQ7XG59XG5hLnVpLmludmVydGVkLnZpb2xldC5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzhhNzNmZiAhaW1wb3J0YW50O1xufVxuLyotLS0gUHVycGxlIC0tLSovXG4udWkucHVycGxlLmhlYWRlciB7XG4gIGNvbG9yOiAjQTMzM0M4ICFpbXBvcnRhbnQ7XG59XG5hLnVpLnB1cnBsZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzk2MjdiYSAhaW1wb3J0YW50O1xufVxuLnVpLnB1cnBsZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI0EzMzNDODtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQucHVycGxlLmhlYWRlciB7XG4gIGNvbG9yOiAjREM3M0ZGICFpbXBvcnRhbnQ7XG59XG5hLnVpLmludmVydGVkLnB1cnBsZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2Q2NWFmZiAhaW1wb3J0YW50O1xufVxuLyotLS0gUGluayAtLS0qL1xuLnVpLnBpbmsuaGVhZGVyIHtcbiAgY29sb3I6ICNFMDM5OTcgIWltcG9ydGFudDtcbn1cbmEudWkucGluay5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2U2MWE4ZCAhaW1wb3J0YW50O1xufVxuLnVpLnBpbmsuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNFMDM5OTc7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnBpbmsuaGVhZGVyIHtcbiAgY29sb3I6ICNGRjhFREYgIWltcG9ydGFudDtcbn1cbmEudWkuaW52ZXJ0ZWQucGluay5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2ZmNzRkOCAhaW1wb3J0YW50O1xufVxuLyotLS0gQnJvd24gLS0tKi9cbi51aS5icm93bi5oZWFkZXIge1xuICBjb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xufVxuYS51aS5icm93bi5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzk3NWIzMyAhaW1wb3J0YW50O1xufVxuLnVpLmJyb3duLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQTU2NzNGO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5icm93bi5oZWFkZXIge1xuICBjb2xvcjogI0Q2N0MxQyAhaW1wb3J0YW50O1xufVxuYS51aS5pbnZlcnRlZC5icm93bi5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2M4NmYxMSAhaW1wb3J0YW50O1xufVxuLyotLS0gR3JleSAtLS0qL1xuLnVpLmdyZXkuaGVhZGVyIHtcbiAgY29sb3I6ICM3Njc2NzYgIWltcG9ydGFudDtcbn1cbmEudWkuZ3JleS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzgzODM4MyAhaW1wb3J0YW50O1xufVxuLnVpLmdyZXkuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM3Njc2NzY7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmdyZXkuaGVhZGVyIHtcbiAgY29sb3I6ICNEQ0REREUgIWltcG9ydGFudDtcbn1cbmEudWkuaW52ZXJ0ZWQuZ3JleS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogI2NmZDBkMiAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWxpZ25lZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmxlZnQuYWxpZ25lZC5oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLnJpZ2h0LmFsaWduZWQuaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udWkuY2VudGVyZWQuaGVhZGVyLFxuLnVpLmNlbnRlci5hbGlnbmVkLmhlYWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5qdXN0aWZpZWQuaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cbi51aS5qdXN0aWZpZWQuaGVhZGVyOmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGbG9hdGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZmxvYXRlZC5oZWFkZXIsXG4udWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmhlYWRlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4udWlbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5oZWFkZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRml0dGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZml0dGVkLmhlYWRlciB7XG4gIHBhZGRpbmc6IDBlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGl2aWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5kaXZpZGluZy5oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMC4yMTQyODU3MXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuZGl2aWRpbmcuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjE0Mjg1NzFyZW07XG59XG4udWkuZGl2aWRpbmcuaGVhZGVyIC5pY29uIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLnVpLmludmVydGVkLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBCbG9ja1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmJsb2NrLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNGM0Y0RjU7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjlyZW0gMXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0Q0RDRENTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS50aW55LmJsb2NrLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5ibG9jay5oZWFkZXIge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkuYmxvY2suaGVhZGVyOm5vdChoMSk6bm90KGgyKTpub3QoaDMpOm5vdChoNCk6bm90KGg1KTpub3QoaDYpIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLmxhcmdlLmJsb2NrLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5odWdlLmJsb2NrLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuYXR0YWNoZWQuaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogMC43ODU3MTQyOXJlbSAxcmVtO1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDRENEQ1O1xufVxuLnVpLmF0dGFjaGVkLmJsb2NrLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNGM0Y0RjU7XG59XG4udWkuYXR0YWNoZWQ6bm90KC50b3ApOm5vdCguYm90dG9tKS5oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuLnVpLnRvcC5hdHRhY2hlZC5oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xufVxuLnVpLmJvdHRvbS5hdHRhY2hlZC5oZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLyogQXR0YWNoZWQgU2l6ZXMgKi9cbi51aS50aW55LmF0dGFjaGVkLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xufVxuLnVpLnNtYWxsLmF0dGFjaGVkLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLmF0dGFjaGVkLmhlYWRlcjpub3QoaDEpOm5vdChoMik6bm90KGgzKTpub3QoaDQpOm5vdChoNSk6bm90KGg2KSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLmxhcmdlLmF0dGFjaGVkLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xufVxuLnVpLmh1Z2UuYXR0YWNoZWQuaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuaGVhZGVyOm5vdChoMSk6bm90KGgyKTpub3QoaDMpOm5vdChoNCk6bm90KGg1KTpub3QoaDYpIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gSWNvblxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEljb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb250IEZpbGVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuIE9wdGlvbmFsIEZpbGVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogT3V0bGluZSBJY29ucyAqL1xuLyogQnJhbmQgSWNvbnMgKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIERlZmluaXRpb25cbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBJY29uIFZhcmlhYmxlcyAqL1xuLyogVmFyaWF0aW9ucyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgSWNvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvbnQgRmlsZXNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gT3B0aW9uYWwgRmlsZXNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBPdXRsaW5lIEljb25zICovXG4vKiBCcmFuZCBJY29ucyAqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRGVmaW5pdGlvblxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEljb24gVmFyaWFibGVzICovXG4vKiBWYXJpYXRpb25zICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEljb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJY29ucyc7XG4gIHNyYzogdXJsKFwiLi4vLi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL2ljb25zLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi8uLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvaWNvbnMuZW90PyNpZWZpeFwiKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybChcIi4uLy4uL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9pY29ucy53b2ZmMlwiKSBmb3JtYXQoJ3dvZmYyJyksIHVybChcIi4uLy4uL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9pY29ucy53b2ZmXCIpIGZvcm1hdCgnd29mZicpLCB1cmwoXCIuLi8uLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvaWNvbnMudHRmXCIpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKFwiLi4vLi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL2ljb25zLnN2ZyNpY29uc1wiKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuaS5pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvcGFjaXR5OiAxO1xuICBtYXJnaW46IDBlbSAwLjI1cmVtIDBlbSAwZW07XG4gIHdpZHRoOiAxLjE4ZW07XG4gIGhlaWdodDogMWVtO1xuICBmb250LWZhbWlseTogJ0ljb25zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbmkuaWNvbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5pLmljb24ubG9hZGluZyB7XG4gIGhlaWdodDogMWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYW5pbWF0aW9uOiBpY29uLWxvYWRpbmcgMnMgbGluZWFyIGluZmluaXRlO1xufVxuQGtleWZyYW1lcyBpY29uLWxvYWRpbmcge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5pLmljb24uaG92ZXIge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5pLmljb24uYWN0aXZlIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuaS5lbXBoYXNpemVkLmljb24ge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5pLmRpc2FibGVkLmljb24ge1xuICBvcGFjaXR5OiAwLjQ1ICFpbXBvcnRhbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZpdHRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaS5maXR0ZWQuaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBMaW5rXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5pLmxpbmsuaWNvbixcbmkubGluay5pY29ucyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC44O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbn1cbmkubGluay5pY29uOmhvdmVyLFxuaS5saW5rLmljb25zOmhvdmVyIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDaXJjdWxhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaS5jaXJjdWxhci5pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogNTAwZW0gIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMC41ZW0gMGVtICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBlbSAwZW0gMGVtIDAuMWVtIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldDtcbiAgd2lkdGg6IDJlbSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDJlbSAhaW1wb3J0YW50O1xufVxuaS5jaXJjdWxhci5pbnZlcnRlZC5pY29uIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBGbGlwcGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5pLmZsaXBwZWQuaWNvbixcbmkuaG9yaXpvbnRhbGx5LmZsaXBwZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuaS52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBSb3RhdGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5pLnJvdGF0ZWQuaWNvbixcbmkucmlnaHQucm90YXRlZC5pY29uLFxuaS5jbG9ja3dpc2Uucm90YXRlZC5pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuaS5sZWZ0LnJvdGF0ZWQuaWNvbixcbmkuY291bnRlcmNsb2Nrd2lzZS5yb3RhdGVkLmljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaS5ib3JkZXJlZC5pY29uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIHBhZGRpbmc6IDAuNWVtIDBlbSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwZW0gMGVtIDBlbSAwLjFlbSByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQ7XG59XG5pLmJvcmRlcmVkLmludmVydGVkLmljb24ge1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCBTaGFwZXMgKi9cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQuaWNvbiB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBSZWQgKi9cbmkucmVkLmljb24ge1xuICBjb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5yZWQuaWNvbiB7XG4gIGNvbG9yOiAjRkY2OTVFICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLnJlZC5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5yZWQuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIE9yYW5nZSAqL1xuaS5vcmFuZ2UuaWNvbiB7XG4gIGNvbG9yOiAjRjI3MTFDICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLm9yYW5nZS5pY29uIHtcbiAgY29sb3I6ICNGRjg1MUIgIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQub3JhbmdlLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLm9yYW5nZS5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNzExQyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogWWVsbG93ICovXG5pLnllbGxvdy5pY29uIHtcbiAgY29sb3I6ICNGQkJEMDggIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQueWVsbG93Lmljb24ge1xuICBjb2xvcjogI0ZGRTIxRiAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC55ZWxsb3cuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIueWVsbG93Lmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBPbGl2ZSAqL1xuaS5vbGl2ZS5pY29uIHtcbiAgY29sb3I6ICNCNUNDMTggIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQub2xpdmUuaWNvbiB7XG4gIGNvbG9yOiAjRDlFNzc4ICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLm9saXZlLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLm9saXZlLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjVDQzE4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBHcmVlbiAqL1xuaS5ncmVlbi5pY29uIHtcbiAgY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQuZ3JlZW4uaWNvbiB7XG4gIGNvbG9yOiAjMkVDQzQwICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLmdyZWVuLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmdyZWVuLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBUZWFsICovXG5pLnRlYWwuaWNvbiB7XG4gIGNvbG9yOiAjMDBCNUFEICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLnRlYWwuaWNvbiB7XG4gIGNvbG9yOiAjNkRGRkZGICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLnRlYWwuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIudGVhbC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjVBRCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogQmx1ZSAqL1xuaS5ibHVlLmljb24ge1xuICBjb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ibHVlLmljb24ge1xuICBjb2xvcjogIzU0QzhGRiAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ibHVlLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmJsdWUuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTg1RDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIFZpb2xldCAqL1xuaS52aW9sZXQuaWNvbiB7XG4gIGNvbG9yOiAjNjQzNUM5ICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLnZpb2xldC5pY29uIHtcbiAgY29sb3I6ICNBMjkxRkIgIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQudmlvbGV0Lmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnZpb2xldC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVDOSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogUHVycGxlICovXG5pLnB1cnBsZS5pY29uIHtcbiAgY29sb3I6ICNBMzMzQzggIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQucHVycGxlLmljb24ge1xuICBjb2xvcjogI0RDNzNGRiAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5wdXJwbGUuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIucHVycGxlLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTMzM0M4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBQaW5rICovXG5pLnBpbmsuaWNvbiB7XG4gIGNvbG9yOiAjRTAzOTk3ICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLnBpbmsuaWNvbiB7XG4gIGNvbG9yOiAjRkY4RURGICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLnBpbmsuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIucGluay5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UwMzk5NyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogQnJvd24gKi9cbmkuYnJvd24uaWNvbiB7XG4gIGNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmJyb3duLmljb24ge1xuICBjb2xvcjogI0Q2N0MxQyAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5icm93bi5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5icm93bi5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogR3JleSAqL1xuaS5ncmV5Lmljb24ge1xuICBjb2xvcjogIzc2NzY3NiAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ncmV5Lmljb24ge1xuICBjb2xvcjogI0RDRERERSAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ncmV5Lmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmdyZXkuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIEJsYWNrICovXG5pLmJsYWNrLmljb24ge1xuICBjb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ibGFjay5pY29uIHtcbiAgY29sb3I6ICM1NDU0NTQgIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuYmxhY2suaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuYmxhY2suaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaS5taW5pLmljb24sXG5pLm1pbmkuaWNvbnMge1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjRlbTtcbn1cbmkudGlueS5pY29uLFxuaS50aW55Lmljb25zIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC41ZW07XG59XG5pLnNtYWxsLmljb24sXG5pLnNtYWxsLmljb25zIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xufVxuaS5pY29uLFxuaS5pY29ucyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuaS5sYXJnZS5pY29uLFxuaS5sYXJnZS5pY29ucyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuaS5iaWcuaWNvbixcbmkuYmlnLmljb25zIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMmVtO1xufVxuaS5odWdlLmljb24sXG5pLmh1Z2UuaWNvbnMge1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiA0ZW07XG59XG5pLm1hc3NpdmUuaWNvbixcbmkubWFzc2l2ZS5pY29ucyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDhlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBHcm91cHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5pLmljb25zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuaS5pY29ucyAuaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIG1hcmdpbjogMGVtO1xuICBtYXJnaW46IDA7XG59XG5pLmljb25zIC5pY29uOmZpcnN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG4vKiBDb3JuZXIgSWNvbiAqL1xuaS5pY29ucyAuY29ybmVyLmljb24ge1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjQ1ZW07XG4gIHRleHQtc2hhZG93OiAtMXB4IC0xcHggMCAjRkZGRkZGLCAxcHggLTFweCAwICNGRkZGRkYsIC0xcHggMXB4IDAgI0ZGRkZGRiwgMXB4IDFweCAwICNGRkZGRkY7XG59XG5pLmljb25zIC50b3AucmlnaHQuY29ybmVyLmljb24ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IGF1dG87XG59XG5pLmljb25zIC50b3AubGVmdC5jb3JuZXIuaWNvbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbn1cbmkuaWNvbnMgLmJvdHRvbS5sZWZ0LmNvcm5lci5pY29uIHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuaS5pY29ucyAuYm90dG9tLnJpZ2h0LmNvcm5lci5pY29uIHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xufVxuaS5pY29ucyAuaW52ZXJ0ZWQuY29ybmVyLmljb24ge1xuICB0ZXh0LXNoYWRvdzogLTFweCAtMXB4IDAgIzFCMUMxRCwgMXB4IC0xcHggMCAjMUIxQzFELCAtMXB4IDFweCAwICMxQjFDMUQsIDFweCAxcHggMCAjMUIxQzFEO1xufVxuLypcbiAqIEZvbnQgQXdlc29tZSA1LjAuOCBieSBAZm9udGF3ZXNvbWUgLSBodHRwOi8vZm9udGF3ZXNvbWUuaW8gLSBAZm9udGF3ZXNvbWVcbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChJY29uczogQ0MgQlkgNC4wIExpY2Vuc2UsIEZvbnRzOiBTSUwgT0ZMIDEuMSBMaWNlbnNlLCBDU1M6IE1JVCBMaWNlbnNlKVxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuXG5TZW1hbnRpYy1VSSBpbnRlZ3JhdGlvbiBvZiBmb250LWF3ZXNvbWUgOlxuXG4vLy9jbGFzcyBuYW1lcyBhcmUgc2VwYXJhdGVkXG5pLmljb24uY2lyY2xlID0+IGkuaWNvbi5jaXJjbGVcbmkuaWNvbi5jaXJjbGUtbyA9PiBpLmljb24uY2lyY2xlLm91dGxpbmVcblxuLy9hYmJyZXZpYXRpb24gYXJlIHJlcGxhY2VkIGJ5IGZ1bGwgbGV0dGVyczpcbmkuaWNvbi5lbGxpcHNpcy1oID0+IGkuaWNvbi5lbGxpcHNpcy5ob3Jpem9udGFsXG5pLmljb24uZWxsaXBzaXMtdiA9PiBpLmljb24uZWxsaXBzaXMudmVydGljYWxcbi5hbHBoYSA9PiAuaS5pY29uLmFscGhhYmV0XG4uYXNjID0+IC5pLmljb24uYXNjZW5kaW5nXG4uZGVzYyA9PiAuaS5pY29uLmRlc2NlbmRpbmdcbi5hbHQgPT4uYWx0ZXJuYXRlXG5cbkFTQ0lJIG9yZGVyIGlzIGNvbnNlcnZlZCBmb3IgZWFzaWVyIG1haW50ZW5hbmNlLlxuXG5JY29ucyB0aGF0IG9ubHkgaGF2ZSBvbmUgc3R5bGUgJ291dGxpbmUnLCAnc3F1YXJlJyBldGMgZG8gbm90IHJlcXVpcmUgdGhpcyBjbGFzc1xuZm9yIGluc3RhbmNlIGBsZW1vbiBpY29uYCBub3QgYGxlbW9uIG91dGxpbmUgaWNvbmAgc2luY2UgdGhlcmUgaXMgb25seSBvbmUgbGVtb25cblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBJY29uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIERlcHJlY2F0ZWQgKkluL091dCBOYW1pbmcgQ29uZmxpY3QpICovXG5pLmljb24ubGlua2VkaW4uaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTFcIjtcbn1cbmkuaWNvbi56b29tLmluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBlXCI7XG59XG5pLmljb24uem9vbS5vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTBcIjtcbn1cbmkuaWNvbi5zaWduLmluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY2XCI7XG59XG5pLmljb24uaW4uY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOFwiO1xufVxuaS5pY29uLmxvZy5vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjVcIjtcbn1cbmkuaWNvbi5zaWduLm91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNVwiO1xufVxuLyogSWNvbnMgKi9cbmkuaWNvbi5cXDM1IDAwcHg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmVcIjtcbn1cbmkuaWNvbi5hY2Nlc3NpYmxlLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjhcIjtcbn1cbmkuaWNvbi5hY2N1c29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2OVwiO1xufVxuaS5pY29uLmFkZHJlc3MuYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOVwiO1xufVxuaS5pY29uLmFkZHJlc3MuY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiYlwiO1xufVxuaS5pY29uLmFkanVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MlwiO1xufVxuaS5pY29uLmFkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MFwiO1xufVxuaS5pY29uLmFkdmVyc2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZhXCI7XG59XG5pLmljb24uYWZmaWxpYXRldGhlbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmJcIjtcbn1cbmkuaWNvbi5hbGdvbGlhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZjXCI7XG59XG5pLmljb24uYWxpZ24uY2VudGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM3XCI7XG59XG5pLmljb24uYWxpZ24uanVzdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOVwiO1xufVxuaS5pY29uLmFsaWduLmxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzZcIjtcbn1cbmkuaWNvbi5hbGlnbi5yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOFwiO1xufVxuaS5pY29uLmFtYXpvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MFwiO1xufVxuaS5pY29uLmFtYXpvbi5wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmNcIjtcbn1cbmkuaWNvbi5hbWJ1bGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjlcIjtcbn1cbmkuaWNvbi5hbWVyaWNhbi5zaWduLmxhbmd1YWdlLmludGVycHJldGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhM1wiO1xufVxuaS5pY29uLmFtaWxpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZFwiO1xufVxuaS5pY29uLmFuY2hvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzZFwiO1xufVxuaS5pY29uLmFuZHJvaWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2JcIjtcbn1cbmkuaWNvbi5hbmdlbGxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDlcIjtcbn1cbmkuaWNvbi5hbmdsZS5kb3VibGUuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwM1wiO1xufVxuaS5pY29uLmFuZ2xlLmRvdWJsZS5sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAwXCI7XG59XG5pLmljb24uYW5nbGUuZG91YmxlLnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAxXCI7XG59XG5pLmljb24uYW5nbGUuZG91YmxlLnVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTAyXCI7XG59XG5pLmljb24uYW5nbGUuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiO1xufVxuaS5pY29uLmFuZ2xlLmxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjtcbn1cbmkuaWNvbi5hbmdsZS5yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xufVxuaS5pY29uLmFuZ2xlLnVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG59XG5pLmljb24uYW5ncnljcmVhdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZVwiO1xufVxuaS5pY29uLmFuZ3VsYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjBcIjtcbn1cbmkuaWNvbi5hcHAuc3RvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmZcIjtcbn1cbmkuaWNvbi5hcHAuc3RvcmUuaW9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzcwXCI7XG59XG5pLmljb24uYXBwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzFcIjtcbn1cbmkuaWNvbi5hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3OVwiO1xufVxuaS5pY29uLmFwcGxlLnBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNVwiO1xufVxuaS5pY29uLmFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODdcIjtcbn1cbmkuaWNvbi5hcnJvdy5hbHRlcm5hdGUuY2lyY2xlLmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNThcIjtcbn1cbmkuaWNvbi5hcnJvdy5hbHRlcm5hdGUuY2lyY2xlLmxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNTlcIjtcbn1cbmkuaWNvbi5hcnJvdy5hbHRlcm5hdGUuY2lyY2xlLnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVhXCI7XG59XG5pLmljb24uYXJyb3cuYWx0ZXJuYXRlLmNpcmNsZS51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1YlwiO1xufVxuaS5pY29uLmFycm93LmNpcmNsZS5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFiXCI7XG59XG5pLmljb24uYXJyb3cuY2lyY2xlLmxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYThcIjtcbn1cbmkuaWNvbi5hcnJvdy5jaXJjbGUucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTlcIjtcbn1cbmkuaWNvbi5hcnJvdy5jaXJjbGUudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWFcIjtcbn1cbmkuaWNvbi5hcnJvdy5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYzXCI7XG59XG5pLmljb24uYXJyb3cubGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MFwiO1xufVxuaS5pY29uLmFycm93LnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYxXCI7XG59XG5pLmljb24uYXJyb3cudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjJcIjtcbn1cbmkuaWNvbi5hcnJvd3MuYWx0ZXJuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIyXCI7XG59XG5pLmljb24uYXJyb3dzLmFsdGVybmF0ZS5ob3Jpem9udGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzM3XCI7XG59XG5pLmljb24uYXJyb3dzLmFsdGVybmF0ZS52ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMzOFwiO1xufVxuaS5pY29uLmFzc2lzdGl2ZS5saXN0ZW5pbmcuc3lzdGVtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMlwiO1xufVxuaS5pY29uLmFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY5XCI7XG59XG5pLmljb24uYXN5bW1ldHJpazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MlwiO1xufVxuaS5pY29uLmF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZhXCI7XG59XG5pLmljb24uYXVkaWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3M1wiO1xufVxuaS5pY29uLmF1ZGlvLmRlc2NyaXB0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjllXCI7XG59XG5pLmljb24uYXV0b3ByZWZpeGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFjXCI7XG59XG5pLmljb24uYXZpYW5leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3NFwiO1xufVxuaS5pY29uLmF2aWF0bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyMVwiO1xufVxuaS5pY29uLmF3czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3NVwiO1xufVxuaS5pY29uLmJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRhXCI7XG59XG5pLmljb24uYmFsYW5jZS5zY2FsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0ZVwiO1xufVxuaS5pY29uLmJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZVwiO1xufVxuaS5pY29uLmJhbmQuYWlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDYyXCI7XG59XG5pLmljb24uYmFuZGNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDVcIjtcbn1cbmkuaWNvbi5iYXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJhXCI7XG59XG5pLmljb24uYmFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOVwiO1xufVxuaS5pY29uLmJhc2ViYWxsLmJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzNcIjtcbn1cbmkuaWNvbi5iYXNrZXRiYWxsLmJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzRcIjtcbn1cbmkuaWNvbi5iYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNkXCI7XG59XG5pLmljb24uYmF0dGVyeS5lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0NFwiO1xufVxuaS5pY29uLmJhdHRlcnkuZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MFwiO1xufVxuaS5pY29uLmJhdHRlcnkuaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MlwiO1xufVxuaS5pY29uLmJhdHRlcnkucXVhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0M1wiO1xufVxuaS5pY29uLmJhdHRlcnkudGhyZWUucXVhcnRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDFcIjtcbn1cbmkuaWNvbi5iZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzZcIjtcbn1cbmkuaWNvbi5iZWVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZjXCI7XG59XG5pLmljb24uYmVoYW5jZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNFwiO1xufVxuaS5pY29uLmJlaGFuY2Uuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI1XCI7XG59XG5pLmljb24uYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmM1wiO1xufVxuaS5pY29uLmJlbGwuc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjZcIjtcbn1cbmkuaWNvbi5iaWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA2XCI7XG59XG5pLmljb24uYmltb2JqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc4XCI7XG59XG5pLmljb24uYmlub2N1bGFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNVwiO1xufVxuaS5pY29uLmJpcnRoZGF5LmNha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmRcIjtcbn1cbmkuaWNvbi5iaXRidWNrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzFcIjtcbn1cbmkuaWNvbi5iaXRjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc5XCI7XG59XG5pLmljb24uYml0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3YVwiO1xufVxuaS5pY29uLmJsYWNrLnRpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3ZVwiO1xufVxuaS5pY29uLmJsYWNrYmVycnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2JcIjtcbn1cbmkuaWNvbi5ibGluZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5ZFwiO1xufVxuaS5pY29uLmJsb2dnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2NcIjtcbn1cbmkuaWNvbi5ibG9nZ2VyLmI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2RcIjtcbn1cbmkuaWNvbi5ibHVldG9vdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTNcIjtcbn1cbmkuaWNvbi5ibHVldG9vdGguYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NFwiO1xufVxuaS5pY29uLmJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzJcIjtcbn1cbmkuaWNvbi5ib2x0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU3XCI7XG59XG5pLmljb24uYm9tYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMlwiO1xufVxuaS5pY29uLmJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmRcIjtcbn1cbmkuaWNvbi5ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZVwiO1xufVxuaS5pY29uLmJvd2xpbmcuYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzNlwiO1xufVxuaS5pY29uLmJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ2NlwiO1xufVxuaS5pY29uLmJveGVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDY4XCI7XG59XG5pLmljb24uYnJhaWxsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMVwiO1xufVxuaS5pY29uLmJyaWVmY2FzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMVwiO1xufVxuaS5pY29uLmJ0YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YVwiO1xufVxuaS5pY29uLmJ1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4OFwiO1xufVxuaS5pY29uLmJ1aWxkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFkXCI7XG59XG5pLmljb24uYnVsbGhvcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTFcIjtcbn1cbmkuaWNvbi5idWxsc2V5ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MFwiO1xufVxuaS5pY29uLmJ1cm9tb2JlbGV4cGVydGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2ZcIjtcbn1cbmkuaWNvbi5idXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDdcIjtcbn1cbmkuaWNvbi5idXlzZWxsYWRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBkXCI7XG59XG5pLmljb24uY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlY1wiO1xufVxuaS5pY29uLmNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XG59XG5pLmljb24uY2FsZW5kYXIuYWx0ZXJuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDczXCI7XG59XG5pLmljb24uY2FsZW5kYXIuY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzRcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci5taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MlwiO1xufVxuaS5pY29uLmNhbGVuZGFyLnBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzFcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci50aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3M1wiO1xufVxuaS5pY29uLmNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMFwiO1xufVxuaS5pY29uLmNhbWVyYS5yZXRybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4M1wiO1xufVxuaS5pY29uLmNhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiOVwiO1xufVxuaS5pY29uLmNhcmV0LmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDdcIjtcbn1cbmkuaWNvbi5jYXJldC5sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCI7XG59XG5pLmljb24uY2FyZXQucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cbmkuaWNvbi5jYXJldC5zcXVhcmUuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MFwiO1xufVxuaS5pY29uLmNhcmV0LnNxdWFyZS5sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkxXCI7XG59XG5pLmljb24uY2FyZXQuc3F1YXJlLnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUyXCI7XG59XG5pLmljb24uY2FyZXQuc3F1YXJlLnVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUxXCI7XG59XG5pLmljb24uY2FyZXQudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDhcIjtcbn1cbmkuaWNvbi5jYXJ0LmFycm93LmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMThcIjtcbn1cbmkuaWNvbi5jYXJ0LnBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTdcIjtcbn1cbmkuaWNvbi5jYy5hbWF6b24ucGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJkXCI7XG59XG5pLmljb24uY2MuYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xufVxuaS5pY29uLmNjLmFwcGxlLnBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNlwiO1xufVxuaS5pY29uLmNjLmRpbmVycy5jbHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRjXCI7XG59XG5pLmljb24uY2MuZGlzY292ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjtcbn1cbmkuaWNvbi5jYy5qY2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjtcbn1cbmkuaWNvbi5jYy5tYXN0ZXJjYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYxXCI7XG59XG5pLmljb24uY2MucGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7XG59XG5pLmljb24uY2Muc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY1XCI7XG59XG5pLmljb24uY2MudmlzYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiO1xufVxuaS5pY29uLmNlbnRlcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODBcIjtcbn1cbmkuaWNvbi5jZXJ0aWZpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhM1wiO1xufVxuaS5pY29uLmNoYXJ0LmFyZWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmVcIjtcbn1cbmkuaWNvbi5jaGFydC5iYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODBcIjtcbn1cbmkuaWNvbi5jaGFydC5saW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAxXCI7XG59XG5pLmljb24uY2hhcnQucGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7XG59XG5pLmljb24uY2hlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGNcIjtcbn1cbmkuaWNvbi5jaGVjay5jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNThcIjtcbn1cbmkuaWNvbi5jaGVjay5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGFcIjtcbn1cbmkuaWNvbi5jaGVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzOVwiO1xufVxuaS5pY29uLmNoZXNzLmJpc2hvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzYVwiO1xufVxuaS5pY29uLmNoZXNzLmJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDNjXCI7XG59XG5pLmljb24uY2hlc3Mua2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQzZlwiO1xufVxuaS5pY29uLmNoZXNzLmtuaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0MVwiO1xufVxuaS5pY29uLmNoZXNzLnBhd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDNcIjtcbn1cbmkuaWNvbi5jaGVzcy5xdWVlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0NVwiO1xufVxuaS5pY29uLmNoZXNzLnJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NDdcIjtcbn1cbmkuaWNvbi5jaGV2cm9uLmNpcmNsZS5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNhXCI7XG59XG5pLmljb24uY2hldnJvbi5jaXJjbGUubGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzN1wiO1xufVxuaS5pY29uLmNoZXZyb24uY2lyY2xlLnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM4XCI7XG59XG5pLmljb24uY2hldnJvbi5jaXJjbGUudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzlcIjtcbn1cbmkuaWNvbi5jaGV2cm9uLmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cbmkuaWNvbi5jaGV2cm9uLmxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cbmkuaWNvbi5jaGV2cm9uLnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5pLmljb24uY2hldnJvbi51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3N1wiO1xufVxuaS5pY29uLmNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFlXCI7XG59XG5pLmljb24uY2hyb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY4XCI7XG59XG5pLmljb24uY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG59XG5pLmljb24uY2lyY2xlLm5vdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNlXCI7XG59XG5pLmljb24uY2xpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzI4XCI7XG59XG5pLmljb24uY2xpcGJvYXJkLmNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDZjXCI7XG59XG5pLmljb24uY2xpcGJvYXJkLmxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NmRcIjtcbn1cbmkuaWNvbi5jbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiO1xufVxuaS5pY29uLmNsb25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRkXCI7XG59XG5pLmljb24uY2xvc2VkLmNhcHRpb25pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGFcIjtcbn1cbmkuaWNvbi5jbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMlwiO1xufVxuaS5pY29uLmNsb3Vkc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODNcIjtcbn1cbmkuaWNvbi5jbG91ZHNtaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg0XCI7XG59XG5pLmljb24uY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg1XCI7XG59XG5pLmljb24uY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMVwiO1xufVxuaS5pY29uLmNvZGUuYnJhbmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI2XCI7XG59XG5pLmljb24uY29kZXBlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYlwiO1xufVxuaS5pY29uLmNvZGllcGllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg0XCI7XG59XG5pLmljb24uY29mZmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY0XCI7XG59XG5pLmljb24uY29nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEzXCI7XG59XG5pLmljb24uY29nczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NVwiO1xufVxuaS5pY29uLmNvbHVtbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGJcIjtcbn1cbmkuaWNvbi5jb21tZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc1XCI7XG59XG5pLmljb24uY29tbWVudC5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2FcIjtcbn1cbmkuaWNvbi5jb21tZW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NlwiO1xufVxuaS5pY29uLmNvbXBhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGVcIjtcbn1cbmkuaWNvbi5jb21wcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2NlwiO1xufVxuaS5pY29uLmNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBlXCI7XG59XG5pLmljb24uY29udGFvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZkXCI7XG59XG5pLmljb24uY29weTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNVwiO1xufVxuaS5pY29uLmNvcHlyaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOVwiO1xufVxuaS5pY29uLmNwYW5lbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4OFwiO1xufVxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWVcIjtcbn1cbmkuaWNvbi5jcmVkaXQuY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5ZFwiO1xufVxuaS5pY29uLmNyb3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjVcIjtcbn1cbmkuaWNvbi5jcm9zc2hhaXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDViXCI7XG59XG5pLmljb24uY3NzMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzY1wiO1xufVxuaS5pY29uLmNzczMuYWx0ZXJuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhiXCI7XG59XG5pLmljb24uY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMlwiO1xufVxuaS5pY29uLmN1YmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIzXCI7XG59XG5pLmljb24uY3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM0XCI7XG59XG5pLmljb24uY3V0dGxlZmlzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4Y1wiO1xufVxuaS5pY29uLmQuYW5kLmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGRcIjtcbn1cbmkuaWNvbi5kYXNoY3ViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMFwiO1xufVxuaS5pY29uLmRhdGFiYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMwXCI7XG59XG5pLmljb24uZGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNFwiO1xufVxuaS5pY29uLmRlbGljaW91czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNVwiO1xufVxuaS5pY29uLmRlcGxveWRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZVwiO1xufVxuaS5pY29uLmRlc2twcm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGZcIjtcbn1cbmkuaWNvbi5kZXNrdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA4XCI7XG59XG5pLmljb24uZGV2aWFudGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiZFwiO1xufVxuaS5pY29uLmRpZ2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTZcIjtcbn1cbmkuaWNvbi5kaWdpdGFsLm9jZWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkxXCI7XG59XG5pLmljb24uZGlzY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5MlwiO1xufVxuaS5pY29uLmRpc2NvdXJzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5M1wiO1xufVxuaS5pY29uLmRuYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3MVwiO1xufVxuaS5pY29uLmRvY2h1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NFwiO1xufVxuaS5pY29uLmRvY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NVwiO1xufVxuaS5pY29uLmRvbGxhci5zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU1XCI7XG59XG5pLmljb24uZG9sbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NzJcIjtcbn1cbmkuaWNvbi5kb2xseS5mbGF0YmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDc0XCI7XG59XG5pLmljb24uZG90LmNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MlwiO1xufVxuaS5pY29uLmRvd25sb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE5XCI7XG59XG5pLmljb24uZHJhZnQyZGlnaXRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5NlwiO1xufVxuaS5pY29uLmRyaWJiYmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdkXCI7XG59XG5pLmljb24uZHJpYmJibGUuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk3XCI7XG59XG5pLmljb24uZHJvcGJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YlwiO1xufVxuaS5pY29uLmRydXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOVwiO1xufVxuaS5pY29uLmR5YWxvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5OVwiO1xufVxuaS5pY29uLmVhcmx5YmlyZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWFcIjtcbn1cbmkuaWNvbi5lZGdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgyXCI7XG59XG5pLmljb24uZWRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NFwiO1xufVxuaS5pY29uLmVqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUyXCI7XG59XG5pLmljb24uZWxlbWVudG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMwXCI7XG59XG5pLmljb24uZWxsaXBzaXMuaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MVwiO1xufVxuaS5pY29uLmVsbGlwc2lzLnZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQyXCI7XG59XG5pLmljb24uZW1iZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjNcIjtcbn1cbmkuaWNvbi5lbXBpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDFcIjtcbn1cbmkuaWNvbi5lbnZlbG9wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMFwiO1xufVxuaS5pY29uLmVudmVsb3BlLm9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjZcIjtcbn1cbmkuaWNvbi5lbnZlbG9wZS5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTlcIjtcbn1cbmkuaWNvbi5lbnZpcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTlcIjtcbn1cbmkuaWNvbi5lcmFzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmRcIjtcbn1cbmkuaWNvbi5lcmxhbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWRcIjtcbn1cbmkuaWNvbi5ldGhlcmV1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZVwiO1xufVxuaS5pY29uLmV0c3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDdcIjtcbn1cbmkuaWNvbi5ldXJvLnNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjtcbn1cbmkuaWNvbi5leGNoYW5nZS5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjJcIjtcbn1cbmkuaWNvbi5leGNsYW1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYVwiO1xufVxuaS5pY29uLmV4Y2xhbWF0aW9uLmNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YVwiO1xufVxuaS5pY29uLmV4Y2xhbWF0aW9uLnRyaWFuZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcxXCI7XG59XG5pLmljb24uZXhwYW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY1XCI7XG59XG5pLmljb24uZXhwYW5kLmFycm93cy5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMWVcIjtcbn1cbmkuaWNvbi5leHBlZGl0ZWRzc2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2VcIjtcbn1cbmkuaWNvbi5leHRlcm5hbC5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNWRcIjtcbn1cbmkuaWNvbi5leHRlcm5hbC5zcXVhcmUuYWx0ZXJuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzYwXCI7XG59XG5pLmljb24uZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XG59XG5pLmljb24uZXllLmRyb3BwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmJcIjtcbn1cbmkuaWNvbi5leWUuc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzBcIjtcbn1cbmkuaWNvbi5mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YVwiO1xufVxuaS5pY29uLmZhY2Vib29rLmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWVcIjtcbn1cbmkuaWNvbi5mYWNlYm9vay5tZXNzZW5nZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWZcIjtcbn1cbmkuaWNvbi5mYWNlYm9vay5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODJcIjtcbn1cbmkuaWNvbi5mYXN0LmJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ5XCI7XG59XG5pLmljb24uZmFzdC5mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUwXCI7XG59XG5pLmljb24uZmF4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFjXCI7XG59XG5pLmljb24uZmVtYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgyXCI7XG59XG5pLmljb24uZmlnaHRlci5qZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmJcIjtcbn1cbmkuaWNvbi5maWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTViXCI7XG59XG5pLmljb24uZmlsZS5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWNcIjtcbn1cbmkuaWNvbi5maWxlLmFyY2hpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzZcIjtcbn1cbmkuaWNvbi5maWxlLmF1ZGlvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM3XCI7XG59XG5pLmljb24uZmlsZS5jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM5XCI7XG59XG5pLmljb24uZmlsZS5leGNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjM1wiO1xufVxuaS5pY29uLmZpbGUuaW1hZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzVcIjtcbn1cbmkuaWNvbi5maWxlLnBkZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjMVwiO1xufVxuaS5pY29uLmZpbGUucG93ZXJwb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNFwiO1xufVxuaS5pY29uLmZpbGUudmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzhcIjtcbn1cbmkuaWNvbi5maWxlLndvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzJcIjtcbn1cbmkuaWNvbi5maWxtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA4XCI7XG59XG5pLmljb24uZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIwXCI7XG59XG5pLmljb24uZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2ZFwiO1xufVxuaS5pY29uLmZpcmUuZXh0aW5ndWlzaGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM0XCI7XG59XG5pLmljb24uZmlyZWZveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2OVwiO1xufVxuaS5pY29uLmZpcnN0LmFpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3OVwiO1xufVxuaS5pY29uLmZpcnN0Lm9yZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIwXCI7XG59XG5pLmljb24uZmlyc3RkcmFmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhMVwiO1xufVxuaS5pY29uLmZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjRcIjtcbn1cbmkuaWNvbi5mbGFnLmNoZWNrZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZVwiO1xufVxuaS5pY29uLmZsYXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMzXCI7XG59XG5pLmljb24uZmxpY2tyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZlXCI7XG59XG5pLmljb24uZmxpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRkXCI7XG59XG5pLmljb24uZmx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE3XCI7XG59XG5pLmljb24uZm9sZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdiXCI7XG59XG5pLmljb24uZm9sZGVyLm9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2NcIjtcbn1cbmkuaWNvbi5mb250OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMxXCI7XG59XG5pLmljb24uZm9udC5hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7XG59XG5pLmljb24uZm9udC5hd2Vzb21lLmFsdGVybmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1Y1wiO1xufVxuaS5pY29uLmZvbnQuYXdlc29tZS5mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI1XCI7XG59XG5pLmljb24uZm9udGljb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgwXCI7XG59XG5pLmljb24uZm9udGljb25zLmZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2EyXCI7XG59XG5pLmljb24uZm9vdGJhbGwuYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0ZVwiO1xufVxuaS5pY29uLmZvcnQuYXdlc29tZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NlwiO1xufVxuaS5pY29uLmZvcnQuYXdlc29tZS5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTNcIjtcbn1cbmkuaWNvbi5mb3J1bWJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMVwiO1xufVxuaS5pY29uLmZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGVcIjtcbn1cbmkuaWNvbi5mb3Vyc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgwXCI7XG59XG5pLmljb24uZnJlZS5jb2RlLmNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzVcIjtcbn1cbmkuaWNvbi5mcmVlYnNkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E0XCI7XG59XG5pLmljb24uZnJvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTlcIjtcbn1cbmkuaWNvbi5mdXRib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTNcIjtcbn1cbmkuaWNvbi5nYW1lcGFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFiXCI7XG59XG5pLmljb24uZ2F2ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTNcIjtcbn1cbmkuaWNvbi5nZW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTVcIjtcbn1cbmkuaWNvbi5nZW5kZXJsZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJkXCI7XG59XG5pLmljb24uZ2V0LnBvY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NVwiO1xufVxuaS5pY29uLmdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYwXCI7XG59XG5pLmljb24uZ2cuY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYxXCI7XG59XG5pLmljb24uZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YlwiO1xufVxuaS5pY29uLmdpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkM1wiO1xufVxuaS5pY29uLmdpdC5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDJcIjtcbn1cbmkuaWNvbi5naXRodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWJcIjtcbn1cbmkuaWNvbi5naXRodWIuYWx0ZXJuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEzXCI7XG59XG5pLmljb24uZ2l0aHViLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MlwiO1xufVxuaS5pY29uLmdpdGtyYWtlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhNlwiO1xufVxuaS5pY29uLmdpdGxhYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NlwiO1xufVxuaS5pY29uLmdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyNlwiO1xufVxuaS5pY29uLmdsYXNzLm1hcnRpbmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDBcIjtcbn1cbmkuaWNvbi5nbGlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNVwiO1xufVxuaS5pY29uLmdsaWRlLmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTZcIjtcbn1cbmkuaWNvbi5nbG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhY1wiO1xufVxuaS5pY29uLmdvZm9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhN1wiO1xufVxuaS5pY29uLmdvbGYuYmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1MFwiO1xufVxuaS5pY29uLmdvb2RyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhOFwiO1xufVxuaS5pY29uLmdvb2RyZWFkcy5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E5XCI7XG59XG5pLmljb24uZ29vZ2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEwXCI7XG59XG5pLmljb24uZ29vZ2xlLmRyaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FhXCI7XG59XG5pLmljb24uZ29vZ2xlLnBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWJcIjtcbn1cbmkuaWNvbi5nb29nbGUucGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiM1wiO1xufVxuaS5pY29uLmdvb2dsZS5wbHVzLmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDVcIjtcbn1cbmkuaWNvbi5nb29nbGUucGx1cy5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjtcbn1cbmkuaWNvbi5nb29nbGUud2FsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVlXCI7XG59XG5pLmljb24uZ3JhZHVhdGlvbi5jYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWRcIjtcbn1cbmkuaWNvbi5ncmF0aXBheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NFwiO1xufVxuaS5pY29uLmdyYXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDZcIjtcbn1cbmkuaWNvbi5ncmlwZmlyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhY1wiO1xufVxuaS5pY29uLmdydW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FkXCI7XG59XG5pLmljb24uZ3VscDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhZVwiO1xufVxuaS5pY29uLmguc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZkXCI7XG59XG5pLmljb24uaGFja2VyLm5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDRcIjtcbn1cbmkuaWNvbi5oYWNrZXIubmV3cy5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWZcIjtcbn1cbmkuaWNvbi5oYW5kLmxpemFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1OFwiO1xufVxuaS5pY29uLmhhbmQucGFwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTZcIjtcbn1cbmkuaWNvbi5oYW5kLnBlYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjViXCI7XG59XG5pLmljb24uaGFuZC5wb2ludC5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE3XCI7XG59XG5pLmljb24uaGFuZC5wb2ludC5sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE1XCI7XG59XG5pLmljb24uaGFuZC5wb2ludC5yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNFwiO1xufVxuaS5pY29uLmhhbmQucG9pbnQudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTZcIjtcbn1cbmkuaWNvbi5oYW5kLnBvaW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWFcIjtcbn1cbmkuaWNvbi5oYW5kLnJvY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTVcIjtcbn1cbmkuaWNvbi5oYW5kLnNjaXNzb3JzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU3XCI7XG59XG5pLmljb24uaGFuZC5zcG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1OVwiO1xufVxuaS5pY29uLmhhbmRzaGFrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNVwiO1xufVxuaS5pY29uLmhhc2h0YWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTJcIjtcbn1cbmkuaWNvbi5oZGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTBcIjtcbn1cbmkuaWNvbi5oZWFkaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRjXCI7XG59XG5pLmljb24uaGVhZHBob25lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNVwiO1xufVxuaS5pY29uLmhlYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XG59XG5pLmljb24uaGVhcnRiZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFlXCI7XG59XG5pLmljb24uaGlwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1MlwiO1xufVxuaS5pY29uLmhpcmUuYS5oZWxwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjBcIjtcbn1cbmkuaWNvbi5oaXN0b3J5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRhXCI7XG59XG5pLmljb24uaG9ja2V5LnB1Y2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTNcIjtcbn1cbmkuaWNvbi5ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE1XCI7XG59XG5pLmljb24uaG9vbGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjdcIjtcbn1cbmkuaWNvbi5ob3NwaXRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmOFwiO1xufVxuaS5pY29uLmhvc3BpdGFsLnN5bWJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ3ZVwiO1xufVxuaS5pY29uLmhvdGphcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMVwiO1xufVxuaS5pY29uLmhvdXJnbGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NFwiO1xufVxuaS5pY29uLmhvdXJnbGFzcy5lbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTNcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3MuaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MlwiO1xufVxuaS5pY29uLmhvdXJnbGFzcy5zdGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MVwiO1xufVxuaS5pY29uLmhvdXp6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdjXCI7XG59XG5pLmljb24uaHRtbDU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2JcIjtcbn1cbmkuaWNvbi5odWJzcG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2IyXCI7XG59XG5pLmljb24uaS5jdXJzb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDZcIjtcbn1cbmkuaWNvbi5pZC5iYWRnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjMVwiO1xufVxuaS5pY29uLmlkLmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzJcIjtcbn1cbmkuaWNvbi5pbWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuaS5pY29uLmltYWdlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwMlwiO1xufVxuaS5pY29uLmltZGI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDhcIjtcbn1cbmkuaWNvbi5pbmJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxY1wiO1xufVxuaS5pY29uLmluZGVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzY1wiO1xufVxuaS5pY29uLmluZHVzdHJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc1XCI7XG59XG5pLmljb24uaW5mbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOVwiO1xufVxuaS5pY29uLmluZm8uY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDVhXCI7XG59XG5pLmljb24uaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7XG59XG5pLmljb24uaW50ZXJuZXQuZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmJcIjtcbn1cbmkuaWNvbi5pb3hob3N0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA4XCI7XG59XG5pLmljb24uaXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMzXCI7XG59XG5pLmljb24uaXR1bmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I0XCI7XG59XG5pLmljb24uaXR1bmVzLm5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjVcIjtcbn1cbmkuaWNvbi5qZW5raW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I2XCI7XG59XG5pLmljb24uam9nZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjdcIjtcbn1cbmkuaWNvbi5qb29tbGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWFcIjtcbn1cbmkuaWNvbi5qczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiOFwiO1xufVxuaS5pY29uLmpzLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiOVwiO1xufVxuaS5pY29uLmpzZmlkZGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNjXCI7XG59XG5pLmljb24ua2V5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg0XCI7XG59XG5pLmljb24ua2V5Ym9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWNcIjtcbn1cbmkuaWNvbi5rZXljZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmFcIjtcbn1cbmkuaWNvbi5raWNrc3RhcnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiYlwiO1xufVxuaS5pY29uLmtpY2tzdGFydGVyLms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmNcIjtcbn1cbmkuaWNvbi5rb3J2dWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmZcIjtcbn1cbmkuaWNvbi5sYW5ndWFnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYlwiO1xufVxuaS5pY29uLmxhcHRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOVwiO1xufVxuaS5pY29uLmxhcmF2ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmRcIjtcbn1cbmkuaWNvbi5sYXN0Zm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDJcIjtcbn1cbmkuaWNvbi5sYXN0Zm0uc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAzXCI7XG59XG5pLmljb24ubGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2Y1wiO1xufVxuaS5pY29uLmxlYW5wdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTJcIjtcbn1cbmkuaWNvbi5sZW1vbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NFwiO1xufVxuaS5pY29uLmxlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWRcIjtcbn1cbmkuaWNvbi5sZXZlbC5kb3duLmFsdGVybmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZVwiO1xufVxuaS5pY29uLmxldmVsLnVwLmFsdGVybmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZlwiO1xufVxuaS5pY29uLmxpZmUucmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZFwiO1xufVxuaS5pY29uLmxpZ2h0YnVsYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYlwiO1xufVxuaS5pY29uLmxpbmVjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MwXCI7XG59XG5pLmljb24ubGlua2lmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMVwiO1xufVxuaS5pY29uLmxpbmtlZGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhjXCI7XG59XG5pLmljb24ubGlua2VkaW4uYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUxXCI7XG59XG5pLmljb24ubGlub2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI4XCI7XG59XG5pLmljb24ubGludXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2NcIjtcbn1cbmkuaWNvbi5saXJhLnNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjtcbn1cbmkuaWNvbi5saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNhXCI7XG59XG5pLmljb24ubGlzdC5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjJcIjtcbn1cbmkuaWNvbi5saXN0Lm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNiXCI7XG59XG5pLmljb24ubGlzdC51bDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjYVwiO1xufVxuaS5pY29uLmxvY2F0aW9uLmFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI0XCI7XG59XG5pLmljb24ubG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiO1xufVxuaS5pY29uLmxvY2sub3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjMVwiO1xufVxuaS5pY29uLmxvbmcuYXJyb3cuYWx0ZXJuYXRlLmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDlcIjtcbn1cbmkuaWNvbi5sb25nLmFycm93LmFsdGVybmF0ZS5sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzBhXCI7XG59XG5pLmljb24ubG9uZy5hcnJvdy5hbHRlcm5hdGUucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMGJcIjtcbn1cbmkuaWNvbi5sb25nLmFycm93LmFsdGVybmF0ZS51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwY1wiO1xufVxuaS5pY29uLmxvdy52aXNpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYThcIjtcbn1cbmkuaWNvbi5seWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MzXCI7XG59XG5pLmljb24ubWFnZW50bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjNFwiO1xufVxuaS5pY29uLm1hZ2ljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQwXCI7XG59XG5pLmljb24ubWFnbmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc2XCI7XG59XG5pLmljb24ubWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4M1wiO1xufVxuaS5pY29uLm1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3OVwiO1xufVxuaS5pY29uLm1hcC5tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDFcIjtcbn1cbmkuaWNvbi5tYXAubWFya2VyLmFsdGVybmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjNVwiO1xufVxuaS5pY29uLm1hcC5waW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzZcIjtcbn1cbmkuaWNvbi5tYXAuc2lnbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzdcIjtcbn1cbmkuaWNvbi5tYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIyXCI7XG59XG5pLmljb24ubWFycy5kb3VibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjdcIjtcbn1cbmkuaWNvbi5tYXJzLnN0cm9rZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOVwiO1xufVxuaS5pY29uLm1hcnMuc3Ryb2tlLmhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cbmkuaWNvbi5tYXJzLnN0cm9rZS52ZXJ0aWNhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYVwiO1xufVxuaS5pY29uLm1heGNkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzNlwiO1xufVxuaS5pY29uLm1lZGFwcHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYzZcIjtcbn1cbmkuaWNvbi5tZWRpdW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2FcIjtcbn1cbmkuaWNvbi5tZWRpdW0ubTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjN1wiO1xufVxuaS5pY29uLm1lZGtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYVwiO1xufVxuaS5pY29uLm1lZHJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M4XCI7XG59XG5pLmljb24ubWVldHVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmUwXCI7XG59XG5pLmljb24ubWVoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFhXCI7XG59XG5pLmljb24ubWVyY3VyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyM1wiO1xufVxuaS5pY29uLm1pY3JvY2hpcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYlwiO1xufVxuaS5pY29uLm1pY3JvcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzBcIjtcbn1cbmkuaWNvbi5taWNyb3Bob25lLnNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMxXCI7XG59XG5pLmljb24ubWljcm9zb2Z0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2NhXCI7XG59XG5pLmljb24ubWludXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjhcIjtcbn1cbmkuaWNvbi5taW51cy5jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTZcIjtcbn1cbmkuaWNvbi5taW51cy5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDZcIjtcbn1cbmkuaWNvbi5taXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2JcIjtcbn1cbmkuaWNvbi5taXhjbG91ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OVwiO1xufVxuaS5pY29uLm1penVuaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjY1wiO1xufVxuaS5pY29uLm1vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYlwiO1xufVxuaS5pY29uLm1vYmlsZS5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2RcIjtcbn1cbmkuaWNvbi5tb2R4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg1XCI7XG59XG5pLmljb24ubW9uZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QwXCI7XG59XG5pLmljb24ubW9uZXkuYmlsbC5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDFcIjtcbn1cbmkuaWNvbi5tb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg2XCI7XG59XG5pLmljb24ubW90b3JjeWNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxY1wiO1xufVxuaS5pY29uLm1vdXNlLnBvaW50ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDVcIjtcbn1cbmkuaWNvbi5tdXNpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMVwiO1xufVxuaS5pY29uLm5hcHN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDJcIjtcbn1cbmkuaWNvbi5uZXV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmNcIjtcbn1cbmkuaWNvbi5uZXdzcGFwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWFcIjtcbn1cbmkuaWNvbi5uaW50ZW5kby5zd2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MThcIjtcbn1cbmkuaWNvbi5ub2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE5XCI7XG59XG5pLmljb24ubm9kZS5qczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkM1wiO1xufVxuaS5pY29uLm5wbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNFwiO1xufVxuaS5pY29uLm5zODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNVwiO1xufVxuaS5pY29uLm51dHJpdGlvbml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q2XCI7XG59XG5pLmljb24ub2JqZWN0Lmdyb3VwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ3XCI7XG59XG5pLmljb24ub2JqZWN0LnVuZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDhcIjtcbn1cbmkuaWNvbi5vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYzXCI7XG59XG5pLmljb24ub2Rub2tsYXNzbmlraS5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjtcbn1cbmkuaWNvbi5vcGVuY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZFwiO1xufVxuaS5pY29uLm9wZW5pZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YlwiO1xufVxuaS5pY29uLm9wZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZhXCI7XG59XG5pLmljb24ub3B0aW4ubW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzY1wiO1xufVxuaS5pY29uLm9zaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxYVwiO1xufVxuaS5pY29uLm91dGRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2JcIjtcbn1cbmkuaWNvbi5wYWdlNDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkN1wiO1xufVxuaS5pY29uLnBhZ2VsaW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4Y1wiO1xufVxuaS5pY29uLnBhaW50LmJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZjXCI7XG59XG5pLmljb24ucGFsZmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q4XCI7XG59XG5pLmljb24ucGFsbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDgyXCI7XG59XG5pLmljb24ucGFwZXIucGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDhcIjtcbn1cbmkuaWNvbi5wYXBlcmNsaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzZcIjtcbn1cbmkuaWNvbi5wYXJhZ3JhcGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGRcIjtcbn1cbmkuaWNvbi5wYXN0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYVwiO1xufVxuaS5pY29uLnBhdHJlb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDlcIjtcbn1cbmkuaWNvbi5wYXVzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0Y1wiO1xufVxuaS5pY29uLnBhdXNlLmNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YlwiO1xufVxuaS5pY29uLnBhdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiMFwiO1xufVxuaS5pY29uLnBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZFwiO1xufVxuaS5pY29uLnBlbi5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGJcIjtcbn1cbmkuaWNvbi5wZW5jaWwuYWx0ZXJuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzAzXCI7XG59XG5pLmljb24ucGVyY2VudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5NVwiO1xufVxuaS5pY29uLnBlcmlzY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkYVwiO1xufVxuaS5pY29uLnBoYWJyaWNhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RiXCI7XG59XG5pLmljb24ucGhvZW5peC5mcmFtZXdvcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGNcIjtcbn1cbmkuaWNvbi5waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NVwiO1xufVxuaS5pY29uLnBob25lLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OFwiO1xufVxuaS5pY29uLnBob25lLnZvbHVtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMFwiO1xufVxuaS5pY29uLnBocDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1N1wiO1xufVxuaS5pY29uLnBpZWQucGlwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWVcIjtcbn1cbmkuaWNvbi5waWVkLnBpcGVyLmFsdGVybmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhOFwiO1xufVxuaS5pY29uLnBpZWQucGlwZXIucHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTdcIjtcbn1cbmkuaWNvbi5waWxsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ4NFwiO1xufVxuaS5pY29uLnBpbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMlwiO1xufVxuaS5pY29uLnBpbnRlcmVzdC5wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMxXCI7XG59XG5pLmljb24ucGludGVyZXN0LnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkM1wiO1xufVxuaS5pY29uLnBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcyXCI7XG59XG5pLmljb24ucGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0YlwiO1xufVxuaS5pY29uLnBsYXkuY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ0XCI7XG59XG5pLmljb24ucGxheXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGZcIjtcbn1cbmkuaWNvbi5wbHVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU2XCI7XG59XG5pLmljb24ucGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2N1wiO1xufVxuaS5pY29uLnBsdXMuY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG59XG5pLmljb24ucGx1cy5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmVcIjtcbn1cbmkuaWNvbi5wb2RjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNlXCI7XG59XG5pLmljb24ucG91bmQuc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NFwiO1xufVxuaS5pY29uLnBvd2VyLm9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMVwiO1xufVxuaS5pY29uLnByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJmXCI7XG59XG5pLmljb24ucHJvZHVjdC5odW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg4XCI7XG59XG5pLmljb24ucHVzaGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UxXCI7XG59XG5pLmljb24ucHV6emxlLnBpZWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJlXCI7XG59XG5pLmljb24ucHl0aG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UyXCI7XG59XG5pLmljb24ucXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDZcIjtcbn1cbmkuaWNvbi5xcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjlcIjtcbn1cbmkuaWNvbi5xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOFwiO1xufVxuaS5pY29uLnF1ZXN0aW9uLmNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OVwiO1xufVxuaS5pY29uLnF1aWRkaXRjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1OFwiO1xufVxuaS5pY29uLnF1aW5zY2FwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1OVwiO1xufVxuaS5pY29uLnF1b3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM0XCI7XG59XG5pLmljb24ucXVvdGUubGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZFwiO1xufVxuaS5pY29uLnF1b3RlLnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG59XG5pLmljb24ucmFuZG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7XG59XG5pLmljb24ucmF2ZWxyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkOVwiO1xufVxuaS5pY29uLnJlYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFiXCI7XG59XG5pLmljb24ucmViZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDBcIjtcbn1cbmkuaWNvbi5yZWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI4XCI7XG59XG5pLmljb24ucmVkcml2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTNcIjtcbn1cbmkuaWNvbi5yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTFcIjtcbn1cbmkuaWNvbi5yZWRkaXQuYWxpZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODFcIjtcbn1cbmkuaWNvbi5yZWRkaXQuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7XG59XG5pLmljb24ucmVkbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZVwiO1xufVxuaS5pY29uLnJlZG8uYWx0ZXJuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY5XCI7XG59XG5pLmljb24ucmVnaXN0ZXJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZFwiO1xufVxuaS5pY29uLnJlbmRhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTRcIjtcbn1cbmkuaWNvbi5yZW5yZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGJcIjtcbn1cbmkuaWNvbi5yZXBseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNVwiO1xufVxuaS5pY29uLnJlcGx5LmFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMlwiO1xufVxuaS5pY29uLnJlcGx5ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNlwiO1xufVxuaS5pY29uLnJlc29sdmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlN1wiO1xufVxuaS5pY29uLnJldHdlZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzlcIjtcbn1cbmkuaWNvbi5yb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE4XCI7XG59XG5pLmljb24ucm9ja2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM1XCI7XG59XG5pLmljb24ucm9ja2V0Y2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlOFwiO1xufVxuaS5pY29uLnJvY2tybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZTlcIjtcbn1cbmkuaWNvbi5yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWVcIjtcbn1cbmkuaWNvbi5yc3Muc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQzXCI7XG59XG5pLmljb24ucnVibGUuc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiO1xufVxuaS5pY29uLnJ1cGVlLnNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjtcbn1cbmkuaWNvbi5zYWZhcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjdcIjtcbn1cbmkuaWNvbi5zYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDFlXCI7XG59XG5pLmljb24uc2F2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjN1wiO1xufVxuaS5pY29uLnNjaGxpeDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlYVwiO1xufVxuaS5pY29uLnNjcmliZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YVwiO1xufVxuaS5pY29uLnNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMlwiO1xufVxuaS5pY29uLnNlYXJjaC5taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMFwiO1xufVxuaS5pY29uLnNlYXJjaC5wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBlXCI7XG59XG5pLmljb24uc2VhcmNoZW5naW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWJcIjtcbn1cbmkuaWNvbi5zZWxsY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYVwiO1xufVxuaS5pY29uLnNlbGxzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxM1wiO1xufVxuaS5pY29uLnNlcnZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzM1wiO1xufVxuaS5pY29uLnNlcnZpY2VzdGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlY1wiO1xufVxuaS5pY29uLnNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY0XCI7XG59XG5pLmljb24uc2hhcmUuYWx0ZXJuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUwXCI7XG59XG5pLmljb24uc2hhcmUuYWx0ZXJuYXRlLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMVwiO1xufVxuaS5pY29uLnNoYXJlLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZFwiO1xufVxuaS5pY29uLnNoZWtlbC5zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBiXCI7XG59XG5pLmljb24uc2hpZWxkLmFsdGVybmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlZFwiO1xufVxuaS5pY29uLnNoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWFcIjtcbn1cbmkuaWNvbi5zaGlwcGluZy5mYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDhiXCI7XG59XG5pLmljb24uc2hpcnRzaW5idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE0XCI7XG59XG5pLmljb24uc2hvcHBpbmcuYmFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkwXCI7XG59XG5pLmljb24uc2hvcHBpbmcuYmFza2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjkxXCI7XG59XG5pLmljb24uc2hvcHBpbmcuY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YVwiO1xufVxuaS5pY29uLnNob3dlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjY1wiO1xufVxuaS5pY29uLnNpZ24ubGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTdcIjtcbn1cbmkuaWNvbi5zaWduYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTJcIjtcbn1cbmkuaWNvbi5zaW1wbHlidWlsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNVwiO1xufVxuaS5pY29uLnNpc3RyaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWVcIjtcbn1cbmkuaWNvbi5zaXRlbWFwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU4XCI7XG59XG5pLmljb24uc2t5YXRsYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTZcIjtcbn1cbmkuaWNvbi5za3lwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZVwiO1xufVxuaS5pY29uLnNsYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk4XCI7XG59XG5pLmljb24uc2xhY2suaGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlZlwiO1xufVxuaS5pY29uLnNsaWRlcnMuaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZVwiO1xufVxuaS5pY29uLnNsaWRlc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTdcIjtcbn1cbmkuaWNvbi5zbWlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOFwiO1xufVxuaS5pY29uLnNuYXBjaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFiXCI7XG59XG5pLmljb24uc25hcGNoYXQuZ2hvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWNcIjtcbn1cbmkuaWNvbi5zbmFwY2hhdC5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWRcIjtcbn1cbmkuaWNvbi5zbm93Zmxha2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGNcIjtcbn1cbmkuaWNvbi5zb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRjXCI7XG59XG5pLmljb24uc29ydC5hbHBoYWJldC5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVkXCI7XG59XG5pLmljb24uc29ydC5hbHBoYWJldC51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZVwiO1xufVxuaS5pY29uLnNvcnQuYW1vdW50LmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjBcIjtcbn1cbmkuaWNvbi5zb3J0LmFtb3VudC51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MVwiO1xufVxuaS5pY29uLnNvcnQuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZFwiO1xufVxuaS5pY29uLnNvcnQubnVtZXJpYy5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYyXCI7XG59XG5pLmljb24uc29ydC5udW1lcmljLnVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYzXCI7XG59XG5pLmljb24uc29ydC51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZVwiO1xufVxuaS5pY29uLnNvdW5kY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmVcIjtcbn1cbmkuaWNvbi5zcGFjZS5zaHV0dGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk3XCI7XG59XG5pLmljb24uc3BlYWthcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmM1wiO1xufVxuaS5pY29uLnNwaW5uZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTBcIjtcbn1cbmkuaWNvbi5zcG90aWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJjXCI7XG59XG5pLmljb24uc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM4XCI7XG59XG5pLmljb24uc3F1YXJlLmZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NWNcIjtcbn1cbmkuaWNvbi5zdGFjay5leGNoYW5nZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4ZFwiO1xufVxuaS5pY29uLnN0YWNrLm92ZXJmbG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZjXCI7XG59XG5pLmljb24uc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVwiO1xufVxuaS5pY29uLnN0YXIuaGFsZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OVwiO1xufVxuaS5pY29uLnN0YXlsaW5rZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjVcIjtcbn1cbmkuaWNvbi5zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNlwiO1xufVxuaS5pY29uLnN0ZWFtLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiO1xufVxuaS5pY29uLnN0ZWFtLnN5bWJvbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmNlwiO1xufVxuaS5pY29uLnN0ZXAuYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDhcIjtcbn1cbmkuaWNvbi5zdGVwLmZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTFcIjtcbn1cbmkuaWNvbi5zdGV0aG9zY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMVwiO1xufVxuaS5pY29uLnN0aWNrZXIubXVsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmN1wiO1xufVxuaS5pY29uLnN0aWNreS5ub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ5XCI7XG59XG5pLmljb24uc3RvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZFwiO1xufVxuaS5pY29uLnN0b3AuY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhkXCI7XG59XG5pLmljb24uc3RvcHdhdGNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmYyXCI7XG59XG5pLmljb24uc3RyYXZhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI4XCI7XG59XG5pLmljb24uc3RyZWV0LnZpZXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWRcIjtcbn1cbmkuaWNvbi5zdHJpa2V0aHJvdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNjXCI7XG59XG5pLmljb24uc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI5XCI7XG59XG5pLmljb24uc3RyaXBlLnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmFcIjtcbn1cbmkuaWNvbi5zdHVkaW92aW5hcmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjhcIjtcbn1cbmkuaWNvbi5zdHVtYmxldXBvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNFwiO1xufVxuaS5pY29uLnN0dW1ibGV1cG9uLmNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhM1wiO1xufVxuaS5pY29uLnN1YnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyY1wiO1xufVxuaS5pY29uLnN1YndheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOVwiO1xufVxuaS5pY29uLnN1aXRjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYyXCI7XG59XG5pLmljb24uc3VuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg1XCI7XG59XG5pLmljb24uc3VwZXJwb3dlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGRcIjtcbn1cbmkuaWNvbi5zdXBlcnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYlwiO1xufVxuaS5pY29uLnN1cHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmOVwiO1xufVxuaS5pY29uLnN5bmM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjFcIjtcbn1cbmkuaWNvbi5zeW5jLmFsdGVybmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmMVwiO1xufVxuaS5pY29uLnN5cmluZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0OGVcIjtcbn1cbmkuaWNvbi50YWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjZVwiO1xufVxuaS5pY29uLnRhYmxlLnRlbm5pczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ1ZFwiO1xufVxuaS5pY29uLnRhYmxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYVwiO1xufVxuaS5pY29uLnRhYmxldC5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmFcIjtcbn1cbmkuaWNvbi50YWNob21ldGVyLmFsdGVybmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZFwiO1xufVxuaS5pY29uLnRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYlwiO1xufVxuaS5pY29uLnRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmNcIjtcbn1cbmkuaWNvbi50YXNrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZVwiO1xufVxuaS5pY29uLnRheGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmFcIjtcbn1cbmkuaWNvbi50ZWxlZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNlwiO1xufVxuaS5pY29uLnRlbGVncmFtLnBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ZlXCI7XG59XG5pLmljb24udGVuY2VudC53ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNVwiO1xufVxuaS5pY29uLnRlcm1pbmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIwXCI7XG59XG5pLmljb24udGV4dC5oZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzRcIjtcbn1cbmkuaWNvbi50ZXh0LndpZHRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM1XCI7XG59XG5pLmljb24udGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGFcIjtcbn1cbmkuaWNvbi50aC5sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwOVwiO1xufVxuaS5pY29uLnRoLmxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGJcIjtcbn1cbmkuaWNvbi50aGVtZWlzbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjJcIjtcbn1cbmkuaWNvbi50aGVybW9tZXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5MVwiO1xufVxuaS5pY29uLnRoZXJtb21ldGVyLmVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNiXCI7XG59XG5pLmljb24udGhlcm1vbWV0ZXIuZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjN1wiO1xufVxuaS5pY29uLnRoZXJtb21ldGVyLmhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzlcIjtcbn1cbmkuaWNvbi50aGVybW9tZXRlci5xdWFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNhXCI7XG59XG5pLmljb24udGhlcm1vbWV0ZXIudGhyZWUucXVhcnRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzhcIjtcbn1cbmkuaWNvbi50aHVtYnMuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiO1xufVxuaS5pY29uLnRodW1icy51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NFwiO1xufVxuaS5pY29uLnRodW1idGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZFwiO1xufVxuaS5pY29uLnRpY2tldC5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZmZcIjtcbn1cbmkuaWNvbi50aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuaS5pY29uLnRpbWVzLmNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1N1wiO1xufVxuaS5pY29uLnRpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDNcIjtcbn1cbmkuaWNvbi50b2dnbGUub2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA0XCI7XG59XG5pLmljb24udG9nZ2xlLm9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA1XCI7XG59XG5pLmljb24udHJhZGVtYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVjXCI7XG59XG5pLmljb24udHJhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzhcIjtcbn1cbmkuaWNvbi50cmFuc2dlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNFwiO1xufVxuaS5pY29uLnRyYW5zZ2VuZGVyLmFsdGVybmF0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNVwiO1xufVxuaS5pY29uLnRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY4XCI7XG59XG5pLmljb24udHJhc2guYWx0ZXJuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVkXCI7XG59XG5pLmljb24udHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiYlwiO1xufVxuaS5pY29uLnRyZWxsbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MVwiO1xufVxuaS5pY29uLnRyaXBhZHZpc29yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYyXCI7XG59XG5pLmljb24udHJvcGh5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkxXCI7XG59XG5pLmljb24udHJ1Y2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDFcIjtcbn1cbmkuaWNvbi50dHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cbmkuaWNvbi50dW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzNcIjtcbn1cbmkuaWNvbi50dW1ibHIuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7XG59XG5pLmljb24udHY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNmNcIjtcbn1cbmkuaWNvbi50d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjtcbn1cbmkuaWNvbi50d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XG59XG5pLmljb24udHdpdHRlci5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODFcIjtcbn1cbmkuaWNvbi50eXBvMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyYlwiO1xufVxuaS5pY29uLnViZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDJcIjtcbn1cbmkuaWNvbi51aWtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwM1wiO1xufVxuaS5pY29uLnVtYnJlbGxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU5XCI7XG59XG5pLmljb24udW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNkXCI7XG59XG5pLmljb24udW5kbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMlwiO1xufVxuaS5pY29uLnVuZG8uYWx0ZXJuYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVhXCI7XG59XG5pLmljb24udW5pcmVnaXN0cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDRcIjtcbn1cbmkuaWNvbi51bml2ZXJzYWwuYWNjZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjlhXCI7XG59XG5pLmljb24udW5pdmVyc2l0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5Y1wiO1xufVxuaS5pY29uLnVubGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyN1wiO1xufVxuaS5pY29uLnVubG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5Y1wiO1xufVxuaS5pY29uLnVubG9jay5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2VcIjtcbn1cbmkuaWNvbi51bnRhcHBkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA1XCI7XG59XG5pLmljb24udXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkzXCI7XG59XG5pLmljb24udXNiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjg3XCI7XG59XG5pLmljb24udXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwN1wiO1xufVxuaS5pY29uLnVzZXIuY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJkXCI7XG59XG5pLmljb24udXNlci5tZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMFwiO1xufVxuaS5pY29uLnVzZXIucGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNFwiO1xufVxuaS5pY29uLnVzZXIuc2VjcmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjFiXCI7XG59XG5pLmljb24udXNlci50aW1lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuaS5pY29uLnVzZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMwXCI7XG59XG5pLmljb24udXNzdW5uYWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDdcIjtcbn1cbmkuaWNvbi51dGVuc2lsLnNwb29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU1XCI7XG59XG5pLmljb24udXRlbnNpbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTdcIjtcbn1cbmkuaWNvbi52YWFkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDhcIjtcbn1cbmkuaWNvbi52ZW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyMVwiO1xufVxuaS5pY29uLnZlbnVzLmRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNlwiO1xufVxuaS5pY29uLnZlbnVzLm1hcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjhcIjtcbn1cbmkuaWNvbi52aWFjb2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM3XCI7XG59XG5pLmljb24udmlhZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmE5XCI7XG59XG5pLmljb24udmlhZGVvLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYVwiO1xufVxuaS5pY29uLnZpYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA5XCI7XG59XG5pLmljb24udmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2RcIjtcbn1cbmkuaWNvbi52aW1lbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYVwiO1xufVxuaS5pY29uLnZpbWVvLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5NFwiO1xufVxuaS5pY29uLnZpbWVvLnY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2RcIjtcbn1cbmkuaWNvbi52aW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNhXCI7XG59XG5pLmljb24udms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODlcIjtcbn1cbmkuaWNvbi52bnY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGJcIjtcbn1cbmkuaWNvbi52b2xsZXliYWxsLmJhbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NWZcIjtcbn1cbmkuaWNvbi52b2x1bWUuZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyN1wiO1xufVxuaS5pY29uLnZvbHVtZS5vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjZcIjtcbn1cbmkuaWNvbi52b2x1bWUudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjhcIjtcbn1cbmkuaWNvbi52dWVqczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZlwiO1xufVxuaS5pY29uLndhcmVob3VzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ5NFwiO1xufVxuaS5pY29uLndlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThhXCI7XG59XG5pLmljb24ud2VpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDk2XCI7XG59XG5pLmljb24ud2VpeGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ3XCI7XG59XG5pLmljb24ud2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjtcbn1cbmkuaWNvbi53aGF0c2FwcC5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGNcIjtcbn1cbmkuaWNvbi53aGVlbGNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkzXCI7XG59XG5pLmljb24ud2htY3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGRcIjtcbn1cbmkuaWNvbi53aWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWViXCI7XG59XG5pLmljb24ud2lraXBlZGlhLnc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjZcIjtcbn1cbmkuaWNvbi53aW5kb3cuY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTBcIjtcbn1cbmkuaWNvbi53aW5kb3cubWF4aW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDBcIjtcbn1cbmkuaWNvbi53aW5kb3cubWluaW1pemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDFcIjtcbn1cbmkuaWNvbi53aW5kb3cucmVzdG9yZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkMlwiO1xufVxuaS5pY29uLndpbmRvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2FcIjtcbn1cbmkuaWNvbi53b24uc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OVwiO1xufVxuaS5pY29uLndvcmRwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5YVwiO1xufVxuaS5pY29uLndvcmRwcmVzcy5zaW1wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTFcIjtcbn1cbmkuaWNvbi53cGJlZ2lubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk3XCI7XG59XG5pLmljb24ud3BleHBsb3JlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkZVwiO1xufVxuaS5pY29uLndwZm9ybXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOThcIjtcbn1cbmkuaWNvbi53cmVuY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWRcIjtcbn1cbmkuaWNvbi54Ym94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEyXCI7XG59XG5pLmljb24ueGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OFwiO1xufVxuaS5pY29uLnhpbmcuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY5XCI7XG59XG5pLmljb24ueS5jb21iaW5hdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNiXCI7XG59XG5pLmljb24ueWFob286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWVcIjtcbn1cbmkuaWNvbi55YW5kZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTNcIjtcbn1cbmkuaWNvbi55YW5kZXguaW50ZXJuYXRpb25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxNFwiO1xufVxuaS5pY29uLnllbHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTlcIjtcbn1cbmkuaWNvbi55ZW4uc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiO1xufVxuaS5pY29uLnlvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIxXCI7XG59XG5pLmljb24ueW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2N1wiO1xufVxuaS5pY29uLnlvdXR1YmUuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMxXCI7XG59XG4vKiBBbGlhc2VzICovXG5pLmljb24uY2hlc3Mucm9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQ0N1wiO1xufVxuaS5pY29uLm9yZGVyZWQubGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjYlwiO1xufVxuaS5pY29uLnVub3JkZXJlZC5saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNhXCI7XG59XG5pLmljb24udXNlci5kb2N0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjBcIjtcbn1cbmkuaWNvbi5zaGllbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWRcIjtcbn1cbmkuaWNvbi5wdXp6bGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmVcIjtcbn1cbmkuaWNvbi5jcmVkaXQuY2FyZC5hbWF6b24ucGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJkXCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQuYW1lcmljYW4uZXhwcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xufVxuaS5pY29uLmNyZWRpdC5jYXJkLmRpbmVycy5jbHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjRjXCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQuZGlzY292ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjtcbn1cbmkuaWNvbi5jcmVkaXQuY2FyZC5qY2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjtcbn1cbmkuaWNvbi5jcmVkaXQuY2FyZC5tYXN0ZXJjYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYxXCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQucGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQuc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY1XCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQudmlzYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiO1xufVxuaS5pY29uLmFkZC5jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNTVcIjtcbn1cbmkuaWNvbi5hZGQuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZlXCI7XG59XG5pLmljb24uYWRkLnRvLmNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcxXCI7XG59XG5pLmljb24uYWRkLnRvLmNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTdcIjtcbn1cbmkuaWNvbi5hZGQudXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNFwiO1xufVxuaS5pY29uLmFkZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2N1wiO1xufVxuaS5pY29uLmFsYXJtLm11dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjZcIjtcbn1cbmkuaWNvbi5hbGFybTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmM1wiO1xufVxuaS5pY29uLmFsZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMlwiO1xufVxuaS5pY29uLmFsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMlwiO1xufVxuaS5pY29uLmFtZXJpY2FuLmV4cHJlc3MuY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xufVxuaS5pY29uLmFtZXJpY2FuLmV4cHJlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjNcIjtcbn1cbmkuaWNvbi5hbWV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYzXCI7XG59XG5pLmljb24uYW5ub3VuY2VtZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGExXCI7XG59XG5pLmljb24uYXJlYS5jaGFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZVwiO1xufVxuaS5pY29uLmFyZWEuZ3JhcGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmVcIjtcbn1cbmkuaWNvbi5hcnJvdy5kb3duLmNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMThcIjtcbn1cbmkuaWNvbi5hc2V4dWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJkXCI7XG59XG5pLmljb24uYXNsLmludGVycHJldGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhM1wiO1xufVxuaS5pY29uLmFzbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhM1wiO1xufVxuaS5pY29uLmFzc2lzdGl2ZS5saXN0ZW5pbmcuZGV2aWNlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMlwiO1xufVxuaS5pY29uLmF0dGFjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjNlwiO1xufVxuaS5pY29uLmF0dGVudGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YVwiO1xufVxuaS5pY29uLmJhbGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGVcIjtcbn1cbmkuaWNvbi5iYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmNcIjtcbn1cbmkuaWNvbi5iYXRodHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmNkXCI7XG59XG5pLmljb24uYmF0dGVyeS5mb3VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQwXCI7XG59XG5pLmljb24uYmF0dGVyeS5oaWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQxXCI7XG59XG5pLmljb24uYmF0dGVyeS5sb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDNcIjtcbn1cbmkuaWNvbi5iYXR0ZXJ5Lm1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MlwiO1xufVxuaS5pY29uLmJhdHRlcnkub25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQzXCI7XG59XG5pLmljb24uYmF0dGVyeS50aHJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0MVwiO1xufVxuaS5pY29uLmJhdHRlcnkudHdvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQyXCI7XG59XG5pLmljb24uYmF0dGVyeS56ZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ0XCI7XG59XG5pLmljb24uYmlydGhkYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmRcIjtcbn1cbmkuaWNvbi5ibG9jay5sYXlvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDlcIjtcbn1cbmkuaWNvbi5ibHVldG9vdGguYWx0ZXJuYXRpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTRcIjtcbn1cbmkuaWNvbi5icm9rZW4uY2hhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjtcbn1cbmkuaWNvbi5icm93c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIyXCI7XG59XG5pLmljb24uY2FsbC5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOThcIjtcbn1cbmkuaWNvbi5jYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk1XCI7XG59XG5pLmljb24uY2FuY2VsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG59XG5pLmljb24uY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YVwiO1xufVxuaS5pY29uLmNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBhXCI7XG59XG5pLmljb24uY2hhaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzFcIjtcbn1cbmkuaWNvbi5jaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc1XCI7XG59XG5pLmljb24uY2hlY2tlZC5jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3NFwiO1xufVxuaS5pY29uLmNoZWNrbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwY1wiO1xufVxuaS5pY29uLmNpcmNsZS5ub3RjaGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNlXCI7XG59XG5pLmljb24uY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbmkuaWNvbi5jbnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTdcIjtcbn1cbmkuaWNvbi5jb2NrdGFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMFwiO1xufVxuaS5pY29uLmNvbW1lbnRpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2FcIjtcbn1cbmkuaWNvbi5jb21wdXRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwOFwiO1xufVxuaS5pY29uLmNvbmZpZ3VyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZFwiO1xufVxuaS5pY29uLmNvbnRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzlcIjtcbn1cbmkuaWNvbi5kZWFmbmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNFwiO1xufVxuaS5pY29uLmRlbGV0ZS5jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3M1wiO1xufVxuaS5pY29uLmRlbGV0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuaS5pY29uLmRldGVjdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYlwiO1xufVxuaS5pY29uLmRpbmVycy5jbHViLmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGNcIjtcbn1cbmkuaWNvbi5kaW5lcnMuY2x1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0Y1wiO1xufVxuaS5pY29uLmRpc2NvdmVyLmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjtcbn1cbmkuaWNvbi5kaXNjb3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMlwiO1xufVxuaS5pY29uLmRpc2N1c3Npb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XG59XG5pLmljb24uZG9jdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYwXCI7XG59XG5pLmljb24uZG9sbGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU1XCI7XG59XG5pLmljb24uZG9udDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZVwiO1xufVxuaS5pY29uLmRyaWJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2RcIjtcbn1cbmkuaWNvbi5kcml2ZXJzLmxpY2Vuc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzJcIjtcbn1cbmkuaWNvbi5kcm9wZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkN1wiO1xufVxuaS5pY29uLmVlcmNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGFcIjtcbn1cbmkuaWNvbi5lbWVyZ2VuY3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjlcIjtcbn1cbmkuaWNvbi5lbnZpcmEuZ2FsbGVyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OVwiO1xufVxuaS5pY29uLmVyYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJkXCI7XG59XG5pLmljb24uZXVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUzXCI7XG59XG5pLmljb24uZXVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1M1wiO1xufVxuaS5pY29uLmV5ZWRyb3BwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmJcIjtcbn1cbmkuaWNvbi5mYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNFwiO1xufVxuaS5pY29uLmZhY3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzVcIjtcbn1cbmkuaWNvbi5mYXZvcml0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNVwiO1xufVxuaS5pY29uLmZlZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWVcIjtcbn1cbmkuaWNvbi5mZW1hbGUuaG9tb3NleHVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNlwiO1xufVxuaS5pY29uLmZpbGUudGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1Y1wiO1xufVxuaS5pY29uLmZpbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTVcIjtcbn1cbmkuaWNvbi5maXJzdC5haWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmFcIjtcbn1cbmkuaWNvbi5maXZlLmh1bmRyZWQucGl4ZWxzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZlXCI7XG59XG5pLmljb24uZm9yazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyNlwiO1xufVxuaS5pY29uLmdhbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWJcIjtcbn1cbmkuaWNvbi5nYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjdcIjtcbn1cbmkuaWNvbi5nYnA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjtcbn1cbmkuaWNvbi5naXR0aXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODRcIjtcbn1cbmkuaWNvbi5nb29nbGUucGx1cy5jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjtcbn1cbmkuaWNvbi5nb29nbGUucGx1cy5vZmZpY2lhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiM1wiO1xufVxuaS5pY29uLmdyYWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTVcIjtcbn1cbmkuaWNvbi5ncmFkdWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlkXCI7XG59XG5pLmljb24uZ3JpZC5sYXlvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGFcIjtcbn1cbmkuaWNvbi5ncm91cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMFwiO1xufVxuaS5pY29uLmg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmRcIjtcbn1cbmkuaWNvbi5oYW5kLnZpY3Rvcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNWJcIjtcbn1cbmkuaWNvbi5oYW5kaWNhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5M1wiO1xufVxuaS5pY29uLmhhcmQub2YuaGVhcmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNFwiO1xufVxuaS5pY29uLmhlYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkY1wiO1xufVxuaS5pY29uLmhlbHAuY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XG59XG5pLmljb24uaGVscDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOFwiO1xufVxuaS5pY29uLmhldGVyb3NleHVhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOFwiO1xufVxuaS5pY29uLmhpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzBcIjtcbn1cbmkuaWNvbi5ob3RlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNlwiO1xufVxuaS5pY29uLmhvdXJnbGFzcy5mb3VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU0XCI7XG59XG5pLmljb24uaG91cmdsYXNzLmZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTRcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3Mub25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUxXCI7XG59XG5pLmljb24uaG91cmdsYXNzLnRocmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjUzXCI7XG59XG5pLmljb24uaG91cmdsYXNzLnR3bzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1MlwiO1xufVxuaS5pY29uLmlkZWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWJcIjtcbn1cbmkuaWNvbi5pbHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGJcIjtcbn1cbmkuaWNvbi5pbi1jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE4XCI7XG59XG5pLmljb24uaW5yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU2XCI7XG59XG5pLmljb24uaW50ZXJnZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjRcIjtcbn1cbmkuaWNvbi5pbnRlcnNleDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNFwiO1xufVxuaS5pY29uLmphcGFuLmNyZWRpdC5idXJlYXUuY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI0YlwiO1xufVxuaS5pY29uLmphcGFuLmNyZWRpdC5idXJlYXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjtcbn1cbmkuaWNvbi5qY2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjtcbn1cbmkuaWNvbi5qcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTdcIjtcbn1cbmkuaWNvbi5rcnc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTlcIjtcbn1cbmkuaWNvbi5sYWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzNcIjtcbn1cbmkuaWNvbi5sYXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGVcIjtcbn1cbmkuaWNvbi5sZWdhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlM1wiO1xufVxuaS5pY29uLmxlc2JpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjZcIjtcbn1cbmkuaWNvbi5saWdodG5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTdcIjtcbn1cbmkuaWNvbi5saWtlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XG59XG5pLmljb24ubGluZS5ncmFwaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwMVwiO1xufVxuaS5pY29uLmxpbmtlZGluLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiO1xufVxuaS5pY29uLmxpbmtpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzFcIjtcbn1cbmkuaWNvbi5saXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk1XCI7XG59XG5pLmljb24ubGlzdC5sYXlvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGJcIjtcbn1cbmkuaWNvbi5tYWduaWZ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBlXCI7XG59XG5pLmljb24ubWFpbC5mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY0XCI7XG59XG5pLmljb24ubWFpbC5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTlcIjtcbn1cbmkuaWNvbi5tYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7XG59XG5pLmljb24ubWFsZS5ob21vc2V4dWFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI3XCI7XG59XG5pLmljb24ubWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIyXCI7XG59XG5pLmljb24ubWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQxXCI7XG59XG5pLmljb24ubWFycy5hbHRlcm5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjlcIjtcbn1cbmkuaWNvbi5tYXJzLmhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cbmkuaWNvbi5tYXJzLnZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjJhXCI7XG59XG5pLmljb24ubWFzdGVyY2FyZC5jYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYxXCI7XG59XG5pLmljb24ubWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiO1xufVxuaS5pY29uLm1pY3Jvc29mdC5lZGdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgyXCI7XG59XG5pLmljb24ubWlsaXRhcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmJcIjtcbn1cbmkuaWNvbi5tcy5lZGdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjgyXCI7XG59XG5pLmljb24ubXV0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMVwiO1xufVxuaS5pY29uLm5ldy5waWVkLnBpcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmFlXCI7XG59XG5pLmljb24ubm9uLmJpbmFyeS50cmFuc2dlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyM1wiO1xufVxuaS5pY29uLm51bWJlcmVkLmxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cbmkuaWNvbi5vcHRpbm1vbnN0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2NcIjtcbn1cbmkuaWNvbi5vcHRpb25zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRlXCI7XG59XG5pLmljb24ub3RoZXIuZ2VuZGVyLmhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cbmkuaWNvbi5vdGhlci5nZW5kZXIudmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmFcIjtcbn1cbmkuaWNvbi5vdGhlci5nZW5kZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjlcIjtcbn1cbmkuaWNvbi5wYXltZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlkXCI7XG59XG5pLmljb24ucGF5cGFsLmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjRcIjtcbn1cbmkuaWNvbi5wZW5jaWwuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRiXCI7XG59XG5pLmljb24ucGhvdG86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzBcIjtcbn1cbmkuaWNvbi5waWN0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7XG59XG5pLmljb24ucGllLmNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7XG59XG5pLmljb24ucGllLmdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAwXCI7XG59XG5pLmljb24ucGllZC5waXBlci5oYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWVcIjtcbn1cbmkuaWNvbi5waW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGRcIjtcbn1cbmkuaWNvbi5wbHVzLmNhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTdcIjtcbn1cbmkuaWNvbi5wb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjVcIjtcbn1cbmkuaWNvbi5wb2ludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MVwiO1xufVxuaS5pY29uLnBvaW50aW5nLmRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTdcIjtcbn1cbmkuaWNvbi5wb2ludGluZy5sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE1XCI7XG59XG5pLmljb24ucG9pbnRpbmcucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTRcIjtcbn1cbmkuaWNvbi5wb2ludGluZy51cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNlwiO1xufVxuaS5pY29uLnBvdW5kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU0XCI7XG59XG5pLmljb24ucG93ZXIuY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNlwiO1xufVxuaS5pY29uLnBvd2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDExXCI7XG59XG5pLmljb24ucHJpdmFjeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NFwiO1xufVxuaS5pY29uLnIuY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVkXCI7XG59XG5pLmljb24ucmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlOVwiO1xufVxuaS5pY29uLnJlY29yZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZFwiO1xufVxuaS5pY29uLnJlZnJlc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjFcIjtcbn1cbmkuaWNvbi5yZW1vdmUuY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG59XG5pLmljb24ucmVtb3ZlLmZyb20uY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzJcIjtcbn1cbmkuaWNvbi5yZW1vdmUudXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuaS5pY29uLnJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuaS5pY29uLnJlcGVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZVwiO1xufVxuaS5pY29uLnJtYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiO1xufVxuaS5pY29uLnJvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiO1xufVxuaS5pY29uLnJ1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OFwiO1xufVxuaS5pY29uLnJ1YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU4XCI7XG59XG5pLmljb24ucnVwZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjtcbn1cbmkuaWNvbi5zMTU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyY2RcIjtcbn1cbmkuaWNvbi5zZWxlY3RlZC5yYWRpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MlwiO1xufVxuaS5pY29uLnNlbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDhcIjtcbn1cbmkuaWNvbi5zZXR0aW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDEzXCI7XG59XG5pLmljb24uc2V0dGluZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODVcIjtcbn1cbmkuaWNvbi5zaGVrZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGJcIjtcbn1cbmkuaWNvbi5zaGVxZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGJcIjtcbn1cbmkuaWNvbi5zaGlwcGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMVwiO1xufVxuaS5pY29uLnNob3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2FcIjtcbn1cbmkuaWNvbi5zaHVmZmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7XG59XG5pLmljb24uc2h1dGRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTFcIjtcbn1cbmkuaWNvbi5zaWRlYmFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG59XG5pLmljb24uc2lnbmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhN1wiO1xufVxuaS5pY29uLnNpZ251cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NFwiO1xufVxuaS5pY29uLnNsaWRlcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZGVcIjtcbn1cbmkuaWNvbi5zb2NjZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTNcIjtcbn1cbmkuaWNvbi5zb3J0LmFscGhhYmV0LmFzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZFwiO1xufVxuaS5pY29uLnNvcnQuYWxwaGFiZXQuZGVzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZVwiO1xufVxuaS5pY29uLnNvcnQuYXNjZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRlXCI7XG59XG5pLmljb24uc29ydC5jb250ZW50LmFzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MFwiO1xufVxuaS5pY29uLnNvcnQuY29udGVudC5kZXNjZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYxXCI7XG59XG5pLmljb24uc29ydC5kZXNjZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRkXCI7XG59XG5pLmljb24uc29ydC5udW1lcmljLmFzY2VuZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MlwiO1xufVxuaS5pY29uLnNvcnQubnVtZXJpYy5kZXNjZW5kaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYzXCI7XG59XG5pLmljb24uc291bmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjVcIjtcbn1cbmkuaWNvbi5zcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWJcIjtcbn1cbmkuaWNvbi5zdHJpcGUuY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNVwiO1xufVxuaS5pY29uLnN0dWRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWRcIjtcbn1cbmkuaWNvbi50YWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdhXCI7XG59XG5pLmljb24udGFyZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQwXCI7XG59XG5pLmljb24udGVsZXR5cGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cbmkuaWNvbi50ZWxldmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZjXCI7XG59XG5pLmljb24udGV4dC5jdXJzb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDZcIjtcbn1cbmkuaWNvbi50ZXh0LnRlbGVwaG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNFwiO1xufVxuaS5pY29uLnRoZW1lLmlzbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjJcIjtcbn1cbmkuaWNvbi50aGVtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0M1wiO1xufVxuaS5pY29uLnRoZXJtb21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmM3XCI7XG59XG5pLmljb24udGh1bWIudGFjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZFwiO1xufVxuaS5pY29uLnRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTdcIjtcbn1cbmkuaWNvbi50bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1Y1wiO1xufVxuaS5pY29uLnRvZ2dsZS5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7XG59XG5pLmljb24udG9nZ2xlLmxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTFcIjtcbn1cbmkuaWNvbi50b2dnbGUucmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTJcIjtcbn1cbmkuaWNvbi50b2dnbGUudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTFcIjtcbn1cbmkuaWNvbi50cmFuc2xhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWJcIjtcbn1cbmkuaWNvbi50cmF2ZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYjFcIjtcbn1cbmkuaWNvbi50cmVhdG1lbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjFcIjtcbn1cbmkuaWNvbi50cmlhbmdsZS5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG5pLmljb24udHJpYW5nbGUubGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOVwiO1xufVxuaS5pY29uLnRyaWFuZ2xlLnJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCI7XG59XG5pLmljb24udHJpYW5nbGUudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDhcIjtcbn1cbmkuaWNvbi50cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjtcbn1cbmkuaWNvbi51bmhpZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmVcIjtcbn1cbmkuaWNvbi51bmxpbmtpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjtcbn1cbmkuaWNvbi51bm11dGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzBcIjtcbn1cbmkuaWNvbi51c2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTVcIjtcbn1cbmkuaWNvbi51c2VyLmNhbmNlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuaS5pY29uLnVzZXIuY2xvc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzVcIjtcbn1cbmkuaWNvbi51c2VyLmRlbGV0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuaS5pY29uLnVzZXIueDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNVwiO1xufVxuaS5pY29uLnZjYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmJiXCI7XG59XG5pLmljb24udmlkZW8uY2FtZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNkXCI7XG59XG5pLmljb24udmlkZW8ucGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiO1xufVxuaS5pY29uLnZpc2EuY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiO1xufVxuaS5pY29uLnZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjBcIjtcbn1cbmkuaWNvbi52b2x1bWUuY29udHJvbC5waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhMFwiO1xufVxuaS5pY29uLndhaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTdcIjtcbn1cbmkuaWNvbi53YXJuaW5nLmNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YVwiO1xufVxuaS5pY29uLndhcm5pbmcuc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MVwiO1xufVxuaS5pY29uLndhcm5pbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMmFcIjtcbn1cbmkuaWNvbi53ZWNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDdcIjtcbn1cbmkuaWNvbi53aS1maTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlYlwiO1xufVxuaS5pY29uLndpa2lwZWRpYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NlwiO1xufVxuaS5pY29uLndpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MVwiO1xufVxuaS5pY29uLndpemFyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMFwiO1xufVxuaS5pY29uLndvbWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIxXCI7XG59XG5pLmljb24ud29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTU5XCI7XG59XG5pLmljb24ud29yZHByZXNzLmJlZ2lubmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk3XCI7XG59XG5pLmljb24ud29yZHByZXNzLmZvcm1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk4XCI7XG59XG5pLmljb24ud29ybGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWNcIjtcbn1cbmkuaWNvbi53cml0ZS5zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGJcIjtcbn1cbmkuaWNvbi54OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG59XG5pLmljb24ueWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2JcIjtcbn1cbmkuaWNvbi55Y29tYmluYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYlwiO1xufVxuaS5pY29uLnllbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1N1wiO1xufVxuaS5pY29uLnppcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4N1wiO1xufVxuaS5pY29uLnpvb20taW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGVcIjtcbn1cbmkuaWNvbi56b29tLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMFwiO1xufVxuaS5pY29uLnpvb206YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGVcIjtcbn1cbmkuaWNvbi5iaXRidWNrZXQuc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTcxXCI7XG59XG5pLmljb24uY2hlY2ttYXJrLmJveDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YVwiO1xufVxuaS5pY29uLmNpcmNsZS50aGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG59XG5pLmljb24uY2xvdWQuZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODFcIjtcbn1cbmkuaWNvbi5jbG91ZC51cGxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODJcIjtcbn1cbmkuaWNvbi5jb21wb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzAzXCI7XG59XG5pLmljb24uY29udmVyc2F0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XG59XG5pLmljb24uY3JlZGl0LmNhcmQuYWx0ZXJuYXRpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWRcIjtcbn1cbmkuaWNvbi5jdXJyZW5jeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMVwiO1xufVxuaS5pY29uLmRhc2hib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZFwiO1xufVxuaS5pY29uLmRpYW1vbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTVcIjtcbn1cbmkuaWNvbi5kaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEwXCI7XG59XG5pLmljb24uZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjJcIjtcbn1cbmkuaWNvbi5leHRlcm5hbC5zaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZFwiO1xufVxuaS5pY29uLmV4dGVybmFsLnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2MFwiO1xufVxuaS5pY29uLmV4dGVybmFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVkXCI7XG59XG5pLmljb24uZmFjZWJvb2sub2ZmaWNpYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODJcIjtcbn1cbmkuaWNvbi5mb29kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmU3XCI7XG59XG5pLmljb24uaG91cmdsYXNzLnplcm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTNcIjtcbn1cbmkuaWNvbi5sZXZlbC5kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JlXCI7XG59XG5pLmljb24ubGV2ZWwudXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmZcIjtcbn1cbmkuaWNvbi5sb2dvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZjVcIjtcbn1cbmkuaWNvbi5tZWFucGF0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjOFwiO1xufVxuaS5pY29uLm1vbmV5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QxXCI7XG59XG5pLmljb24ubW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMlwiO1xufVxuaS5pY29uLnBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjMwM1wiO1xufVxuaS5pY29uLnByb3RlY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjNcIjtcbn1cbmkuaWNvbi5yYWRpbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MlwiO1xufVxuaS5pY29uLnJlbW92ZS5ib29rbWFyazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZVwiO1xufVxuaS5pY29uLnJlc2l6ZS5ob3Jpem9udGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzM3XCI7XG59XG5pLmljb24ucmVzaXplLnZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzM4XCI7XG59XG5pLmljb24uc2lnbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJmNlwiO1xufVxuaS5pY29uLnNpZ24tb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmY1XCI7XG59XG5pLmljb24uc3Bvb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTVcIjtcbn1cbmkuaWNvbi5zdGFyLmhhbGYuZW1wdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODlcIjtcbn1cbmkuaWNvbi5zdGFyLmhhbGYuZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OVwiO1xufVxuaS5pY29uLnRpY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNmZlwiO1xufVxuaS5pY29uLnRpbWVzLnJlY3RhbmdsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxMFwiO1xufVxuaS5pY29uLndyaXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzAzXCI7XG59XG5pLmljb24ueW91dHViZS5wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY3XCI7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBPdXRsaW5lIEljb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogT3V0bGluZSBJY29uICovXG4vKiBMb2FkICYgRGVmaW5lIEljb24gRm9udCAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnb3V0bGluZS1pY29ucyc7XG4gIHNyYzogdXJsKFwiLi4vLi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL291dGxpbmUtaWNvbnMuZW90XCIpO1xuICBzcmM6IHVybChcIi4uLy4uL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9vdXRsaW5lLWljb25zLmVvdD8jaWVmaXhcIikgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoXCIuLi8uLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvb3V0bGluZS1pY29ucy53b2ZmMlwiKSBmb3JtYXQoJ3dvZmYyJyksIHVybChcIi4uLy4uL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9vdXRsaW5lLWljb25zLndvZmZcIikgZm9ybWF0KCd3b2ZmJyksIHVybChcIi4uLy4uL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9vdXRsaW5lLWljb25zLnR0ZlwiKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybChcIi4uLy4uL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9vdXRsaW5lLWljb25zLnN2ZyNpY29uc1wiKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuaS5pY29uLm91dGxpbmUge1xuICBmb250LWZhbWlseTogJ291dGxpbmUtaWNvbnMnO1xufVxuLyogSWNvbiBEZWZpbml0aW9ucyAqL1xuaS5pY29uLmFkZHJlc3MuYm9vay5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI5XCI7XG59XG5pLmljb24uYWRkcmVzcy5jYXJkLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYmJcIjtcbn1cbmkuaWNvbi5hcnJvdy5hbHRlcm5hdGUuY2lyY2xlLmRvd24ub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1OFwiO1xufVxuaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUubGVmdC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzU5XCI7XG59XG5pLmljb24uYXJyb3cuYWx0ZXJuYXRlLmNpcmNsZS5yaWdodC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVhXCI7XG59XG5pLmljb24uYXJyb3cuYWx0ZXJuYXRlLmNpcmNsZS51cC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzViXCI7XG59XG5pLmljb24uYmVsbC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYzXCI7XG59XG5pLmljb24uYmVsbC5zbGFzaC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY2XCI7XG59XG5pLmljb24uYm9va21hcmsub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZVwiO1xufVxuaS5pY29uLmJ1aWxkaW5nLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWRcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XG59XG5pLmljb24uY2FsZW5kYXIuYWx0ZXJuYXRlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzNcIjtcbn1cbmkuaWNvbi5jYWxlbmRhci5jaGVjay5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjc0XCI7XG59XG5pLmljb24uY2FsZW5kYXIubWludXMub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MlwiO1xufVxuaS5pY29uLmNhbGVuZGFyLnBsdXMub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3MVwiO1xufVxuaS5pY29uLmNhbGVuZGFyLnRpbWVzLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzNcIjtcbn1cbmkuaWNvbi5jYXJldC5zcXVhcmUuZG93bi5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7XG59XG5pLmljb24uY2FyZXQuc3F1YXJlLmxlZnQub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5MVwiO1xufVxuaS5pY29uLmNhcmV0LnNxdWFyZS5yaWdodC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUyXCI7XG59XG5pLmljb24uY2FyZXQuc3F1YXJlLnVwLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTFcIjtcbn1cbmkuaWNvbi5jaGFydC5iYXIub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MFwiO1xufVxuaS5pY29uLmNoZWNrLmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU4XCI7XG59XG5pLmljb24uY2hlY2suc3F1YXJlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGFcIjtcbn1cbmkuaWNvbi5jaXJjbGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiO1xufVxuaS5pY29uLmNsaXBib2FyZC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzI4XCI7XG59XG5pLmljb24uY2xvY2sub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiO1xufVxuaS5pY29uLmNsb25lLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGRcIjtcbn1cbmkuaWNvbi5jbG9zZWQuY2FwdGlvbmluZy5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBhXCI7XG59XG5pLmljb24uY29tbWVudC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc1XCI7XG59XG5pLmljb24uY29tbWVudC5hbHRlcm5hdGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3YVwiO1xufVxuaS5pY29uLmNvbW1lbnRzLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODZcIjtcbn1cbmkuaWNvbi5jb21wYXNzLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNGVcIjtcbn1cbmkuaWNvbi5jb3B5Lm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzVcIjtcbn1cbmkuaWNvbi5jb3B5cmlnaHQub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOVwiO1xufVxuaS5pY29uLmNyZWRpdC5jYXJkLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWRcIjtcbn1cbmkuaWNvbi5kb3QuY2lyY2xlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTJcIjtcbn1cbmkuaWNvbi5lZGl0Lm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDRcIjtcbn1cbmkuaWNvbi5lbnZlbG9wZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7XG59XG5pLmljb24uZW52ZWxvcGUub3Blbi5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI2XCI7XG59XG5pLmljb24uZXllLnNsYXNoLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzBcIjtcbn1cbmkuaWNvbi5maWxlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWJcIjtcbn1cbmkuaWNvbi5maWxlLmFsdGVybmF0ZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTVjXCI7XG59XG5pLmljb24uZmlsZS5hcmNoaXZlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzZcIjtcbn1cbmkuaWNvbi5maWxlLmF1ZGlvLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzdcIjtcbn1cbmkuaWNvbi5maWxlLmNvZGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOVwiO1xufVxuaS5pY29uLmZpbGUuZXhjZWwub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjM1wiO1xufVxuaS5pY29uLmZpbGUuaW1hZ2Uub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiO1xufVxuaS5pY29uLmZpbGUucGRmLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzFcIjtcbn1cbmkuaWNvbi5maWxlLnBvd2VycG9pbnQub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNFwiO1xufVxuaS5pY29uLmZpbGUudmlkZW8ub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOFwiO1xufVxuaS5pY29uLmZpbGUud29yZC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMyXCI7XG59XG5pLmljb24uZmxhZy5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI0XCI7XG59XG5pLmljb24uZm9sZGVyLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2JcIjtcbn1cbmkuaWNvbi5mb2xkZXIub3Blbi5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7XG59XG5pLmljb24uZnJvd24ub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOVwiO1xufVxuaS5pY29uLmZ1dGJvbC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUzXCI7XG59XG5pLmljb24uZ2VtLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTVcIjtcbn1cbmkuaWNvbi5oYW5kLmxpemFyZC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU4XCI7XG59XG5pLmljb24uaGFuZC5wYXBlci5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjU2XCI7XG59XG5pLmljb24uaGFuZC5wZWFjZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjViXCI7XG59XG5pLmljb24uaGFuZC5wb2ludC5kb3duLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTdcIjtcbn1cbmkuaWNvbi5oYW5kLnBvaW50LmxlZnQub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNVwiO1xufVxuaS5pY29uLmhhbmQucG9pbnQucmlnaHQub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNFwiO1xufVxuaS5pY29uLmhhbmQucG9pbnQudXAub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhNlwiO1xufVxuaS5pY29uLmhhbmQucG9pbnRlci5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjVhXCI7XG59XG5pLmljb24uaGFuZC5yb2NrLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTVcIjtcbn1cbmkuaWNvbi5oYW5kLnNjaXNzb3JzLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTdcIjtcbn1cbmkuaWNvbi5oYW5kLnNwb2NrLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNTlcIjtcbn1cbmkuaWNvbi5oYW5kc2hha2Uub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiNVwiO1xufVxuaS5pY29uLmhkZC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEwXCI7XG59XG5pLmljb24uaGVhcnQub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwNFwiO1xufVxuaS5pY29uLmhvc3BpdGFsLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjhcIjtcbn1cbmkuaWNvbi5ob3VyZ2xhc3Mub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1NFwiO1xufVxuaS5pY29uLmlkLmJhZGdlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzFcIjtcbn1cbmkuaWNvbi5pZC5jYXJkLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzJcIjtcbn1cbmkuaWNvbi5pbWFnZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7XG59XG5pLmljb24uaW1hZ2VzLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzMDJcIjtcbn1cbmkuaWNvbi5rZXlib2FyZC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFjXCI7XG59XG5pLmljb24ubGVtb24ub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NFwiO1xufVxuaS5pY29uLmxpZmUucmluZy5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWNkXCI7XG59XG5pLmljb24ubGlnaHRidWxiLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWJcIjtcbn1cbmkuaWNvbi5saXN0LmFsdGVybmF0ZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIyXCI7XG59XG5pLmljb24ubWFwLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNzlcIjtcbn1cbmkuaWNvbi5tZWgub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExYVwiO1xufVxuaS5pY29uLm1pbnVzLnNxdWFyZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ2XCI7XG59XG5pLmljb24ubW9uZXkuYmlsbC5hbHRlcm5hdGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkMVwiO1xufVxuaS5pY29uLm1vb24ub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4NlwiO1xufVxuaS5pY29uLm5ld3NwYXBlci5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWVhXCI7XG59XG5pLmljb24ub2JqZWN0Lmdyb3VwLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDdcIjtcbn1cbmkuaWNvbi5vYmplY3QudW5ncm91cC5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjQ4XCI7XG59XG5pLmljb24ucGFwZXIucGxhbmUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkOFwiO1xufVxuaS5pY29uLnBhdXNlLmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhiXCI7XG59XG5pLmljb24ucGxheS5jaXJjbGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiO1xufVxuaS5pY29uLnBsdXMuc3F1YXJlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmVcIjtcbn1cbmkuaWNvbi5xdWVzdGlvbi5jaXJjbGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1OVwiO1xufVxuaS5pY29uLnJlZ2lzdGVyZWQub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZFwiO1xufVxuaS5pY29uLnNhdmUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjN1wiO1xufVxuaS5pY29uLnNoYXJlLnNxdWFyZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRkXCI7XG59XG5pLmljb24uc21pbGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExOFwiO1xufVxuaS5pY29uLnNub3dmbGFrZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRjXCI7XG59XG5pLmljb24uc3F1YXJlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzhcIjtcbn1cbmkuaWNvbi5zdGFyLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDVcIjtcbn1cbmkuaWNvbi5zdGFyLmhhbGYub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OVwiO1xufVxuaS5pY29uLnN0aWNreS5ub3RlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNDlcIjtcbn1cbmkuaWNvbi5zdG9wLmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjhkXCI7XG59XG5pLmljb24uc3VuLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODVcIjtcbn1cbmkuaWNvbi50aHVtYnMuZG93bi5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY1XCI7XG59XG5pLmljb24udGh1bWJzLnVwLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjRcIjtcbn1cbmkuaWNvbi50aW1lcy5jaXJjbGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1N1wiO1xufVxuaS5pY29uLnRyYXNoLmFsdGVybmF0ZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmVkXCI7XG59XG5pLmljb24udXNlci5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA3XCI7XG59XG5pLmljb24udXNlci5jaXJjbGUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiZFwiO1xufVxuaS5pY29uLndpbmRvdy5jbG9zZS5vdXRsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEwXCI7XG59XG5pLmljb24ud2luZG93Lm1heGltaXplLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDBcIjtcbn1cbmkuaWNvbi53aW5kb3cubWluaW1pemUub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkMVwiO1xufVxuaS5pY29uLndpbmRvdy5yZXN0b3JlLm91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDJcIjtcbn1cbi8qIE91dGxpbmUgQWxpYXNlcyAqL1xuaS5pY29uLmRpc2sub3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMFwiO1xufVxuaS5pY29uLmhlYXJ0LmVtcHR5LFxuaS5pY29uLnN0YXIuZW1wdHkge1xuICBmb250LWZhbWlseTogJ291dGxpbmUtaWNvbnMnO1xufVxuaS5pY29uLmhlYXJ0LmVtcHR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA0XCI7XG59XG5pLmljb24uc3Rhci5lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4OVwiO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQnJhbmQgSWNvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBMb2FkICYgRGVmaW5lIEJyYW5kIEZvbnQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2JyYW5kLWljb25zJztcbiAgc3JjOiB1cmwoXCIuLi8uLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvYnJhbmQtaWNvbnMuZW90XCIpO1xuICBzcmM6IHVybChcIi4uLy4uL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9icmFuZC1pY29ucy5lb3Q/I2llZml4XCIpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKFwiLi4vLi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL2JyYW5kLWljb25zLndvZmYyXCIpIGZvcm1hdCgnd29mZjInKSwgdXJsKFwiLi4vLi4vdGhlbWVzL2RlZmF1bHQvYXNzZXRzL2ZvbnRzL2JyYW5kLWljb25zLndvZmZcIikgZm9ybWF0KCd3b2ZmJyksIHVybChcIi4uLy4uL3RoZW1lcy9kZWZhdWx0L2Fzc2V0cy9mb250cy9icmFuZC1pY29ucy50dGZcIikgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoXCIuLi8uLi90aGVtZXMvZGVmYXVsdC9hc3NldHMvZm9udHMvYnJhbmQtaWNvbnMuc3ZnI2ljb25zXCIpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4vKiBCcmFuZCBJY29uIEZvbnQgRmFtaWx5ICovXG5pLmljb24uXFwzNSAwMHB4LFxuaS5pY29uLmFjY2Vzc2libGUuaWNvbixcbmkuaWNvbi5hY2N1c29mdCxcbmkuaWNvbi5hZG4sXG5pLmljb24uYWR2ZXJzYWwsXG5pLmljb24uYWZmaWxpYXRldGhlbWUsXG5pLmljb24uYWxnb2xpYSxcbmkuaWNvbi5hbWF6b24sXG5pLmljb24uYW1hem9uLnBheSxcbmkuaWNvbi5hbWlsaWEsXG5pLmljb24uYW5kcm9pZCxcbmkuaWNvbi5hbmdlbGxpc3QsXG5pLmljb24uYW5ncnljcmVhdGl2ZSxcbmkuaWNvbi5hbmd1bGFyLFxuaS5pY29uLmFwcC5zdG9yZSxcbmkuaWNvbi5hcHAuc3RvcmUuaW9zLFxuaS5pY29uLmFwcGVyLFxuaS5pY29uLmFwcGxlLFxuaS5pY29uLmFwcGxlLnBheSxcbmkuaWNvbi5hc3ltbWV0cmlrLFxuaS5pY29uLmF1ZGlibGUsXG5pLmljb24uYXV0b3ByZWZpeGVyLFxuaS5pY29uLmF2aWFuZXgsXG5pLmljb24uYXZpYXRvLFxuaS5pY29uLmF3cyxcbmkuaWNvbi5iYW5kY2FtcCxcbmkuaWNvbi5iZWhhbmNlLFxuaS5pY29uLmJlaGFuY2Uuc3F1YXJlLFxuaS5pY29uLmJpbW9iamVjdCxcbmkuaWNvbi5iaXRidWNrZXQsXG5pLmljb24uYml0Y29pbixcbmkuaWNvbi5iaXR5LFxuaS5pY29uLmJsYWNrLnRpZSxcbmkuaWNvbi5ibGFja2JlcnJ5LFxuaS5pY29uLmJsb2dnZXIsXG5pLmljb24uYmxvZ2dlci5iLFxuaS5pY29uLmJsdWV0b290aCxcbmkuaWNvbi5ibHVldG9vdGguYixcbmkuaWNvbi5idGMsXG5pLmljb24uYnVyb21vYmVsZXhwZXJ0ZSxcbmkuaWNvbi5idXlzZWxsYWRzLFxuaS5pY29uLmNjLmFtYXpvbi5wYXksXG5pLmljb24uY2MuYW1leCxcbmkuaWNvbi5jYy5hcHBsZS5wYXksXG5pLmljb24uY2MuZGluZXJzLmNsdWIsXG5pLmljb24uY2MuZGlzY292ZXIsXG5pLmljb24uY2MuamNiLFxuaS5pY29uLmNjLm1hc3RlcmNhcmQsXG5pLmljb24uY2MucGF5cGFsLFxuaS5pY29uLmNjLnN0cmlwZSxcbmkuaWNvbi5jYy52aXNhLFxuaS5pY29uLmNlbnRlcmNvZGUsXG5pLmljb24uY2hyb21lLFxuaS5pY29uLmNsb3Vkc2NhbGUsXG5pLmljb24uY2xvdWRzbWl0aCxcbmkuaWNvbi5jbG91ZHZlcnNpZnksXG5pLmljb24uY29kZXBlbixcbmkuaWNvbi5jb2RpZXBpZSxcbmkuaWNvbi5jb25uZWN0ZGV2ZWxvcCxcbmkuaWNvbi5jb250YW8sXG5pLmljb24uY3BhbmVsLFxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnMsXG5pLmljb24uY3NzMyxcbmkuaWNvbi5jc3MzLmFsdGVybmF0ZSxcbmkuaWNvbi5jdXR0bGVmaXNoLFxuaS5pY29uLmQuYW5kLmQsXG5pLmljb24uZGFzaGN1YmUsXG5pLmljb24uZGVsaWNpb3VzLFxuaS5pY29uLmRlcGxveWRvZyxcbmkuaWNvbi5kZXNrcHJvLFxuaS5pY29uLmRldmlhbnRhcnQsXG5pLmljb24uZGlnZyxcbmkuaWNvbi5kaWdpdGFsLm9jZWFuLFxuaS5pY29uLmRpc2NvcmQsXG5pLmljb24uZGlzY291cnNlLFxuaS5pY29uLmRvY2h1YixcbmkuaWNvbi5kb2NrZXIsXG5pLmljb24uZHJhZnQyZGlnaXRhbCxcbmkuaWNvbi5kcmliYmJsZSxcbmkuaWNvbi5kcmliYmJsZS5zcXVhcmUsXG5pLmljb24uZHJvcGJveCxcbmkuaWNvbi5kcnVwYWwsXG5pLmljb24uZHlhbG9nLFxuaS5pY29uLmVhcmx5YmlyZHMsXG5pLmljb24uZWRnZSxcbmkuaWNvbi5lbGVtZW50b3IsXG5pLmljb24uZW1iZXIsXG5pLmljb24uZW1waXJlLFxuaS5pY29uLmVudmlyYSxcbmkuaWNvbi5lcmxhbmcsXG5pLmljb24uZXRoZXJldW0sXG5pLmljb24uZXRzeSxcbmkuaWNvbi5leHBlZGl0ZWRzc2wsXG5pLmljb24uZmFjZWJvb2ssXG5pLmljb24uZmFjZWJvb2suZixcbmkuaWNvbi5mYWNlYm9vay5tZXNzZW5nZXIsXG5pLmljb24uZmFjZWJvb2suc3F1YXJlLFxuaS5pY29uLmZpcmVmb3gsXG5pLmljb24uZmlyc3Qub3JkZXIsXG5pLmljb24uZmlyc3RkcmFmdCxcbmkuaWNvbi5mbGlja3IsXG5pLmljb24uZmxpcGJvYXJkLFxuaS5pY29uLmZseSxcbmkuaWNvbi5mb250LmF3ZXNvbWUsXG5pLmljb24uZm9udC5hd2Vzb21lLmFsdGVybmF0ZSxcbmkuaWNvbi5mb250LmF3ZXNvbWUuZmxhZyxcbmkuaWNvbi5mb250aWNvbnMsXG5pLmljb24uZm9udGljb25zLmZpLFxuaS5pY29uLmZvcnQuYXdlc29tZSxcbmkuaWNvbi5mb3J0LmF3ZXNvbWUuYWx0ZXJuYXRlLFxuaS5pY29uLmZvcnVtYmVlLFxuaS5pY29uLmZvdXJzcXVhcmUsXG5pLmljb24uZnJlZS5jb2RlLmNhbXAsXG5pLmljb24uZnJlZWJzZCxcbmkuaWNvbi5nZXQucG9ja2V0LFxuaS5pY29uLmdnLFxuaS5pY29uLmdnLmNpcmNsZSxcbmkuaWNvbi5naXQsXG5pLmljb24uZ2l0LnNxdWFyZSxcbmkuaWNvbi5naXRodWIsXG5pLmljb24uZ2l0aHViLmFsdGVybmF0ZSxcbmkuaWNvbi5naXRodWIuc3F1YXJlLFxuaS5pY29uLmdpdGtyYWtlbixcbmkuaWNvbi5naXRsYWIsXG5pLmljb24uZ2l0dGVyLFxuaS5pY29uLmdsaWRlLFxuaS5pY29uLmdsaWRlLmcsXG5pLmljb24uZ29mb3JlLFxuaS5pY29uLmdvb2RyZWFkcyxcbmkuaWNvbi5nb29kcmVhZHMuZyxcbmkuaWNvbi5nb29nbGUsXG5pLmljb24uZ29vZ2xlLmRyaXZlLFxuaS5pY29uLmdvb2dsZS5wbGF5LFxuaS5pY29uLmdvb2dsZS5wbHVzLFxuaS5pY29uLmdvb2dsZS5wbHVzLmcsXG5pLmljb24uZ29vZ2xlLnBsdXMuc3F1YXJlLFxuaS5pY29uLmdvb2dsZS53YWxsZXQsXG5pLmljb24uZ3JhdGlwYXksXG5pLmljb24uZ3JhdixcbmkuaWNvbi5ncmlwZmlyZSxcbmkuaWNvbi5ncnVudCxcbmkuaWNvbi5ndWxwLFxuaS5pY29uLmhhY2tlci5uZXdzLFxuaS5pY29uLmhhY2tlci5uZXdzLnNxdWFyZSxcbmkuaWNvbi5oaXBzLFxuaS5pY29uLmhpcmUuYS5oZWxwZXIsXG5pLmljb24uaG9vbGksXG5pLmljb24uaG90amFyLFxuaS5pY29uLmhvdXp6LFxuaS5pY29uLmh0bWw1LFxuaS5pY29uLmh1YnNwb3QsXG5pLmljb24uaW1kYixcbmkuaWNvbi5pbnN0YWdyYW0sXG5pLmljb24uaW50ZXJuZXQuZXhwbG9yZXIsXG5pLmljb24uaW94aG9zdCxcbmkuaWNvbi5pdHVuZXMsXG5pLmljb24uaXR1bmVzLm5vdGUsXG5pLmljb24uamVua2lucyxcbmkuaWNvbi5qb2dldCxcbmkuaWNvbi5qb29tbGEsXG5pLmljb24uanMsXG5pLmljb24uanMuc3F1YXJlLFxuaS5pY29uLmpzZmlkZGxlLFxuaS5pY29uLmtleWNkbixcbmkuaWNvbi5raWNrc3RhcnRlcixcbmkuaWNvbi5raWNrc3RhcnRlci5rLFxuaS5pY29uLmtvcnZ1ZSxcbmkuaWNvbi5sYXJhdmVsLFxuaS5pY29uLmxhc3RmbSxcbmkuaWNvbi5sYXN0Zm0uc3F1YXJlLFxuaS5pY29uLmxlYW5wdWIsXG5pLmljb24ubGVzcyxcbmkuaWNvbi5saW5lY2hhdCxcbmkuaWNvbi5saW5rZWRpbixcbmkuaWNvbi5saW5rZWRpbi5hbHRlcm5hdGUsXG5pLmljb24ubGlua2VkaW4uaW4sXG5pLmljb24ubGlub2RlLFxuaS5pY29uLmxpbnV4LFxuaS5pY29uLmx5ZnQsXG5pLmljb24ubWFnZW50byxcbmkuaWNvbi5tYXhjZG4sXG5pLmljb24ubWVkYXBwcyxcbmkuaWNvbi5tZWRpdW0sXG5pLmljb24ubWVkaXVtLm0sXG5pLmljb24ubWVkcnQsXG5pLmljb24ubWVldHVwLFxuaS5pY29uLm1pY3Jvc29mdCxcbmkuaWNvbi5taXgsXG5pLmljb24ubWl4Y2xvdWQsXG5pLmljb24ubWl6dW5pLFxuaS5pY29uLm1vZHgsXG5pLmljb24ubW9uZXJvLFxuaS5pY29uLm5hcHN0ZXIsXG5pLmljb24ubmludGVuZG8uc3dpdGNoLFxuaS5pY29uLm5vZGUsXG5pLmljb24ubm9kZS5qcyxcbmkuaWNvbi5ucG0sXG5pLmljb24ubnM4LFxuaS5pY29uLm51dHJpdGlvbml4LFxuaS5pY29uLm9kbm9rbGFzc25pa2ksXG5pLmljb24ub2Rub2tsYXNzbmlraS5zcXVhcmUsXG5pLmljb24ub3BlbmNhcnQsXG5pLmljb24ub3BlbmlkLFxuaS5pY29uLm9wZXJhLFxuaS5pY29uLm9wdGluLm1vbnN0ZXIsXG5pLmljb24ub3NpLFxuaS5pY29uLnBhZ2U0LFxuaS5pY29uLnBhZ2VsaW5lcyxcbmkuaWNvbi5wYWxmZWQsXG5pLmljb24ucGF0cmVvbixcbmkuaWNvbi5wYXlwYWwsXG5pLmljb24ucGVyaXNjb3BlLFxuaS5pY29uLnBoYWJyaWNhdG9yLFxuaS5pY29uLnBob2VuaXguZnJhbWV3b3JrLFxuaS5pY29uLnBocCxcbmkuaWNvbi5waWVkLnBpcGVyLFxuaS5pY29uLnBpZWQucGlwZXIuYWx0ZXJuYXRlLFxuaS5pY29uLnBpZWQucGlwZXIucHAsXG5pLmljb24ucGludGVyZXN0LFxuaS5pY29uLnBpbnRlcmVzdC5wLFxuaS5pY29uLnBpbnRlcmVzdC5zcXVhcmUsXG5pLmljb24ucGxheXN0YXRpb24sXG5pLmljb24ucHJvZHVjdC5odW50LFxuaS5pY29uLnB1c2hlZCxcbmkuaWNvbi5weXRob24sXG5pLmljb24ucXEsXG5pLmljb24ucXVpbnNjYXBlLFxuaS5pY29uLnF1b3JhLFxuaS5pY29uLnJhdmVscnksXG5pLmljb24ucmVhY3QsXG5pLmljb24ucmViZWwsXG5pLmljb24ucmVkcml2ZXIsXG5pLmljb24ucmVkZGl0LFxuaS5pY29uLnJlZGRpdC5hbGllbixcbmkuaWNvbi5yZWRkaXQuc3F1YXJlLFxuaS5pY29uLnJlbmRhY3QsXG5pLmljb24ucmVucmVuLFxuaS5pY29uLnJlcGx5ZCxcbmkuaWNvbi5yZXNvbHZpbmcsXG5pLmljb24ucm9ja2V0Y2hhdCxcbmkuaWNvbi5yb2Nrcm1zLFxuaS5pY29uLnNhZmFyaSxcbmkuaWNvbi5zYXNzLFxuaS5pY29uLnNjaGxpeCxcbmkuaWNvbi5zY3JpYmQsXG5pLmljb24uc2VhcmNoZW5naW4sXG5pLmljb24uc2VsbGNhc3QsXG5pLmljb24uc2VsbHN5LFxuaS5pY29uLnNlcnZpY2VzdGFjayxcbmkuaWNvbi5zaGlydHNpbmJ1bGssXG5pLmljb24uc2ltcGx5YnVpbHQsXG5pLmljb24uc2lzdHJpeCxcbmkuaWNvbi5za3lhdGxhcyxcbmkuaWNvbi5za3lwZSxcbmkuaWNvbi5zbGFjayxcbmkuaWNvbi5zbGFjay5oYXNoLFxuaS5pY29uLnNsaWRlc2hhcmUsXG5pLmljb24uc25hcGNoYXQsXG5pLmljb24uc25hcGNoYXQuZ2hvc3QsXG5pLmljb24uc25hcGNoYXQuc3F1YXJlLFxuaS5pY29uLnNvdW5kY2xvdWQsXG5pLmljb24uc3BlYWthcCxcbmkuaWNvbi5zcG90aWZ5LFxuaS5pY29uLnN0YWNrLmV4Y2hhbmdlLFxuaS5pY29uLnN0YWNrLm92ZXJmbG93LFxuaS5pY29uLnN0YXlsaW5rZWQsXG5pLmljb24uc3RlYW0sXG5pLmljb24uc3RlYW0uc3F1YXJlLFxuaS5pY29uLnN0ZWFtLnN5bWJvbCxcbmkuaWNvbi5zdGlja2VyLm11bGUsXG5pLmljb24uc3RyYXZhLFxuaS5pY29uLnN0cmlwZSxcbmkuaWNvbi5zdHJpcGUucyxcbmkuaWNvbi5zdHVkaW92aW5hcmksXG5pLmljb24uc3R1bWJsZXVwb24sXG5pLmljb24uc3R1bWJsZXVwb24uY2lyY2xlLFxuaS5pY29uLnN1cGVycG93ZXJzLFxuaS5pY29uLnN1cHBsZSxcbmkuaWNvbi50ZWxlZ3JhbSxcbmkuaWNvbi50ZWxlZ3JhbS5wbGFuZSxcbmkuaWNvbi50ZW5jZW50LndlaWJvLFxuaS5pY29uLnRoZW1laXNsZSxcbmkuaWNvbi50cmVsbG8sXG5pLmljb24udHJpcGFkdmlzb3IsXG5pLmljb24udHVtYmxyLFxuaS5pY29uLnR1bWJsci5zcXVhcmUsXG5pLmljb24udHdpdGNoLFxuaS5pY29uLnR3aXR0ZXIsXG5pLmljb24udHdpdHRlci5zcXVhcmUsXG5pLmljb24udHlwbzMsXG5pLmljb24udWJlcixcbmkuaWNvbi51aWtpdCxcbmkuaWNvbi51bmlyZWdpc3RyeSxcbmkuaWNvbi51bnRhcHBkLFxuaS5pY29uLnVzYixcbmkuaWNvbi51c3N1bm5haCxcbmkuaWNvbi52YWFkaW4sXG5pLmljb24udmlhY29pbixcbmkuaWNvbi52aWFkZW8sXG5pLmljb24udmlhZGVvLnNxdWFyZSxcbmkuaWNvbi52aWJlcixcbmkuaWNvbi52aW1lbyxcbmkuaWNvbi52aW1lby5zcXVhcmUsXG5pLmljb24udmltZW8udixcbmkuaWNvbi52aW5lLFxuaS5pY29uLnZrLFxuaS5pY29uLnZudixcbmkuaWNvbi52dWVqcyxcbmkuaWNvbi53ZWNoYXQsXG5pLmljb24ud2VpYm8sXG5pLmljb24ud2VpeGluLFxuaS5pY29uLndoYXRzYXBwLFxuaS5pY29uLndoYXRzYXBwLnNxdWFyZSxcbmkuaWNvbi53aG1jcyxcbmkuaWNvbi53aWtpcGVkaWEudyxcbmkuaWNvbi53aW5kb3dzLFxuaS5pY29uLndvcmRwcmVzcyxcbmkuaWNvbi53b3JkcHJlc3Muc2ltcGxlLFxuaS5pY29uLndwYmVnaW5uZXIsXG5pLmljb24ud3BleHBsb3JlcixcbmkuaWNvbi53cGZvcm1zLFxuaS5pY29uLnhib3gsXG5pLmljb24ueGluZyxcbmkuaWNvbi54aW5nLnNxdWFyZSxcbmkuaWNvbi55LmNvbWJpbmF0b3IsXG5pLmljb24ueWFob28sXG5pLmljb24ueWFuZGV4LFxuaS5pY29uLnlhbmRleC5pbnRlcm5hdGlvbmFsLFxuaS5pY29uLnllbHAsXG5pLmljb24ueW9hc3QsXG5pLmljb24ueW91dHViZSxcbmkuaWNvbi55b3V0dWJlLnNxdWFyZSB7XG4gIGZvbnQtZmFtaWx5OiAnYnJhbmQtaWNvbnMnO1xufVxuLyogQnJhbmQgSWNvbnMgSWRlYWxseSBXb3VsZCBCZSBEZWZpbmVkIEhlcmUgKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIEltYWdlXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBJbWFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBBdmF0YXIgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNwYWNlZCAqL1xuLyogRmxvYXRlZCAqL1xuLyogU2l6ZSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBJbWFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBBdmF0YXIgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNwYWNlZCAqL1xuLyogRmxvYXRlZCAqL1xuLyogU2l6ZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBJbWFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuaW1nLnVpLmltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuaW1hZ2Ugc3ZnLFxuLnVpLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuaGlkZGVuLmltYWdlcyxcbi51aS5oaWRkZW4uaW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmhpZGRlbi50cmFuc2l0aW9uLmltYWdlcyxcbi51aS5oaWRkZW4udHJhbnNpdGlvbi5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuaW1hZ2VzID4gLmhpZGRlbi50cmFuc2l0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuZGlzYWJsZWQuaW1hZ2VzLFxuLnVpLmRpc2FibGVkLmltYWdlIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAwLjQ1O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJbmxpbmVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaW5saW5lLmltYWdlLFxuLnVpLmlubGluZS5pbWFnZSBzdmcsXG4udWkuaW5saW5lLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFZlcnRpY2FsIEFsaWduZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnRvcC5hbGlnbmVkLmltYWdlcyAuaW1hZ2UsXG4udWkudG9wLmFsaWduZWQuaW1hZ2UsXG4udWkudG9wLmFsaWduZWQuaW1hZ2Ugc3ZnLFxuLnVpLnRvcC5hbGlnbmVkLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5taWRkbGUuYWxpZ25lZC5pbWFnZXMgLmltYWdlLFxuLnVpLm1pZGRsZS5hbGlnbmVkLmltYWdlLFxuLnVpLm1pZGRsZS5hbGlnbmVkLmltYWdlIHN2Zyxcbi51aS5taWRkbGUuYWxpZ25lZC5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4udWkuYm90dG9tLmFsaWduZWQuaW1hZ2VzIC5pbWFnZSxcbi51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSxcbi51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSBzdmcsXG4udWkuYm90dG9tLmFsaWduZWQuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBSb3VuZGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnJvdW5kZWQuaW1hZ2VzIC5pbWFnZSxcbi51aS5yb3VuZGVkLmltYWdlLFxuLnVpLnJvdW5kZWQuaW1hZ2VzIC5pbWFnZSA+ICosXG4udWkucm91bmRlZC5pbWFnZSA+ICoge1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5ib3JkZXJlZC5pbWFnZXMgLmltYWdlLFxuLnVpLmJvcmRlcmVkLmltYWdlcyBpbWcsXG4udWkuYm9yZGVyZWQuaW1hZ2VzIHN2Zyxcbi51aS5ib3JkZXJlZC5pbWFnZSBpbWcsXG4udWkuYm9yZGVyZWQuaW1hZ2Ugc3ZnLFxuaW1nLnVpLmJvcmRlcmVkLmltYWdlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENpcmN1bGFyXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNpcmN1bGFyLmltYWdlcyxcbi51aS5jaXJjdWxhci5pbWFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udWkuY2lyY3VsYXIuaW1hZ2VzIC5pbWFnZSxcbi51aS5jaXJjdWxhci5pbWFnZSxcbi51aS5jaXJjdWxhci5pbWFnZXMgLmltYWdlID4gKixcbi51aS5jaXJjdWxhci5pbWFnZSA+ICoge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZmx1aWQuaW1hZ2VzLFxuLnVpLmZsdWlkLmltYWdlLFxuLnVpLmZsdWlkLmltYWdlcyBpbWcsXG4udWkuZmx1aWQuaW1hZ2VzIHN2Zyxcbi51aS5mbHVpZC5pbWFnZSBzdmcsXG4udWkuZmx1aWQuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEF2YXRhclxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5hdmF0YXIuaW1hZ2VzIC5pbWFnZSxcbi51aS5hdmF0YXIuaW1hZ2VzIGltZyxcbi51aS5hdmF0YXIuaW1hZ2VzIHN2Zyxcbi51aS5hdmF0YXIuaW1hZ2UgaW1nLFxuLnVpLmF2YXRhci5pbWFnZSBzdmcsXG4udWkuYXZhdGFyLmltYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDJlbTtcbiAgaGVpZ2h0OiAyZW07XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3BhY2VkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuc3BhY2VkLmltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IHNwYWNlZFwiXS5pbWFnZSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG4udWlbY2xhc3MqPVwicmlnaHQgc3BhY2VkXCJdLmltYWdlIHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZsb2F0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mbG9hdGVkLmltYWdlLFxuLnVpLmZsb2F0ZWQuaW1hZ2VzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG4udWkucmlnaHQuZmxvYXRlZC5pbWFnZXMsXG4udWkucmlnaHQuZmxvYXRlZC5pbWFnZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbn1cbi51aS5mbG9hdGVkLmltYWdlczpsYXN0LWNoaWxkLFxuLnVpLmZsb2F0ZWQuaW1hZ2U6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi51aS5jZW50ZXJlZC5pbWFnZXMsXG4udWkuY2VudGVyZWQuaW1hZ2Uge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5taW5pLmltYWdlcyAuaW1hZ2UsXG4udWkubWluaS5pbWFnZXMgaW1nLFxuLnVpLm1pbmkuaW1hZ2VzIHN2Zyxcbi51aS5taW5pLmltYWdlIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkuaW1hZ2VzIC5pbWFnZSxcbi51aS50aW55LmltYWdlcyBpbWcsXG4udWkudGlueS5pbWFnZXMgc3ZnLFxuLnVpLnRpbnkuaW1hZ2Uge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwuaW1hZ2VzIC5pbWFnZSxcbi51aS5zbWFsbC5pbWFnZXMgaW1nLFxuLnVpLnNtYWxsLmltYWdlcyBzdmcsXG4udWkuc21hbGwuaW1hZ2Uge1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLm1lZGl1bS5pbWFnZXMgLmltYWdlLFxuLnVpLm1lZGl1bS5pbWFnZXMgaW1nLFxuLnVpLm1lZGl1bS5pbWFnZXMgc3ZnLFxuLnVpLm1lZGl1bS5pbWFnZSB7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubGFyZ2UuaW1hZ2VzIC5pbWFnZSxcbi51aS5sYXJnZS5pbWFnZXMgaW1nLFxuLnVpLmxhcmdlLmltYWdlcyBzdmcsXG4udWkubGFyZ2UuaW1hZ2Uge1xuICB3aWR0aDogNDUwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5pbWFnZXMgLmltYWdlLFxuLnVpLmJpZy5pbWFnZXMgaW1nLFxuLnVpLmJpZy5pbWFnZXMgc3ZnLFxuLnVpLmJpZy5pbWFnZSB7XG4gIHdpZHRoOiA2MDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDEuMjg1NzE0MjlyZW07XG59XG4udWkuaHVnZS5pbWFnZXMgLmltYWdlLFxuLnVpLmh1Z2UuaW1hZ2VzIGltZyxcbi51aS5odWdlLmltYWdlcyBzdmcsXG4udWkuaHVnZS5pbWFnZSB7XG4gIHdpZHRoOiA4MDBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5pbWFnZXMgLmltYWdlLFxuLnVpLm1hc3NpdmUuaW1hZ2VzIGltZyxcbi51aS5tYXNzaXZlLmltYWdlcyBzdmcsXG4udWkubWFzc2l2ZS5pbWFnZSB7XG4gIHdpZHRoOiA5NjBweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBHcm91cHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuaW1hZ2VzIHtcbiAgZm9udC1zaXplOiAwZW07XG4gIG1hcmdpbjogMGVtIC0wLjI1cmVtIDByZW07XG59XG4udWkuaW1hZ2VzIC5pbWFnZSxcbi51aS5pbWFnZXMgPiBpbWcsXG4udWkuaW1hZ2VzID4gc3ZnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDBlbSAwLjI1cmVtIDAuNXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBJbnB1dFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgSW5wdXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSWNvbiBJbnB1dCAqL1xuLyogQ2lyY3VsYXIgSWNvbiBJbnB1dCAqL1xuLyogTGFiZWxlZCBJbnB1dCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIERvd24gKi9cbi8qIEZvY3VzICovXG4vKiBFcnJvciAqL1xuLyogTG9hZGVyICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIElucHV0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEljb24gSW5wdXQgKi9cbi8qIENpcmN1bGFyIEljb24gSW5wdXQgKi9cbi8qIExhYmVsZWQgSW5wdXQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBsYWNlaG9sZGVyICovXG4vKiBEb3duICovXG4vKiBGb2N1cyAqL1xuLyogRXJyb3IgKi9cbi8qIExvYWRlciAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaW5wdXQgPiBpbnB1dCB7XG4gIG1hcmdpbjogMGVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsICfmlofms4npqZvmraPpu5EnLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCAn5b6u6Luf5q2j6buR6auUJywgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAxZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBsYWNlaG9sZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogYnJvd3NlcnMgcmVxdWlyZSB0aGVzZSBydWxlcyBzZXBhcmF0ZSAqL1xuLnVpLmlucHV0ID4gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgxOTEsIDE5MSwgMTkxLCAwLjg3KTtcbn1cbi51aS5pbnB1dCA+IGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTkxLCAxOTEsIDE5MSwgMC44Nyk7XG59XG4udWkuaW5wdXQgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgxOTEsIDE5MSwgMTkxLCAwLjg3KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmRpc2FibGVkLmlucHV0LFxuLnVpLmlucHV0Om5vdCguZGlzYWJsZWQpIGlucHV0W2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4udWkuZGlzYWJsZWQuaW5wdXQgPiBpbnB1dCxcbi51aS5pbnB1dDpub3QoLmRpc2FibGVkKSBpbnB1dFtkaXNhYmxlZF0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmlucHV0ID4gaW5wdXQ6YWN0aXZlLFxuLnVpLmlucHV0LmRvd24gaW5wdXQge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYmFja2dyb3VuZDogI0ZBRkFGQTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5sb2FkaW5nLmxvYWRpbmcuaW5wdXQgPiBpLmljb246YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDBlbSAwZW0gLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkubG9hZGluZy5sb2FkaW5nLmlucHV0ID4gaS5pY29uOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDBlbSAwZW0gLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGFuaW1hdGlvbjogYnV0dG9uLXNwaW4gMC42cyBsaW5lYXI7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pbnB1dC5mb2N1cyA+IGlucHV0LFxuLnVpLmlucHV0ID4gaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICM4NUI3RDk7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuaW5wdXQuZm9jdXMgPiBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbi51aS5pbnB1dCA+IGlucHV0OmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMC44Nyk7XG59XG4udWkuaW5wdXQuZm9jdXMgPiBpbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi51aS5pbnB1dCA+IGlucHV0OmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMC44Nyk7XG59XG4udWkuaW5wdXQuZm9jdXMgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4udWkuaW5wdXQgPiBpbnB1dDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgxMTUsIDExNSwgMTE1LCAwLjg3KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRXJyb3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuaW5wdXQuZXJyb3IgPiBpbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY2RjY7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNDtcbiAgY29sb3I6ICM5RjNBMzg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBFcnJvciBQbGFjZWhvbGRlciAqL1xuLnVpLmlucHV0LmVycm9yID4gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2U3YmRiYztcbn1cbi51aS5pbnB1dC5lcnJvciA+IGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNlN2JkYmM7XG59XG4udWkuaW5wdXQuZXJyb3IgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2U3YmRiYyAhaW1wb3J0YW50O1xufVxuLyogRm9jdXNlZCBFcnJvciBQbGFjZWhvbGRlciAqL1xuLnVpLmlucHV0LmVycm9yID4gaW5wdXQ6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2RhOTc5Njtcbn1cbi51aS5pbnB1dC5lcnJvciA+IGlucHV0OmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNkYTk3OTY7XG59XG4udWkuaW5wdXQuZXJyb3IgPiBpbnB1dDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2RhOTc5NiAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFRyYW5zcGFyZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnRyYW5zcGFyZW50LmlucHV0ID4gaW5wdXQge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDBlbSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xufVxuLyogVHJhbnNwYXJlbnQgSWNvbiAqL1xuLnVpLnRyYW5zcGFyZW50Lmljb24uaW5wdXQgPiBpLmljb24ge1xuICB3aWR0aDogMS4xZW07XG59XG4udWkudHJhbnNwYXJlbnQuaWNvbi5pbnB1dCA+IGlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMmVtICFpbXBvcnRhbnQ7XG59XG4udWkudHJhbnNwYXJlbnRbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDJlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbn1cbi8qIFRyYW5zcGFyZW50IEludmVydGVkICovXG4udWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS50cmFuc3BhcmVudC5pbnZlcnRlZC5pbnB1dCA+IGlucHV0IHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG4udWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgPiBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4udWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgPiBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4udWkudHJhbnNwYXJlbnQuaW52ZXJ0ZWQuaW5wdXQgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pY29uLmlucHV0ID4gaS5pY29uIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xuICBtYXJnaW46IDBlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMi42NzE0Mjg1N2VtO1xuICBvcGFjaXR5OiAwLjU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbn1cbi51aS5pY29uLmlucHV0ID4gaS5pY29uOm5vdCgubGluaykge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi51aS5pY29uLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjY3MTQyODU3ZW0gIWltcG9ydGFudDtcbn1cbi51aS5pY29uLmlucHV0ID4gaS5pY29uOmJlZm9yZSxcbi51aS5pY29uLmlucHV0ID4gaS5pY29uOmFmdGVyIHtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogLTAuNWVtO1xufVxuLnVpLmljb24uaW5wdXQgPiBpLmxpbmsuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi51aS5pY29uLmlucHV0ID4gaS5jaXJjdWxhci5pY29uIHtcbiAgdG9wOiAwLjM1ZW07XG4gIHJpZ2h0OiAwLjVlbTtcbn1cbi8qIExlZnQgSWNvbiBJbnB1dCAqL1xuLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IGkuaWNvbiB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMGVtIDBlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpW2NsYXNzKj1cImxlZnQgaWNvblwiXS5pbnB1dCA+IGkuY2lyY3VsYXIuaWNvbiB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwLjVlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMi42NzE0Mjg1N2VtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDFlbSAhaW1wb3J0YW50O1xufVxuLyogRm9jdXMgKi9cbi51aS5pY29uLmlucHV0ID4gaW5wdXQ6Zm9jdXMgfiBpLmljb24ge1xuICBvcGFjaXR5OiAxO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMYWJlbGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQWRqYWNlbnQgTGFiZWwgKi9cbi51aS5sYWJlbGVkLmlucHV0ID4gLmxhYmVsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkubGFiZWxlZC5pbnB1dCA+IC5sYWJlbDpub3QoLmNvcm5lcikge1xuICBwYWRkaW5nLXRvcDogMC43ODU3MTQyOWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43ODU3MTQyOWVtO1xufVxuLyogUmVndWxhciBMYWJlbCBvbiBMZWZ0ICovXG4udWkubGFiZWxlZC5pbnB1dDpub3QoW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdKSAubGFiZWw6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4O1xufVxuLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgLmxhYmVsOmZpcnN0LWNoaWxkICsgaW5wdXQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgLmxhYmVsOmZpcnN0LWNoaWxkICsgaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItbGVmdC1jb2xvcjogIzg1QjdEOTtcbn1cbi8qIFJlZ3VsYXIgTGFiZWwgb24gUmlnaHQgKi9cbi51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmlucHV0ID4gaW5wdXQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgPiBpbnB1dCArIC5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4O1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgPiBpbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogIzg1QjdEOSAhaW1wb3J0YW50O1xufVxuLyogQ29ybmVyIExhYmVsICovXG4udWkubGFiZWxlZC5pbnB1dCAuY29ybmVyLmxhYmVsIHtcbiAgdG9wOiAxcHg7XG4gIHJpZ2h0OiAxcHg7XG4gIGZvbnQtc2l6ZTogMC42NDI4NTcxNGVtO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xufVxuLyogU3BhY2luZyB3aXRoIGNvcm5lciBsYWJlbCAqL1xuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdOm5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkubGFiZWxlZC5pbnB1dCA+IGlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogMi41ZW0gIWltcG9ydGFudDtcbn1cbi51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkgPiBpbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMuMjVlbSAhaW1wb3J0YW50O1xufVxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKSA+IC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjI1ZW07XG59XG4vKiBMZWZ0IExhYmVsZWQgKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmxhYmVsZWQuaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMi41ZW0gIWltcG9ydGFudDtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMy4yNWVtICFpbXBvcnRhbnQ7XG59XG4udWlbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXS5pY29uLmlucHV0ID4gLmljb24ge1xuICBtYXJnaW4tbGVmdDogMS4yNWVtO1xufVxuLyogQ29ybmVyIExhYmVsIFBvc2l0aW9uICAqL1xuLnVpLmlucHV0ID4gLnVpLmNvcm5lci5sYWJlbCB7XG4gIHRvcDogMXB4O1xuICByaWdodDogMXB4O1xufVxuLnVpLmlucHV0ID4gLnVpLmxlZnQuY29ybmVyLmxhYmVsIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDFweDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b24sXG4udWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4OiAwIDAgYXV0bztcbn1cbi51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uLFxuLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwLjc4NTcxNDI5ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjc4NTcxNDI5ZW07XG4gIG1hcmdpbjogMDtcbn1cbi8qIEJ1dHRvbiBvbiBSaWdodCAqL1xuLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiAuZHJvcGRvd246bm90KDpmaXJzdC1jaGlsZCksXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSxcbi51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiAuYnV0dG9uczpub3QoOmZpcnN0LWNoaWxkKSA+IC5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gLmRyb3Bkb3duOmxhc3QtY2hpbGQsXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gLmJ1dHRvbjpsYXN0LWNoaWxkLFxuLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IC5idXR0b25zOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwcHg7XG59XG4vKiBJbnB1dCBGb2N1cyAqL1xuLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IGlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjODVCN0Q5ICFpbXBvcnRhbnQ7XG59XG4vKiBCdXR0b24gb24gTGVmdCAqL1xuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gaW5wdXQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gLmRyb3Bkb3duLFxuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gLmJ1dHRvbixcbi51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IC5kcm9wZG93bjpmaXJzdC1jaGlsZCxcbi51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IC5idXR0b246Zmlyc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiAuYnV0dG9uczpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDBweCAwcHggMC4yODU3MTQyOXJlbTtcbn1cbi8qIElucHV0IEZvY3VzICovXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiBpbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjODVCN0Q5ICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTdGFuZGFyZCAqL1xuLnVpLmludmVydGVkLmlucHV0ID4gaW5wdXQge1xuICBib3JkZXI6IG5vbmU7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZsdWlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZsdWlkLmlucHV0IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi51aS5mbHVpZC5pbnB1dCA+IGlucHV0IHtcbiAgd2lkdGg6IDBweCAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm1pbmkuaW5wdXQge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbn1cbi51aS5zbWFsbC5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xufVxuLnVpLmlucHV0IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkubGFyZ2UuaW5wdXQge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cbi51aS5iaWcuaW5wdXQge1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbn1cbi51aS5odWdlLmlucHV0IHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzZW07XG59XG4udWkubWFzc2l2ZS5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIExhYmVsXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTGFiZWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBtZWRpdW0gaXMgbm90IEBlbVNpemUgY3VzdG9tIHZhbHVlIHJlcXVpcmVkICovXG4vKiBHcm91cCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhcnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMaW5rICovXG4vKiBJY29uICovXG4vKiBJbWFnZSAqL1xuLyogRGV0YWlsICovXG4vKiBEZWxldGUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW1hZ2UgTGFiZWwgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEhvdmVyICovXG4vKiBBY3RpdmUgKi9cbi8qIEFjdGl2ZSBIb3ZlciAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBCYXNpYyAqL1xuLyogVGFnICovXG4vKiBBdm9pZHMgZXJyb3Igd2l0aCBiYWNrZ3JvdW5kOiBpbmhlcml0OyBvbiBhbmltYXRpb24gKi9cbi8qIFJpYmJvbiAqL1xuLyogUm91bmRpbmcgT2Zmc2V0IG9uIFRyaWFuZ2xlICovXG4vKiBSb3VuZGluZyBPZmZzZXQgb24gVHJpYW5nbGUgKi9cbi8qIENvbG9ycyAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIENvcm5lciAqL1xuLyogQ29ybmVyIFRleHQgKi9cbi8qIEhvcml6b250YWwgKi9cbi8qIENpcmN1bGFyIFBhZGRpbmcgKi9cbi8qIFBvaW50aW5nICovXG4vKiBCYXNpYyBQb2ludGluZyAqL1xuLyogRmxvYXRpbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcm91cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2l6aW5nICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBMYWJlbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIG1lZGl1bSBpcyBub3QgQGVtU2l6ZSBjdXN0b20gdmFsdWUgcmVxdWlyZWQgKi9cbi8qIEdyb3VwICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFydHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExpbmsgKi9cbi8qIEljb24gKi9cbi8qIEltYWdlICovXG4vKiBEZXRhaWwgKi9cbi8qIERlbGV0ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbWFnZSBMYWJlbCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSG92ZXIgKi9cbi8qIEFjdGl2ZSAqL1xuLyogQWN0aXZlIEhvdmVyICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEJhc2ljICovXG4vKiBUYWcgKi9cbi8qIEF2b2lkcyBlcnJvciB3aXRoIGJhY2tncm91bmQ6IGluaGVyaXQ7IG9uIGFuaW1hdGlvbiAqL1xuLyogUmliYm9uICovXG4vKiBSb3VuZGluZyBPZmZzZXQgb24gVHJpYW5nbGUgKi9cbi8qIFJvdW5kaW5nIE9mZnNldCBvbiBUcmlhbmdsZSAqL1xuLyogQ29sb3JzICovXG4vKiBBdHRhY2hlZCAqL1xuLyogQ29ybmVyICovXG4vKiBDb3JuZXIgVGV4dCAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLyogQ2lyY3VsYXIgUGFkZGluZyAqL1xuLyogUG9pbnRpbmcgKi9cbi8qIEJhc2ljIFBvaW50aW5nICovXG4vKiBGbG9hdGluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyb3VwXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTaXppbmcgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBMYWJlbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luOiAwZW0gMC4xNDI4NTcxNGVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRThFOEU4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBwYWRkaW5nOiAwLjU4MzNlbSAwLjgzM2VtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGJvcmRlcjogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTtcbn1cbi51aS5sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG4udWkubGFiZWw6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuLyogTGluayAqL1xuYS51aS5sYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qIEluc2lkZSBMaW5rICovXG4udWkubGFiZWwgPiBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41O1xuICB0cmFuc2l0aW9uOiAwLjFzIG9wYWNpdHkgZWFzZTtcbn1cbi51aS5sYWJlbCA+IGE6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLyogSW1hZ2UgKi9cbi51aS5sYWJlbCA+IGltZyB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGhlaWdodDogMi4xNjY2ZW0gIWltcG9ydGFudDtcbn1cbi8qIEljb24gKi9cbi51aS5sYWJlbCA+IC5pY29uIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMGVtIDAuNzVlbSAwZW0gMGVtO1xufVxuLyogRGV0YWlsICovXG4udWkubGFiZWwgPiAuZGV0YWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgb3BhY2l0eTogMC44O1xufVxuLnVpLmxhYmVsID4gLmRldGFpbCAuaWNvbiB7XG4gIG1hcmdpbjogMGVtIDAuMjVlbSAwZW0gMGVtO1xufVxuLyogUmVtb3ZhYmxlIGxhYmVsICovXG4udWkubGFiZWwgPiAuY2xvc2UuaWNvbixcbi51aS5sYWJlbCA+IC5kZWxldGUuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG4gIG9wYWNpdHk6IDAuNTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG59XG4udWkubGFiZWwgPiAuZGVsZXRlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5sYWJlbHMgPiAubGFiZWwge1xuICBtYXJnaW46IDBlbSAwLjVlbSAwLjVlbSAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmhlYWRlciA+IC51aS5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IC0wLjI5MTY1ZW07XG59XG4vKiBSZW1vdmUgYm9yZGVyIHJhZGl1cyBvbiBhdHRhY2hlZCBzZWdtZW50ICovXG4udWkuYXR0YWNoZWQuc2VnbWVudCA+IC51aS50b3AubGVmdC5hdHRhY2hlZC5sYWJlbCxcbi51aS5ib3R0b20uYXR0YWNoZWQuc2VnbWVudCA+IC51aS50b3AubGVmdC5hdHRhY2hlZC5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG59XG4udWkuYXR0YWNoZWQuc2VnbWVudCA+IC51aS50b3AucmlnaHQuYXR0YWNoZWQubGFiZWwsXG4udWkuYm90dG9tLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkudG9wLnJpZ2h0LmF0dGFjaGVkLmxhYmVsIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4udWkudG9wLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkuYm90dG9tLmxlZnQuYXR0YWNoZWQubGFiZWwge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpLnRvcC5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLmJvdHRvbS5yaWdodC5hdHRhY2hlZC5sYWJlbCB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuLyogUGFkZGluZyBvbiBuZXh0IGNvbnRlbnQgYWZ0ZXIgYSBsYWJlbCAqL1xuLnVpLnRvcC5hdHRhY2hlZC5sYWJlbDpmaXJzdC1jaGlsZCArIDpub3QoLmF0dGFjaGVkKSxcbi51aS50b3AuYXR0YWNoZWQubGFiZWwgKyBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSArICoge1xuICBtYXJnaW4tdG9wOiAycmVtICFpbXBvcnRhbnQ7XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLmxhYmVsOmZpcnN0LWNoaWxkIH4gOmxhc3QtY2hpbGQ6bm90KC5hdHRhY2hlZCkge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW0gIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuaW1hZ2UubGFiZWwge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgbWF4LXdpZHRoOiA5OTk5cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNFOEU4RTg7XG4gIHBhZGRpbmc6IDAuNTgzM2VtIDAuODMzZW0gMC41ODMzZW0gMC41ZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuaW1hZ2UubGFiZWwgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBoZWlnaHQ6IDIuMTY2NmVtO1xuICBtYXJnaW46IC0wLjU4MzNlbSAwLjVlbSAtMC41ODMzZW0gLTAuNWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDBlbSAwZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS5pbWFnZS5sYWJlbCAuZGV0YWlsIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBtYXJnaW46IC0wLjU4MzNlbSAtMC44MzNlbSAtMC41ODMzZW0gMC41ZW07XG4gIHBhZGRpbmc6IDAuNTgzM2VtIDAuODMzZW07XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBUYWdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS50YWcubGFiZWxzIC5sYWJlbCxcbi51aS50YWcubGFiZWwge1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cbi51aS50YWcubGFiZWxzIC5sYWJlbDpiZWZvcmUsXG4udWkudGFnLmxhYmVsOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxMDAlO1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgd2lkdGg6IDEuNTZlbTtcbiAgaGVpZ2h0OiAxLjU2ZW07XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4udWkudGFnLmxhYmVscyAubGFiZWw6YWZ0ZXIsXG4udWkudGFnLmxhYmVsOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IC0wLjI1ZW07XG4gIG1hcmdpbi10b3A6IC0wLjI1ZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgd2lkdGg6IDAuNWVtO1xuICBoZWlnaHQ6IDAuNWVtO1xuICBib3gtc2hhZG93OiAwIC0xcHggMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDb3JuZXIgTGFiZWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jb3JuZXIubGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMGVtO1xuICByaWdodDogMGVtO1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMGVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI0U4RThFODtcbiAgd2lkdGg6IDRlbTtcbiAgaGVpZ2h0OiA0ZW07XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG59XG4vKiBJY29uIExhYmVsICovXG4udWkuY29ybmVyLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi51aS5jb3JuZXIubGFiZWw6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHJpZ2h0OiAwZW07XG4gIHRvcDogMGVtO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDBlbTtcbiAgaGVpZ2h0OiAwZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IDBlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDBlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLmNvcm5lci5sYWJlbCAuaWNvbiB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDAuNjQyODU3MTRlbTtcbiAgbGVmdDogMC43ODU3MTQyOWVtO1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbiAgbWFyZ2luOiAwZW07XG59XG4vKiBMZWZ0IENvcm5lciAqL1xuLnVpLmxlZnQuY29ybmVyLmxhYmVsLFxuLnVpLmxlZnQuY29ybmVyLmxhYmVsOmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDBlbTtcbn1cbi51aS5sZWZ0LmNvcm5lci5sYWJlbDphZnRlciB7XG4gIGJvcmRlci10b3A6IDRlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0ZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDBlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDBlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDtcbn1cbi51aS5sZWZ0LmNvcm5lci5sYWJlbCAuaWNvbiB7XG4gIGxlZnQ6IC0wLjc4NTcxNDI5ZW07XG59XG4vKiBTZWdtZW50ICovXG4udWkuc2VnbWVudCA+IC51aS5jb3JuZXIubGFiZWwge1xuICB0b3A6IC0xcHg7XG4gIHJpZ2h0OiAtMXB4O1xufVxuLnVpLnNlZ21lbnQgPiAudWkubGVmdC5jb3JuZXIubGFiZWwge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogLTFweDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFJpYmJvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnJpYmJvbi5sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwZW07XG4gIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4udWkucmliYm9uLmxhYmVsOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwZW0gMS4yZW0gMS4yZW0gMGVtO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IGluaGVyaXQ7XG4gIHdpZHRoOiAwZW07XG4gIGhlaWdodDogMGVtO1xufVxuLyogUG9zaXRpb25pbmcgKi9cbi51aS5yaWJib24ubGFiZWwge1xuICBsZWZ0OiBjYWxjKC0xcmVtIC0gMS4yZW0pO1xuICBtYXJnaW4tcmlnaHQ6IC0xLjJlbTtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDFyZW0gKyAxLjJlbSk7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMmVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gIGxlZnQ6IGNhbGMoMTAwJSArIDFyZW0gKyAxLjJlbSk7XG4gIHBhZGRpbmctbGVmdDogMS4yZW07XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoMXJlbSArIDEuMmVtKTtcbn1cbi8qIFJpZ2h0IFJpYmJvbiAqL1xuLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMGVtIDBlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbDphZnRlciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwJTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxLjJlbSAxLjJlbSAwZW0gMGVtO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiBpbmhlcml0O1xufVxuLyogSW5zaWRlIFRhYmxlICovXG4udWkuaW1hZ2UgPiAucmliYm9uLmxhYmVsLFxuLnVpLmNhcmQgLmltYWdlID4gLnJpYmJvbi5sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxcmVtO1xufVxuLnVpLmNhcmQgLmltYWdlID4gLnVpLnJpYmJvbi5sYWJlbCxcbi51aS5pbWFnZSA+IC51aS5yaWJib24ubGFiZWwge1xuICBsZWZ0OiBjYWxjKC0tMC4wNXJlbSAtIDEuMmVtKTtcbn1cbi51aS5jYXJkIC5pbWFnZSA+IC51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwsXG4udWkuaW1hZ2UgPiAudWlbY2xhc3MqPVwicmlnaHQgcmliYm9uXCJdLmxhYmVsIHtcbiAgbGVmdDogY2FsYygxMDAlICsgLTAuMDVyZW0gKyAxLjJlbSk7XG4gIHBhZGRpbmctbGVmdDogMC44MzNlbTtcbn1cbi8qIEluc2lkZSBUYWJsZSAqL1xuLnVpLnRhYmxlIHRkID4gLnVpLnJpYmJvbi5sYWJlbCB7XG4gIGxlZnQ6IGNhbGMoLTAuNzg1NzE0MjllbSAtIDEuMmVtKTtcbn1cbi51aS50YWJsZSB0ZCA+IC51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjc4NTcxNDI5ZW0gKyAxLjJlbSk7XG4gIHBhZGRpbmctbGVmdDogMC44MzNlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQXR0YWNoZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0ubGFiZWwsXG4udWkuYXR0YWNoZWQubGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDBlbTtcbiAgdG9wOiAwZW07XG4gIGxlZnQ6IDBlbTtcbiAgcGFkZGluZzogMC43NWVtIDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yMTQyODU3MXJlbSAwLjIxNDI4NTcxcmVtIDBlbSAwZW07XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjIxNDI4NTcxcmVtIDAuMjE0Mjg1NzFyZW07XG59XG4udWlbY2xhc3MqPVwidG9wIGxlZnQgYXR0YWNoZWRcIl0ubGFiZWwge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXRvcDogMGVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjE0Mjg1NzFyZW0gMGVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuLnVpW2NsYXNzKj1cInRvcCByaWdodCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIHdpZHRoOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMGVtO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMC4yMTQyODU3MXJlbSAwZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gbGVmdCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIHdpZHRoOiBhdXRvO1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMGVtO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMC4yODU3MTQyOXJlbSAwZW0gMC4yMTQyODU3MXJlbTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gcmlnaHQgYXR0YWNoZWRcIl0ubGFiZWwge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMGVtO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMGVtO1xuICB3aWR0aDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMC4yMTQyODU3MXJlbSAwZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5sYWJlbC5kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYS51aS5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMEUwRTA7XG4gIGJvcmRlci1jb2xvcjogI0UwRTBFMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTtcbn1cbi51aS5sYWJlbHMgYS5sYWJlbDpob3ZlcjpiZWZvcmUsXG5hLnVpLmxhYmVsOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuYWN0aXZlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QwRDBEMDtcbiAgYm9yZGVyLWNvbG9yOiAjRDBEMEQwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi51aS5hY3RpdmUubGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0QwRDBEMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5hLnVpLmxhYmVscyAuYWN0aXZlLmxhYmVsOmhvdmVyLFxuYS51aS5hY3RpdmUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhDOEM4O1xuICBib3JkZXItY29sb3I6ICNDOEM4Qzg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLmxhYmVscyBhLmFjdGl2ZS5sYWJlbDpBY3RpdmVIb3ZlcjpiZWZvcmUsXG5hLnVpLmFjdGl2ZS5sYWJlbDpBY3RpdmVIb3ZlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzhDOEM4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmxhYmVscy52aXNpYmxlIC5sYWJlbCxcbi51aS5sYWJlbC52aXNpYmxlOm5vdCguZHJvcGRvd24pIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhpZGRlblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmxhYmVscy5oaWRkZW4gLmxhYmVsLFxuLnVpLmxhYmVsLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIFJlZCAtLS0qL1xuLnVpLnJlZC5sYWJlbHMgLmxhYmVsLFxuLnVpLnJlZC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjREIyODI4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBMaW5rICovXG4udWkucmVkLmxhYmVscyAubGFiZWw6aG92ZXIsXG5hLnVpLnJlZC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMDE5MTkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjZDAxOTE5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBDb3JuZXIgKi9cbi51aS5yZWQuY29ybmVyLmxhYmVsLFxuLnVpLnJlZC5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLyogUmliYm9uICovXG4udWkucmVkLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogI2IyMWUxZSAhaW1wb3J0YW50O1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5yZWQubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjREIyODI4ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucmVkLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS5iYXNpYy5yZWQubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZDAxOTE5ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2QwMTkxOSAhaW1wb3J0YW50O1xufVxuLyotLS0gT3JhbmdlIC0tLSovXG4udWkub3JhbmdlLmxhYmVscyAubGFiZWwsXG4udWkub3JhbmdlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNzExQyAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNGMjcxMUMgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIExpbmsgKi9cbi51aS5vcmFuZ2UubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkub3JhbmdlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNjIwMiAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNmMjYyMDIgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIENvcm5lciAqL1xuLnVpLm9yYW5nZS5jb3JuZXIubGFiZWwsXG4udWkub3JhbmdlLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBSaWJib24gKi9cbi51aS5vcmFuZ2UucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjY2Y1OTBjICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLm9yYW5nZS5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0YyNzExQyAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNGMjcxMUMgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5vcmFuZ2UubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLm9yYW5nZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmMjYyMDIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjZjI2MjAyICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBZZWxsb3cgLS0tKi9cbi51aS55ZWxsb3cubGFiZWxzIC5sYWJlbCxcbi51aS55ZWxsb3cubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0ZCQkQwOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogTGluayAqL1xuLnVpLnllbGxvdy5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS55ZWxsb3cubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFhZTAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2VhYWUwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogQ29ybmVyICovXG4udWkueWVsbG93LmNvcm5lci5sYWJlbCxcbi51aS55ZWxsb3cuY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnllbGxvdy5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNjZDk5MDMgIWltcG9ydGFudDtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMueWVsbG93LmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0ZCQkQwOCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnllbGxvdy5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMueWVsbG93LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI2VhYWUwMCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNlYWFlMDAgIWltcG9ydGFudDtcbn1cbi8qLS0tIE9saXZlIC0tLSovXG4udWkub2xpdmUubGFiZWxzIC5sYWJlbCxcbi51aS5vbGl2ZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCNUNDMTggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjQjVDQzE4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBMaW5rICovXG4udWkub2xpdmUubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkub2xpdmUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTdiZDBkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI2E3YmQwZCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogQ29ybmVyICovXG4udWkub2xpdmUuY29ybmVyLmxhYmVsLFxuLnVpLm9saXZlLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBSaWJib24gKi9cbi51aS5vbGl2ZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICMxOThmMzUgIWltcG9ydGFudDtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMub2xpdmUubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNCNUNDMTggIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjQjVDQzE4ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMub2xpdmUubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLm9saXZlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI2E3YmQwZCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNhN2JkMGQgIWltcG9ydGFudDtcbn1cbi8qLS0tIEdyZWVuIC0tLSovXG4udWkuZ3JlZW4ubGFiZWxzIC5sYWJlbCxcbi51aS5ncmVlbi5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBMaW5rICovXG4udWkuZ3JlZW4ubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkuZ3JlZW4ubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTZhYjM5ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzE2YWIzOSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogQ29ybmVyICovXG4udWkuZ3JlZW4uY29ybmVyLmxhYmVsLFxuLnVpLmdyZWVuLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBSaWJib24gKi9cbi51aS5ncmVlbi5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICMxOThmMzUgIWltcG9ydGFudDtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMuZ3JlZW4ubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuZ3JlZW4ubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLmdyZWVuLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzE2YWIzOSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICMxNmFiMzkgIWltcG9ydGFudDtcbn1cbi8qLS0tIFRlYWwgLS0tKi9cbi51aS50ZWFsLmxhYmVscyAubGFiZWwsXG4udWkudGVhbC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMDBCNUFEICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBMaW5rICovXG4udWkudGVhbC5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS50ZWFsLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOWM5NSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICMwMDljOTUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIENvcm5lciAqL1xuLnVpLnRlYWwuY29ybmVyLmxhYmVsLFxuLnVpLnRlYWwuY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnRlYWwucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDA4MjdjICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnRlYWwubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMDBCNUFEICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMudGVhbC5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMudGVhbC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMDljOTUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMDA5Yzk1ICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBCbHVlIC0tLSovXG4udWkuYmx1ZS5sYWJlbHMgLmxhYmVsLFxuLnVpLmJsdWUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NUQwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogTGluayAqL1xuLnVpLmJsdWUubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkuYmx1ZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNjc4YzIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMTY3OGMyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBDb3JuZXIgKi9cbi51aS5ibHVlLmNvcm5lci5sYWJlbCxcbi51aS5ibHVlLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBSaWJib24gKi9cbi51aS5ibHVlLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzFhNjlhNCAhaW1wb3J0YW50O1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5ibHVlLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjE4NUQwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmJsdWUubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLmJsdWUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMTY3OGMyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzE2NzhjMiAhaW1wb3J0YW50O1xufVxuLyotLS0gVmlvbGV0IC0tLSovXG4udWkudmlvbGV0LmxhYmVscyAubGFiZWwsXG4udWkudmlvbGV0LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVDOSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM2NDM1QzkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIExpbmsgKi9cbi51aS52aW9sZXQubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkudmlvbGV0LmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU4MjliYiAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM1ODI5YmIgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIENvcm5lciAqL1xuLnVpLnZpb2xldC5jb3JuZXIubGFiZWwsXG4udWkudmlvbGV0LmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBSaWJib24gKi9cbi51aS52aW9sZXQucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTAyYWExICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnZpb2xldC5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzY0MzVDOSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM2NDM1QzkgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy52aW9sZXQubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLnZpb2xldC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1ODI5YmIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjNTgyOWJiICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBQdXJwbGUgLS0tKi9cbi51aS5wdXJwbGUubGFiZWxzIC5sYWJlbCxcbi51aS5wdXJwbGUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTMzM0M4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0EzMzNDOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogTGluayAqL1xuLnVpLnB1cnBsZS5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS5wdXJwbGUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTYyN2JhICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzk2MjdiYSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogQ29ybmVyICovXG4udWkucHVycGxlLmNvcm5lci5sYWJlbCxcbi51aS5wdXJwbGUuY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnB1cnBsZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6ICM4MjI5OWYgIWltcG9ydGFudDtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMucHVycGxlLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQTMzM0M4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0EzMzNDOCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnB1cnBsZS5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMucHVycGxlLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzk2MjdiYSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM5NjI3YmEgIWltcG9ydGFudDtcbn1cbi8qLS0tIFBpbmsgLS0tKi9cbi51aS5waW5rLmxhYmVscyAubGFiZWwsXG4udWkucGluay5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMDM5OTcgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjRTAzOTk3ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBMaW5rICovXG4udWkucGluay5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS5waW5rLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MWE4ZCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNlNjFhOGQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIENvcm5lciAqL1xuLnVpLnBpbmsuY29ybmVyLmxhYmVsLFxuLnVpLnBpbmsuY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnBpbmsucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjYzcxZjdlICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnBpbmsubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNFMDM5OTcgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjRTAzOTk3ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucGluay5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMucGluay5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNlNjFhOGQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjZTYxYThkICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBCcm93biAtLS0qL1xuLnVpLmJyb3duLmxhYmVscyAubGFiZWwsXG4udWkuYnJvd24ubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogTGluayAqL1xuLnVpLmJyb3duLmxhYmVscyAubGFiZWw6aG92ZXIsXG5hLnVpLmJyb3duLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3NWIzMyAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICM5NzViMzMgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIENvcm5lciAqL1xuLnVpLmJyb3duLmNvcm5lci5sYWJlbCxcbi51aS5icm93bi5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLyogUmliYm9uICovXG4udWkuYnJvd24ucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjODA1MDMxICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmJyb3duLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmJyb3duLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS5iYXNpYy5icm93bi5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbiAgY29sb3I6ICM5NzViMzMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjOTc1YjMzICFpbXBvcnRhbnQ7XG59XG4vKi0tLSBHcmV5IC0tLSovXG4udWkuZ3JleS5sYWJlbHMgLmxhYmVsLFxuLnVpLmdyZXkubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogTGluayAqL1xuLnVpLmdyZXkubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkuZ3JleS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MzgzODMgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjODM4MzgzICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBDb3JuZXIgKi9cbi51aS5ncmV5LmNvcm5lci5sYWJlbCxcbi51aS5ncmV5LmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBSaWJib24gKi9cbi51aS5ncmV5LnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzgwNTAzMSAhaW1wb3J0YW50O1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5ncmV5LmxhYmVsIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNzY3Njc2ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmdyZXkubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLmdyZXkubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjODM4MzgzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzgzODM4MyAhaW1wb3J0YW50O1xufVxuLyotLS0gQmxhY2sgLS0tKi9cbi51aS5ibGFjay5sYWJlbHMgLmxhYmVsLFxuLnVpLmJsYWNrLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICMxQjFDMUQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIExpbmsgKi9cbi51aS5ibGFjay5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS5ibGFjay5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNzI5MmEgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjMjcyOTJhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBDb3JuZXIgKi9cbi51aS5ibGFjay5jb3JuZXIubGFiZWwsXG4udWkuYmxhY2suY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLmJsYWNrLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogIzgwNTAzMSAhaW1wb3J0YW50O1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5ibGFjay5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICMxQjFDMUQgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ibGFjay5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMuYmxhY2subGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMjcyOTJhICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogIzI3MjkyYSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEJhc2ljXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuYmFzaWMubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogTGluayAqL1xuYS51aS5iYXNpYy5sYWJlbDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBjb2xvcjogIzFlNzBiZjtcbiAgYm94LXNoYWRvdzogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBQb2ludGluZyAqL1xuLnVpLmJhc2ljLnBvaW50aW5nLmxhYmVsOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZsdWlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkubGFiZWwuZmx1aWQsXG4udWkuZmx1aWQubGFiZWxzID4gLmxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmludmVydGVkLmxhYmVscyAubGFiZWwsXG4udWkuaW52ZXJ0ZWQubGFiZWwge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgSG9yaXpvbnRhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmhvcml6b250YWwubGFiZWxzIC5sYWJlbCxcbi51aS5ob3Jpem9udGFsLmxhYmVsIHtcbiAgbWFyZ2luOiAwZW0gMC41ZW0gMGVtIDBlbTtcbiAgcGFkZGluZzogMC40ZW0gMC44MzNlbTtcbiAgbWluLXdpZHRoOiAzZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENpcmN1bGFyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2lyY3VsYXIubGFiZWxzIC5sYWJlbCxcbi51aS5jaXJjdWxhci5sYWJlbCB7XG4gIG1pbi13aWR0aDogMmVtO1xuICBtaW4taGVpZ2h0OiAyZW07XG4gIHBhZGRpbmc6IDAuNWVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xufVxuLnVpLmVtcHR5LmNpcmN1bGFyLmxhYmVscyAubGFiZWwsXG4udWkuZW1wdHkuY2lyY3VsYXIubGFiZWwge1xuICBtaW4td2lkdGg6IDBlbTtcbiAgbWluLWhlaWdodDogMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMC41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFBvaW50aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkucG9pbnRpbmcubGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWkuYXR0YWNoZWQucG9pbnRpbmcubGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4udWkucG9pbnRpbmcubGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiBub25lO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG59XG4vKiBBcnJvdyAqL1xuLnVpLnBvaW50aW5nLmxhYmVsOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDAuNjY2NmVtO1xuICBoZWlnaHQ6IDAuNjY2NmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTtcbn1cbi8qLS0tIEFib3ZlIC0tLSovXG4udWkucG9pbnRpbmcubGFiZWwsXG4udWlbY2xhc3MqPVwicG9pbnRpbmcgYWJvdmVcIl0ubGFiZWwge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG4udWkucG9pbnRpbmcubGFiZWw6YmVmb3JlLFxuLnVpW2NsYXNzKj1cInBvaW50aW5nIGFib3ZlXCJdLmxhYmVsOmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMXB4IDBweCAwcHggMXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICB0b3A6IDAlO1xuICBsZWZ0OiA1MCU7XG59XG4vKi0tLSBCZWxvdyAtLS0qL1xuLnVpW2NsYXNzKj1cImJvdHRvbSBwb2ludGluZ1wiXS5sYWJlbCxcbi51aVtjbGFzcyo9XCJwb2ludGluZyBiZWxvd1wiXS5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBwb2ludGluZ1wiXS5sYWJlbDpiZWZvcmUsXG4udWlbY2xhc3MqPVwicG9pbnRpbmcgYmVsb3dcIl0ubGFiZWw6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiAwcHggMXB4IDFweCAwcHg7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xufVxuLyotLS0gTGVmdCAtLS0qL1xuLnVpW2NsYXNzKj1cImxlZnQgcG9pbnRpbmdcIl0ubGFiZWwge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjY2NjZlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IHBvaW50aW5nXCJdLmxhYmVsOmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMHB4IDBweCAxcHggMXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMGVtO1xufVxuLyotLS0gUmlnaHQgLS0tKi9cbi51aVtjbGFzcyo9XCJyaWdodCBwb2ludGluZ1wiXS5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjY2NjZlbTtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBwb2ludGluZ1wiXS5sYWJlbDpiZWZvcmUge1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMHB4IDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDAlO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG59XG4vKiBCYXNpYyBQb2ludGluZyAqL1xuLyotLS0gQWJvdmUgLS0tKi9cbi51aS5iYXNpYy5wb2ludGluZy5sYWJlbDpiZWZvcmUsXG4udWkuYmFzaWNbY2xhc3MqPVwicG9pbnRpbmcgYWJvdmVcIl0ubGFiZWw6YmVmb3JlIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cbi8qLS0tIEJlbG93IC0tLSovXG4udWkuYmFzaWNbY2xhc3MqPVwiYm90dG9tIHBvaW50aW5nXCJdLmxhYmVsOmJlZm9yZSxcbi51aS5iYXNpY1tjbGFzcyo9XCJwb2ludGluZyBiZWxvd1wiXS5sYWJlbDpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHRvcDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMXB4O1xufVxuLyotLS0gTGVmdCAtLS0qL1xuLnVpLmJhc2ljW2NsYXNzKj1cImxlZnQgcG9pbnRpbmdcIl0ubGFiZWw6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IC0xcHg7XG59XG4vKi0tLSBSaWdodCAtLS0qL1xuLnVpLmJhc2ljW2NsYXNzKj1cInJpZ2h0IHBvaW50aW5nXCJdLmxhYmVsOmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICByaWdodDogLTFweDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBGbG9hdGluZyBMYWJlbFxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZmxvYXRpbmcubGFiZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDtcbiAgdG9wOiAtMWVtO1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIC0xLjVlbSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkubWluaS5sYWJlbHMgLmxhYmVsLFxuLnVpLm1pbmkubGFiZWwge1xuICBmb250LXNpemU6IDAuNjQyODU3MTRyZW07XG59XG4udWkudGlueS5sYWJlbHMgLmxhYmVsLFxuLnVpLnRpbnkubGFiZWwge1xuICBmb250LXNpemU6IDAuNzE0Mjg1NzFyZW07XG59XG4udWkuc21hbGwubGFiZWxzIC5sYWJlbCxcbi51aS5zbWFsbC5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS5sYWJlbHMgLmxhYmVsLFxuLnVpLmxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLmxhcmdlLmxhYmVscyAubGFiZWwsXG4udWkubGFyZ2UubGFiZWwge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkuYmlnLmxhYmVscyAubGFiZWwsXG4udWkuYmlnLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UubGFiZWxzIC5sYWJlbCxcbi51aS5odWdlLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUubGFiZWxzIC5sYWJlbCxcbi51aS5tYXNzaXZlLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIExpc3RcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBMaXN0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMaXN0ICovXG4vKiBMaXN0IEl0ZW0gKi9cbi8qIFN1YiBMaXN0ICovXG4vKiBTdWIgTGlzdCBJdGVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJY29uICovXG4vKiBJbWFnZSAqL1xuLyogQ29udGVudCAqL1xuLyogSGVhZGVyICovXG4vKiBEZXNjcmlwdGlvbiAqL1xuLyogTGluayAqL1xuLyogSGVhZGVyIExpbmsgKi9cbi8qIExpbmtlZCBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZsb2F0ICovXG4vKiBIb3Jpem9udGFsICovXG4vKiBJbnZlcnRlZCAqL1xuLyogTGluayBMaXN0ICovXG4vKiBJbnZlcnRlZCBMaW5rIExpc3QgKi9cbi8qIFNlbGVjdGlvbiBMaXN0ICovXG4vKiBTZWxlY3Rpb24gTGlzdCBTdGF0ZXMgKi9cbi8qIEludmVydGVkIFNlbGVjdGlvbiBMaXN0ICovXG4vKiBBbmltYXRlZCBMaXN0ICovXG4vKiBCdWxsZXRlZCAqL1xuLyogSG9yaXpvbnRhbCBCdWxsZXRzICovXG4vKiBPcmRlcmVkIExpc3QgKi9cbi8qIEhvcml6b250YWwgT3JkZXJlZCAqL1xuLyogRGl2aWRlZCAqL1xuLyogRGl2aWRlZCBIb3Jpem9udGFsICovXG4vKiBEaXZpZGVkICovXG4vKiBEaXZpZGVkIEhvcml6b250YWwgKi9cbi8qIFJlbGF4ZWQgKi9cbi8qIFZlcnkgUmVsYXhlZCAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTGlzdFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTGlzdCAqL1xuLyogTGlzdCBJdGVtICovXG4vKiBTdWIgTGlzdCAqL1xuLyogU3ViIExpc3QgSXRlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSWNvbiAqL1xuLyogSW1hZ2UgKi9cbi8qIENvbnRlbnQgKi9cbi8qIEhlYWRlciAqL1xuLyogRGVzY3JpcHRpb24gKi9cbi8qIExpbmsgKi9cbi8qIEhlYWRlciBMaW5rICovXG4vKiBMaW5rZWQgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGbG9hdCAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIExpbmsgTGlzdCAqL1xuLyogSW52ZXJ0ZWQgTGluayBMaXN0ICovXG4vKiBTZWxlY3Rpb24gTGlzdCAqL1xuLyogU2VsZWN0aW9uIExpc3QgU3RhdGVzICovXG4vKiBJbnZlcnRlZCBTZWxlY3Rpb24gTGlzdCAqL1xuLyogQW5pbWF0ZWQgTGlzdCAqL1xuLyogQnVsbGV0ZWQgKi9cbi8qIEhvcml6b250YWwgQnVsbGV0cyAqL1xuLyogT3JkZXJlZCBMaXN0ICovXG4vKiBIb3Jpem9udGFsIE9yZGVyZWQgKi9cbi8qIERpdmlkZWQgKi9cbi8qIERpdmlkZWQgSG9yaXpvbnRhbCAqL1xuLyogRGl2aWRlZCAqL1xuLyogRGl2aWRlZCBIb3Jpem9udGFsICovXG4vKiBSZWxheGVkICovXG4vKiBWZXJ5IFJlbGF4ZWQgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBMaXN0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xudWwudWkubGlzdCxcbm9sLnVpLmxpc3QsXG4udWkubGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAxZW0gMGVtO1xuICBwYWRkaW5nOiAwZW0gMGVtO1xufVxudWwudWkubGlzdDpmaXJzdC1jaGlsZCxcbm9sLnVpLmxpc3Q6Zmlyc3QtY2hpbGQsXG4udWkubGlzdDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgcGFkZGluZy10b3A6IDBlbTtcbn1cbnVsLnVpLmxpc3Q6bGFzdC1jaGlsZCxcbm9sLnVpLmxpc3Q6bGFzdC1jaGlsZCxcbi51aS5saXN0Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIHBhZGRpbmctYm90dG9tOiAwZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIExpc3QgSXRlbSAqL1xudWwudWkubGlzdCBsaSxcbm9sLnVpLmxpc3QgbGksXG4udWkubGlzdCA+IC5pdGVtLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBwYWRkaW5nOiAwLjIxNDI4NTcxZW0gMGVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNGVtO1xufVxudWwudWkubGlzdCA+IGxpOmZpcnN0LWNoaWxkOmFmdGVyLFxub2wudWkubGlzdCA+IGxpOmZpcnN0LWNoaWxkOmFmdGVyLFxuLnVpLmxpc3QgPiAubGlzdCA+IC5pdGVtLFxuLnVpLmxpc3QgPiAuaXRlbTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxudWwudWkubGlzdCBsaTpmaXJzdC1jaGlsZCxcbm9sLnVpLmxpc3QgbGk6Zmlyc3QtY2hpbGQsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwZW07XG59XG51bC51aS5saXN0IGxpOmxhc3QtY2hpbGQsXG5vbC51aS5saXN0IGxpOmxhc3QtY2hpbGQsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogMGVtO1xufVxuLyogQ2hpbGQgTGlzdCAqL1xudWwudWkubGlzdCB1bCxcbm9sLnVpLmxpc3Qgb2wsXG4udWkubGlzdCAubGlzdCB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMC43NWVtIDBlbSAwLjI1ZW0gMC41ZW07XG59XG4vKiBDaGlsZCBJdGVtICovXG51bC51aS5saXN0IHVsIGxpLFxub2wudWkubGlzdCBvbCBsaSxcbi51aS5saXN0IC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nOiAwLjE0Mjg1NzE0ZW0gMGVtO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbi8qIEljb24gKi9cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpLmljb24sXG4udWkubGlzdCA+IC5pdGVtID4gaS5pY29uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmctdG9wOiAwZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuMjg1NzE0MjllbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGkuaWNvbjpvbmx5LWNoaWxkLFxuLnVpLmxpc3QgPiAuaXRlbSA+IGkuaWNvbjpvbmx5LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLyogSW1hZ2UgKi9cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkubGlzdCA+IC5pdGVtID4gLmltYWdlIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG1hcmdpbjogMGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZTpub3QoOm9ubHktY2hpbGQpOm5vdChpbWcpLFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZTpub3QoOm9ubHktY2hpbGQpOm5vdChpbWcpIHtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlIGltZyxcbi51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2UgaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpbWcuaW1hZ2UsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlOm9ubHktY2hpbGQsXG4udWkubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlLFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZTpvbmx5LWNoaWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLyogQ29udGVudCAqL1xuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50LFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTRlbTtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCxcbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaWNvbiArIC5jb250ZW50LFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSArIC5jb250ZW50LFxuLnVpLmxpc3QgPiAuaXRlbSA+IC5pY29uICsgLmNvbnRlbnQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMGVtIDBlbSAwZW0gMC41ZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlICsgLmNvbnRlbnQsXG4udWkubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlICsgLmNvbnRlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50ID4gLmxpc3QsXG4udWkubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQgPiAubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIHBhZGRpbmctbGVmdDogMGVtO1xufVxuLyogSGVhZGVyICovXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIC5oZWFkZXIsXG4udWkubGlzdCA+IC5pdGVtIC5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwZW07XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsICfmlofms4npqZvmraPpu5EnLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCAn5b6u6Luf5q2j6buR6auUJywgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIERlc2NyaXB0aW9uICovXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIC5kZXNjcmlwdGlvbixcbi51aS5saXN0ID4gLml0ZW0gLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG59XG4vKiBDaGlsZCBMaW5rICovXG4udWkubGlzdCA+IC5pdGVtIGEsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKiBMaW5raW5nIEl0ZW0gKi9cbi51aS5saXN0IC5saXN0ID4gYS5pdGVtLFxuLnVpLmxpc3QgPiBhLml0ZW0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjNDE4M0M0O1xufVxuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIsXG4udWkubGlzdCA+IGEuaXRlbTpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuLyogTGlua2VkIEl0ZW0gSWNvbnMgKi9cbi51aS5saXN0IC5saXN0ID4gYS5pdGVtIGkuaWNvbixcbi51aS5saXN0ID4gYS5pdGVtIGkuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4vKiBIZWFkZXIgTGluayAqL1xuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBhLmhlYWRlcixcbi51aS5saXN0ID4gLml0ZW0gYS5oZWFkZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjNDE4M0M0ICFpbXBvcnRhbnQ7XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtIGEuaGVhZGVyOmhvdmVyLFxuLnVpLmxpc3QgPiAuaXRlbSBhLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmICFpbXBvcnRhbnQ7XG59XG4vKiBGbG9hdGVkIENvbnRlbnQgKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ubGlzdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ubGlzdCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSxcbi51aS5saXN0ID4gLml0ZW0gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDBlbSAxZW0gMGVtIDBlbTtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0sXG4udWkubGlzdCA+IC5pdGVtIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDFlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5tZW51IC51aS5saXN0ID4gLml0ZW0sXG4udWkubWVudSAudWkubGlzdCAubGlzdCA+IC5pdGVtIHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBwYWRkaW5nOiAwLjIxNDI4NTcxZW0gMGVtO1xuICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNGVtO1xufVxuLnVpLm1lbnUgLnVpLmxpc3QgLmxpc3QgPiAuaXRlbTpiZWZvcmUsXG4udWkubWVudSAudWkubGlzdCA+IC5pdGVtOmJlZm9yZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi51aS5tZW51IC51aS5saXN0IC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkubWVudSAudWkubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDBlbTtcbn1cbi51aS5tZW51IC51aS5saXN0IC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCxcbi51aS5tZW51IC51aS5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhvcml6b250YWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5ob3Jpem9udGFsLmxpc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMGVtO1xufVxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkuaG9yaXpvbnRhbC5saXN0Om5vdCguY2VsbGVkKSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xufVxuLnVpLmhvcml6b250YWwubGlzdCAubGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMGVtO1xuICBwYWRkaW5nLWJvdHRvbTogMGVtO1xufVxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmljb24sXG4udWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0gPiAuaWNvbixcbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50LFxuLnVpLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyogUGFkZGluZyBvbiBhbGwgZWxlbWVudHMgKi9cbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDAuMjE0Mjg1NzFlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjE0Mjg1NzFlbTtcbn1cbi8qIEhvcml6b250YWwgTGlzdCAqL1xuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gaS5pY29uIHtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbSAwLjI1ZW0gMGVtIDBlbTtcbn1cbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5pY29uLFxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmljb24gKyAuY29udGVudCB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkubGlzdCAubGlzdCA+IC5kaXNhYmxlZC5pdGVtLFxuLnVpLmxpc3QgPiAuZGlzYWJsZWQuaXRlbSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IC5kaXNhYmxlZC5pdGVtLFxuLnVpLmludmVydGVkLmxpc3QgPiAuZGlzYWJsZWQuaXRlbSB7XG4gIGNvbG9yOiByZ2JhKDIyNSwgMjI1LCAyMjUsIDAuMykgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIgLmljb24sXG4udWkubGlzdCA+IGEuaXRlbTpob3ZlciAuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IGEuaXRlbSA+IC5pY29uLFxuLnVpLmludmVydGVkLmxpc3QgPiBhLml0ZW0gPiAuaWNvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IC5pdGVtIC5oZWFkZXIsXG4udWkuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtIC5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiAuaXRlbSAuZGVzY3JpcHRpb24sXG4udWkuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4vKiBJdGVtIExpbmsgKi9cbi51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gYS5pdGVtLFxuLnVpLmludmVydGVkLmxpc3QgPiBhLml0ZW0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IGEuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5saXN0ID4gYS5pdGVtOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiBMaW5raW5nIENvbnRlbnQgKi9cbi51aS5pbnZlcnRlZC5saXN0IC5pdGVtIGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQubGlzdCAuaXRlbSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmYgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFsaWduZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5saXN0W2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIC5pbWFnZSxcbi51aS5saXN0W2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIC5jb250ZW50LFxuLnVpLmxpc3QgW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xufVxuLnVpLmxpc3RbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0gLmltYWdlLFxuLnVpLmxpc3RbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0gLmNvbnRlbnQsXG4udWkubGlzdCBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG59XG4udWkubGlzdFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSAuaW1hZ2UsXG4udWkubGlzdFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSAuY29udGVudCxcbi51aS5saXN0IFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5saW5rLmxpc3QgLml0ZW0sXG4udWkubGluay5saXN0IGEuaXRlbSxcbi51aS5saW5rLmxpc3QgLml0ZW0gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHRyYW5zaXRpb246IDAuMXMgY29sb3IgZWFzZTtcbn1cbi51aS5saW5rLmxpc3QubGlzdCBhLml0ZW06aG92ZXIsXG4udWkubGluay5saXN0Lmxpc3QgLml0ZW0gYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4udWkubGluay5saXN0Lmxpc3QgYS5pdGVtOmFjdGl2ZSxcbi51aS5saW5rLmxpc3QubGlzdCAuaXRlbSBhOm5vdCgudWkpOmFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG59XG4udWkubGluay5saXN0Lmxpc3QgLmFjdGl2ZS5pdGVtLFxuLnVpLmxpbmsubGlzdC5saXN0IC5hY3RpdmUuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmxpbmsubGlzdCAuaXRlbSxcbi51aS5pbnZlcnRlZC5saW5rLmxpc3QgYS5pdGVtLFxuLnVpLmludmVydGVkLmxpbmsubGlzdCAuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51aS5pbnZlcnRlZC5saW5rLmxpc3QubGlzdCBhLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQubGluay5saXN0Lmxpc3QgLml0ZW0gYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLmludmVydGVkLmxpbmsubGlzdC5saXN0IGEuaXRlbTphY3RpdmUsXG4udWkuaW52ZXJ0ZWQubGluay5saXN0Lmxpc3QgLml0ZW0gYTpub3QoLnVpKTphY3RpdmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi51aS5pbnZlcnRlZC5saW5rLmxpc3QubGlzdCBhLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLmxpbmsubGlzdC5saXN0IC5hY3RpdmUuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNlbGVjdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDAuNWVtIDAuNWVtO1xuICBtYXJnaW46IDBlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm9yZGVyLXJhZGl1czogMC41ZW07XG4gIHRyYW5zaXRpb246IDAuMXMgY29sb3IgZWFzZSwgMC4xcyBwYWRkaW5nLWxlZnQgZWFzZSwgMC4xcyBiYWNrZ3JvdW5kLWNvbG9yIGVhc2U7XG59XG4udWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkLFxuLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi51aS5zZWxlY3Rpb24ubGlzdC5saXN0ID4gLml0ZW06aG92ZXIsXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4udWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbTphY3RpdmUsXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuLnVpLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0uYWN0aXZlLFxuLnVpLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0uYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0sXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVpLmludmVydGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMik7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLmludmVydGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06YWN0aXZlLFxuLnVpLmludmVydGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbS5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qIENlbGxlZCAvIERpdmlkZWQgU2VsZWN0aW9uIExpc3QgKi9cbi51aS5jZWxsZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5kaXZpZGVkLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuY2VsbGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0sXG4udWkuZGl2aWRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQW5pbWF0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5hbmltYXRlZC5saXN0ID4gLml0ZW0ge1xuICB0cmFuc2l0aW9uOiAwLjI1cyBjb2xvciBlYXNlIDAuMXMsIDAuMjVzIHBhZGRpbmctbGVmdCBlYXNlIDAuMXMsIDAuMjVzIGJhY2tncm91bmQtY29sb3IgZWFzZSAwLjFzO1xufVxuLnVpLmFuaW1hdGVkLmxpc3Q6bm90KC5ob3Jpem9udGFsKSA+IC5pdGVtOmhvdmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGaXR0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5maXR0ZWQubGlzdDpub3QoLnNlbGVjdGlvbikgLmxpc3QgPiAuaXRlbSxcbi51aS5maXR0ZWQubGlzdDpub3QoLnNlbGVjdGlvbikgPiAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMGVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwZW07XG59XG4udWkuZml0dGVkLnNlbGVjdGlvbi5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuZml0dGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQnVsbGV0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbnVsLnVpLmxpc3QsXG4udWkuYnVsbGV0ZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxudWwudWkubGlzdCBsaSxcbi51aS5idWxsZXRlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuYnVsbGV0ZWQubGlzdCA+IC5pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxudWwudWkubGlzdCBsaTpiZWZvcmUsXG4udWkuYnVsbGV0ZWQubGlzdCAubGlzdCA+IC5pdGVtOmJlZm9yZSxcbi51aS5idWxsZXRlZC5saXN0ID4gLml0ZW06YmVmb3JlIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luLWxlZnQ6IC0xLjI1cmVtO1xuICBjb250ZW50OiAn4oCiJztcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG51bC51aS5saXN0IGxpOmJlZm9yZSxcbi51aS5idWxsZXRlZC5saXN0IC5saXN0ID4gYS5pdGVtOmJlZm9yZSxcbi51aS5idWxsZXRlZC5saXN0ID4gYS5pdGVtOmJlZm9yZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxudWwudWkubGlzdCB1bCxcbi51aS5idWxsZXRlZC5saXN0IC5saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xufVxuLyogSG9yaXpvbnRhbCBCdWxsZXRlZCAqL1xudWwudWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0LFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG51bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGksXG4udWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0ID4gLml0ZW0ge1xuICBtYXJnaW4tbGVmdDogMS43NXJlbTtcbn1cbnVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCBsaTpmaXJzdC1jaGlsZCxcbi51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG51bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGk6OmJlZm9yZSxcbi51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTo6YmVmb3JlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG51bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGk6Zmlyc3QtY2hpbGQ6OmJlZm9yZSxcbi51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIE9yZGVyZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbm9sLnVpLmxpc3QsXG4udWkub3JkZXJlZC5saXN0LFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCxcbm9sLnVpLmxpc3Qgb2wge1xuICBjb3VudGVyLXJlc2V0OiBvcmRlcmVkO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxub2wudWkubGlzdCBsaSxcbi51aS5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5vcmRlcmVkLmxpc3QgPiAuaXRlbSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxub2wudWkubGlzdCBsaTpiZWZvcmUsXG4udWkub3JkZXJlZC5saXN0IC5saXN0ID4gLml0ZW06YmVmb3JlLFxuLnVpLm9yZGVyZWQubGlzdCA+IC5pdGVtOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgY291bnRlci1pbmNyZW1lbnQ6IG9yZGVyZWQ7XG4gIGNvbnRlbnQ6IGNvdW50ZXJzKG9yZGVyZWQsIFwiLlwiKSBcIiBcIjtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBvcGFjaXR5OiAwLjg7XG59XG5vbC51aS5pbnZlcnRlZC5saXN0IGxpOmJlZm9yZSxcbi51aS5vcmRlcmVkLmludmVydGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpiZWZvcmUsXG4udWkub3JkZXJlZC5pbnZlcnRlZC5saXN0ID4gLml0ZW06YmVmb3JlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi8qIFZhbHVlICovXG4udWkub3JkZXJlZC5saXN0ID4gLmxpc3QgPiAuaXRlbVtkYXRhLXZhbHVlXSxcbi51aS5vcmRlcmVkLmxpc3QgPiAuaXRlbVtkYXRhLXZhbHVlXSB7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS12YWx1ZSk7XG59XG5vbC51aS5saXN0IGxpW3ZhbHVlXTpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKHZhbHVlKTtcbn1cbi8qIENoaWxkIExpc3RzICovXG5vbC51aS5saXN0IG9sLFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG59XG5vbC51aS5saXN0IG9sIGxpOmJlZm9yZSxcbi51aS5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbTpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogLTJlbTtcbn1cbi8qIEhvcml6b250YWwgT3JkZXJlZCAqL1xub2wudWkuaG9yaXpvbnRhbC5saXN0LFxuLnVpLm9yZGVyZWQuaG9yaXpvbnRhbC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cbm9sLnVpLmhvcml6b250YWwubGlzdCBsaTpiZWZvcmUsXG4udWkub3JkZXJlZC5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbTpiZWZvcmUsXG4udWkub3JkZXJlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbTpiZWZvcmUge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW46IDBlbSAwLjVlbSAwZW0gMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRGl2aWRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmRpdmlkZWQubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuZGl2aWRlZC5saXN0IC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLmRpdmlkZWQubGlzdCAuaXRlbSAubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5kaXZpZGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5kaXZpZGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4vKiBTdWIgTWVudSAqL1xuLnVpLmRpdmlkZWQubGlzdDpub3QoLmhvcml6b250YWwpIC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG59XG4vKiBEaXZpZGVkIGJ1bGxldGVkICovXG4udWkuZGl2aWRlZC5idWxsZXRlZC5saXN0Om5vdCguaG9yaXpvbnRhbCksXG4udWkuZGl2aWRlZC5idWxsZXRlZC5saXN0IC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgcGFkZGluZy1sZWZ0OiAwZW07XG59XG4udWkuZGl2aWRlZC5idWxsZXRlZC5saXN0ID4gLml0ZW06bm90KC5ob3Jpem9udGFsKSB7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbn1cbi8qIERpdmlkZWQgT3JkZXJlZCAqL1xuLnVpLmRpdmlkZWQub3JkZXJlZC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cbi51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmRpdmlkZWQub3JkZXJlZC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG4udWkuZGl2aWRlZC5vcmRlcmVkLmxpc3QgLml0ZW0gLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjE0Mjg1NzFlbTtcbn1cbi51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCAuaXRlbSAubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG59XG4vKiBEaXZpZGVkIFNlbGVjdGlvbiAqL1xuLnVpLmRpdmlkZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5kaXZpZGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICBtYXJnaW46IDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuLyogRGl2aWRlZCBob3Jpem9udGFsICovXG4udWkuZGl2aWRlZC5ob3Jpem9udGFsLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMGVtO1xufVxuLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xufVxuLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xufVxuLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIG1hcmdpbjogMGVtO1xuICBsaW5lLWhlaWdodDogMC42O1xufVxuLnVpLmhvcml6b250YWwuZGl2aWRlZC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi8qIEludmVydGVkICovXG4udWkuZGl2aWRlZC5pbnZlcnRlZC5saXN0ID4gLml0ZW0sXG4udWkuZGl2aWRlZC5pbnZlcnRlZC5saXN0ID4gLmxpc3QsXG4udWkuZGl2aWRlZC5pbnZlcnRlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENlbGxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNlbGxlZC5saXN0ID4gLml0ZW0sXG4udWkuY2VsbGVkLmxpc3QgPiAubGlzdCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBwYWRkaW5nLWxlZnQ6IDAuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbn1cbi51aS5jZWxsZWQubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIFBhZGRpbmcgb24gYWxsIGVsZW1lbnRzICovXG4udWkuY2VsbGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5jZWxsZWQubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMC4yMTQyODU3MWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yMTQyODU3MWVtO1xufVxuLyogU3ViIE1lbnUgKi9cbi51aS5jZWxsZWQubGlzdCAuaXRlbSAubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXdpZHRoOiAwcHg7XG59XG4udWkuY2VsbGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDBweDtcbn1cbi8qIENlbGxlZCBCdWxsZXRlZCAqL1xuLnVpLmNlbGxlZC5idWxsZXRlZC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cbi51aS5jZWxsZWQuYnVsbGV0ZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmNlbGxlZC5idWxsZXRlZC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG4udWkuY2VsbGVkLmJ1bGxldGVkLmxpc3QgLml0ZW0gLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG4gIG1hcmdpbi1yaWdodDogLTEuMjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjIxNDI4NTcxZW07XG59XG4vKiBDZWxsZWQgT3JkZXJlZCAqL1xuLnVpLmNlbGxlZC5vcmRlcmVkLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMGVtO1xufVxuLnVpLmNlbGxlZC5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5jZWxsZWQub3JkZXJlZC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG4udWkuY2VsbGVkLm9yZGVyZWQubGlzdCAuaXRlbSAubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogMGVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yMTQyODU3MWVtO1xufVxuLnVpLmNlbGxlZC5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xufVxuLyogQ2VsbGVkIEhvcml6b250YWwgKi9cbi51aS5ob3Jpem9udGFsLmNlbGxlZC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cbi51aS5ob3Jpem9udGFsLmNlbGxlZC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjY7XG59XG4udWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5jZWxsZWQuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtLFxuLnVpLmNlbGxlZC5pbnZlcnRlZC5saXN0ID4gLmxpc3Qge1xuICBib3JkZXItY29sb3I6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuY2VsbGVkLmludmVydGVkLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmNlbGxlZC5pbnZlcnRlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFJlbGF4ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5yZWxheGVkLmxpc3Q6bm90KC5ob3Jpem9udGFsKSA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgcGFkZGluZy10b3A6IDAuNDI4NTcxNDNlbTtcbn1cbi51aS5yZWxheGVkLmxpc3Q6bm90KC5ob3Jpem9udGFsKSA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBwYWRkaW5nLWJvdHRvbTogMC40Mjg1NzE0M2VtO1xufVxuLnVpLmhvcml6b250YWwucmVsYXhlZC5saXN0IC5saXN0ID4gLml0ZW06bm90KDpmaXJzdC1jaGlsZCksXG4udWkuaG9yaXpvbnRhbC5yZWxheGVkLmxpc3QgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cbi51aS5ob3Jpem9udGFsLnJlbGF4ZWQubGlzdCAubGlzdCA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCksXG4udWkuaG9yaXpvbnRhbC5yZWxheGVkLmxpc3QgPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbn1cbi8qIFZlcnkgUmVsYXhlZCAqL1xuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0Om5vdCguaG9yaXpvbnRhbCkgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctdG9wOiAwLjg1NzE0Mjg2ZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3Q6bm90KC5ob3Jpem9udGFsKSA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBwYWRkaW5nLWJvdHRvbTogMC44NTcxNDI4NmVtO1xufVxuLnVpLmhvcml6b250YWxbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3QgLmxpc3QgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSxcbi51aS5ob3Jpem9udGFsW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0ID4gLml0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbn1cbi51aS5ob3Jpem9udGFsW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0IC5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSxcbi51aS5ob3Jpem9udGFsW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5taW5pLmxpc3Qge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbn1cbi51aS50aW55Lmxpc3Qge1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbn1cbi51aS5zbWFsbC5saXN0IHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG59XG4udWkubGlzdCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLnVpLmxhcmdlLmxpc3Qge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRlbTtcbn1cbi51aS5iaWcubGlzdCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xufVxuLnVpLmh1Z2UubGlzdCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M2VtO1xufVxuLnVpLm1hc3NpdmUubGlzdCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtO1xufVxuLnVpLm1pbmkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkubWluaS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55Lmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLnRpbnkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkuc21hbGwuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuc21hbGwuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubGFyZ2UuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkubGFyZ2UuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmJpZy5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmh1Z2UuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5tYXNzaXZlLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIExvYWRlclxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIExvYWRlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFNvbWUgZ2xvYmFsIGxvYWRlciBzdHlsZXMgZGVmaW5lZCBpbiBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTdGFuZGFyZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUZXh0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEV4YWN0IFNpemVzIChBdm9pZHMgUm91bmRpbmcgRXJyb3JzKSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTG9hZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU29tZSBnbG9iYWwgbG9hZGVyIHN0eWxlcyBkZWZpbmVkIGluIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFN0YW5kYXJkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRleHQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRXhhY3QgU2l6ZXMgKEF2b2lkcyBSb3VuZGluZyBFcnJvcnMpICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTG9hZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU3RhbmRhcmQgU2l6ZSAqL1xuLnVpLmxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMTAwMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG59XG4vKiBTdGF0aWMgU2hhcGUgKi9cbi51aS5sb2FkZXI6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiAwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlcjogMC4yZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLyogQWN0aXZlIFNoYXBlICovXG4udWkubG9hZGVyOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiAwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbmltYXRpb246IGxvYWRlciAwLjZzIGxpbmVhcjtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuMmVtO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQ7XG59XG4vKiBBY3RpdmUgQW5pbWF0aW9uICovXG5Aa2V5ZnJhbWVzIGxvYWRlciB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKiBTaXplcyAqL1xuLnVpLm1pbmkubG9hZGVyOmJlZm9yZSxcbi51aS5taW5pLmxvYWRlcjphZnRlciB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gLTAuNXJlbTtcbn1cbi51aS50aW55LmxvYWRlcjpiZWZvcmUsXG4udWkudGlueS5sb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogMS4xNDI4NTcxNHJlbTtcbiAgaGVpZ2h0OiAxLjE0Mjg1NzE0cmVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIC0wLjU3MTQyODU3cmVtO1xufVxuLnVpLnNtYWxsLmxvYWRlcjpiZWZvcmUsXG4udWkuc21hbGwubG9hZGVyOmFmdGVyIHtcbiAgd2lkdGg6IDEuNzE0Mjg1NzFyZW07XG4gIGhlaWdodDogMS43MTQyODU3MXJlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMC44NTcxNDI4NnJlbTtcbn1cbi51aS5sb2FkZXI6YmVmb3JlLFxuLnVpLmxvYWRlcjphZnRlciB7XG4gIHdpZHRoOiAyLjI4NTcxNDI5cmVtO1xuICBoZWlnaHQ6IDIuMjg1NzE0MjlyZW07XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gLTEuMTQyODU3MTRyZW07XG59XG4udWkubGFyZ2UubG9hZGVyOmJlZm9yZSxcbi51aS5sYXJnZS5sb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogMy40Mjg1NzE0M3JlbTtcbiAgaGVpZ2h0OiAzLjQyODU3MTQzcmVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIC0xLjcxNDI4NTcxcmVtO1xufVxuLnVpLmJpZy5sb2FkZXI6YmVmb3JlLFxuLnVpLmJpZy5sb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogMy43MTQyODU3MXJlbTtcbiAgaGVpZ2h0OiAzLjcxNDI4NTcxcmVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIC0xLjg1NzE0Mjg2cmVtO1xufVxuLnVpLmh1Z2UubG9hZGVyOmJlZm9yZSxcbi51aS5odWdlLmxvYWRlcjphZnRlciB7XG4gIHdpZHRoOiA0LjE0Mjg1NzE0cmVtO1xuICBoZWlnaHQ6IDQuMTQyODU3MTRyZW07XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gLTIuMDcxNDI4NTdyZW07XG59XG4udWkubWFzc2l2ZS5sb2FkZXI6YmVmb3JlLFxuLnVpLm1hc3NpdmUubG9hZGVyOmFmdGVyIHtcbiAgd2lkdGg6IDQuNTcxNDI4NTdyZW07XG4gIGhlaWdodDogNC41NzE0Mjg1N3JlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMi4yODU3MTQyOXJlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNob3cgaW5zaWRlIGFjdGl2ZSBkaW1tZXIgKi9cbi51aS5kaW1tZXIgLmxvYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogQmxhY2sgRGltbWVyICovXG4udWkuZGltbWVyIC51aS5sb2FkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmRpbW1lciAudWkubG9hZGVyOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cbi51aS5kaW1tZXIgLnVpLmxvYWRlcjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI0ZGRkZGRiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cbi8qIFdoaXRlIERpbW1lciAoSW52ZXJ0ZWQpICovXG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5sb2FkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmxvYWRlcjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmxvYWRlcjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnRleHQubG9hZGVyIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5pbmRldGVybWluYXRlLmxvYWRlcjphZnRlciB7XG4gIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4ycztcbn1cbi51aS5sb2FkZXIuYWN0aXZlLFxuLnVpLmxvYWRlci52aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkubG9hZGVyLmRpc2FibGVkLFxuLnVpLmxvYWRlci5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlciAqL1xuLnVpLmludmVydGVkLmRpbW1lciAudWkubWluaS5sb2FkZXIsXG4udWkubWluaS5sb2FkZXIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLnRpbnkubG9hZGVyLFxuLnVpLnRpbnkubG9hZGVyIHtcbiAgd2lkdGg6IDEuMTQyODU3MTRyZW07XG4gIGhlaWdodDogMS4xNDI4NTcxNHJlbTtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5zbWFsbC5sb2FkZXIsXG4udWkuc21hbGwubG9hZGVyIHtcbiAgd2lkdGg6IDEuNzE0Mjg1NzFyZW07XG4gIGhlaWdodDogMS43MTQyODU3MXJlbTtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5sb2FkZXIsXG4udWkubG9hZGVyIHtcbiAgd2lkdGg6IDIuMjg1NzE0MjlyZW07XG4gIGhlaWdodDogMi4yODU3MTQyOXJlbTtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5sYXJnZS5sb2FkZXIsXG4udWkubGFyZ2UubG9hZGVyIHtcbiAgd2lkdGg6IDMuNDI4NTcxNDNyZW07XG4gIGhlaWdodDogMy40Mjg1NzE0M3JlbTtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5iaWcubG9hZGVyLFxuLnVpLmJpZy5sb2FkZXIge1xuICB3aWR0aDogMy43MTQyODU3MXJlbTtcbiAgaGVpZ2h0OiAzLjcxNDI4NTcxcmVtO1xuICBmb250LXNpemU6IDEuMjg1NzE0MjllbTtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmh1Z2UubG9hZGVyLFxuLnVpLmh1Z2UubG9hZGVyIHtcbiAgd2lkdGg6IDQuMTQyODU3MTRyZW07XG4gIGhlaWdodDogNC4xNDI4NTcxNHJlbTtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzZW07XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5tYXNzaXZlLmxvYWRlcixcbi51aS5tYXNzaXZlLmxvYWRlciB7XG4gIHdpZHRoOiA0LjU3MTQyODU3cmVtO1xuICBoZWlnaHQ6IDQuNTcxNDI4NTdyZW07XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtO1xufVxuLyogVGV4dCBMb2FkZXIgKi9cbi51aS5taW5pLnRleHQubG9hZGVyIHtcbiAgbWluLXdpZHRoOiAxcmVtO1xuICBwYWRkaW5nLXRvcDogMS43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LnRleHQubG9hZGVyIHtcbiAgbWluLXdpZHRoOiAxLjE0Mjg1NzE0cmVtO1xuICBwYWRkaW5nLXRvcDogMS45Mjg1NzE0M3JlbTtcbn1cbi51aS5zbWFsbC50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogMS43MTQyODU3MXJlbTtcbiAgcGFkZGluZy10b3A6IDIuNXJlbTtcbn1cbi51aS50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogMi4yODU3MTQyOXJlbTtcbiAgcGFkZGluZy10b3A6IDMuMDcxNDI4NTdyZW07XG59XG4udWkubGFyZ2UudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IDMuNDI4NTcxNDNyZW07XG4gIHBhZGRpbmctdG9wOiA0LjIxNDI4NTcxcmVtO1xufVxuLnVpLmJpZy50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogMy43MTQyODU3MXJlbTtcbiAgcGFkZGluZy10b3A6IDQuNXJlbTtcbn1cbi51aS5odWdlLnRleHQubG9hZGVyIHtcbiAgbWluLXdpZHRoOiA0LjE0Mjg1NzE0cmVtO1xuICBwYWRkaW5nLXRvcDogNC45Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLnRleHQubG9hZGVyIHtcbiAgbWluLXdpZHRoOiA0LjU3MTQyODU3cmVtO1xuICBwYWRkaW5nLXRvcDogNS4zNTcxNDI4NnJlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuaW52ZXJ0ZWQubG9hZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5pbnZlcnRlZC5sb2FkZXI6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xufVxuLnVpLmludmVydGVkLmxvYWRlcjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6ICNGRkZGRkY7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbmxpbmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pbmxpbmUubG9hZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDBlbTtcbiAgbGVmdDogMGVtO1xuICB0b3A6IDBlbTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLnVpLmlubGluZS5sb2FkZXIuYWN0aXZlLFxuLnVpLmlubGluZS5sb2FkZXIudmlzaWJsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi8qIENlbnRlcmVkIElubGluZSAqL1xuLnVpLmNlbnRlcmVkLmlubGluZS5sb2FkZXIuYWN0aXZlLFxuLnVpLmNlbnRlcmVkLmlubGluZS5sb2FkZXIudmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIExvYWRlclxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKiBLZXkgQ29udGVudCBTaXppbmcgKi9cbi8qIEludGVydmFsIGJldHdlZW4gY29uc2VjdXRpdmUgcGxhY2Vob2xkZXJzICovXG4vKiBSZXBlYXRlZCBQbGFjZWhvbGRlciAqL1xuLyogSW1hZ2UgKi9cbi8qIEhlYWRlciBJbWFnZSAqL1xuLyogUGFyYWdyYXBoICovXG4vKiBHbG93IEdyYWRpZW50ICovXG4vKiBWYXJpYXRpb25zICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyogS2V5IENvbnRlbnQgU2l6aW5nICovXG4vKiBJbnRlcnZhbCBiZXR3ZWVuIGNvbnNlY3V0aXZlIHBsYWNlaG9sZGVycyAqL1xuLyogUmVwZWF0ZWQgUGxhY2Vob2xkZXIgKi9cbi8qIEltYWdlICovXG4vKiBIZWFkZXIgSW1hZ2UgKi9cbi8qIFBhcmFncmFwaCAqL1xuLyogR2xvdyBHcmFkaWVudCAqL1xuLyogVmFyaWF0aW9ucyAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkucGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyU2hpbW1lciAycyBsaW5lYXI7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC4wOCkgMCUsIHJnYmEoMCwgMCwgMCwgMC4xNSkgMTUlLCByZ2JhKDAsIDAsIDAsIDAuMDgpIDMwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMTIwMHB4IDEwMCU7XG4gIG1heC13aWR0aDogMzByZW07XG59XG5Aa2V5ZnJhbWVzIHBsYWNlaG9sZGVyU2hpbW1lciB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwMHB4IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTIwMHB4IDA7XG4gIH1cbn1cbi51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG4udWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIge1xuICBhbmltYXRpb24tZGVsYXk6IDAuMTVzO1xufVxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzO1xufVxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjQ1cztcbn1cbi51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciB7XG4gIGFuaW1hdGlvbi1kZWxheTogMC42cztcbn1cbi51aS5wbGFjZWhvbGRlcixcbi51aS5wbGFjZWhvbGRlciA+IDpiZWZvcmUsXG4udWkucGxhY2Vob2xkZXIgLmltYWdlLmhlYWRlcjphZnRlcixcbi51aS5wbGFjZWhvbGRlciAubGluZSxcbi51aS5wbGFjZWhvbGRlciAubGluZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4vKiBJbWFnZSAqL1xuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZTpub3QoLmhlYWRlcik6bm90KC51aSkge1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5zcXVhcmUuaW1hZ2U6bm90KC5oZWFkZXIpIHtcbiAgaGVpZ2h0OiAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDEvMSBhc3BlY3QgcmF0aW8gKi9cbiAgcGFkZGluZy10b3A6IDEwMCU7XG59XG4udWkucGxhY2Vob2xkZXIgLnJlY3Rhbmd1bGFyLmltYWdlOm5vdCguaGVhZGVyKSB7XG4gIGhlaWdodDogMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiA0LzMgYXNwZWN0IHJhdGlvICovXG4gIHBhZGRpbmctdG9wOiA3NSU7XG59XG4vKiBMaW5lcyAqL1xuLnVpLnBsYWNlaG9sZGVyIC5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuODU3MTQyODZlbTtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTpiZWZvcmUsXG4udWkucGxhY2Vob2xkZXIgLmxpbmU6YWZ0ZXIge1xuICB0b3A6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG59XG4udWkucGxhY2Vob2xkZXIgLmxpbmU6YmVmb3JlIHtcbiAgbGVmdDogMHB4O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOmFmdGVyIHtcbiAgcmlnaHQ6IDBweDtcbn1cbi8qIEFueSBMaW5lcyAqL1xuLnVpLnBsYWNlaG9sZGVyIC5saW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG4udWkucGxhY2Vob2xkZXIgLmxpbmU6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOmFmdGVyIHtcbiAgaGVpZ2h0OiAwLjVlbTtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xufVxuLyogSGVhZGVyIEltYWdlICsgMiBMaW5lcyAqL1xuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4vKiBMaW5lIE91dGRlbnQgKi9cbi51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoMSk6YWZ0ZXIge1xuICB3aWR0aDogMCU7XG59XG4udWkucGxhY2Vob2xkZXIgLmxpbmU6bnRoLWNoaWxkKDIpOmFmdGVyIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoMyk6YWZ0ZXIge1xuICB3aWR0aDogMTAlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOm50aC1jaGlsZCg0KTphZnRlciB7XG4gIHdpZHRoOiAzNSU7XG59XG4udWkucGxhY2Vob2xkZXIgLmxpbmU6bnRoLWNoaWxkKDUpOmFmdGVyIHtcbiAgd2lkdGg6IDY1JTtcbn1cbi8qIEhlYWRlciBMaW5lIDEgJiAyKi9cbi51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42NDI4NTcxNGVtO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6YWZ0ZXIge1xuICBoZWlnaHQ6IDAuNjQyODU3MTRlbTtcbn1cbi51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMC42NDI4NTcxNGVtO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6YWZ0ZXIge1xuICB3aWR0aDogMjAlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6bnRoLWNoaWxkKDIpOmFmdGVyIHtcbiAgd2lkdGg6IDYwJTtcbn1cbi8qIEltYWdlIEhlYWRlciAqL1xuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXIgLmxpbmUge1xuICBtYXJnaW4tbGVmdDogM2VtO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXIgLmxpbmU6YmVmb3JlIHtcbiAgd2lkdGg6IDAuNzE0Mjg1NzFyZW07XG59XG4udWkucGxhY2Vob2xkZXIgLmltYWdlLmhlYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDAuODU3MTQyODZlbTtcbiAgY29udGVudDogJyc7XG4gIG1hcmdpbi1sZWZ0OiAzZW07XG59XG4vKiBTcGFjaW5nICovXG4udWkucGxhY2Vob2xkZXIgLmltYWdlIC5saW5lOmZpcnN0LWNoaWxkLFxuLnVpLnBsYWNlaG9sZGVyIC5wYXJhZ3JhcGggLmxpbmU6Zmlyc3QtY2hpbGQsXG4udWkucGxhY2Vob2xkZXIgLmhlYWRlciAubGluZTpmaXJzdC1jaGlsZCB7XG4gIGhlaWdodDogMC4wMXB4O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZTpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsXG4udWkucGxhY2Vob2xkZXIgLnBhcmFncmFwaDpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUsXG4udWkucGxhY2Vob2xkZXIgLmhlYWRlcjpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUge1xuICBoZWlnaHQ6IDEuNDI4NTcxNDNlbTtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogSW52ZXJ0ZWQgQ29udGVudCBMb2FkZXIgKi9cbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KSAxNSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgMzAlKTtcbn1cbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlcixcbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciA+IDpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucGxhY2Vob2xkZXIgLmltYWdlLmhlYWRlcjphZnRlcixcbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciAubGluZSxcbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciAubGluZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnBsYWNlaG9sZGVyIC5mdWxsLmxpbmUubGluZS5saW5lOmFmdGVyIHtcbiAgd2lkdGg6IDAlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC52ZXJ5LmxvbmcubGluZS5saW5lLmxpbmU6YWZ0ZXIge1xuICB3aWR0aDogMTAlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC5sb25nLmxpbmUubGluZS5saW5lOmFmdGVyIHtcbiAgd2lkdGg6IDM1JTtcbn1cbi51aS5wbGFjZWhvbGRlciAubWVkaXVtLmxpbmUubGluZS5saW5lOmFmdGVyIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS5wbGFjZWhvbGRlciAuc2hvcnQubGluZS5saW5lLmxpbmU6YWZ0ZXIge1xuICB3aWR0aDogNjUlO1xufVxuLnVpLnBsYWNlaG9sZGVyIC52ZXJ5LnNob3J0LmxpbmUubGluZS5saW5lOmFmdGVyIHtcbiAgd2lkdGg6IDgwJTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZsdWlkLnBsYWNlaG9sZGVyIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gUmFpbFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUmFpbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQ2xvc2UgKi9cbi8qIERpdmlkaW5nICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFJhaWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIENsb3NlICovXG4vKiBEaXZpZGluZyAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBSYWlsc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5yYWlsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAlO1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMTAwJTtcbn1cbi51aS5sZWZ0LnJhaWwge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTtcbiAgcGFkZGluZzogMGVtIDJyZW0gMGVtIDBlbTtcbiAgbWFyZ2luOiAwZW0gMnJlbSAwZW0gMGVtO1xufVxuLnVpLnJpZ2h0LnJhaWwge1xuICBsZWZ0OiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgcGFkZGluZzogMGVtIDBlbSAwZW0gMnJlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAycmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSW50ZXJuYWxcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkubGVmdC5pbnRlcm5hbC5yYWlsIHtcbiAgbGVmdDogMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwZW0gMGVtIDBlbSAycmVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDJyZW07XG59XG4udWkucmlnaHQuaW50ZXJuYWwucmFpbCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwJTtcbiAgcGFkZGluZzogMGVtIDJyZW0gMGVtIDBlbTtcbiAgbWFyZ2luOiAwZW0gMnJlbSAwZW0gMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIERpdmlkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmRpdmlkaW5nLnJhaWwge1xuICB3aWR0aDogMzAyLjVweDtcbn1cbi51aS5sZWZ0LmRpdmlkaW5nLnJhaWwge1xuICBwYWRkaW5nOiAwZW0gMi41cmVtIDBlbSAwZW07XG4gIG1hcmdpbjogMGVtIDIuNXJlbSAwZW0gMGVtO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnJpZ2h0LmRpdmlkaW5nLnJhaWwge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHBhZGRpbmc6IDBlbSAwZW0gMGVtIDIuNXJlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAyLjVyZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRGlzdGFuY2Vcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2xvc2UucmFpbCB7XG4gIHdpZHRoOiBjYWxjKCAzMDBweCAgKyAgMWVtICk7XG59XG4udWkuY2xvc2UubGVmdC5yYWlsIHtcbiAgcGFkZGluZzogMGVtIDFlbSAwZW0gMGVtO1xuICBtYXJnaW46IDBlbSAxZW0gMGVtIDBlbTtcbn1cbi51aS5jbG9zZS5yaWdodC5yYWlsIHtcbiAgcGFkZGluZzogMGVtIDBlbSAwZW0gMWVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDFlbTtcbn1cbi51aS52ZXJ5LmNsb3NlLnJhaWwge1xuICB3aWR0aDogY2FsYyggMzAwcHggICsgIDAuNWVtICk7XG59XG4udWkudmVyeS5jbG9zZS5sZWZ0LnJhaWwge1xuICBwYWRkaW5nOiAwZW0gMC41ZW0gMGVtIDBlbTtcbiAgbWFyZ2luOiAwZW0gMC41ZW0gMGVtIDBlbTtcbn1cbi51aS52ZXJ5LmNsb3NlLnJpZ2h0LnJhaWwge1xuICBwYWRkaW5nOiAwZW0gMGVtIDBlbSAwLjVlbTtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwLjVlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBBdHRhY2hlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5hdHRhY2hlZC5sZWZ0LnJhaWwsXG4udWkuYXR0YWNoZWQucmlnaHQucmFpbCB7XG4gIHBhZGRpbmc6IDBlbTtcbiAgbWFyZ2luOiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5taW5pLnJhaWwge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5yYWlsIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLnJhaWwge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkucmFpbCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5sYXJnZS5yYWlsIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5yYWlsIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UucmFpbCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLnJhaWwge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gUmV2ZWFsXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBSZXZlYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUeXBlcyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBSZXZlYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUeXBlcyAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFJldmVhbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5yZXZlYWwge1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwZW0gIWltcG9ydGFudDtcbn1cbi51aS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMGVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDBlbSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAzICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UgMC4xcztcbn1cbi51aS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgei1pbmRleDogMiAhaW1wb3J0YW50O1xufVxuLyogTWFrZSBzdXJlIGhvdmVyZWQgZWxlbWVudCBpcyBvbiB0b3Agb2Ygb3RoZXIgcmV2ZWFsICovXG4udWkuYWN0aXZlLnJldmVhbCAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJldmVhbDpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgei1pbmRleDogNCAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBTbGlkZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5zbGlkZS5yZXZlYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnVpLnNsaWRlLnJldmVhbCA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwZW07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2UgMC4xcztcbn1cbi51aS5zbGlkZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnNsaWRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUuYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbi51aS5zbGlkZS5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUucmlnaHQucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5yaWdodC5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUucmlnaHQuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkuc2xpZGUucmlnaHQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLnJpZ2h0LmFjdGl2ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQsXG4udWkuc2xpZGUucmlnaHQucmV2ZWFsOmhvdmVyID4gLmhpZGRlbi5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLnVwLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLnVwLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnNsaWRlLnVwLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUudXAuYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbi51aS5zbGlkZS51cC5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUuZG93bi5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUuZG93bi5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5zbGlkZS5kb3duLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5kb3duLmFjdGl2ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQsXG4udWkuc2xpZGUuZG93bi5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBGYWRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZhZGUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIG9wYWNpdHk6IDE7XG59XG4udWkuZmFkZS5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5mYWRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICBvcGFjaXR5OiAwO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTW92ZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5tb3ZlLnJldmVhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4udWkubW92ZS5yZXZlYWwgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbWFyZ2luOiAwZW07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpIDAuMXM7XG59XG4udWkubW92ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG4udWkubW92ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgbGVmdDogMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi51aS5tb3ZlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLm1vdmUucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5tb3ZlLnJpZ2h0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLm1vdmUucmlnaHQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLm1vdmUudXAuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkubW92ZS51cC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLm1vdmUuZG93bi5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5tb3ZlLmRvd24ucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBSb3RhdGVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkucm90YXRlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbn1cbi51aS5yb3RhdGUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5yb3RhdGUucmlnaHQucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbn1cbi51aS5yb3RhdGUuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkucm90YXRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkucm90YXRlLnJpZ2h0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJvdGF0ZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTEwZGVnKTtcbn1cbi51aS5yb3RhdGUubGVmdC5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG59XG4udWkucm90YXRlLmxlZnQuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkucm90YXRlLmxlZnQucmV2ZWFsOmhvdmVyID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMTBkZWcpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmRpc2FibGVkLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLnZpc2libGUuY29udGVudCB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB0b3A6IDAgIWltcG9ydGFudDtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG4udWkuZGlzYWJsZWQucmV2ZWFsOmhvdmVyID4gLmhpZGRlbi5oaWRkZW4uY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnJldmVhbCA+IC51aS5yaWJib24ubGFiZWwge1xuICB6LWluZGV4OiA1O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS52aXNpYmxlLnJldmVhbCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJbnN0YW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmluc3RhbnQucmV2ZWFsID4gLmNvbnRlbnQge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcyAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkucmV2ZWFsID4gLmNvbnRlbnQge1xuICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBTZWdtZW50XG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTZWdtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQYWdlIEdyaWQgU2VnbWVudCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFBpbGVkICovXG4vKiBDaXJjdWxhciAqL1xuLyogU3RhY2tlZCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIExvYWRpbmcgRGltbWVyICovXG4vKiBMb2FkaW5nIFNwaW5uZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUmFpc2VkICovXG4vKiBQYWRkZWQgKi9cbi8qIEF0dGFjaGVkICovXG4vKiBJbnZlcnRlZCAqL1xuLyogRmxvYXRlZCAqL1xuLyogQmFzaWMgKi9cbi8qIENvbG9ycyAqL1xuLyogT3JkaW5hbGl0eSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTZWdtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQYWdlIEdyaWQgU2VnbWVudCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFBpbGVkICovXG4vKiBDaXJjdWxhciAqL1xuLyogU3RhY2tlZCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIExvYWRpbmcgRGltbWVyICovXG4vKiBMb2FkaW5nIFNwaW5uZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUmFpc2VkICovXG4vKiBQYWRkZWQgKi9cbi8qIEF0dGFjaGVkICovXG4vKiBJbnZlcnRlZCAqL1xuLyogRmxvYXRlZCAqL1xuLyogQmFzaWMgKi9cbi8qIENvbG9ycyAqL1xuLyogT3JkaW5hbGl0eSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFNlZ21lbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuc2VnbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBtYXJnaW46IDFyZW0gMGVtO1xuICBwYWRkaW5nOiAxZW0gMWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkuc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLyogVmVydGljYWwgKi9cbi51aS52ZXJ0aWNhbC5zZWdtZW50IHtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmctbGVmdDogMGVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwZW07XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS52ZXJ0aWNhbC5zZWdtZW50Omxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTG9vc2UgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEhlYWRlciAqL1xuLnVpLmludmVydGVkLnNlZ21lbnQgPiAudWkuaGVhZGVyIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBMYWJlbCAqL1xuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5zZWdtZW50ID4gW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBlbTtcbn1cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uc2VnbWVudCA+IFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubGFiZWwge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwZW07XG59XG4udWkuYXR0YWNoZWQuc2VnbWVudDpub3QoLnRvcCk6bm90KC5ib3R0b20pID4gW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBlbTtcbn1cbi51aS5hdHRhY2hlZC5zZWdtZW50Om5vdCgudG9wKTpub3QoLmJvdHRvbSkgPiBbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMGVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMGVtO1xufVxuLyogR3JpZCAqL1xuLnVpLnBhZ2UuZ3JpZC5zZWdtZW50LFxuLnVpLmdyaWQgPiAucm93ID4gLnVpLnNlZ21lbnQuY29sdW1uLFxuLnVpLmdyaWQgPiAudWkuc2VnbWVudC5jb2x1bW4ge1xuICBwYWRkaW5nLXRvcDogMmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMmVtO1xufVxuLnVpLmdyaWQuc2VnbWVudCB7XG4gIG1hcmdpbjogMXJlbSAwZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKiBUYWJsZSAqL1xuLnVpLmJhc2ljLnRhYmxlLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZS5zZWdtZW50IHtcbiAgcGFkZGluZzogMWVtIDFlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgUGxhY2Vob2xkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gIGFuaW1hdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IDFlbSAxZW07XG4gIG1pbi1oZWlnaHQ6IDE4cmVtO1xuICBiYWNrZ3JvdW5kOiAjRjlGQUZCO1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMjVweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4wNSkgaW5zZXQ7XG59XG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCAuYnV0dG9uLFxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgdGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5maWVsZCxcbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IHRleHRhcmVhLFxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgPiAudWkuaW5wdXQsXG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCAuYnV0dG9uIHtcbiAgbWF4LXdpZHRoOiAxNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5jb2x1bW4gLmJ1dHRvbixcbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5jb2x1bW4gLmZpZWxkLFxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgLmNvbHVtbiB0ZXh0YXJlYSxcbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5jb2x1bW4gPiAudWkuaW5wdXQge1xuICBtYXgtd2lkdGg6IDE1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgPiAuaW5saW5lIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgPiAuaW5saW5lID4gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMHB4IDAuMzU3MTQyODZyZW0gMHB4IDBweDtcbn1cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50ID4gLmlubGluZSA+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMHB4O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBpbGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkucGlsZWQuc2VnbWVudHMsXG4udWkucGlsZWQuc2VnbWVudCB7XG4gIG1hcmdpbjogM2VtIDBlbTtcbiAgYm94LXNoYWRvdzogJyc7XG4gIHotaW5kZXg6IGF1dG87XG59XG4udWkucGlsZWQuc2VnbWVudDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5waWxlZC5zZWdtZW50Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4udWkucGlsZWQuc2VnbWVudHM6YWZ0ZXIsXG4udWkucGlsZWQuc2VnbWVudHM6YmVmb3JlLFxuLnVpLnBpbGVkLnNlZ21lbnQ6YWZ0ZXIsXG4udWkucGlsZWQuc2VnbWVudDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3gtc2hhZG93OiAnJztcbn1cbi51aS5waWxlZC5zZWdtZW50czpiZWZvcmUsXG4udWkucGlsZWQuc2VnbWVudDpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMS4yZGVnKTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAtMjtcbn1cbi51aS5waWxlZC5zZWdtZW50czphZnRlcixcbi51aS5waWxlZC5zZWdtZW50OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMS4yZGVnKTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cbi8qIFBpbGVkIEF0dGFjaGVkICovXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLnBpbGVkLnNlZ21lbnQge1xuICBtYXJnaW4tdG9wOiAzZW07XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi51aS5waWxlZC5zZWdtZW50W2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5waWxlZC5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXSB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogM2VtO1xufVxuLnVpLnBpbGVkLnNlZ21lbnRbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGFja2VkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuc3RhY2tlZC5zZWdtZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNGVtO1xufVxuLnVpLnN0YWNrZWQuc2VnbWVudHM6YmVmb3JlLFxuLnVpLnN0YWNrZWQuc2VnbWVudHM6YWZ0ZXIsXG4udWkuc3RhY2tlZC5zZWdtZW50OmJlZm9yZSxcbi51aS5zdGFja2VkLnNlZ21lbnQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0zcHg7XG4gIGxlZnQ6IDAlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNnB4O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnVpLnN0YWNrZWQuc2VnbWVudHM6YmVmb3JlLFxuLnVpLnN0YWNrZWQuc2VnbWVudDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogQWRkIGFkZGl0aW9uYWwgcGFnZSAqL1xuLnVpLnRhbGwuc3RhY2tlZC5zZWdtZW50czpiZWZvcmUsXG4udWkudGFsbC5zdGFja2VkLnNlZ21lbnQ6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvdHRvbTogMHB4O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5zdGFja2VkLmludmVydGVkLnNlZ21lbnRzOmJlZm9yZSxcbi51aS5zdGFja2VkLmludmVydGVkLnNlZ21lbnRzOmFmdGVyLFxuLnVpLnN0YWNrZWQuaW52ZXJ0ZWQuc2VnbWVudDpiZWZvcmUsXG4udWkuc3RhY2tlZC5pbnZlcnRlZC5zZWdtZW50OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4zNSk7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBQYWRkZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5wYWRkZWQuc2VnbWVudCB7XG4gIHBhZGRpbmc6IDEuNWVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnNlZ21lbnQge1xuICBwYWRkaW5nOiAzZW07XG59XG4vKiBQYWRkZWQgdmVydGljYWwgKi9cbi51aS5wYWRkZWQuc2VnbWVudC52ZXJ0aWNhbC5zZWdtZW50LFxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnZlcnRpY2FsLnNlZ21lbnQge1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgcGFkZGluZy1yaWdodDogMHB4O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29tcGFjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNvbXBhY3Quc2VnbWVudCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuLyogQ29tcGFjdCBHcm91cCAqL1xuLnVpLmNvbXBhY3Quc2VnbWVudHMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cbi51aS5jb21wYWN0LnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLnNlZ21lbnRzIC5jb21wYWN0LnNlZ21lbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMCAxIGF1dG87XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDaXJjdWxhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNpcmN1bGFyLnNlZ21lbnQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwYWRkaW5nOiAyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXJhZGl1czogNTAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBSYWlzZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5yYWlzZWQuc2VnbWVudHMsXG4udWkucmFpc2VkLnNlZ21lbnQge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMHB4IDJweCAxMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEdyb3Vwc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdyb3VwICovXG4udWkuc2VnbWVudHMge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMXJlbSAwZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5zZWdtZW50czpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5zZWdtZW50czpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLyogTmVzdGVkIFNlZ21lbnQgKi9cbi51aS5zZWdtZW50cyA+IC5zZWdtZW50IHtcbiAgdG9wOiAwcHg7XG4gIGJvdHRvbTogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIG1hcmdpbjogMGVtO1xuICB3aWR0aDogYXV0bztcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zZWdtZW50czpub3QoLmhvcml6b250YWwpID4gLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIHRvcDogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cbi8qIEJvdHRvbSAqL1xuLnVpLnNlZ21lbnRzOm5vdCguaG9yaXpvbnRhbCkgPiAuc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgdG9wOiAwcHg7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCBub25lO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi8qIE9ubHkgKi9cbi51aS5zZWdtZW50czpub3QoLmhvcml6b250YWwpID4gLnNlZ21lbnQ6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKiBOZXN0ZWQgR3JvdXAgKi9cbi51aS5zZWdtZW50cyA+IC51aS5zZWdtZW50cyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBtYXJnaW46IDFyZW0gMXJlbTtcbn1cbi51aS5zZWdtZW50cyA+IC5zZWdtZW50czpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuc2VnbWVudHMgPiAuc2VnbWVudCArIC5zZWdtZW50czpub3QoLmhvcml6b250YWwpIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLyogSG9yaXpvbnRhbCBHcm91cCAqL1xuLnVpLmhvcml6b250YWwuc2VnbWVudHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBwYWRkaW5nOiAwZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgbWFyZ2luOiAxcmVtIDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIE5lc3RlZCBIb3Jpem9udGFsIEdyb3VwICovXG4udWkuc2VnbWVudHMgPiAuaG9yaXpvbnRhbC5zZWdtZW50cyB7XG4gIG1hcmdpbjogMGVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogSG9yaXpvbnRhbCBTZWdtZW50ICovXG4udWkuaG9yaXpvbnRhbC5zZWdtZW50cyA+IC5zZWdtZW50IHtcbiAgZmxleDogMSAxIGF1dG87XG4gIC1tcy1mbGV4OiAxIDEgMHB4O1xuICAvKiBTb2x2ZXMgIzI1NTAgTVMgRmxleCAqL1xuICBtYXJnaW46IDBlbTtcbiAgbWluLXdpZHRoOiAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogQm9yZGVyIEZpeGVzICovXG4udWkuc2VnbWVudHMgPiAuaG9yaXpvbnRhbC5zZWdtZW50czpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuaG9yaXpvbnRhbC5zZWdtZW50cyA+IC5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmRpc2FibGVkLnNlZ21lbnQge1xuICBvcGFjaXR5OiAwLjQ1O1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkubG9hZGluZy5zZWdtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbn1cbi51aS5sb2FkaW5nLnNlZ21lbnQ6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiAwJTtcbiAgbGVmdDogMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgei1pbmRleDogMTAwO1xufVxuLnVpLmxvYWRpbmcuc2VnbWVudDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTEuNWVtIDBlbSAwZW0gLTEuNWVtO1xuICB3aWR0aDogM2VtO1xuICBoZWlnaHQ6IDNlbTtcbiAgYW5pbWF0aW9uOiBzZWdtZW50LXNwaW4gMC42cyBsaW5lYXI7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB6LWluZGV4OiAxMDE7XG59XG5Aa2V5ZnJhbWVzIHNlZ21lbnQtc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQmFzaWNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5iYXNpYy5zZWdtZW50IHtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDbGVhcmluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNsZWFyaW5nLnNlZ21lbnQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIi5cIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUmVkICovXG4udWkucmVkLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI0RCMjgyOCAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnJlZC5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogT3JhbmdlICovXG4udWkub3JhbmdlLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI0YyNzExQyAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyNzExQyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogWWVsbG93ICovXG4udWkueWVsbG93LnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI0ZCQkQwOCAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnllbGxvdy5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCQkQwOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogT2xpdmUgKi9cbi51aS5vbGl2ZS5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNCNUNDMTggIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I1Q0MxOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogR3JlZW4gKi9cbi51aS5ncmVlbi5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMyMUJBNDUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxQkE0NSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogVGVhbCAqL1xuLnVpLnRlYWwuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMDBCNUFEICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwQjVBRCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogQmx1ZSAqL1xuLnVpLmJsdWUuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjMjE4NUQwICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogVmlvbGV0ICovXG4udWkudmlvbGV0LnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzY0MzVDOSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnZpb2xldC5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0MzVDOSAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogUHVycGxlICovXG4udWkucHVycGxlLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI0EzMzNDOCAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0EzMzNDOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogUGluayAqL1xuLnVpLnBpbmsuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjRTAzOTk3ICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQucGluay5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UwMzk5NyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogQnJvd24gKi9cbi51aS5icm93bi5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNBNTY3M0YgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E1NjczRiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogR3JleSAqL1xuLnVpLmdyZXkuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjNzY3Njc2ICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogQmxhY2sgKi9cbi51aS5ibGFjay5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMxQjFDMUQgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWxpZ25lZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5zZWdtZW50IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLnNlZ21lbnQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5zZWdtZW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRmxvYXRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZsb2F0ZWQuc2VnbWVudCxcbi51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uc2VnbWVudCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLnNlZ21lbnQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5pbnZlcnRlZC5zZWdtZW50LFxuLnVpLnByaW1hcnkuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gIGJhY2tncm91bmQ6ICMxQjFDMUQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4vKiBOZXN0ZWQgKi9cbi51aS5pbnZlcnRlZC5zZWdtZW50IC5zZWdtZW50IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaW52ZXJ0ZWQuc2VnbWVudCAuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4vKiBBdHRhY2hlZCAqL1xuLnVpLmludmVydGVkLmF0dGFjaGVkLnNlZ21lbnQge1xuICBib3JkZXItY29sb3I6ICM1NTU1NTU7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgRW1waGFzaXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlY29uZGFyeSAqL1xuLnVpLnNlY29uZGFyeS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZDogI0YzRjRGNTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gIGJhY2tncm91bmQ6ICM0YzRmNTIgbGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpIDEwMCUpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuLyogVGVydGlhcnkgKi9cbi51aS50ZXJ0aWFyeS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZDogI0RDRERERTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS50ZXJ0aWFyeS5pbnZlcnRlZC5zZWdtZW50IHtcbiAgYmFja2dyb3VuZDogIzcxNzU3OSBsaW5lYXItZ3JhZGllbnQocmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAxMDAlKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQXR0YWNoZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1pZGRsZSAqL1xuLnVpLmF0dGFjaGVkLnNlZ21lbnQge1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWFyZ2luOiAwZW0gLTFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtICgtMXB4ICogMikpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgtMXB4ICogMikpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDRENEQ1O1xufVxuLnVpLmF0dGFjaGVkOm5vdCgubWVzc2FnZSkgKyAudWkuYXR0YWNoZWQuc2VnbWVudDpub3QoLnRvcCkge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLyogVG9wICovXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLnNlZ21lbnQge1xuICBib3R0b206IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB0b3A6IDBweDtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG4udWkuc2VnbWVudFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4vKiBCb3R0b20gKi9cbi51aS5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXSB7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIHRvcDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnNlZ21lbnRbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm1pbmkuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkubWluaS5zZWdtZW50IHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkudGlueS5zZWdtZW50IHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLnNtYWxsLnNlZ21lbnQge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5sYXJnZS5zZWdtZW50cyAuc2VnbWVudCxcbi51aS5sYXJnZS5zZWdtZW50IHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5zZWdtZW50cyAuc2VnbWVudCxcbi51aS5iaWcuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLmh1Z2Uuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLm1hc3NpdmUuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBTdGVwXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGVwXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgTG9hZCBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0ZXBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBHcm91cFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJY29uICovXG4vKiBUaXRsZSAqL1xuLyogRGVzY3JpcHRpb24gKi9cbi8qIEFycm93ICovXG4vKiBNb2JpbGUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBWZXJ0aWNhbCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIENvbXBsZXRlZCAqL1xuLyogSG92ZXIgKi9cbi8qIERvd24gKi9cbi8qIEFjdGl2ZSAqL1xuLyogQWN0aXZlICsgSG92ZXIgKi9cbi8qIERpc2FibGVkICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGVwXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSWNvbiAqL1xuLyogVGl0bGUgKi9cbi8qIERlc2NyaXB0aW9uICovXG4vKiBBcnJvdyAqL1xuLyogTW9iaWxlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVmVydGljYWwgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBDb21wbGV0ZWQgKi9cbi8qIEhvdmVyICovXG4vKiBEb3duICovXG4vKiBBY3RpdmUgKi9cbi8qIEFjdGl2ZSArIEhvdmVyICovXG4vKiBEaXNhYmxlZCAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFBsdXJhbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5zdGVwcyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgbWFyZ2luOiAxZW0gMGVtO1xuICBiYWNrZ3JvdW5kOiAnJztcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTRlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIEZpcnN0IFN0ZXBzICovXG4udWkuc3RlcHM6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4vKiBMYXN0IFN0ZXBzICovXG4udWkuc3RlcHM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFNpbmd1bGFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnN0ZXBzIC5zdGVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwZW0gMGVtO1xuICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZTtcbn1cbi8qIEFycm93ICovXG4udWkuc3RlcHMgLnN0ZXA6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDAlO1xuICBib3JkZXI6IG1lZGl1bSBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICB3aWR0aDogMS4xNDI4NTcxNGVtO1xuICBoZWlnaHQ6IDEuMTQyODU3MTRlbTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItd2lkdGg6IDBweCAxcHggMXB4IDBweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UsIG9wYWNpdHkgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpIHJvdGF0ZSgtNDVkZWcpO1xufVxuLyogRmlyc3QgU3RlcCAqL1xuLnVpLnN0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMGVtIDBlbSAwLjI4NTcxNDI5cmVtO1xufVxuLyogTGFzdCBTdGVwICovXG4udWkuc3RlcHMgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuLnVpLnN0ZXBzIC5zdGVwOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuLyogT25seSBTdGVwICovXG4udWkuc3RlcHMgLnN0ZXA6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRpdGxlICovXG4udWkuc3RlcHMgLnN0ZXAgLnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgJ+aWh+aziempm+ato+m7kScsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsICflvq7ou5/mraPpu5Hpq5QnLCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLnN0ZXBzIC5zdGVwID4gLnRpdGxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKiBEZXNjcmlwdGlvbiAqL1xuLnVpLnN0ZXBzIC5zdGVwIC5kZXNjcmlwdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5zdGVwcyAuc3RlcCA+IC5kZXNjcmlwdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnN0ZXBzIC5zdGVwIC50aXRsZSB+IC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDAuMjVlbTtcbn1cbi8qIEljb24gKi9cbi51aS5zdGVwcyAuc3RlcCA+IC5pY29uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIG1hcmdpbjogMGVtIDFyZW0gMGVtIDBlbTtcbn1cbi51aS5zdGVwcyAuc3RlcCA+IC5pY29uLFxuLnVpLnN0ZXBzIC5zdGVwID4gLmljb24gfiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDEgYXV0bztcbiAgYWxpZ24tc2VsZjogbWlkZGxlO1xufVxuLnVpLnN0ZXBzIC5zdGVwID4gLmljb24gfiAuY29udGVudCB7XG4gIGZsZXgtZ3JvdzogMSAwIGF1dG87XG59XG4vKiBIb3Jpem9udGFsIEljb24gKi9cbi51aS5zdGVwczpub3QoLnZlcnRpY2FsKSAuc3RlcCA+IC5pY29uIHtcbiAgd2lkdGg6IGF1dG87XG59XG4vKiBMaW5rICovXG4udWkuc3RlcHMgLmxpbmsuc3RlcCxcbi51aS5zdGVwcyBhLnN0ZXAge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIE9yZGVyZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkub3JkZXJlZC5zdGVwcyB7XG4gIGNvdW50ZXItcmVzZXQ6IG9yZGVyZWQ7XG59XG4udWkub3JkZXJlZC5zdGVwcyAuc3RlcDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb250ZW50OiBjb3VudGVycyhvcmRlcmVkLCBcIi5cIik7XG4gIGFsaWduLXNlbGY6IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBmb250LXNpemU6IDIuNWVtO1xuICBjb3VudGVyLWluY3JlbWVudDogb3JkZXJlZDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXAgPiAqIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGFsaWduLXNlbGY6IG1pZGRsZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBWZXJ0aWNhbFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS52ZXJ0aWNhbC5zdGVwcyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi51aS52ZXJ0aWNhbC5zdGVwcyAuc3RlcCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICBwYWRkaW5nOiAxLjE0Mjg1NzE0ZW0gMmVtO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnZlcnRpY2FsLnN0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZzogMS4xNDI4NTcxNGVtIDJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG4udWkudmVydGljYWwuc3RlcHMgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnZlcnRpY2FsLnN0ZXBzIC5zdGVwOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyogQXJyb3cgKi9cbi51aS52ZXJ0aWNhbC5zdGVwcyAuc3RlcDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkudmVydGljYWwuc3RlcHMgLnN0ZXA6YWZ0ZXIge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDAlO1xuICBib3JkZXItd2lkdGg6IDBweCAxcHggMXB4IDBweDtcbn1cbi51aS52ZXJ0aWNhbC5zdGVwcyAuc3RlcDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkudmVydGljYWwuc3RlcHMgLmFjdGl2ZS5zdGVwOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkudmVydGljYWwuc3RlcHMgLnN0ZXA6bGFzdC1jaGlsZDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkudmVydGljYWwuc3RlcHMgLmFjdGl2ZS5zdGVwOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qLS0tLS0tLS0tLS0tLS0tXG4gICAgUmVzcG9uc2l2ZVxuLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNb2JpbGUgKERlZmF1bHQpICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5zdGVwczpub3QoLnVuc3RhY2thYmxlKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAudWkuc3RlcHM6bm90KC51bnN0YWNrYWJsZSkgLnN0ZXAge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItcmFkaXVzOiAwZW07XG4gICAgcGFkZGluZzogMS4xNDI4NTcxNGVtIDJlbTtcbiAgfVxuICAudWkuc3RlcHM6bm90KC51bnN0YWNrYWJsZSkgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6IDEuMTQyODU3MTRlbSAyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG4gIH1cbiAgLnVpLnN0ZXBzOm5vdCgudW5zdGFja2FibGUpIC5zdGVwOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xuICB9XG4gIC8qIEFycm93ICovXG4gIC51aS5zdGVwczpub3QoLnVuc3RhY2thYmxlKSAuc3RlcDphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC8qIENvbnRlbnQgKi9cbiAgLnVpLnN0ZXBzOm5vdCgudW5zdGFja2FibGUpIC5zdGVwIC5jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLyogSWNvbiAqL1xuICAudWkuc3RlcHM6bm90KC51bnN0YWNrYWJsZSkgLnN0ZXAgPiAuaWNvbixcbiAgLnVpLm9yZGVyZWQuc3RlcHM6bm90KC51bnN0YWNrYWJsZSkgLnN0ZXA6YmVmb3JlIHtcbiAgICBtYXJnaW46IDBlbSAwZW0gMXJlbSAwZW07XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogTGluayBIb3ZlciAqL1xuLnVpLnN0ZXBzIC5saW5rLnN0ZXA6aG92ZXI6OmFmdGVyLFxuLnVpLnN0ZXBzIC5saW5rLnN0ZXA6aG92ZXIsXG4udWkuc3RlcHMgYS5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5zdGVwcyBhLnN0ZXA6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRjlGQUZCO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLyogTGluayBEb3duICovXG4udWkuc3RlcHMgLmxpbmsuc3RlcDphY3RpdmU6OmFmdGVyLFxuLnVpLnN0ZXBzIC5saW5rLnN0ZXA6YWN0aXZlLFxuLnVpLnN0ZXBzIGEuc3RlcDphY3RpdmU6OmFmdGVyLFxuLnVpLnN0ZXBzIGEuc3RlcDphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjRjNGNEY1O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjkpO1xufVxuLyogQWN0aXZlICovXG4udWkuc3RlcHMgLnN0ZXAuYWN0aXZlIHtcbiAgY3Vyc29yOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjRjNGNEY1O1xufVxuLnVpLnN0ZXBzIC5zdGVwLmFjdGl2ZTphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNGM0Y0RjU7XG59XG4udWkuc3RlcHMgLnN0ZXAuYWN0aXZlIC50aXRsZSB7XG4gIGNvbG9yOiAjNDE4M0M0O1xufVxuLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXAuYWN0aXZlOmJlZm9yZSxcbi51aS5zdGVwcyAuYWN0aXZlLnN0ZXAgLmljb24ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qIEFjdGl2ZSBBcnJvdyAqL1xuLnVpLnN0ZXBzIC5zdGVwOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuc3RlcHMgLmFjdGl2ZS5zdGVwOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuc3RlcHMgLnN0ZXA6bGFzdC1jaGlsZDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udWkuc3RlcHMgLmFjdGl2ZS5zdGVwOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogQWN0aXZlIEhvdmVyICovXG4udWkuc3RlcHMgLmxpbmsuYWN0aXZlLnN0ZXA6aG92ZXI6OmFmdGVyLFxuLnVpLnN0ZXBzIC5saW5rLmFjdGl2ZS5zdGVwOmhvdmVyLFxuLnVpLnN0ZXBzIGEuYWN0aXZlLnN0ZXA6aG92ZXI6OmFmdGVyLFxuLnVpLnN0ZXBzIGEuYWN0aXZlLnN0ZXA6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICNEQ0REREU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogQ29tcGxldGVkICovXG4udWkuc3RlcHMgLnN0ZXAuY29tcGxldGVkID4gLmljb246YmVmb3JlLFxuLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXAuY29tcGxldGVkOmJlZm9yZSB7XG4gIGNvbG9yOiAjMjFCQTQ1O1xufVxuLyogRGlzYWJsZWQgKi9cbi51aS5zdGVwcyAuZGlzYWJsZWQuc3RlcCB7XG4gIGN1cnNvcjogYXV0bztcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4udWkuc3RlcHMgLmRpc2FibGVkLnN0ZXAsXG4udWkuc3RlcHMgLmRpc2FibGVkLnN0ZXAgLnRpdGxlLFxuLnVpLnN0ZXBzIC5kaXNhYmxlZC5zdGVwIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuMyk7XG59XG4udWkuc3RlcHMgLmRpc2FibGVkLnN0ZXA6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFN0YWNrYWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRhYmxldCBPciBCZWxvdyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwcyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAvKiBTdGVwcyAqL1xuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwcyAuc3RlcCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItcmFkaXVzOiAwZW07XG4gICAgcGFkZGluZzogMS4xNDI4NTcxNGVtIDJlbTtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwcyAuc3RlcDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogMS4xNDI4NTcxNGVtIDJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwcyAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgfVxuICAvKiBBcnJvdyAqL1xuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwcyAuc3RlcDphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC8qIENvbnRlbnQgKi9cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHMgLnN0ZXAgLmNvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAvKiBJY29uICovXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzIC5zdGVwID4gLmljb24sXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLm9yZGVyZWQuc3RlcHMgLnN0ZXA6YmVmb3JlIHtcbiAgICBtYXJnaW46IDBlbSAwZW0gMXJlbSAwZW07XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEZsdWlkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogRmx1aWQgKi9cbi51aS5mbHVpZC5zdGVwcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVG9wICovXG4udWkuYXR0YWNoZWQuc3RlcHMge1xuICB3aWR0aDogY2FsYygxMDAlICsgKC0tMXB4ICogMikpICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtIC0xcHggMDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAoLS0xcHggKiAyKSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xufVxuLnVpLmF0dGFjaGVkLnN0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMGVtIDBlbTtcbn1cbi51aS5hdHRhY2hlZC5zdGVwcyAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cbi8qIEJvdHRvbSAqL1xuLnVpLmJvdHRvbS5hdHRhY2hlZC5zdGVwcyB7XG4gIG1hcmdpbjogMCAtMXB4IDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLnN0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS5ib3R0b20uYXR0YWNoZWQuc3RlcHMgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFdmVubHkgRGl2aWRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm9uZS5zdGVwcyxcbi51aS50d28uc3RlcHMsXG4udWkudGhyZWUuc3RlcHMsXG4udWkuZm91ci5zdGVwcyxcbi51aS5maXZlLnN0ZXBzLFxuLnVpLnNpeC5zdGVwcyxcbi51aS5zZXZlbi5zdGVwcyxcbi51aS5laWdodC5zdGVwcyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLm9uZS5zdGVwcyA+IC5zdGVwLFxuLnVpLnR3by5zdGVwcyA+IC5zdGVwLFxuLnVpLnRocmVlLnN0ZXBzID4gLnN0ZXAsXG4udWkuZm91ci5zdGVwcyA+IC5zdGVwLFxuLnVpLmZpdmUuc3RlcHMgPiAuc3RlcCxcbi51aS5zaXguc3RlcHMgPiAuc3RlcCxcbi51aS5zZXZlbi5zdGVwcyA+IC5zdGVwLFxuLnVpLmVpZ2h0LnN0ZXBzID4gLnN0ZXAge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cbi51aS5vbmUuc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnR3by5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS50aHJlZS5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDMzLjMzMyU7XG59XG4udWkuZm91ci5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi51aS5maXZlLnN0ZXBzID4gLnN0ZXAge1xuICB3aWR0aDogMjAlO1xufVxuLnVpLnNpeC5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDE2LjY2NiU7XG59XG4udWkuc2V2ZW4uc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiAxNC4yODUlO1xufVxuLnVpLmVpZ2h0LnN0ZXBzID4gLnN0ZXAge1xuICB3aWR0aDogMTIuNSU7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm1pbmkuc3RlcHMgLnN0ZXAsXG4udWkubWluaS5zdGVwIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkuc3RlcHMgLnN0ZXAsXG4udWkudGlueS5zdGVwIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLnN0ZXBzIC5zdGVwLFxuLnVpLnNtYWxsLnN0ZXAge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkuc3RlcHMgLnN0ZXAsXG4udWkuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5sYXJnZS5zdGVwcyAuc3RlcCxcbi51aS5sYXJnZS5zdGVwIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5zdGVwcyAuc3RlcCxcbi51aS5iaWcuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLnN0ZXBzIC5zdGVwLFxuLnVpLmh1Z2Uuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLnN0ZXBzIC5zdGVwLFxuLnVpLm1hc3NpdmUuc3RlcCB7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdTdGVwJztcbiAgc3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7O2Jhc2U2NCxBQUVBQUFBT0FJQUFBd0JnVDFNdk1qM2hTUUVBQUFEc0FBQUFWbU50WVhEUUVobTNBQUFCUkFBQUFVcGpkblFnQmtuL2xBQUFCdXdBQUFBY1puQm5iWW9LZURzQUFBY0lBQUFKa1dkaGMzQUFBQUFRQUFBRzVBQUFBQWhuYkhsbTMyY0VkZ0FBQXBBQUFBQzJhR1ZoWkFFclBIc0FBQU5JQUFBQU5taG9aV0VIVXdOTkFBQURnQUFBQUNSb2JYUjRDeWtBQUFBQUE2UUFBQUFNYkc5allRQTRBRnNBQUFPd0FBQUFDRzFoZUhBQXBnbThBQUFEdUFBQUFDQnVZVzFsekowYUhBQUFBOWdBQUFMTmNHOXpkSzY5UUpnQUFBYW9BQUFBTzNCeVpYQ1NvWnIvQUFBUW5BQUFBRllBQVFPNEFaQUFCUUFJQW5vQ3ZBQUFBSXdDZWdLOEFBQUI0QUF4QVFJQUFBSUFCUU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVVHWkZaQUJBNkFEb0FRTlMvMm9BV2dNTEFFOEFBQUFCQUFBQUFBQUFBQUFBQXdBQUFBTUFBQUFjQUFFQUFBQUFBRVFBQXdBQkFBQUFIQUFFQUNnQUFBQUdBQVFBQVFBQ0FBRG9BZi8vQUFBQUFPZ0EvLzhBQUJnQkFBRUFBQUFBQUFBQUFBRUdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBUUFBQUFBRHBBS1lBQlVBSEVBWkR3RUFBUUZDQUFJQkFtb0FBUUFCYWdBQUFHRVVGeFFERWlzQkZBY0JCaUluQVNZMFB3RTJNaDhCQVRZeUh3RVdBNlFQL2lBUUxCRCs2ZzhQVEJBc0VLUUJiaEFzRUV3UEFoWVdFUDRnRHc4QkZoQXNFRXdRRUtVQmJ4QVFUQkFBQUFILy9mK3hBMThEQ3dBTUFCSkFEd0FCQVFwREFBQUFDd0JFRlJNQ0VTc0JGQTRCSWk0Q1BnRXlIZ0VEV1hMRzZNaHVCbnE4OUxwK0FWNTF4SFIweE9yRWRIVEVBQUFBQUFFQUFBQUJBQUREZVJwZFh3ODg5UUFMQStnQUFBQUF6eldZalFBQUFBRFBOV0JOLy8zL3NRT2tBd3NBQUFBSUFBSUFBQUFBQUFBQUFRQUFBMUwvYWdCYUErZ0FBUC8zQTZRQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFNRDZBQUFBK2dBQUFOWkFBQUFBQUFBQURnQVd3QUJBQUFBQXdBV0FBRUFBQUFBQUFJQUJnQVRBRzRBQUFBdENaRUFBQUFBQUFBQUVnRGVBQUVBQUFBQUFBQUFOUUFBQUFFQUFBQUFBQUVBQ0FBMUFBRUFBQUFBQUFJQUJ3QTlBQUVBQUFBQUFBTUFDQUJFQUFFQUFBQUFBQVFBQ0FCTUFBRUFBQUFBQUFVQUN3QlVBQUVBQUFBQUFBWUFDQUJmQUFFQUFBQUFBQW9BS3dCbkFBRUFBQUFBQUFzQUV3Q1NBQU1BQVFRSkFBQUFhZ0NsQUFNQUFRUUpBQUVBRUFFUEFBTUFBUVFKQUFJQURnRWZBQU1BQVFRSkFBTUFFQUV0QUFNQUFRUUpBQVFBRUFFOUFBTUFBUVFKQUFVQUZnRk5BQU1BQVFRSkFBWUFFQUZqQUFNQUFRUUpBQW9BVmdGekFBTUFBUVFKQUFzQUpnSEpRMjl3ZVhKcFoyaDBJQ2hES1NBeU1ERTBJR0o1SUc5eWFXZHBibUZzSUdGMWRHaHZjbk1nUUNCbWIyNTBaV3hzYnk1amIyMW1iMjUwWld4c2IxSmxaM1ZzWVhKbWIyNTBaV3hzYjJadmJuUmxiR3h2Vm1WeWMybHZiaUF4TGpCbWIyNTBaV3hzYjBkbGJtVnlZWFJsWkNCaWVTQnpkbWN5ZEhSbUlHWnliMjBnUm05dWRHVnNiRzhnY0hKdmFtVmpkQzVvZEhSd09pOHZabTl1ZEdWc2JHOHVZMjl0QUVNQWJ3QndBSGtBY2dCcEFHY0FhQUIwQUNBQUtBQkRBQ2tBSUFBeUFEQUFNUUEwQUNBQVlnQjVBQ0FBYndCeUFHa0Fad0JwQUc0QVlRQnNBQ0FBWVFCMUFIUUFhQUJ2QUhJQWN3QWdBRUFBSUFCbUFHOEFiZ0IwQUdVQWJBQnNBRzhBTGdCakFHOEFiUUJtQUc4QWJnQjBBR1VBYkFCc0FHOEFVZ0JsQUdjQWRRQnNBR0VBY2dCbUFHOEFiZ0IwQUdVQWJBQnNBRzhBWmdCdkFHNEFkQUJsQUd3QWJBQnZBRllBWlFCeUFITUFhUUJ2QUc0QUlBQXhBQzRBTUFCbUFHOEFiZ0IwQUdVQWJBQnNBRzhBUndCbEFHNEFaUUJ5QUdFQWRBQmxBR1FBSUFCaUFIa0FJQUJ6QUhZQVp3QXlBSFFBZEFCbUFDQUFaZ0J5QUc4QWJRQWdBRVlBYndCdUFIUUFaUUJzQUd3QWJ3QWdBSEFBY2dCdkFHb0FaUUJqQUhRQUxnQm9BSFFBZEFCd0FEb0FMd0F2QUdZQWJ3QnVBSFFBWlFCc0FHd0Fid0F1QUdNQWJ3QnRBQUFBQUFJQUFBQUFBQUFBQ2dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBd0FBQVFJQkF3bGphR1ZqYTIxaGNtc0dZMmx5WTJ4bEFBQUFBQUVBQWYvL0FBOEFBQUFBQUFBQUFBQUFBQUFBQUFBQUFESUFNZ01MLzdFREMvK3hzQUFzc0NCZ1ppMndBU3dnWkNDd3dGQ3dCQ1phc0FSRlcxZ2hJeUViaWxnZ3NGQlFXQ0d3UUZrYklMQTRVRmdoc0RoWldTQ3dDa1ZoWkxBb1VGZ2hzQXBGSUxBd1VGZ2hzREJaR3lDd3dGQllJR1lnaW9waElMQUtVRmhnR3lDd0lGQllJYkFLWUJzZ3NEWlFXQ0d3Tm1BYllGbFpXUnV3QUN0WldTT3dBRkJZWlZsWkxiQUNMQ0JGSUxBRUpXRmtJTEFGUTFCWXNBVWpRckFHSTBJYklTRlpzQUZnTGJBRExDTWhJeUVnWkxFRllrSWdzQVlqUXJJS0FBSXFJU0N3QmtNZ2lpQ0tzQUFyc1RBRkpZcFJXR0JRRzJGU1dWZ2pXU0Vnc0VCVFdMQUFLeHNoc0VCWkk3QUFVRmhsV1Myd0JDeXdCME1yc2dBQ0FFTmdRaTJ3QlN5d0J5TkNJeUN3QUNOQ1liQ0FZckFCWUxBRUtpMndCaXdnSUVVZ3NBSkZZN0FCUldKZ1JMQUJZQzJ3Qnl3Z0lFVWdzQUFySTdFQ0JDVmdJRVdLSTJFZ1pDQ3dJRkJZSWJBQUc3QXdVRml3SUJ1d1FGbFpJN0FBVUZobFdiQURKU05oUkVTd0FXQXRzQWdzc1FVRlJiQUJZVVF0c0Frc3NBRmdJQ0N3Q1VOS3NBQlFXQ0N3Q1NOQ1diQUtRMHF3QUZKWUlMQUtJMEpaTGJBS0xDQzRCQUJpSUxnRUFHT0tJMkd3QzBOZ0lJcGdJTEFMSTBJakxiQUxMRXRVV0xFSEFVUlpKTEFOWlNONExiQU1MRXRSV0V0VFdMRUhBVVJaR3lGWkpMQVRaU040TGJBTkxMRUFERU5WV0xFTURFT3dBV0ZDc0FvcldiQUFRN0FDSlVLeENRSWxRckVLQWlWQ3NBRVdJeUN3QXlWUVdMRUJBRU5nc0FRbFFvcUtJSW9qWWJBSktpRWpzQUZoSUlvalliQUpLaUVic1FFQVEyQ3dBaVZDc0FJbFliQUpLaUZac0FsRFI3QUtRMGRnc0lCaUlMQUNSV093QVVWaVlMRUFBQk1qUkxBQlE3QUFQcklCQVFGRFlFSXRzQTRzc1FBRlJWUllBTEFNSTBJZ1lMQUJZYlVORFFFQUN3QkNRb3Bnc1EwRks3QnRLeHNpV1Myd0R5eXhBQTRyTGJBUUxMRUJEaXN0c0JFc3NRSU9LeTJ3RWl5eEF3NHJMYkFUTExFRURpc3RzQlFzc1FVT0t5MndGU3l4Qmc0ckxiQVdMTEVIRGlzdHNCY3NzUWdPS3kyd0dDeXhDUTRyTGJBWkxMQUlLN0VBQlVWVVdBQ3dEQ05DSUdDd0FXRzFEUTBCQUFzQVFrS0tZTEVOQlN1d2JTc2JJbGt0c0Jvc3NRQVpLeTJ3R3l5eEFSa3JMYkFjTExFQ0dTc3RzQjBzc1FNWkt5MndIaXl4QkJrckxiQWZMTEVGR1NzdHNDQXNzUVlaS3kyd0lTeXhCeGtyTGJBaUxMRUlHU3N0c0NNc3NRa1pLeTJ3SkN3Z1BMQUJZQzJ3SlN3Z1lMQU5ZQ0JESTdBQllFT3dBaVZoc0FGZ3NDUXFJUzJ3Sml5d0pTdXdKU290c0Njc0lDQkhJQ0N3QWtWanNBRkZZbUFqWVRnaklJcFZXQ0JISUNDd0FrVmpzQUZGWW1BallUZ2JJVmt0c0Nnc3NRQUZSVlJZQUxBQkZyQW5LckFCRlRBYklsa3RzQ2tzc0FncnNRQUZSVlJZQUxBQkZyQW5LckFCRlRBYklsa3RzQ29zSURXd0FXQXRzQ3NzQUxBRFJXT3dBVVZpc0FBcnNBSkZZN0FCUldLd0FDdXdBQmEwQUFBQUFBQkVQaU00c1NvQkZTb3RzQ3dzSUR3Z1J5Q3dBa1Zqc0FGRlltQ3dBRU5oT0Myd0xTd3VGend0c0M0c0lEd2dSeUN3QWtWanNBRkZZbUN3QUVOaHNBRkRZemd0c0M4c3NRSUFGaVVnTGlCSHNBQWpRckFDSlVtS2lrY2pSeU5oSUZoaUd5RlpzQUVqUXJJdUFRRVZGQ290c0RBc3NBQVdzQVFsc0FRbFJ5TkhJMkd3QmtVclpZb3VJeUFnUElvNExiQXhMTEFBRnJBRUpiQUVKU0F1UnlOSEkyRWdzQVFqUXJBR1JTc2dzR0JRV0NDd1FGRllzd0lnQXlBYnN3SW1BeHBaUWtJaklMQUlReUNLSTBjalJ5TmhJMFpnc0FSRHNJQmlZQ0N3QUNzZ2lvcGhJTEFDUTJCa0k3QURRMkZrVUZpd0FrTmhHN0FEUTJCWnNBTWxzSUJpWVNNZ0lMQUVKaU5HWVRnYkk3QUlRMGF3QWlXd0NFTkhJMGNqWVdBZ3NBUkRzSUJpWUNNZ3NBQXJJN0FFUTJDd0FDdXdCU1Zoc0FVbHNJQmlzQVFtWVNDd0JDVmdaQ093QXlWZ1pGQllJUnNqSVZraklDQ3dCQ1lqUm1FNFdTMndNaXl3QUJZZ0lDQ3dCU1lnTGtjalJ5TmhJenc0TGJBekxMQUFGaUN3Q0NOQ0lDQWdSaU5Ic0FBckkyRTRMYkEwTExBQUZyQURKYkFDSlVjalJ5TmhzQUJVV0M0Z1BDTWhHN0FDSmJBQ0pVY2pSeU5oSUxBRkpiQUVKVWNqUnlOaHNBWWxzQVVsU2JBQ0pXR3dBVVZqSXlCWVloc2hXV093QVVWaVlDTXVJeUFnUElvNEl5RlpMYkExTExBQUZpQ3dDRU1nTGtjalJ5TmhJR0N3SUdCbXNJQmlJeUFnUElvNExiQTJMQ01nTGthd0FpVkdVbGdnUEZrdXNTWUJGQ3N0c0Rjc0l5QXVSckFDSlVaUVdDQThXUzZ4SmdFVUt5MndPQ3dqSUM1R3NBSWxSbEpZSUR4Wkl5QXVSckFDSlVaUVdDQThXUzZ4SmdFVUt5MndPU3l3TUNzaklDNUdzQUlsUmxKWUlEeFpMckVtQVJRckxiQTZMTEF4SzRvZ0lEeXdCQ05DaWpnaklDNUdzQUlsUmxKWUlEeFpMckVtQVJRcnNBUkRMckFtS3kyd095eXdBQmF3QkNXd0JDWWdMa2NqUnlOaHNBWkZLeU1nUENBdUl6aXhKZ0VVS3kyd1BDeXhDQVFsUXJBQUZyQUVKYkFFSlNBdVJ5TkhJMkVnc0FRalFyQUdSU3Nnc0dCUVdDQ3dRRkZZc3dJZ0F5QWJzd0ltQXhwWlFrSWpJRWV3QkVPd2dHSmdJTEFBS3lDS2ltRWdzQUpEWUdRanNBTkRZV1JRV0xBQ1EyRWJzQU5EWUZtd0F5V3dnR0poc0FJbFJtRTRJeUE4SXpnYklTQWdSaU5Ic0FBckkyRTRJVm14SmdFVUt5MndQU3l3TUNzdXNTWUJGQ3N0c0Q0c3NERXJJU01nSUR5d0JDTkNJeml4SmdFVUs3QUVReTZ3SmlzdHNEOHNzQUFWSUVld0FDTkNzZ0FCQVJVVUV5NndMQ290c0VBc3NBQVZJRWV3QUNOQ3NnQUJBUlVVRXk2d0xDb3RzRUVzc1FBQkZCT3dMU290c0VJc3NDOHFMYkJETExBQUZrVWpJQzRnUm9vallUaXhKZ0VVS3kyd1JDeXdDQ05Dc0VNckxiQkZMTElBQUR3ckxiQkdMTElBQVR3ckxiQkhMTElCQUR3ckxiQklMTElCQVR3ckxiQkpMTElBQUQwckxiQktMTElBQVQwckxiQkxMTElCQUQwckxiQk1MTElCQVQwckxiQk5MTElBQURrckxiQk9MTElBQVRrckxiQlBMTElCQURrckxiQlFMTElCQVRrckxiQlJMTElBQURzckxiQlNMTElBQVRzckxiQlRMTElCQURzckxiQlVMTElCQVRzckxiQlZMTElBQUQ0ckxiQldMTElBQVQ0ckxiQlhMTElCQUQ0ckxiQllMTElCQVQ0ckxiQlpMTElBQURvckxiQmFMTElBQVRvckxiQmJMTElCQURvckxiQmNMTElCQVRvckxiQmRMTEF5S3k2eEpnRVVLeTJ3WGl5d01pdXdOaXN0c0Y4c3NESXJzRGNyTGJCZ0xMQUFGckF5SzdBNEt5MndZU3l3TXlzdXNTWUJGQ3N0c0dJc3NETXJzRFlyTGJCakxMQXpLN0EzS3kyd1pDeXdNeXV3T0NzdHNHVXNzRFFyTHJFbUFSUXJMYkJtTExBMEs3QTJLeTJ3Wnl5d05DdXdOeXN0c0dnc3NEUXJzRGdyTGJCcExMQTFLeTZ4SmdFVUt5MndhaXl3TlN1d05pc3RzR3Nzc0RVcnNEY3JMYkJzTExBMUs3QTRLeTJ3YlN3cnNBaGxzQU1rVUhpd0FSVXdMUUFBQUV1NEFNaFNXTEVCQVk1WnVRZ0FDQUJqSUxBQkkwU3dBeU53c2dRb0NVVlNSTElLQWdjcXNRWUJSTEVrQVloUldMQkFpRml4QmdORXNTWUJpRkZZdUFRQWlGaXhCZ0ZFV1ZsWldiZ0IvNFd3QkkyeEJRQkVBQUE9KSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybChkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUmdBQkFBQUFBQW9VQUE0QUFBQUFFUFFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlBVeTh5QUFBQlJBQUFBRVFBQUFCV1BlRkpBV050WVhBQUFBR0lBQUFBT2dBQUFVclFFaG0zWTNaMElBQUFBY1FBQUFBVUFBQUFIQVpKLzVSbWNHZHRBQUFCMkFBQUJQa0FBQW1SaWdwNE8yZGhjM0FBQUFiVUFBQUFDQUFBQUFnQUFBQVFaMng1WmdBQUJ0d0FBQUN1QUFBQXR0OW5CSFpvWldGa0FBQUhqQUFBQURVQUFBQTJBU3M4ZTJob1pXRUFBQWZFQUFBQUlBQUFBQ1FIVXdOTmFHMTBlQUFBQitRQUFBQU1BQUFBREFzcEFBQnNiMk5oQUFBSDhBQUFBQWdBQUFBSUFEZ0FXMjFoZUhBQUFBZjRBQUFBSUFBQUFDQUFwZ204Ym1GdFpRQUFDQmdBQUFGM0FBQUN6Y3lkR2h4d2IzTjBBQUFKa0FBQUFDb0FBQUE3cnIxQW1IQnlaWEFBQUFtOEFBQUFWZ0FBQUZhU29aci9lSnhqWUdUZXdUaUJnWldCZzZtS2FROERBME1QaEdaOHdHREl5TVRBd01UQXlzeUFGUVNrdWFZd09MeGdlTUhJSFBRL2l5R0ttWnZCSHlqTUNKSURBUGU5QzJCNG5HTmdZR0JtZ0dBWkJrWUdFSEFCOGhqQmZCWUdEU0ROQnFRWkdaZ1lHRjR3L3Y4UFV2Q0NBVVJMTUVMVkF3RWpHOE9JQndCazVBYXZBQUI0bkdOZ1FBTkdERWJNM1A4M2dqQUFFTFFENFhpY25WWFpkdE5XRkpVOFpIQVNPbVNnb0E3WDNEaFE2OHFFS1Jnd2FTckZkaUVkSEFpdEJCMmtESFRrbmNjKzYydU9RcnRXSC9tMDduMDlKTFIwcmJZc2xzKytSMXRuMkRyblJod2pLbjBhaUd2VW9aS1hBNm1zUFpaSzkwbGMxM1V2ajVVTUJuRmR0aEpQU1p1b25TUkthdDNzVUM3eFdPc3FXU2RZSitQbElGWlBWWjVub0F6aUZCNWxTVVFiUkJ1cGx5Wko0b25qSjRrV1p4QWZKVWtnSmFNUXA5TElVRUkxR3NSUzFhRk02ZENyMXhOeDAwREtScU1lZFZoVTkwUEZKOGMxcDlTc0EwWXFWem5DRmV2VlJyNGJwd012ZTVERU9zR3pyWWN4SG5pc2ZwUXFrSXFSNmNnL2RrcE9sSWFCVkhIVW9WYmk2RENUWC9lUlRDck5RS2FNWWtXbDdvRzQzZjEwMnhZeFBYUTZ2aTVLbFVhcXVybk9LSnJ0MGZHb2d5Z1AyY2JwcE56UTJmYnc1UmxUVkt0ZGNiUHRRR1lOWEVySmJIU2ZSQUFkSmxMajZRRk9OWndDcVJuMVI4WFo1ODhCRXNsY2xLbzhWVEtIZWdPWk16dDdjVEh0YmllcnNuQ2tud2N5YjNaMjQ1MkhRNmRYaDMvUitoZE00Y3hIaitKaWZqNUMrbEJxZmlKT0pLVkdXTXp5cDRZZmNWY2dRcmt4aUFzWHl1QlRoRGwwUmRyWlpsM2p0VEgyaHMvNVNxbGhQUW5hNktQNGZncjlUaVFySEdkUm8vVkluTTFqMTNXdDNHZFFTN1c3RnpzeXIwT1ZJdTd2Q3d1dU0rZUVZWjRXQzFWZm52bmVCVFQvQm9obi9FRGVOSVZMKzVZcFNyUnZtNkpNdTJpS0N1MFNWS1ZkTnNVVTdZb3BwbW5QbW1LRzloMVR6TktlTXpMai84dmM1NUg3SE43eGtKdjJYZVNtZlErNWFkOUhidG9Qa0p0V0lUZHRIYmxwTHlBM3JVWnUybFdqT25ZRUdnWnBGMUlWUWRBMHN2cGgzRmFiOVVEV2pEUjhhV0R5TG1MSSt1cEVSNTIxdGNvZnhYOTE0Z3NIY21taXA3c2lGNXZpTHEvYkZqNDgzZTZyajVwRzNiRFYrTWFSOGpBZVJub2NtdEJaK2MzaHYrMU4zUzZhN2pLcU11Z0JGVXdLd0FCbDdVQUMwenJiQ2FUMW1xZjQ4Z2RnWElaNHprcER0VlNmTzRhbTcrVjVYL2V4T2ZHK3grM0dMcmRjZDNrSldkWU5jbVAyOE45U1pLcnJIK1V0clZRblI2d3JKNDlWYXhoREtyd291cjZTbEh1MHRSdS9LS215OGw2VTFzcm5rNUNiUFlNYlFsdTI3bUd3STB4cHlpVWVYbE9sS0QzVVVvNnlReXh2S2NvODRKU0xDMXFHeExnT2RROXFhOFRwb1hvWUd3c2hocUcwdlJCd1NDbGRGZCsweW5meEhxdHIyT2o0eFJYaDZYcHlFaEdmNGlyN1VmQlUxMGI5NkE3YXZHYmRNb01wVmFxbis0eFBzYS9iOWxGWmFhU09zeGUzVkFmWE5Pc2FPUlhUVCtScjRIUnZPR2pkQXoxVWZEUkJJMVUxeCtqR0tHTTBsalhsM3dSME1WWit3MmpWWXZzOTNFK2RwRldzdVV1WTdKc1Q5K0MwdS8wcSs3V2NXMGJXL2RjR3ZXM2tpcDhqTWI4dEN2dzdCMkszWkEzVU81T0JHQXZJV2RBWXhoWW1keGl1ZzIzRWJmWS9KcWYvMzRhRlJYSlhPeHE3ZWVyRDFaTlJKWGZaOHJqTFRYWloxNk0yUjlWT0d2c0lqUzBQTitiWTRYSXN0c1JnUWJiK3dmOHg3Z0YzYVZFQzRORElaWmlJMm5TaG51cmg2aDZyc1cwNFZ4SUJkczJ4NDNRQWVnQXVRZDhjdTliekNZRDEzQ1BuTHNCOWNnaDJ5Q0g0bEJ5Q3o4aTVCZkE1T1FSZmtFTXdJSWRnbDV3N0FBL0lJWGhJRHNFZU9RU1B5TmtFK0pJY2dxL0lJWWpKSVVqSXVRM3dtQnlDSitRUWZFME93VGRHcms1ay9wWUgyUUQ2enFLYlFLbWRHaHphT0dSR3JrM1krenhZOW9GRlpCOWFST3FSa2VzVDZsTWVMUFY3aTBqOXdTSlNmelJ5WTBMOWlRZEwvZGtpVW4reGlOUm54cGVaSXltdkRwN3pqZzcrQkpmcXJWNEFBQUFBQVFBQi8vOEFEM2ljWTJCa0FBTG1KVXd6R0VRWlpCd2srUmtaR0JtZEdKZ1ltYklZZ013c29HU2lpTGdJczVBMm93ZzdJNXVTT3FPYWlUMmptWkU4STVnUVkxN0MvMDlCUUVmZzN5dCtmaDhndllReEQwajY4RE9KaVFuOFUrRG5aeFFEY1FVRWxqTG1Dd0JwQmdiRy8zLy9iMlNPWitabTRHRVFjdUFIMnNibERMU0VtOEZGVkpoSkVHZ0xINk9TSHBNZG81RWNJM05rMGJFWEovTFlxdlo4MlZYSEdGZDZwS1RreUNzUXdRQUFxK1FrcUFBQWVKeGpZR1JnWUFEaXc1VlNzZkg4Tmw4WnVKbGZBRVVZenB2TzZJWFFDYjcvLy83ZnlMeUVtUnZJNVdCZ0Fva0NBRmIvREpBQUFBQjRuR05nWkdCZ0R2cWZ4UkRGL0lLQjRmOTM1aVVNUUJFVXdBd0FpNVlGcGdQb0FBQUQ2QUFBQTFrQUFBQUFBQUFBT0FCYkFBRUFBQUFEQUJZQUFRQUFBQUFBQWdBR0FCTUFiZ0FBQUMwSmtRQUFBQUI0bkhXUXkyckNRQlNHLy9IU2kwSmJXdWkyc3lwS2FieGdONElnV0hUVGJxUzRMVEhHSkJJek1oa0ZYNlB2MElmcFMvUlorcHVNcFNoTm1NeDN2amx6NW1RQVhPTWJBdm56eEpHendCbWpuQXM0UmM5eWtmN1pjb244WXJtTUt0NHNuOUMvVzY3Z0FZSGxLbTd3d1FxaWRNNW9nVS9MQWxmaTBuSUJGK0xPY3BIKzBYS0ozTE5jeHExNHRYeEM3MW11WUNKU3kxWGNpNitCV20xMUZJUkcxZ1oxMlc2Mk9uSzZsWW9xU3R4WXVtc1RLcDNLdnB5cnhQaHhyQnhQTGZjODlvTjE3T3A5dUo4bnZrNGpsY2lXMDl5cmtaLzQyalgrYkZjOTNRUnRZK1p5cnRWU0RtMkdYR20xOEQzamhNYXN1bzNHMy9Nd2dNSUtXMmhFdktvUUJoSTEyanJuTnBwb29VT2FNa015TTgrS2tNQkZUT05pelIxaHRwSXk3blBNR1NXMFBqTmlzZ09QMytXUkg1TUM3bzlaUlIrdEhzWVQwdTZNS1BPU2ZUbnM3akJyUkVxeVREZXpzOS9lVTJ4NFdwdldjTmV1UzUxMUpURThxQ0Y1SDd1MUJZMUg3MlMzWW1pN2FQRDk1LzkrQU4xZmhFc0FlSnhqWUdLQUFDNEc3SUNaZ1lHUmlaR1pNemtqTlRrN043RW9teTA1c3lnNUo1V0JBUUJFMVFaQkFBQkx1QURJVWxpeEFRR09XYmtJQUFnQVl5Q3dBU05Fc0FNamNMSUVLQWxGVWtTeUNnSUhLckVHQVVTeEpBR0lVVml3UUloWXNRWURSTEVtQVloUldMZ0VBSWhZc1FZQlJGbFpXVm00QWYrRnNBU05zUVVBUkFBQSkgZm9ybWF0KCd3b2ZmJyk7XG59XG4udWkuc3RlcHMgLnN0ZXAuY29tcGxldGVkID4gLmljb246YmVmb3JlLFxuLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXAuY29tcGxldGVkOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiAnU3RlcCc7XG4gIGNvbnRlbnQ6ICdcXGU4MDAnO1xuICAvKiAn7qCAJyAqL1xufVxuLyogQ29sbGVjdGlvbnMgKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIEJyZWFkY3J1bWJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBCcmVhZGNydW1iXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFkY3J1bWJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIENvdXBsaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIEJyZWFkY3J1bWJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWRjcnVtYlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQ291cGxpbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQnJlYWRjcnVtYlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5icmVhZGNydW1iIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwZW0gMGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnVpLmJyZWFkY3J1bWI6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkuYnJlYWRjcnVtYjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogRGl2aWRlciAqL1xuLnVpLmJyZWFkY3J1bWIgLmRpdmlkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG9wYWNpdHk6IDAuNztcbiAgbWFyZ2luOiAwZW0gMC4yMTQyODU3MXJlbSAwZW07XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKiBMaW5rICovXG4udWkuYnJlYWRjcnVtYiBhIHtcbiAgY29sb3I6ICM0MTgzQzQ7XG59XG4udWkuYnJlYWRjcnVtYiBhOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiBJY29uIERpdmlkZXIgKi9cbi51aS5icmVhZGNydW1iIC5pY29uLmRpdmlkZXIge1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuLyogU2VjdGlvbiAqL1xuLnVpLmJyZWFkY3J1bWIgYS5zZWN0aW9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLmJyZWFkY3J1bWIgLnNlY3Rpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwZW07XG59XG4vKiBMb29zZSBDb3VwbGluZyAqL1xuLnVpLmJyZWFkY3J1bWIuc2VnbWVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDFlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuYnJlYWRjcnVtYiAuYWN0aXZlLnNlY3Rpb24ge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkubWluaS5icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5cmVtO1xufVxuLnVpLnRpbnkuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkubGFyZ2UuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5iaWcuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4udWkubWFzc2l2ZS5icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxcmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIEZvcm1cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBGb3JtXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvcm0gKi9cbi8qIFRleHQgKi9cbi8qIEZpZWxkICovXG4vKiBGaWVsZHMgKi9cbi8qIEZvcm0gTGFiZWwgKi9cbi8qIElucHV0ICovXG4vKiBTZWxlY3QgKi9cbi8qIFRleHQgQXJlYSAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIElubGluZSBWYWxpZGF0aW9uIFByb21wdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9jdXMgKi9cbi8qIElucHV0IEZvY3VzICovXG4vKiBUZXh0IEFyZWEgRm9jdXMgKi9cbi8qIERpc2FibGVkICovXG4vKiBFcnJvcmVkIElucHV0ICovXG4vKiBBdXRvRmlsbCAqL1xuLyogSW5wdXQgRXJyb3IgKi9cbi8qIERyb3Bkb3duIEVycm9yICovXG4vKiBGb2N1c2VkIEVycm9yICovXG4vKiBQbGFjZWhvbGRlciBFcnJvciAqL1xuLyogTG9hZGluZyBEaW1tZXIgKi9cbi8qIExvYWRpbmcgU3Bpbm5lciAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBSZXF1aXJlZCAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogR3JvdXBlZCBGaWVsZHMgKi9cbi8qIElubGluZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBGb3JtXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvcm0gKi9cbi8qIFRleHQgKi9cbi8qIEZpZWxkICovXG4vKiBGaWVsZHMgKi9cbi8qIEZvcm0gTGFiZWwgKi9cbi8qIElucHV0ICovXG4vKiBTZWxlY3QgKi9cbi8qIFRleHQgQXJlYSAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIElubGluZSBWYWxpZGF0aW9uIFByb21wdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9jdXMgKi9cbi8qIElucHV0IEZvY3VzICovXG4vKiBUZXh0IEFyZWEgRm9jdXMgKi9cbi8qIERpc2FibGVkICovXG4vKiBFcnJvcmVkIElucHV0ICovXG4vKiBBdXRvRmlsbCAqL1xuLyogSW5wdXQgRXJyb3IgKi9cbi8qIERyb3Bkb3duIEVycm9yICovXG4vKiBGb2N1c2VkIEVycm9yICovXG4vKiBQbGFjZWhvbGRlciBFcnJvciAqL1xuLyogTG9hZGluZyBEaW1tZXIgKi9cbi8qIExvYWRpbmcgU3Bpbm5lciAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBSZXF1aXJlZCAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogR3JvdXBlZCBGaWVsZHMgKi9cbi8qIElubGluZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvcm1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZvcm0gPiBwIHtcbiAgbWFyZ2luOiAxZW0gMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGaWVsZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mb3JtIC5maWVsZCB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDBlbSAwZW0gMWVtO1xufVxuLnVpLmZvcm0gLmZpZWxkOmxhc3QtY2hpbGQsXG4udWkuZm9ybSAuZmllbGRzOmxhc3QtY2hpbGQgLmZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLnVpLmZvcm0gLmZpZWxkcyAuZmllbGQge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mb3JtIC5maWVsZCA+IGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDBlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU3RhbmRhcmQgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZvcm0gdGV4dGFyZWEsXG4udWkuZm9ybSBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gIHdpZHRoOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLyogU2V0IG1heCBoZWlnaHQgb24gdW51c3VhbCBpbnB1dCAqL1xuLnVpLmZvcm0gOjotd2Via2l0LWRhdGV0aW1lLWVkaXQsXG4udWkuZm9ybSA6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcbn1cbi51aS5mb3JtIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImZpbGVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdIHtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgJ+aWh+aziempm+ato+m7kScsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsICflvq7ou5/mraPpu5Hpq5QnLCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwZW07XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcbiAgcGFkZGluZzogMC42Nzg1NzE0M2VtIDFlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwZW0gMGVtIDBlbSAwZW0gdHJhbnNwYXJlbnQgaW5zZXQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbn1cbi8qIFRleHQgQXJlYSAqL1xuLnVpLmZvcm0gdGV4dGFyZWEge1xuICBtYXJnaW46IDBlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBvdXRsaW5lOiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMGVtIDBlbSAwZW0gMGVtIHRyYW5zcGFyZW50IGluc2V0O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UsIGJvcmRlci1jb2xvciAwLjFzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS4yODU3O1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuLnVpLmZvcm0gdGV4dGFyZWE6bm90KFtyb3dzXSkge1xuICBoZWlnaHQ6IDEyZW07XG4gIG1pbi1oZWlnaHQ6IDhlbTtcbiAgbWF4LWhlaWdodDogMjRlbTtcbn1cbi51aS5mb3JtIHRleHRhcmVhLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSW5wdXQgdy8gYXR0YWNoZWQgQnV0dG9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZvcm0gaW5wdXQuYXR0YWNoZWQge1xuICB3aWR0aDogYXV0bztcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQmFzaWMgU2VsZWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZvcm0gc2VsZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJveC1zaGFkb3c6IDBlbSAwZW0gMGVtIDBlbSB0cmFuc3BhcmVudCBpbnNldDtcbiAgcGFkZGluZzogMC42MmVtIDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEcm9wZG93blxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEJsb2NrICovXG4udWkuZm9ybSAuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkuZm9ybSAuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBmbG9hdDogcmlnaHQ7XG59XG4vKiBJbmxpbmUgKi9cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24sXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93biB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIGZsb2F0OiBub25lO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFVJIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQmxvY2sgKi9cbi51aS5mb3JtIC5maWVsZCAudWkuaW5wdXQsXG4udWkuZm9ybSAuZmllbGRzIC5maWVsZCAudWkuaW5wdXQsXG4udWkuZm9ybSAud2lkZS5maWVsZCAudWkuaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIElubGluZSAgKi9cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZDpub3QoLndpZGUpIC51aS5pbnB1dCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQ6bm90KC53aWRlKSAudWkuaW5wdXQge1xuICB3aWR0aDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qIEF1dG8gSW5wdXQgKi9cbi51aS5mb3JtIC5maWVsZHMgLmZpZWxkIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5maWVsZCAudWkuaW5wdXQgaW5wdXQge1xuICB3aWR0aDogYXV0bztcbn1cbi8qIEZ1bGwgV2lkdGggSW5wdXQgKi9cbi51aS5mb3JtIC50ZW4uZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5uaW5lLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuZWlnaHQuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5zZXZlbi5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLnNpeC5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLmZpdmUuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5mb3VyLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAudGhyZWUuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC50d28uZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC53aWRlLmZpZWxkIC51aS5pbnB1dCBpbnB1dCB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICB3aWR0aDogMHB4O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVHlwZXMgb2YgTWVzc2FnZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZm9ybSAuc3VjY2Vzcy5tZXNzYWdlLFxuLnVpLmZvcm0gLndhcm5pbmcubWVzc2FnZSxcbi51aS5mb3JtIC5lcnJvci5tZXNzYWdlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEFzc3VtcHRpb25zICovXG4udWkuZm9ybSAubWVzc2FnZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBweDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFZhbGlkYXRpb24gUHJvbXB0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZvcm0gLmZpZWxkIC5wcm9tcHQubGFiZWwge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNFMEI0QjQgIWltcG9ydGFudDtcbiAgY29sb3I6ICM5RjNBMzggIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCAucHJvbXB0LFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCAucHJvbXB0IHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgbWFyZ2luOiAtMC4yNWVtIDBlbSAtMC41ZW0gMC41ZW07XG59XG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgLnByb21wdDpiZWZvcmUsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkIC5wcm9tcHQ6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiAwcHggMHB4IDFweCAxcHg7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQXV0b2ZpbGxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mb3JtIC5maWVsZC5maWVsZCBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMTAwcHggI0ZGRkZGMCBpbnNldCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICNFNURGQTEgIWltcG9ydGFudDtcbn1cbi8qIEZvY3VzICovXG4udWkuZm9ybSAuZmllbGQuZmllbGQgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDEwMHB4ICNGRkZGRjAgaW5zZXQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjRDVDMzE1ICFpbXBvcnRhbnQ7XG59XG4vKiBFcnJvciAqL1xuLnVpLmZvcm0gLmVycm9yLmVycm9yIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxMDBweCAjRkZGQUYwIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNCAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGxhY2Vob2xkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBicm93c2VycyByZXF1aXJlIHRoZXNlIHJ1bGVzIHNlcGFyYXRlICovXG4udWkuZm9ybSA6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgxOTEsIDE5MSwgMTkxLCAwLjg3KTtcbn1cbi51aS5mb3JtIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgxOTEsIDE5MSwgMTkxLCAwLjg3KSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTkxLCAxOTEsIDE5MSwgMC44Nyk7XG59XG4udWkuZm9ybSA6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgxMTUsIDExNSwgMTE1LCAwLjg3KTtcbn1cbi51aS5mb3JtIDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgxMTUsIDExNSwgMTE1LCAwLjg3KSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gOmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMC44Nyk7XG59XG4vKiBFcnJvciBQbGFjZWhvbGRlciAqL1xuLnVpLmZvcm0gLmVycm9yIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZTdiZGJjO1xufVxuLnVpLmZvcm0gLmVycm9yIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2U3YmRiYyAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmVycm9yIDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZTdiZGJjO1xufVxuLnVpLmZvcm0gLmVycm9yIDpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZGE5Nzk2O1xufVxuLnVpLmZvcm0gLmVycm9yIDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2RhOTc5NiAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmVycm9yIDpmb2N1czo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZGE5Nzk2O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mb3JtIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidXJsXCJdOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGJvcmRlci1jb2xvcjogIzg1QjdEOTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMHB4IDBlbSAwZW0gMGVtIHJnYmEoMzQsIDM2LCAzOCwgMC4zNSkgaW5zZXQ7XG59XG4udWkuZm9ybSB0ZXh0YXJlYTpmb2N1cyB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3JkZXItY29sb3I6ICM4NUI3RDk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDBweCAwZW0gMGVtIDBlbSByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpIGluc2V0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN1Y2Nlc3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBPbiBGb3JtICovXG4udWkuZm9ybS5zdWNjZXNzIC5zdWNjZXNzLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5mb3JtLnN1Y2Nlc3MgLmNvbXBhY3Quc3VjY2Vzcy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmZvcm0uc3VjY2VzcyAuaWNvbi5zdWNjZXNzLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBXYXJuaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogT24gRm9ybSAqL1xuLnVpLmZvcm0ud2FybmluZyAud2FybmluZy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuZm9ybS53YXJuaW5nIC5jb21wYWN0Lndhcm5pbmcubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi51aS5mb3JtLndhcm5pbmcgLmljb24ud2FybmluZy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRXJyb3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBPbiBGb3JtICovXG4udWkuZm9ybS5lcnJvciAuZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmZvcm0uZXJyb3IgLmNvbXBhY3QuZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi51aS5mb3JtLmVycm9yIC5pY29uLmVycm9yLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLyogT24gRmllbGQocykgKi9cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmlucHV0LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5pbnB1dCB7XG4gIGNvbG9yOiAjOUYzQTM4O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmNvcm5lci5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY29ybmVyLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiAjOUYzQTM4O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgc2VsZWN0LFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgdGV4dGFyZWEsXG4udWkuZm9ybSAuZmllbGQuZXJyb3Igc2VsZWN0LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ1cmxcIl0ge1xuICBiYWNrZ3JvdW5kOiAjRkZGNkY2O1xuICBib3JkZXItY29sb3I6ICNFMEI0QjQ7XG4gIGNvbG9yOiAjOUYzQTM4O1xuICBib3JkZXItcmFkaXVzOiAnJztcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5mb3JtIC5maWVsZC5lcnJvciB0ZXh0YXJlYTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBzZWxlY3Q6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXQ6bm90KFt0eXBlXSk6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImRhdGVcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0ZWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNGRkY2RjY7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNDtcbiAgY29sb3I6ICM5RjNBMzg7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIFByZXNlcnZlIE5hdGl2ZSBTZWxlY3QgU3R5bGluZ3MgKi9cbi51aS5mb3JtIC5maWVsZC5lcnJvciBzZWxlY3Qge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG1lbnVsaXN0LWJ1dHRvbjtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRHJvcGRvd24gRXJyb3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93biAuaXRlbSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duIC50ZXh0LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biAuaXRlbSB7XG4gIGJhY2tncm91bmQ6ICNGRkY2RjY7XG4gIGNvbG9yOiAjOUYzQTM4O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNCAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNCAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyIC5tZW51LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNDtcbn1cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5tdWx0aXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAubGFiZWwsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFQUNCQ0I7XG4gIGNvbG9yOiAjOUYzQTM4O1xufVxuLyogSG92ZXIgKi9cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuaXRlbTpob3Zlcixcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkuZHJvcGRvd24gLm1lbnUgLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJFN0U3O1xufVxuLyogU2VsZWN0ZWQgKi9cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkuZHJvcGRvd24gLm1lbnUgLnNlbGVjdGVkLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJFN0U3O1xufVxuLyogQWN0aXZlICovXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAudWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkRDRkNGICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ2hlY2tib3ggRXJyb3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbCxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSBsYWJlbCxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIC5ib3gsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgLmJveCB7XG4gIGNvbG9yOiAjOUYzQTM4O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWw6YmVmb3JlLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIGxhYmVsOmJlZm9yZSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIC5ib3g6YmVmb3JlLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIC5ib3g6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRjZGNjtcbiAgYm9yZGVyLWNvbG9yOiAjRTBCNEI0O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmNoZWNrYm94IGxhYmVsOmFmdGVyLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5jaGVja2JveCBsYWJlbDphZnRlcixcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC5jaGVja2JveCAuYm94OmFmdGVyLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5jaGVja2JveCAuYm94OmFmdGVyIHtcbiAgY29sb3I6ICM5RjNBMzg7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZm9ybSAuZGlzYWJsZWQuZmllbGRzIC5maWVsZCxcbi51aS5mb3JtIC5kaXNhYmxlZC5maWVsZCxcbi51aS5mb3JtIC5maWVsZCA6ZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi51aS5mb3JtIC5maWVsZC5kaXNhYmxlZCA+IGxhYmVsLFxuLnVpLmZvcm0gLmZpZWxkcy5kaXNhYmxlZCA+IGxhYmVsIHtcbiAgb3BhY2l0eTogMC40NTtcbn1cbi51aS5mb3JtIC5maWVsZC5kaXNhYmxlZCA6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAxO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkubG9hZGluZy5mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnVpLmxvYWRpbmcuZm9ybTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDAlO1xuICBsZWZ0OiAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG59XG4udWkubG9hZGluZy5mb3JtOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMS41ZW0gMGVtIDBlbSAtMS41ZW07XG4gIHdpZHRoOiAzZW07XG4gIGhlaWdodDogM2VtO1xuICBhbmltYXRpb246IGZvcm0tc3BpbiAwLjZzIGxpbmVhcjtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2IHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuMmVtO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHotaW5kZXg6IDEwMTtcbn1cbkBrZXlmcmFtZXMgZm9ybS1zcGluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBFbGVtZW50IFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBSZXF1aXJlZCBGaWVsZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHM6bm90KC5ncm91cGVkKSA+IC5maWVsZCA+IGxhYmVsOmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkcy5ncm91cGVkID4gbGFiZWw6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGQgPiBsYWJlbDphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHM6bm90KC5ncm91cGVkKSA+IC5maWVsZCA+IC5jaGVja2JveDphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZCA+IC5jaGVja2JveDphZnRlciB7XG4gIG1hcmdpbjogLTAuMmVtIDBlbSAwZW0gMC4yZW07XG4gIGNvbnRlbnQ6ICcqJztcbiAgY29sb3I6ICNEQjI4Mjg7XG59XG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzOm5vdCguZ3JvdXBlZCkgPiAuZmllbGQgPiBsYWJlbDphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZHMuZ3JvdXBlZCA+IGxhYmVsOmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkID4gbGFiZWw6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzOm5vdCguZ3JvdXBlZCkgPiAuZmllbGQgPiAuY2hlY2tib3g6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGQgPiAuY2hlY2tib3g6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDEwMCU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pbnZlcnRlZC5mb3JtIGxhYmVsLFxuLnVpLmZvcm0gLmludmVydGVkLnNlZ21lbnQgbGFiZWwsXG4udWkuZm9ybSAuaW52ZXJ0ZWQuc2VnbWVudCAudWkuY2hlY2tib3ggbGFiZWwsXG4udWkuZm9ybSAuaW52ZXJ0ZWQuc2VnbWVudCAudWkuY2hlY2tib3ggLmJveCxcbi51aS5pbnZlcnRlZC5mb3JtIC51aS5jaGVja2JveCBsYWJlbCxcbi51aS5pbnZlcnRlZC5mb3JtIC51aS5jaGVja2JveCAuYm94LFxuLnVpLmludmVydGVkLmZvcm0gLmlubGluZS5maWVsZHMgPiBsYWJlbCxcbi51aS5pbnZlcnRlZC5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IGxhYmVsLFxuLnVpLmludmVydGVkLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gcCxcbi51aS5pbnZlcnRlZC5mb3JtIC5pbmxpbmUuZmllbGQgPiBsYWJlbCxcbi51aS5pbnZlcnRlZC5mb3JtIC5pbmxpbmUuZmllbGQgPiBwIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIEludmVydGVkIEZpZWxkICovXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgRmllbGQgR3JvdXBzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogR3JvdXBlZCBWZXJ0aWNhbGx5ICovXG4udWkuZm9ybSAuZ3JvdXBlZC5maWVsZHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbn1cbi51aS5mb3JtIC5ncm91cGVkLmZpZWxkczpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLnVpLmZvcm0gLmdyb3VwZWQuZmllbGRzID4gbGFiZWwge1xuICBtYXJnaW46IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLnVpLmZvcm0gLmdyb3VwZWQuZmllbGRzIC5maWVsZCxcbi51aS5mb3JtIC5ncm91cGVkLmlubGluZS5maWVsZHMgLmZpZWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMC41ZW0gMGVtO1xuICBwYWRkaW5nOiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZpZWxkc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNwbGl0IGZpZWxkcyAqL1xuLnVpLmZvcm0gLmZpZWxkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbjogMGVtIC0wLjVlbSAxZW07XG59XG4udWkuZm9ybSAuZmllbGRzID4gLmZpZWxkIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNWVtO1xufVxuLnVpLmZvcm0gLmZpZWxkcyA+IC5maWVsZDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogT3RoZXIgQ29tYmluYXRpb25zICovXG4udWkuZm9ybSAudHdvLmZpZWxkcyA+IC5maWVsZHMsXG4udWkuZm9ybSAudHdvLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiA1MCU7XG59XG4udWkuZm9ybSAudGhyZWUuZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC50aHJlZS5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMlO1xufVxuLnVpLmZvcm0gLmZvdXIuZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC5mb3VyLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiAyNSU7XG59XG4udWkuZm9ybSAuZml2ZS5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLmZpdmUuZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDIwJTtcbn1cbi51aS5mb3JtIC5zaXguZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC5zaXguZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbn1cbi51aS5mb3JtIC5zZXZlbi5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLnNldmVuLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiAxNC4yODU3MTQyOSU7XG59XG4udWkuZm9ybSAuZWlnaHQuZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC5laWdodC5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogMTIuNSU7XG59XG4udWkuZm9ybSAubmluZS5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLm5pbmUuZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDExLjExMTExMTExJTtcbn1cbi51aS5mb3JtIC50ZW4uZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC50ZW4uZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDEwJTtcbn1cbi8qIFN3YXAgdG8gZnVsbCB3aWR0aCBvbiBtb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLmZvcm0gLmZpZWxkcyB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIC51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHMgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC50d28uZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkcyxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLnR3by5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC50aHJlZS5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAudGhyZWUuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZm91ci5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZm91ci5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maXZlLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZHMsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maXZlLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLnNpeC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuc2l4LmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLnNldmVuLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZHMsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5zZXZlbi5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5laWdodC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZWlnaHQuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAubmluZS5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAubmluZS5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC50ZW4uZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkcyxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLnRlbi5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbiAgfVxufVxuLyogU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuLnVpLmZvcm0gLmZpZWxkcyAud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA2LjI1JTtcbiAgcGFkZGluZy1sZWZ0OiAwLjVlbTtcbiAgcGFkZGluZy1yaWdodDogMC41ZW07XG59XG4udWkuZm9ybSAub25lLndpZGUuZmllbGQge1xuICB3aWR0aDogNi4yNSUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC50d28ud2lkZS5maWVsZCB7XG4gIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLnRocmVlLndpZGUuZmllbGQge1xuICB3aWR0aDogMTguNzUlICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuZm91ci53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpdmUud2lkZS5maWVsZCB7XG4gIHdpZHRoOiAzMS4yNSUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5zaXgud2lkZS5maWVsZCB7XG4gIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLnNldmVuLndpZGUuZmllbGQge1xuICB3aWR0aDogNDMuNzUlICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuZWlnaHQud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5uaW5lLndpZGUuZmllbGQge1xuICB3aWR0aDogNTYuMjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAudGVuLndpZGUuZmllbGQge1xuICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5lbGV2ZW4ud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA2OC43NSUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC50d2VsdmUud2lkZS5maWVsZCB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC50aGlydGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDgxLjI1JSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZvdXJ0ZWVuLndpZGUuZmllbGQge1xuICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5maWZ0ZWVuLndpZGUuZmllbGQge1xuICB3aWR0aDogOTMuNzUlICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuc2l4dGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi8qIFN3YXAgdG8gZnVsbCB3aWR0aCBvbiBtb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLnR3by5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAudHdvLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLnRocmVlLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZHMsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC50aHJlZS5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5mb3VyLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZHMsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5mb3VyLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZpdmUuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkcyxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZpdmUuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLnR3by53aWRlLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLnRocmVlLndpZGUuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZm91ci53aWRlLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpdmUud2lkZS5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5zaXgud2lkZS5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5zZXZlbi53aWRlLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmVpZ2h0LndpZGUuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAubmluZS53aWRlLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLnRlbi53aWRlLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmVsZXZlbi53aWRlLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLnR3ZWx2ZS53aWRlLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLnRoaXJ0ZWVuLndpZGUuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZm91cnRlZW4ud2lkZS5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWZ0ZWVuLndpZGUuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuc2l4dGVlbi53aWRlLmZpZWxkIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5mb3JtIC5maWVsZHMge1xuICAgIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgfVxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBFcXVhbCBXaWR0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5mb3JtIC5maWVsZHMgPiAuZmllbGQsXG4udWkuZm9ybSBbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIElubGluZSBGaWVsZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyB7XG4gIG1hcmdpbjogMGVtIDBlbSAxZW07XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQge1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMGVtIDFlbSAwZW0gMGVtO1xufVxuLyogSW5saW5lIExhYmVsICovXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyA+IGxhYmVsLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gbGFiZWwsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBwLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IGxhYmVsLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IHAge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi8qIEdyb3VwZWQgSW5saW5lIExhYmVsICovXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyA+IGxhYmVsIHtcbiAgbWFyZ2luOiAwLjAzNTcxNGVtIDFlbSAwZW0gMGVtO1xufVxuLyogSW5saW5lIElucHV0ICovXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBpbnB1dCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IHNlbGVjdCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiBpbnB1dCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiBzZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG4vKiBMYWJlbCAqL1xuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gOmZpcnN0LWNoaWxkLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbjogMGVtIDAuODU3MTQyODZlbSAwZW0gMGVtO1xufVxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gOm9ubHktY2hpbGQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gOm9ubHktY2hpbGQge1xuICBtYXJnaW46IDBlbTtcbn1cbi8qIFdpZGUgKi9cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC53aWRlLmZpZWxkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC53aWRlLmZpZWxkID4gaW5wdXQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAud2lkZS5maWVsZCA+IHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5taW5pLmZvcm0ge1xuICBmb250LXNpemU6IDAuNzg1NzE0MjlyZW07XG59XG4udWkudGlueS5mb3JtIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLmZvcm0ge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkuZm9ybSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5sYXJnZS5mb3JtIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5mb3JtIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLmh1Z2UuZm9ybSB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLmZvcm0ge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gR3JpZFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEdyaWRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBJbmhlcml0ZWQgRnJvbSBTaXRlICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgR3JpZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFJlbGF4ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIERpdmlkZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ2VsbGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIFN0YWNrYWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTGVnYWN5XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogTGVnYWN5IChETyBOT1QgVVNFKVxuICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBHcmlkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogSW5oZXJpdGVkIEZyb20gU2l0ZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEdyaWRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBSZWxheGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBEaXZpZGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIENlbGxlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTdGFja2FibGVcbi0tLS0tLS0tLS0tLS0tLSovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIExlZ2FjeVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExlZ2FjeSAoRE8gTk9UIFVTRSlcbiAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nOiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFJlbW92ZSBHdXR0ZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZ3JpZCB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xcmVtO1xufVxuLnVpLnJlbGF4ZWQuZ3JpZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xLjVyZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmdyaWQge1xuICBtYXJnaW4tbGVmdDogLTIuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMi41cmVtO1xufVxuLyogUHJlc2VydmUgUm93cyBTcGFjaW5nIG9uIENvbnNlY3V0aXZlIEdyaWRzICovXG4udWkuZ3JpZCArIC5ncmlkIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbHVtbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFN0YW5kYXJkIDE2IGNvbHVtbiAqL1xuLnVpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDYuMjUlO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4udWkuZ3JpZCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUm93c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmdyaWQgPiAucm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogaW5oZXJpdDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDByZW07XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbHVtbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFZlcnRpY2FsIHBhZGRpbmcgd2hlbiBubyByb3dzICovXG4udWkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZ3JpZCA+IC5yb3cgPiBpbWcsXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uID4gaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTG9vc2UgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIENvbGxhcHNlIE1hcmdpbiBvbiBDb25zZWN1dGl2ZSBHcmlkICovXG4udWkuZ3JpZCA+IC51aS5ncmlkOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLnVpLmdyaWQgPiAudWkuZ3JpZDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLyogU2VnbWVudCBpbnNpZGUgQWxpZ25lZCBHcmlkICovXG4udWkuZ3JpZCAuYWxpZ25lZC5yb3cgPiAuY29sdW1uID4gLnNlZ21lbnQ6bm90KC5jb21wYWN0KTpub3QoLmF0dGFjaGVkKSxcbi51aS5hbGlnbmVkLmdyaWQgLmNvbHVtbiA+IC5zZWdtZW50Om5vdCguY29tcGFjdCk6bm90KC5hdHRhY2hlZCkge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEFsaWduIERpdmlkZXJzIHdpdGggR3V0dGVyICovXG4udWkuZ3JpZCAucm93ICsgLnVpLmRpdmlkZXIge1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbjogMXJlbSAxcmVtO1xufVxuLnVpLmdyaWQgLmNvbHVtbiArIC51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgaGVpZ2h0OiBjYWxjKDUwJSAtICgycmVtIC8gMikpO1xufVxuLyogUmVtb3ZlIEJvcmRlciBvbiBMYXN0IEhvcml6b250YWwgU2VnbWVudCAqL1xuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkID4gLmhvcml6b250YWwuc2VnbWVudCxcbi51aS5ncmlkID4gLmNvbHVtbjpsYXN0LWNoaWxkID4gLmhvcml6b250YWwuc2VnbWVudCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFBhZ2UgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5wYWdlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogMGVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDBlbTtcbiAgICBtYXJnaW4tbGVmdDogMGVtO1xuICAgIG1hcmdpbi1yaWdodDogMGVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnVpLnBhZ2UuZ3JpZCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnVpLnBhZ2UuZ3JpZCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDMlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDMlO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAudWkucGFnZS5ncmlkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMGVtO1xuICAgIG1hcmdpbi1yaWdodDogMGVtO1xuICAgIHBhZGRpbmctbGVmdDogMTUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1JTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnBhZ2UuZ3JpZCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIzJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMyU7XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBDb2x1bW4gQ291bnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEFzc3VtZSBmdWxsIHdpZHRoIHdpdGggb25lIGNvbHVtbiAqL1xuLnVpLmdyaWQgPiAuY29sdW1uOm9ubHktY2hpbGQsXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOm9ubHktY2hpbGQge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEdyaWQgQmFzZWQgKi9cbi51aVtjbGFzcyo9XCJvbmUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJvbmUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMzMuMzMzMzMzMzMlO1xufVxuLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMjUlO1xufVxuLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMjAlO1xufVxuLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbn1cbi51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogMTQuMjg1NzE0MjklO1xufVxuLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDExLjExMTExMTExJTtcbn1cbi51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiAxMCU7XG59XG4udWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogOS4wOTA5MDkwOSU7XG59XG4udWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogOC4zMzMzMzMzMyU7XG59XG4udWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDcuNjkyMzA3NjklO1xufVxuLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiA3LjE0Mjg1NzE0JTtcbn1cbi51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IDYuNjY2NjY2NjclO1xufVxuLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogNi4yNSU7XG59XG4vKiBSb3cgQmFzZWQgT3ZlcnJpZGVzICovXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NyUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDE0LjI4NTcxNDI5JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMTEuMTExMTExMTElICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogMTAlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogOS4wOTA5MDkwOSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzJSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogNy42OTIzMDc2OSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDcuMTQyODU3MTQlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDYuNjY2NjY2NjclICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IDYuMjUlICFpbXBvcnRhbnQ7XG59XG4vKiBDZWxsZWQgUGFnZSAqL1xuLnVpLmNlbGxlZC5wYWdlLmdyaWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQ29sdW1uIFdpZHRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTaXppbmcgQ29tYmluYXRpb25zICovXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDYuMjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogMTguNzUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDMxLjI1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDQzLjc1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogNTYuMjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IDY4Ljc1JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA4MS4yNSUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogOTMuNzUlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBXaWR0aCBwZXIgRGV2aWNlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNb2JpbGUgU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNi4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMxLjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNDMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDU2LjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDY4Ljc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDgxLjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4Ny41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDkzLjc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogVGFibGV0IFNpemluZyBDb21iaW5hdGlvbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxOC43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMS4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDM3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDQzLjc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1Ni4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2OC43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4MS4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA5My43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIENvbXB1dGVyL0Rlc2t0b3AgU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNi4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxOC43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMzEuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDM3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNDMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1Ni4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjguNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDgxLjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDg3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA5My43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogTGFyZ2UgTW9uaXRvciBTaXppbmcgQ29tYmluYXRpb25zICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxOC43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMS4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDM3LjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDQzLjc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1Ni4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDYyLjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2OC43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA4MS4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA5My43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIFdpZGVzY3JlZW4gU2l6aW5nIENvbWJpbmF0aW9ucyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNi4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogMTguNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMS4yNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiAzNy41JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNDMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNTYuMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogNjIuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA2OC43NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDgxLjI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogODcuNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogOTMuNzUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENlbnRlcmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2VudGVyZWQuZ3JpZCxcbi51aS5jZW50ZXJlZC5ncmlkID4gLnJvdyxcbi51aS5ncmlkID4gLmNlbnRlcmVkLnJvdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udWkuY2VudGVyZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5hbGlnbmVkKTpub3QoLmp1c3RpZmllZCk6bm90KC5yb3cpLFxuLnVpLmNlbnRlcmVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpub3QoLmFsaWduZWQpOm5vdCguanVzdGlmaWVkKSxcbi51aS5ncmlkIC5jZW50ZXJlZC5yb3cgPiAuY29sdW1uOm5vdCguYWxpZ25lZCk6bm90KC5qdXN0aWZpZWQpIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aS5ncmlkID4gLmNlbnRlcmVkLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5jZW50ZXJlZC5jb2x1bW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBSZWxheGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkucmVsYXhlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkucmVsYXhlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yZWxheGVkLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbn1cbi8qIENvdXBsaW5nIHdpdGggVUkgRGl2aWRlciAqL1xuLnVpLnJlbGF4ZWQuZ3JpZCAucm93ICsgLnVpLmRpdmlkZXIsXG4udWkuZ3JpZCAucmVsYXhlZC5yb3cgKyAudWkuZGl2aWRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkIC5yb3cgKyAudWkuZGl2aWRlcixcbi51aS5ncmlkIFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ucm93ICsgLnVpLmRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogMi41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWRkZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5wYWRkZWQuZ3JpZDpub3QoLnZlcnRpY2FsbHkpOm5vdCguaG9yaXpvbnRhbGx5KSB7XG4gIG1hcmdpbjogMGVtICFpbXBvcnRhbnQ7XG59XG5bY2xhc3MqPVwiaG9yaXpvbnRhbGx5IHBhZGRlZFwiXS51aS5ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xufVxuW2NsYXNzKj1cInZlcnRpY2FsbHkgcGFkZGVkXCJdLnVpLmdyaWQge1xuICBtYXJnaW4tdG9wOiAwZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMGVtICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBcIkZsb2F0ZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmdyaWQgW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5jb2x1bW4ge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4udWkuZ3JpZCBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXS5jb2x1bW4ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBEaXZpZGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbiB7XG4gIGJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIFN3YXAgZnJvbSBwYWRkaW5nIHRvIG1hcmdpbiBvbiBjb2x1bW5zIHRvIGhhdmUgZGl2aWRlcnMgYWxpZ24gKi9cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLXRvcDogMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDByZW07XG59XG4udWlbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93IHtcbiAgbWFyZ2luLXRvcDogMGVtO1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4vKiBObyBkaXZpZGVyIG9uIGZpcnN0IGNvbHVtbiBvbiByb3cgKi9cbi51aS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbi51aS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogTm8gc3BhY2Ugb24gdG9wIG9mIGZpcnN0IHJvdyAqL1xuLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZCA+IC5jb2x1bW4ge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4vKiBEaXZpZGVkIFJvdyAqL1xuLnVpLmdyaWQgPiAuZGl2aWRlZC5yb3cgPiAuY29sdW1uIHtcbiAgYm94LXNoYWRvdzogLTFweCAwcHggMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmdyaWQgPiAuZGl2aWRlZC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIFZlcnRpY2FsbHkgRGl2aWRlZCAqL1xuLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDBlbTtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDAlIDFyZW07XG4gIGJveC1zaGFkb3c6IDBweCAtMXB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qIFBhZGRlZCBIb3Jpem9udGFsbHkgRGl2aWRlZCAqL1xuW2NsYXNzKj1cImhvcml6b250YWxseSBwYWRkZWRcIl0udWkuZGl2aWRlZC5ncmlkLFxuLnVpLnBhZGRlZC5kaXZpZGVkLmdyaWQ6bm90KC52ZXJ0aWNhbGx5KTpub3QoLmhvcml6b250YWxseSkge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qIEZpcnN0IFJvdyBWZXJ0aWNhbGx5IERpdmlkZWQgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIEludmVydGVkIERpdmlkZWQgKi9cbi51aS5pbnZlcnRlZC5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkuaW52ZXJ0ZWQuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uIHtcbiAgYm94LXNoYWRvdzogLTFweCAwcHggMHB4IDBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bm90KC5yb3cpOmZpcnN0LWNoaWxkLFxuLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuaW52ZXJ0ZWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93OmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IDBweCAtMXB4IDBweCAwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLyogUmVsYXhlZCAqL1xuLnVpLnJlbGF4ZWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93OmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICB3aWR0aDogY2FsYygxMDAlIC0gM3JlbSk7XG59XG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMi41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDVyZW0pO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDZWxsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jZWxsZWQuZ3JpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDFlbSAwZW07XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1O1xufVxuLnVpLmNlbGxlZC5ncmlkID4gLnJvdyB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwZW07XG4gIGJveC1zaGFkb3c6IDBweCAtMXB4IDBweCAwcHggI0Q0RDRENTtcbn1cbi51aS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBib3gtc2hhZG93OiAtMXB4IDBweCAwcHggMHB4ICNENEQ0RDU7XG59XG4udWkuY2VsbGVkLmdyaWQgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIHBhZGRpbmc6IDFlbTtcbn1cbi51aS5yZWxheGVkLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkucmVsYXhlZC5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZzogMS41ZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nOiAyZW07XG59XG4vKiBJbnRlcm5hbGx5IENlbGxlZCAqL1xuLnVpW2NsYXNzKj1cImludGVybmFsbHkgY2VsbGVkXCJdLmdyaWQge1xuICBib3gtc2hhZG93OiBub25lO1xuICBtYXJnaW46IDBlbTtcbn1cbi51aVtjbGFzcyo9XCJpbnRlcm5hbGx5IGNlbGxlZFwiXS5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWlbY2xhc3MqPVwiaW50ZXJuYWxseSBjZWxsZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVmVydGljYWxseSBBbGlnbmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUb3AgQWxpZ25lZCAqL1xuLnVpW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aVtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0uY29sdW1uOm5vdCgucm93KSxcbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG4vKiBNaWRkbGUgQWxpZ25lZCAqL1xuLnVpW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aVtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0uY29sdW1uOm5vdCgucm93KSxcbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cbi8qIEJvdHRvbSBBbGlnbmVkICovXG4udWlbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG4vKiBTdHJldGNoZWQgKi9cbi51aS5zdHJldGNoZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLnN0cmV0Y2hlZC5ncmlkID4gLmNvbHVtbixcbi51aS5ncmlkID4gLnN0cmV0Y2hlZC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiAuc3RyZXRjaGVkLmNvbHVtbjpub3QoLnJvdyksXG4udWkuZ3JpZCA+IC5yb3cgPiAuc3RyZXRjaGVkLmNvbHVtbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4udWkuc3RyZXRjaGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbiA+ICosXG4udWkuc3RyZXRjaGVkLmdyaWQgPiAuY29sdW1uID4gKixcbi51aS5ncmlkID4gLnN0cmV0Y2hlZC5yb3cgPiAuY29sdW1uID4gKixcbi51aS5ncmlkID4gLnN0cmV0Y2hlZC5jb2x1bW46bm90KC5yb3cpID4gKixcbi51aS5ncmlkID4gLnJvdyA+IC5zdHJldGNoZWQuY29sdW1uID4gKiB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIb3Jpem9udGFsbHkgQ2VudGVyZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExlZnQgQWxpZ25lZCAqL1xuLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uY29sdW1uLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uY29sdW1uLmNvbHVtbiB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGFsaWduLXNlbGY6IGluaGVyaXQ7XG59XG4vKiBDZW50ZXIgQWxpZ25lZCAqL1xuLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmdyaWQgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5jb2x1bW4uY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmNvbHVtbi5jb2x1bW4ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGluaGVyaXQ7XG59XG4udWlbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uZ3JpZCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLyogUmlnaHQgQWxpZ25lZCAqL1xuLnVpW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLmNvbHVtbi5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5jb2x1bW4uY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGFsaWduLXNlbGY6IGluaGVyaXQ7XG59XG4vKiBKdXN0aWZpZWQgKi9cbi51aS5qdXN0aWZpZWQuZ3JpZCA+IC5jb2x1bW4sXG4udWkuanVzdGlmaWVkLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gLmp1c3RpZmllZC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiAuanVzdGlmaWVkLmNvbHVtbi5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuanVzdGlmaWVkLmNvbHVtbi5jb2x1bW4ge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBoeXBoZW5zOiBhdXRvO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDb2xvcmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZ3JpZCA+IC5yb3cgPiAucmVkLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5vcmFuZ2UuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnllbGxvdy5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAub2xpdmUuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmdyZWVuLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC50ZWFsLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5ibHVlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC52aW9sZXQuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnB1cnBsZS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAucGluay5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuYnJvd24uY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmdyZXkuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmJsYWNrLmNvbHVtbiB7XG4gIG1hcmdpbi10b3A6IC0xcmVtO1xuICBtYXJnaW4tYm90dG9tOiAtMXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuLyogUmVkICovXG4udWkuZ3JpZCA+IC5yZWQucm93LFxuLnVpLmdyaWQgPiAucmVkLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5yZWQuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIE9yYW5nZSAqL1xuLnVpLmdyaWQgPiAub3JhbmdlLnJvdyxcbi51aS5ncmlkID4gLm9yYW5nZS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAub3JhbmdlLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjcxMUMgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBZZWxsb3cgKi9cbi51aS5ncmlkID4gLnllbGxvdy5yb3csXG4udWkuZ3JpZCA+IC55ZWxsb3cuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnllbGxvdy5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJCRDA4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogT2xpdmUgKi9cbi51aS5ncmlkID4gLm9saXZlLnJvdyxcbi51aS5ncmlkID4gLm9saXZlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5vbGl2ZS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjVDQzE4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogR3JlZW4gKi9cbi51aS5ncmlkID4gLmdyZWVuLnJvdyxcbi51aS5ncmlkID4gLmdyZWVuLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5ncmVlbi5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogVGVhbCAqL1xuLnVpLmdyaWQgPiAudGVhbC5yb3csXG4udWkuZ3JpZCA+IC50ZWFsLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC50ZWFsLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBCbHVlICovXG4udWkuZ3JpZCA+IC5ibHVlLnJvdyxcbi51aS5ncmlkID4gLmJsdWUuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmJsdWUuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIFZpb2xldCAqL1xuLnVpLmdyaWQgPiAudmlvbGV0LnJvdyxcbi51aS5ncmlkID4gLnZpb2xldC5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAudmlvbGV0LmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1QzkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBQdXJwbGUgKi9cbi51aS5ncmlkID4gLnB1cnBsZS5yb3csXG4udWkuZ3JpZCA+IC5wdXJwbGUuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnB1cnBsZS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTMzM0M4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyogUGluayAqL1xuLnVpLmdyaWQgPiAucGluay5yb3csXG4udWkuZ3JpZCA+IC5waW5rLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5waW5rLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFMDM5OTcgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBCcm93biAqL1xuLnVpLmdyaWQgPiAuYnJvd24ucm93LFxuLnVpLmdyaWQgPiAuYnJvd24uY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmJyb3duLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBNTY3M0YgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKiBHcmV5ICovXG4udWkuZ3JpZCA+IC5ncmV5LnJvdyxcbi51aS5ncmlkID4gLmdyZXkuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmdyZXkuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NiAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIEJsYWNrICovXG4udWkuZ3JpZCA+IC5ibGFjay5yb3csXG4udWkuZ3JpZCA+IC5ibGFjay5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuYmxhY2suY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRXF1YWwgV2lkdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0ucm93ID4gLmNvbHVtbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxleC1ncm93OiAxO1xufVxuLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmdyaWQgPiAud2lkZS5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZ3JpZCA+IC5yb3cgPiAud2lkZS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5yb3cgPiAud2lkZS5jb2x1bW4ge1xuICBmbGV4LWdyb3c6IDA7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUmV2ZXJzZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uZ3JpZCxcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5ncmlkID4gLnJvdyxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLnJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgdmVydGljYWxseSByZXZlcnNlZFwiXS5ncmlkLFxuICAudWkuc3RhY2thYmxlW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG4gIC8qIERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgfVxuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmxhc3QtY2hpbGQsXG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLyogVmVydGljYWxseSBEaXZpZGVkIFJldmVyc2VkICovXG4gIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJtb2JpbGUgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiAwcHggLTFweCAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIH1cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cIm1vYmlsZSB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAvKiBDZWxsZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiAtMXB4IDBweCAwcHggMHB4ICNENEQ0RDU7XG4gIH1cbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cbi8qIFRhYmxldCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZ3JpZCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5ncmlkID4gLnJvdyxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLnJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgdmVydGljYWxseSByZXZlcnNlZFwiXS5ncmlkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cbiAgLyogRGl2aWRlZCBSZXZlcnNlZCAqL1xuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogLTFweCAwcHggMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bGFzdC1jaGlsZCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAvKiBWZXJ0aWNhbGx5IERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cInRhYmxldCB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDBweCAtMXB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgfVxuICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwidGFibGV0IHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93Omxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIENlbGxlZCBSZXZlcnNlZCAqL1xuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggI0Q0RDRENTtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuLyogQ29tcHV0ZXIgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmdyaWQsXG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5ncmlkID4gLnJvdyxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0ucm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0uZ3JpZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG4gIC8qIERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiAtMXB4IDBweCAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmxhc3QtY2hpbGQsXG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAvKiBWZXJ0aWNhbGx5IERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cImNvbXB1dGVyIHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93OmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogMHB4IC0xcHggMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB9XG4gIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJjb21wdXRlciB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAvKiBDZWxsZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMHB4IDBweCAwcHggI0Q0RDRENTtcbiAgfVxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERvdWJsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUYWJsZXQgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC51aS5kb3VibGluZy5ncmlkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3csXG4gIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwZW0gIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3cgPiAuY29sdW1uLFxuICAudWkuZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMGVtO1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjclICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NyUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDE0LjI4NTcxNDI5JSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMTQuMjg1NzE0MjklICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMi41JSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBNb2JpbGUgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3csXG4gIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwZW0gIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3cgPiAuY29sdW1uLFxuICAudWkuZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwZW0gIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImVpZ2h0IGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInR3ZWx2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMyUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFN0YWNrYWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuc3RhY2thYmxlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUuZ3JpZCA+IC5yb3cgPiAud2lkZS5jb2x1bW4sXG4gIC51aS5zdGFja2FibGUuZ3JpZCA+IC53aWRlLmNvbHVtbixcbiAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLmNvbHVtbi5ncmlkID4gLmNvbHVtbixcbiAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLmNvbHVtbi5yb3cgPiAuY29sdW1uLFxuICAudWkuc3RhY2thYmxlLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gLnN0YWNrYWJsZS5zdGFja2FibGUucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDBlbSAwZW0gIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5ncmlkOm5vdCgudmVydGljYWxseSkgPiAucm93IHtcbiAgICBtYXJnaW46IDBlbTtcbiAgICBwYWRkaW5nOiAwZW07XG4gIH1cbiAgLyogQ291cGxpbmcgKi9cbiAgLnVpLmNvbnRhaW5lciA+IC51aS5zdGFja2FibGUuZ3JpZCA+IC5jb2x1bW4sXG4gIC51aS5jb250YWluZXIgPiAudWkuc3RhY2thYmxlLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbiAgfVxuICAvKiBEb24ndCBwYWQgaW5zaWRlIHNlZ21lbnQgb3IgbmVzdGVkIGdyaWQgKi9cbiAgLnVpLmdyaWQgLnVpLnN0YWNrYWJsZS5ncmlkLFxuICAudWkuc2VnbWVudDpub3QoLnZlcnRpY2FsKSAudWkuc3RhY2thYmxlLnBhZ2UuZ3JpZCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC8qIERpdmlkZWQgU3RhY2thYmxlICovXG4gIC51aS5zdGFja2FibGUuZGl2aWRlZC5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZCA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAucm93OmZpcnN0LWNoaWxkID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbiAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KTpmaXJzdC1jaGlsZCxcbiAgLnVpLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmludmVydGVkLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuaW52ZXJ0ZWQuc3RhY2thYmxlLmRpdmlkZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuaW52ZXJ0ZWQuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aS5pbnZlcnRlZC5zdGFja2FibGUuZGl2aWRlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuc3RhY2thYmxlLmRpdmlkZWQ6bm90KC52ZXJ0aWNhbGx5KS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkOm5vdCgudmVydGljYWxseSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDJyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAucm93IHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5kaXZpZGVkOm5vdCgudmVydGljYWxseSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuc3RhY2thYmxlLmRpdmlkZWQ6bm90KC52ZXJ0aWNhbGx5KS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMGVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMGVtICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPbmx5IChEZXZpY2UpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGVzZSBpbmNsdWRlIGFyYml0cmFyeSBjbGFzcyByZXBldGl0aW9ucyBmb3IgZm9yY2VkIHNwZWNpZmljaXR5ICovXG4vKiBNb2JpbGUgT25seSBIaWRlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIFRhYmxldCBPbmx5IEhpZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC50YWJsZXQpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0ucm93Om5vdCgudGFibGV0KSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLnRhYmxldCksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCgudGFibGV0KSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0ucm93Om5vdCgudGFibGV0KSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmNvbHVtbjpub3QoLnRhYmxldCkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBDb21wdXRlciBPbmx5IEhpZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBMYXJnZSBTY3JlZW4gT25seSBIaWRlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkgYW5kIChtYXgtd2lkdGg6IDE5MTlweCkge1xuICAudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5jb21wdXRlciksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5yb3c6bm90KC5jb21wdXRlciksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlciksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBXaWRlc2NyZWVuIE9ubHkgSGlkZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG4gKiAjIFNlbWFudGljIC0gTWVudVxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNZW51XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBDb2xsZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNZW51ICovXG4vKiBNZW51IEl0ZW0gKi9cbi8qIERpdmlkZXIgKi9cbi8qIFN1YiBNZW51ICovXG4vKiBUZXh0IEl0ZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEljb24gKi9cbi8qIERyb3Bkb3duIEljb24gKi9cbi8qIEhlYWRlciAqL1xuLyogVmVydGljYWwgSWNvbiAqL1xuLyogVmVydGljYWwgSGVhZGVyICovXG4vKiBQb2ludGluZyBBcnJvdyAqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEJ1dHRvbiAqL1xuLyogSW5wdXQgKi9cbi8qIEltYWdlICovXG4vKiBMYWJlbCAqL1xuLyogRHJvcGRvd24gaW4gTWVudSAqL1xuLyogRHJvcGRvd24gVmFyaWF0aW9ucyAqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBIb3ZlcmVkIEl0ZW0gKi9cbi8qIFByZXNzZWQgSXRlbSAqL1xuLyogQWN0aXZlIEl0ZW0gKi9cbi8qIEFjdGl2ZSBIb3ZlcmVkIEl0ZW0gKi9cbi8qIFNlbGVjdGVkIERyb3Bkb3duICovXG4vKiBBY3RpdmUgRHJvcGRvd24gKi9cbi8qIEFjdGl2ZSBTdWIgTWVudSAqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFZlcnRpY2FsICovXG4vKiBTZWNvbmRhcnkgKi9cbi8qIFBvaW50aW5nICovXG4vKiBJbnZlcnRlZCBTZWNvbmRhcnkgKi9cbi8qIEludmVydGVkIFBvaW50aW5nICovXG4vKiBUaWVyZWQgKi9cbi8qIEljb24gKi9cbi8qIFRhYnVsYXIgKi9cbi8qIFBhZ2luYXRpb24gKi9cbi8qIExhYmVsZWQgSWNvbiAqL1xuLyogVGV4dCAqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKiBJbnZlcnRlZCBTdWIgTWVudSAqL1xuLyogSW52ZXJ0ZWQgSG92ZXIgKi9cbi8qIFByZXNzZWQgKi9cbi8qIEludmVydGVkIEFjdGl2ZSAqL1xuLyogSW52ZXJ0ZWQgQWN0aXZlIEhvdmVyICAqL1xuLyogSW52ZXJ0ZWQgTWVudSBEaXZpZGVyICovXG4vKiBJbnZlcnRlZCBDb2xvcmVkICovXG4vKiBGaXhlZCAqL1xuLyogRmxvYXRlZCAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIFJlc2l6ZSBsYXJnZSBzaXplcyAqL1xuLyogU2l6ZXMgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1lbnVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvbGxlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1lbnUgKi9cbi8qIE1lbnUgSXRlbSAqL1xuLyogRGl2aWRlciAqL1xuLyogU3ViIE1lbnUgKi9cbi8qIFRleHQgSXRlbSAqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogSWNvbiAqL1xuLyogRHJvcGRvd24gSWNvbiAqL1xuLyogSGVhZGVyICovXG4vKiBWZXJ0aWNhbCBJY29uICovXG4vKiBWZXJ0aWNhbCBIZWFkZXIgKi9cbi8qIFBvaW50aW5nIEFycm93ICovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogQnV0dG9uICovXG4vKiBJbnB1dCAqL1xuLyogSW1hZ2UgKi9cbi8qIExhYmVsICovXG4vKiBEcm9wZG93biBpbiBNZW51ICovXG4vKiBEcm9wZG93biBWYXJpYXRpb25zICovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEhvdmVyZWQgSXRlbSAqL1xuLyogUHJlc3NlZCBJdGVtICovXG4vKiBBY3RpdmUgSXRlbSAqL1xuLyogQWN0aXZlIEhvdmVyZWQgSXRlbSAqL1xuLyogU2VsZWN0ZWQgRHJvcGRvd24gKi9cbi8qIEFjdGl2ZSBEcm9wZG93biAqL1xuLyogQWN0aXZlIFN1YiBNZW51ICovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVmVydGljYWwgKi9cbi8qIFNlY29uZGFyeSAqL1xuLyogUG9pbnRpbmcgKi9cbi8qIEludmVydGVkIFNlY29uZGFyeSAqL1xuLyogSW52ZXJ0ZWQgUG9pbnRpbmcgKi9cbi8qIFRpZXJlZCAqL1xuLyogSWNvbiAqL1xuLyogVGFidWxhciAqL1xuLyogUGFnaW5hdGlvbiAqL1xuLyogTGFiZWxlZCBJY29uICovXG4vKiBUZXh0ICovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEludmVydGVkIFN1YiBNZW51ICovXG4vKiBJbnZlcnRlZCBIb3ZlciAqL1xuLyogUHJlc3NlZCAqL1xuLyogSW52ZXJ0ZWQgQWN0aXZlICovXG4vKiBJbnZlcnRlZCBBY3RpdmUgSG92ZXIgICovXG4vKiBJbnZlcnRlZCBNZW51IERpdmlkZXIgKi9cbi8qIEludmVydGVkIENvbG9yZWQgKi9cbi8qIEZpeGVkICovXG4vKiBGbG9hdGVkICovXG4vKiBBdHRhY2hlZCAqL1xuLyogUmVzaXplIGxhcmdlIHNpemVzICovXG4vKiBTaXplcyAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTWVudVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAxcmVtIDBlbTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgJ+aWh+aziempm+ato+m7kScsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsICflvq7ou5/mraPpu5Hpq5QnLCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBtaW4taGVpZ2h0OiAyLjg1NzE0Mjg2ZW07XG59XG4udWkubWVudTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwcHg7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkubWVudTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDByZW07XG59XG4udWkubWVudTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTdWItTWVudVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5tZW51IC5tZW51IHtcbiAgbWFyZ2luOiAwZW07XG59XG4udWkubWVudTpub3QoLnZlcnRpY2FsKSA+IC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEl0ZW1cbi0tLS0tLS0tLS0tLS0tLSovXG4udWkubWVudTpub3QoLnZlcnRpY2FsKSAuaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udWkubWVudSAuaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZmxleDogMCAwIGF1dG87XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwLjkyODU3MTQzZW0gMS4xNDI4NTcxNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMHB4IDBweCAwLjI4NTcxNDI5cmVtO1xufVxuLyogQm9yZGVyICovXG4udWkubWVudSAuaXRlbTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDAlO1xuICByaWdodDogMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgVGV4dCBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm1lbnUgLnRleHQuaXRlbSA+ICosXG4udWkubWVudSAuaXRlbSA+IGE6bm90KC51aSksXG4udWkubWVudSAuaXRlbSA+IHA6b25seS1jaGlsZCB7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuLnVpLm1lbnUgLml0ZW0gPiBwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi51aS5tZW51IC5pdGVtID4gcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm1lbnUgLml0ZW0gPiBpLmljb24ge1xuICBvcGFjaXR5OiAwLjk7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDBlbSAwLjM1NzE0Mjg2ZW0gMGVtIDBlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQnV0dG9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLml0ZW0gPiAuYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDBlbTtcbiAgbWFyZ2luOiAtMC41ZW0gMGVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43ODU3MTQyOWVtO1xuICBwYWRkaW5nLXRvcDogMC43ODU3MTQyOWVtO1xuICBmb250LXNpemU6IDFlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLVxuIEdyaWQgLyBDb250YWluZXJcbi0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5tZW51ID4gLmdyaWQsXG4udWkubWVudSA+IC5jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogaW5oZXJpdDtcbiAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5tZW51IC5pdGVtID4gLmlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkubWVudTpub3QoLnZlcnRpY2FsKSAuaXRlbSA+IC5pbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwZW07XG4gIG1hcmdpbjogLTAuNWVtIDBlbTtcbn1cbi51aS5tZW51IC5pdGVtID4gLmlucHV0IGlucHV0IHtcbiAgZm9udC1zaXplOiAxZW07XG4gIHBhZGRpbmctdG9wOiAwLjU3MTQyODU3ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjU3MTQyODU3ZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5tZW51IC5oZWFkZXIuaXRlbSxcbi51aS52ZXJ0aWNhbC5tZW51IC5oZWFkZXIuaXRlbSB7XG4gIG1hcmdpbjogMGVtO1xuICBiYWNrZ3JvdW5kOiAnJztcbiAgdGV4dC10cmFuc2Zvcm06IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4udWkudmVydGljYWwubWVudSAuaXRlbSA+IC5oZWFkZXI6bm90KC51aSkge1xuICBtYXJnaW46IDBlbSAwZW0gMC41ZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBEcm9wZG93bnNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBEcm9wZG93biBJY29uICovXG4udWkubWVudSAuaXRlbSA+IGkuZHJvcGRvd24uaWNvbiB7XG4gIHBhZGRpbmc6IDBlbTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDFlbTtcbn1cbi8qIE1lbnUgKi9cbi51aS5tZW51IC5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgbWluLXdpZHRoOiBjYWxjKDEwMCUgLSAxcHgpO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luOiAwZW0gMHB4IDBweDtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbn1cbi8qIE1lbnUgSXRlbXMgKi9cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMS4xNDI4NTcxNGVtICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSkgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5zZWxlY3RlZC5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KSAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KSAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KSAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duLml0ZW0gLm1lbnUgLml0ZW06bm90KC5maWx0ZXJlZCkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIC5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDFlbSAhaW1wb3J0YW50O1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwZW0gMC43NWVtIDBlbSAwZW0gIWltcG9ydGFudDtcbn1cbi8qIFNlY29uZGFyeSAqL1xuLnVpLnNlY29uZGFyeS5tZW51IC5kcm9wZG93bi5pdGVtID4gLm1lbnUsXG4udWkudGV4dC5tZW51IC5kcm9wZG93bi5pdGVtID4gLm1lbnUge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBtYXJnaW4tdG9wOiAwLjM1NzE0Mjg2ZW07XG59XG4vKiBQb2ludGluZyAqL1xuLnVpLm1lbnUgLnBvaW50aW5nLmRyb3Bkb3duLml0ZW0gLm1lbnUge1xuICBtYXJnaW4tdG9wOiAwLjc1ZW07XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLm1lbnUgLnNlYXJjaC5kcm9wZG93bi5pdGVtID4gLnNlYXJjaCxcbi51aS5pbnZlcnRlZC5tZW51IC5zZWFyY2guZHJvcGRvd24uaXRlbSA+IC50ZXh0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi8qIFZlcnRpY2FsICovXG4udWkudmVydGljYWwubWVudSAuZHJvcGRvd24uaXRlbSA+IC5pY29uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBjb250ZW50OiBcIlxcZjBkYVwiO1xuICBtYXJnaW4tbGVmdDogMWVtO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLml0ZW0gLm1lbnUge1xuICBsZWZ0OiAxMDAlO1xuICBtaW4td2lkdGg6IDA7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMGVtO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtLnVwd2FyZCAubWVudSB7XG4gIGJvdHRvbTogMDtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtOm5vdCgudXB3YXJkKSAubWVudSB7XG4gIHRvcDogMDtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5hY3RpdmUuZHJvcGRvd24uaXRlbSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwZW07XG59XG4udWkudmVydGljYWwubWVudSAuZHJvcGRvd24uYWN0aXZlLml0ZW0ge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogRXZlbmx5IERpdmlkZWQgKi9cbi51aS5pdGVtLm1lbnUgLmRyb3Bkb3duIC5tZW51IC5pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5tZW51IC5pdGVtID4gLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogIzk5OTk5OTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG4gIHBhZGRpbmc6IDAuM2VtIDAuNzg1NzE0MjllbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogIzk5OTk5OTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG1hcmdpbi10b3A6IC0wLjE1ZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjE1ZW07XG4gIHBhZGRpbmc6IDAuM2VtIDAuNzg1NzE0MjllbTtcbn1cbi51aS5tZW51IC5pdGVtID4gLmZsb2F0aW5nLmxhYmVsIHtcbiAgcGFkZGluZzogMC4zZW0gMC43ODU3MTQyOWVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJbWFnZXNcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkubWVudSAuaXRlbSA+IGltZzpub3QoLnVpKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAtMC4zZW0gMGVtO1xuICB3aWR0aDogMi41ZW07XG59XG4udWkudmVydGljYWwubWVudSAuaXRlbSA+IGltZzpub3QoLnVpKTpvbmx5LWNoaWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBMaXN0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWVudSBkaXZpZGVyIHNob3VsZG50IGFwcGx5ICovXG4udWkubWVudSAubGlzdCAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpZGViYXJcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBTaG93IHZlcnRpY2FsIGRpdmlkZXJzIGJlbG93IGxhc3QgKi9cbi51aS52ZXJ0aWNhbC5zaWRlYmFyLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLnVpLnZlcnRpY2FsLnNpZGViYXIubWVudSA+IC5pdGVtOjpiZWZvcmUge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMHB4O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvbnRhaW5lclxuLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLm1lbnUgPiAudWkuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5tZW51Om5vdCguc2Vjb25kYXJ5KTpub3QoLnRleHQpOm5vdCgudGFidWxhcik6bm90KC5ib3JkZXJsZXNzKSA+IC5jb250YWluZXIgPiAuaXRlbTpub3QoLnJpZ2h0KTpub3QoLmJvcmRlcmxlc3MpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5saW5rLm1lbnUgLml0ZW06aG92ZXIsXG4udWkubWVudSAuZHJvcGRvd24uaXRlbTpob3Zlcixcbi51aS5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkubWVudSBhLml0ZW06aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBQcmVzc2VkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmxpbmsubWVudSAuaXRlbTphY3RpdmUsXG4udWkubWVudSAubGluay5pdGVtOmFjdGl2ZSxcbi51aS5tZW51IGEuaXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkubWVudSAuYWN0aXZlLml0ZW0gPiBpLmljb24ge1xuICBvcGFjaXR5OiAxO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICBBY3RpdmUgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudmVydGljYWwubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkubWVudSAuaXRlbS5kaXNhYmxlZCxcbi51aS5tZW51IC5pdGVtLmRpc2FibGVkOmhvdmVyIHtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuMykgIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuRmxvYXRlZCBNZW51IC8gSXRlbVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMZWZ0IEZsb2F0ZWQgKi9cbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5sZWZ0Lml0ZW0sXG4udWkubWVudTpub3QoLnZlcnRpY2FsKSA6bm90KC5kcm9wZG93bikgPiAubGVmdC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4vKiBSaWdodCBGbG9hdGVkICovXG4udWkubWVudTpub3QoLnZlcnRpY2FsKSAucmlnaHQuaXRlbSxcbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5yaWdodC5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi8qIFN3YXBwZWQgQm9yZGVycyAqL1xuLnVpLm1lbnUgLnJpZ2h0Lml0ZW06OmJlZm9yZSxcbi51aS5tZW51IC5yaWdodC5tZW51ID4gLml0ZW06OmJlZm9yZSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFZlcnRpY2FsXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnZlcnRpY2FsLm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyotLS0gSXRlbSAtLS0qL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwcHggMHB4O1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4vKi0tLSBMYWJlbCAtLS0qL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAubGFiZWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qLS0tIEljb24gLS0tKi9cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gaS5pY29uIHtcbiAgd2lkdGg6IDEuMThlbTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDAuNWVtO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAubGFiZWwgKyBpLmljb24ge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwZW0gMC41ZW0gMGVtIDBlbTtcbn1cbi8qLS0tIEJvcmRlciAtLS0qL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiAwJTtcbiAgbGVmdDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qLS0tIFN1YiBNZW51IC0tLSovXG4udWkudmVydGljYWwubWVudSAuaXRlbSA+IC5tZW51IHtcbiAgbWFyZ2luOiAwLjVlbSAtMS4xNDI4NTcxNGVtIDBlbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5tZW51IC5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMC41ZW0gMS4zMzMzMzMzM2VtO1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtIC5tZW51IGEuaXRlbTpob3Zlcixcbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtIC5tZW51IC5saW5rLml0ZW06aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBWZXJ0aWNhbCBBY3RpdmUgKi9cbi51aS52ZXJ0aWNhbC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51ID4gLmFjdGl2ZS5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG4udWkudmVydGljYWwubWVudSA+IC5hY3RpdmUuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4udWkudmVydGljYWwubWVudSA+IC5hY3RpdmUuaXRlbTpvbmx5LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5hY3RpdmUuaXRlbSAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFRhYnVsYXJcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkudGFidWxhci5tZW51IHtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNENEQ0RDU7XG59XG4udWkudGFidWxhci5mbHVpZC5tZW51IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArICgxcHggKiAyKSkgIWltcG9ydGFudDtcbn1cbi51aS50YWJ1bGFyLm1lbnUgLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMC45Mjg1NzE0M2VtIDEuNDI4NTcxNDNlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkudGFidWxhci5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBIb3ZlciAqL1xuLnVpLnRhYnVsYXIubWVudSAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLyogQWN0aXZlICovXG4udWkudGFidWxhci5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjRDRENEQ1O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBweCAwcHggIWltcG9ydGFudDtcbn1cbi8qIENvdXBsaW5nIHdpdGggc2VnbWVudCBmb3IgYXR0YWNobWVudCAqL1xuLnVpLnRhYnVsYXIubWVudSArIC5hdHRhY2hlZDpub3QoLnRvcCkuc2VnbWVudCxcbi51aS50YWJ1bGFyLm1lbnUgKyAuYXR0YWNoZWQ6bm90KC50b3ApLnNlZ21lbnQgKyAuYXR0YWNoZWQ6bm90KC50b3ApLnNlZ21lbnQge1xuICBib3JkZXItdG9wOiBub25lO1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIG1hcmdpbi1yaWdodDogMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi50b3AuYXR0YWNoZWQuc2VnbWVudCArIC51aS5ib3R0b20udGFidWxhci5tZW51IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlICsgKDFweCAqIDIpKTtcbiAgbGVmdDogLTFweDtcbn1cbi8qIEJvdHRvbSBWZXJ0aWNhbCBUYWJ1bGFyICovXG4udWkuYm90dG9tLnRhYnVsYXIubWVudSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0Q0RDRENTtcbn1cbi51aS5ib3R0b20udGFidWxhci5tZW51IC5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5ib3R0b20udGFidWxhci5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgI0ZGRkZGRjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGJvcmRlci1jb2xvcjogI0Q0RDRENTtcbiAgbWFyZ2luOiAtMXB4IDBweCAwcHggMHB4O1xuICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLyogVmVydGljYWwgVGFidWxhciAoTGVmdCkgKi9cbi51aS52ZXJ0aWNhbC50YWJ1bGFyLm1lbnUge1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0Q0RDRENTtcbn1cbi51aS52ZXJ0aWNhbC50YWJ1bGFyLm1lbnUgLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLnVpLnZlcnRpY2FsLnRhYnVsYXIubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiBub25lICNGRkZGRkY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3JkZXItY29sb3I6ICNENEQ0RDU7XG4gIG1hcmdpbjogMHB4IC0xcHggMHB4IDBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwcHggMHB4IDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cbi8qIFZlcnRpY2FsIFJpZ2h0IFRhYnVsYXIgKi9cbi51aS52ZXJ0aWNhbC5yaWdodC50YWJ1bGFyLm1lbnUge1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNENEQ0RDU7XG59XG4udWkudmVydGljYWwucmlnaHQudGFidWxhci5tZW51IC5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi51aS52ZXJ0aWNhbC5yaWdodC50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZSAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm9yZGVyLWNvbG9yOiAjRDRENEQ1O1xuICBtYXJnaW46IDBweCAwcHggMHB4IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMHB4ICFpbXBvcnRhbnQ7XG59XG4vKiBEcm9wZG93biAqL1xuLnVpLnRhYnVsYXIubWVudSAuYWN0aXZlLmRyb3Bkb3duLml0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICBQYWdpbmF0aW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnBhZ2luYXRpb24ubWVudSB7XG4gIG1hcmdpbjogMGVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS5wYWdpbmF0aW9uLm1lbnUgLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuLnVpLmNvbXBhY3QubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW07XG59XG4udWkucGFnaW5hdGlvbi5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5wYWdpbmF0aW9uLm1lbnUgLml0ZW0ge1xuICBtaW4td2lkdGg6IDNlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLnBhZ2luYXRpb24ubWVudSAuaWNvbi5pdGVtIGkuaWNvbiB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5wYWdpbmF0aW9uLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgcGFkZGluZy10b3A6IDAuOTI4NTcxNDNlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTZWNvbmRhcnlcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuc2Vjb25kYXJ5Lm1lbnUge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW4tbGVmdDogLTAuMzU3MTQyODZlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4zNTcxNDI4NmVtO1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIEl0ZW0gKi9cbi51aS5zZWNvbmRhcnkubWVudSAuaXRlbSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5ZW0gMC45Mjg1NzE0M2VtO1xuICBtYXJnaW46IDBlbSAwLjM1NzE0Mjg2ZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi8qIE5vIERpdmlkZXIgKi9cbi51aS5zZWNvbmRhcnkubWVudSAuaXRlbTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiBIZWFkZXIgKi9cbi51aS5zZWNvbmRhcnkubWVudSAuaGVhZGVyLml0ZW0ge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudDtcbn1cbi8qIEltYWdlICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLml0ZW0gPiBpbWc6bm90KC51aSkge1xuICBtYXJnaW46IDBlbTtcbn1cbi8qIEhvdmVyICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5zZWNvbmRhcnkubWVudSBhLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnNlY29uZGFyeS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyogQWN0aXZlIEhvdmVyICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IC5saW5rLml0ZW0sXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgYS5pdGVtIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAhaW1wb3J0YW50O1xufVxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuLyogRml4IGl0ZW0gbWFyZ2lucyAqL1xuLnVpLnNlY29uZGFyeS5pdGVtLm1lbnUge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cbi51aS5zZWNvbmRhcnkuaXRlbS5tZW51IC5pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cbi51aS5zZWNvbmRhcnkuYXR0YWNoZWQubWVudSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBTdWIgTWVudSAqL1xuLnVpLnZlcnRpY2FsLnNlY29uZGFyeS5tZW51IC5pdGVtOm5vdCguZHJvcGRvd24pID4gLm1lbnUge1xuICBtYXJnaW46IDBlbSAtMC45Mjg1NzE0M2VtO1xufVxuLnVpLnZlcnRpY2FsLnNlY29uZGFyeS5tZW51IC5pdGVtOm5vdCguZHJvcGRvd24pID4gLm1lbnUgPiAuaXRlbSB7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwLjVlbSAxLjMzMzMzMzMzZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2Vjb25kYXJ5IFZlcnRpY2FsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuc2Vjb25kYXJ5LnZlcnRpY2FsLm1lbnUgPiAuaXRlbSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwZW0gMGVtIDAuMzU3MTQyODZlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5tZW51ID4gLmhlYWRlci5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuLyogU3ViIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC5zZWNvbmRhcnkubWVudSAuaXRlbSA+IC5tZW51IC5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2Vjb25kYXJ5IFBvaW50aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLml0ZW0ge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIG1hcmdpbjogMGVtIDBlbSAtMnB4O1xuICBwYWRkaW5nOiAwLjg1NzE0Mjg2ZW0gMS4xNDI4NTcxNGVtO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi8qIEl0ZW0gVHlwZXMgKi9cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaGVhZGVyLml0ZW0ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KSAhaW1wb3J0YW50O1xufVxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC50ZXh0Lml0ZW0ge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLml0ZW06YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogSG92ZXIgKi9cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuZHJvcGRvd24uaXRlbTpob3Zlcixcbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAubGluay5pdGVtOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IGEuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIFByZXNzZWQgKi9cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuZHJvcGRvd24uaXRlbTphY3RpdmUsXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmxpbmsuaXRlbTphY3RpdmUsXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgYS5pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjMUIxQzFEO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBBY3RpdmUgSG92ZXIgKi9cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMxQjFDMUQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogQWN0aXZlIERyb3Bkb3duICovXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi8qIFZlcnRpY2FsIFBvaW50aW5nICovXG4udWkuc2Vjb25kYXJ5LnZlcnRpY2FsLnBvaW50aW5nLm1lbnUge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwcHg7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMnB4O1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc2Vjb25kYXJ5LnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLml0ZW0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW0gLTJweCAwZW0gMGVtO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbn1cbi8qIFZlcnRpY2FsIEFjdGl2ZSAqL1xuLnVpLnNlY29uZGFyeS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogIzFCMUMxRDtcbn1cbi8qIEludmVydGVkICovXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSB7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLml0ZW0ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5oZWFkZXIuaXRlbSB7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBIb3ZlciAqL1xuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5wb2ludGluZy5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6ICNGRkZGRkY7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFRleHQgTWVudVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS50ZXh0Lm1lbnUge1xuICBiYWNrZ3JvdW5kOiBub25lIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAxZW0gLTAuNWVtO1xufVxuLnVpLnRleHQubWVudSAuaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBtYXJnaW46IDBlbSAwZW07XG4gIHBhZGRpbmc6IDAuMzU3MTQyODZlbSAwLjVlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG59XG4vKiBCb3JkZXIgKi9cbi51aS50ZXh0Lm1lbnUgLml0ZW06YmVmb3JlLFxuLnVpLnRleHQubWVudSAubWVudSAuaXRlbTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKiBIZWFkZXIgKi9cbi51aS50ZXh0Lm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4vKiBJbWFnZSAqL1xuLnVpLnRleHQubWVudSAuaXRlbSA+IGltZzpub3QoLnVpKSB7XG4gIG1hcmdpbjogMGVtO1xufVxuLyotLS0gZmx1aWQgdGV4dCAtLS0qL1xuLnVpLnRleHQuaXRlbS5tZW51IC5pdGVtIHtcbiAgbWFyZ2luOiAwZW07XG59XG4vKi0tLSB2ZXJ0aWNhbCB0ZXh0IC0tLSovXG4udWkudmVydGljYWwudGV4dC5tZW51IHtcbiAgbWFyZ2luOiAxZW0gMGVtO1xufVxuLnVpLnZlcnRpY2FsLnRleHQubWVudTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDByZW07XG59XG4udWkudmVydGljYWwudGV4dC5tZW51Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xufVxuLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaXRlbSB7XG4gIG1hcmdpbjogMC41NzE0Mjg1N2VtIDBlbTtcbiAgcGFkZGluZy1sZWZ0OiAwZW07XG4gIHBhZGRpbmctcmlnaHQ6IDBlbTtcbn1cbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLml0ZW0gPiBpLmljb24ge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwZW0gMC4zNTcxNDI4NmVtIDBlbSAwZW07XG59XG4udWkudmVydGljYWwudGV4dC5tZW51IC5oZWFkZXIuaXRlbSB7XG4gIG1hcmdpbjogMC41NzE0Mjg1N2VtIDBlbSAwLjcxNDI4NTcxZW07XG59XG4vKiBWZXJ0aWNhbCBTdWIgTWVudSAqL1xuLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaXRlbTpub3QoLmRyb3Bkb3duKSA+IC5tZW51IHtcbiAgbWFyZ2luOiAwZW07XG59XG4udWkudmVydGljYWwudGV4dC5tZW51IC5pdGVtOm5vdCguZHJvcGRvd24pID4gLm1lbnUgPiAuaXRlbSB7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwLjVlbSAwZW07XG59XG4vKi0tLSBob3ZlciAtLS0qL1xuLnVpLnRleHQubWVudSAuaXRlbTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyotLS0gYWN0aXZlIC0tLSovXG4udWkudGV4dC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyotLS0gYWN0aXZlIGhvdmVyIC0tLSovXG4udWkudGV4dC5tZW51IC5hY3RpdmUuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyogRGlzYWJsZSBCYXJpYXRpb25zICovXG4udWkudGV4dC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTphZnRlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudGV4dC5hdHRhY2hlZC5tZW51IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQudGV4dC5tZW51LFxuLnVpLmludmVydGVkLnRleHQubWVudSAuaXRlbSxcbi51aS5pbnZlcnRlZC50ZXh0Lm1lbnUgLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGV4dC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBGbHVpZCAqL1xuLnVpLmZsdWlkLnRleHQubWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEljb24gT25seVxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFZlcnRpY2FsIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC5pY29uLm1lbnUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xufVxuLyogSXRlbSAqL1xuLnVpLmljb24ubWVudSAuaXRlbSB7XG4gIGhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzFCMUMxRDtcbn1cbi8qIEljb24gKi9cbi51aS5pY29uLm1lbnUgLml0ZW0gPiAuaWNvbjpub3QoLmRyb3Bkb3duKSB7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIEljb24gR3lscGggKi9cbi51aS5pY29uLm1lbnUgLmljb246YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qICh4KSBJdGVtIEljb24gKi9cbi51aS5tZW51IC5pY29uLml0ZW0gPiAuaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDBlbSBhdXRvO1xufVxuLyogVmVydGljYWwgSWNvbiAqL1xuLnVpLnZlcnRpY2FsLmljb24ubWVudSAuaXRlbSA+IC5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIG1hcmdpbjogMGVtIGF1dG87XG4gIGZsb2F0OiBub25lO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5pY29uLm1lbnUgLml0ZW0ge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIExhYmVsZWQgSWNvblxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1lbnUgKi9cbi51aS5sYWJlbGVkLmljb24ubWVudSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIEl0ZW0gKi9cbi51aS5sYWJlbGVkLmljb24ubWVudSAuaXRlbSB7XG4gIG1pbi13aWR0aDogNmVtO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLyogSWNvbiAqL1xuLnVpLmxhYmVsZWQuaWNvbi5tZW51IC5pdGVtID4gLmljb246bm90KC5kcm9wZG93bikge1xuICBoZWlnaHQ6IDFlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS43MTQyODU3MWVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtIGF1dG8gMC41cmVtICFpbXBvcnRhbnQ7XG59XG4vKiBGbHVpZCAqL1xuLnVpLmZsdWlkLmxhYmVsZWQuaWNvbi5tZW51ID4gLml0ZW0ge1xuICBtaW4td2lkdGg6IDBlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgU3RhY2thYmxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuc3RhY2thYmxlLm1lbnUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5pdGVtIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUubWVudSAuaXRlbTpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgfVxuICAudWkuc3RhY2thYmxlLm1lbnUgLmxlZnQubWVudSxcbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5sZWZ0Lml0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUubWVudSAucmlnaHQubWVudSxcbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5yaWdodC5pdGVtIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUubWVudSAucmlnaHQubWVudSxcbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5sZWZ0Lm1lbnUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gU3RhbmRhcmQgQ29sb3JzICAtLS0qL1xuLnVpLm1lbnUgLnJlZC5hY3RpdmUuaXRlbSxcbi51aS5yZWQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcbiAgY29sb3I6ICNEQjI4MjggIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC5vcmFuZ2UuYWN0aXZlLml0ZW0sXG4udWkub3JhbmdlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjRjI3MTFDICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRjI3MTFDICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAueWVsbG93LmFjdGl2ZS5pdGVtLFxuLnVpLnllbGxvdy5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogI0ZCQkQwOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZCQkQwOCAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLm9saXZlLmFjdGl2ZS5pdGVtLFxuLnVpLm9saXZlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjQjVDQzE4ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQjVDQzE4ICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAuZ3JlZW4uYWN0aXZlLml0ZW0sXG4udWkuZ3JlZW4ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC50ZWFsLmFjdGl2ZS5pdGVtLFxuLnVpLnRlYWwubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbiAgY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC5ibHVlLmFjdGl2ZS5pdGVtLFxuLnVpLmJsdWUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6ICMyMTg1RDAgIWltcG9ydGFudDtcbiAgY29sb3I6ICMyMTg1RDAgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC52aW9sZXQuYWN0aXZlLml0ZW0sXG4udWkudmlvbGV0Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjNjQzNUM5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNjQzNUM5ICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAucHVycGxlLmFjdGl2ZS5pdGVtLFxuLnVpLnB1cnBsZS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogI0EzMzNDOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0EzMzNDOCAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLnBpbmsuYWN0aXZlLml0ZW0sXG4udWkucGluay5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogI0UwMzk5NyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0UwMzk5NyAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLmJyb3duLmFjdGl2ZS5pdGVtLFxuLnVpLmJyb3duLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAuZ3JleS5hY3RpdmUuaXRlbSxcbi51aS5ncmV5Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNzY3Njc2ICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaW52ZXJ0ZWQubWVudSB7XG4gIGJvcmRlcjogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kOiAjMUIxQzFEO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogTWVudSBJdGVtICovXG4udWkuaW52ZXJ0ZWQubWVudSAuaXRlbSxcbi51aS5pbnZlcnRlZC5tZW51IC5pdGVtID4gYTpub3QoLnVpKSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVpLmludmVydGVkLm1lbnUgLml0ZW0ubWVudSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLyotLS0gQm9yZGVyIC0tLSovXG4udWkuaW52ZXJ0ZWQubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xufVxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbn1cbi8qIFN1YiBNZW51ICovXG4udWkudmVydGljYWwuaW52ZXJ0ZWQubWVudSAubWVudSAuaXRlbSxcbi51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5tZW51IC5pdGVtIGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLyogSGVhZGVyICovXG4udWkuaW52ZXJ0ZWQubWVudSAuaGVhZGVyLml0ZW0ge1xuICBtYXJnaW46IDBlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4vKiBEaXNhYmxlZCAqL1xuLnVpLmludmVydGVkLm1lbnUgLml0ZW0uZGlzYWJsZWQsXG4udWkuaW52ZXJ0ZWQubWVudSAuaXRlbS5kaXNhYmxlZDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDIyNSwgMjI1LCAyMjUsIDAuMyk7XG59XG4vKi0tLSBIb3ZlciAtLS0qL1xuLnVpLmxpbmsuaW52ZXJ0ZWQubWVudSAuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLmludmVydGVkLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5tZW51IGEuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLml0ZW0gLm1lbnUgYS5pdGVtOmhvdmVyLFxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLml0ZW0gLm1lbnUgLmxpbmsuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qLS0tIFByZXNzZWQgLS0tKi9cbi51aS5pbnZlcnRlZC5tZW51IGEuaXRlbTphY3RpdmUsXG4udWkuaW52ZXJ0ZWQubWVudSAubGluay5pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyotLS0gQWN0aXZlIC0tLSovXG4udWkuaW52ZXJ0ZWQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnZlcnRpY2FsLm1lbnUgLml0ZW0gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzNEM0UzRiAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuLyotLS0gQWN0aXZlIEhvdmVyIC0tLSovXG4udWkuaW52ZXJ0ZWQubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzNEM0UzRiAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGbG9hdGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZsb2F0ZWQubWVudSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDByZW0gMC41cmVtIDByZW0gMHJlbTtcbn1cbi51aS5mbG9hdGVkLm1lbnUgLml0ZW06bGFzdC1jaGlsZDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLnJpZ2h0LmZsb2F0ZWQubWVudSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwLjVyZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBSZWQgKi9cbi51aS5pbnZlcnRlZC5tZW51IC5yZWQuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQucmVkLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREIyODI4O1xufVxuLnVpLmludmVydGVkLnJlZC5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5yZWQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgIWltcG9ydGFudDtcbn1cbi8qIE9yYW5nZSAqL1xuLnVpLmludmVydGVkLm1lbnUgLm9yYW5nZS5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjcxMUM7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xufVxuLyogWWVsbG93ICovXG4udWkuaW52ZXJ0ZWQubWVudSAueWVsbG93LmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLnllbGxvdy5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCQkQwODtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpICFpbXBvcnRhbnQ7XG59XG4vKiBPbGl2ZSAqL1xuLnVpLmludmVydGVkLm1lbnUgLm9saXZlLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLm9saXZlLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjVDQzE4O1xufVxuLnVpLmludmVydGVkLm9saXZlLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLmludmVydGVkLm9saXZlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpICFpbXBvcnRhbnQ7XG59XG4vKiBHcmVlbiAqL1xuLnVpLmludmVydGVkLm1lbnUgLmdyZWVuLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLmdyZWVuLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1O1xufVxuLnVpLmludmVydGVkLmdyZWVuLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLmludmVydGVkLmdyZWVuLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpICFpbXBvcnRhbnQ7XG59XG4vKiBUZWFsICovXG4udWkuaW52ZXJ0ZWQubWVudSAudGVhbC5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC50ZWFsLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBCNUFEO1xufVxuLnVpLmludmVydGVkLnRlYWwubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xufVxuLyogQmx1ZSAqL1xuLnVpLmludmVydGVkLm1lbnUgLmJsdWUuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQuYmx1ZS5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVEMDtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLmludmVydGVkLmJsdWUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgIWltcG9ydGFudDtcbn1cbi8qIFZpb2xldCAqL1xuLnVpLmludmVydGVkLm1lbnUgLnZpb2xldC5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC52aW9sZXQubWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1Qzk7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0Lm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xufVxuLyogUHVycGxlICovXG4udWkuaW52ZXJ0ZWQubWVudSAucHVycGxlLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLnB1cnBsZS5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0EzMzNDODtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpICFpbXBvcnRhbnQ7XG59XG4vKiBQaW5rICovXG4udWkuaW52ZXJ0ZWQubWVudSAucGluay5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC5waW5rLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTAzOTk3O1xufVxuLnVpLmludmVydGVkLnBpbmsubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG59XG4udWkuaW52ZXJ0ZWQucGluay5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xufVxuLyogQnJvd24gKi9cbi51aS5pbnZlcnRlZC5tZW51IC5icm93bi5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC5icm93bi5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0E1NjczRjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xufVxuLyogR3JleSAqL1xuLnVpLmludmVydGVkLm1lbnUgLmdyZXkuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQuZ3JleS5tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3Njtcbn1cbi51aS5pbnZlcnRlZC5ncmV5Lm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLmludmVydGVkLmdyZXkubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRml0dGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZpdHRlZC5tZW51IC5pdGVtLFxuLnVpLmZpdHRlZC5tZW51IC5pdGVtIC5tZW51IC5pdGVtLFxuLnVpLm1lbnUgLmZpdHRlZC5pdGVtIHtcbiAgcGFkZGluZzogMGVtO1xufVxuLnVpLmhvcml6b250YWxseS5maXR0ZWQubWVudSAuaXRlbSxcbi51aS5ob3Jpem9udGFsbHkuZml0dGVkLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW0sXG4udWkubWVudSAuaG9yaXpvbnRhbGx5LmZpdHRlZC5pdGVtIHtcbiAgcGFkZGluZy10b3A6IDAuOTI4NTcxNDNlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuOTI4NTcxNDNlbTtcbn1cbi51aS52ZXJ0aWNhbGx5LmZpdHRlZC5tZW51IC5pdGVtLFxuLnVpLnZlcnRpY2FsbHkuZml0dGVkLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW0sXG4udWkubWVudSAudmVydGljYWxseS5maXR0ZWQuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogMS4xNDI4NTcxNGVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjE0Mjg1NzE0ZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICBCb3JkZXJsZXNzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmJvcmRlcmxlc3MubWVudSAuaXRlbTpiZWZvcmUsXG4udWkuYm9yZGVybGVzcy5tZW51IC5pdGVtIC5tZW51IC5pdGVtOmJlZm9yZSxcbi51aS5tZW51IC5ib3JkZXJsZXNzLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29tcGFjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNvbXBhY3QubWVudSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW46IDBlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS5jb21wYWN0LnZlcnRpY2FsLm1lbnUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4udWkuY29tcGFjdC5tZW51IC5pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbTtcbn1cbi51aS5jb21wYWN0Lm1lbnUgLml0ZW06bGFzdC1jaGlsZDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmNvbXBhY3QudmVydGljYWwubWVudSB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG4udWkuY29tcGFjdC52ZXJ0aWNhbC5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZsdWlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkubWVudS5mbHVpZCxcbi51aS52ZXJ0aWNhbC5tZW51LmZsdWlkIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRXZlbmx5IFNpemVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuaXRlbS5tZW51LFxuLnVpLml0ZW0ubWVudSAuaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnVpLmF0dGFjaGVkLml0ZW0ubWVudSB7XG4gIG1hcmdpbjogMGVtIC0xcHggIWltcG9ydGFudDtcbn1cbi51aS5pdGVtLm1lbnUgLml0ZW06bGFzdC1jaGlsZDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLm1lbnUudHdvLml0ZW0gLml0ZW0ge1xuICB3aWR0aDogNTAlO1xufVxuLnVpLm1lbnUudGhyZWUuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAzMy4zMzMlO1xufVxuLnVpLm1lbnUuZm91ci5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi51aS5tZW51LmZpdmUuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAyMCU7XG59XG4udWkubWVudS5zaXguaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxNi42NjYlO1xufVxuLnVpLm1lbnUuc2V2ZW4uaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxNC4yODUlO1xufVxuLnVpLm1lbnUuZWlnaHQuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aS5tZW51Lm5pbmUuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxMS4xMSU7XG59XG4udWkubWVudS50ZW4uaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxMCU7XG59XG4udWkubWVudS5lbGV2ZW4uaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiA5LjA5JTtcbn1cbi51aS5tZW51LnR3ZWx2ZS5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDguMzMzJTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRml4ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkubWVudS5maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAxO1xuICBtYXJnaW46IDBlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkubWVudS5maXhlZCxcbi51aS5tZW51LmZpeGVkIC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLm1lbnUuZml4ZWQgLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xufVxuLnVpLmZpeGVkLm1lbnUsXG4udWlbY2xhc3MqPVwidG9wIGZpeGVkXCJdLm1lbnUge1xuICB0b3A6IDBweDtcbiAgbGVmdDogMHB4O1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xufVxuLnVpW2NsYXNzKj1cInRvcCBmaXhlZFwiXS5tZW51IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBmaXhlZFwiXS5tZW51IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgbGVmdDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBmaXhlZFwiXS5tZW51IHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm90dG9tOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGZpeGVkXCJdLm1lbnUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbn1cbi8qIENvdXBsaW5nIHdpdGggR3JpZCAqL1xuLnVpLmZpeGVkLm1lbnUgKyAudWkuZ3JpZCB7XG4gIHBhZGRpbmctdG9wOiAyLjc1cmVtO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgUG9pbnRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5wb2ludGluZy5tZW51IC5pdGVtOmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luOiAwLjVweCAwZW0gMGVtO1xuICB3aWR0aDogMC41NzE0Mjg1N2VtO1xuICBoZWlnaHQ6IDAuNTcxNDI4NTdlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q0RDRENTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0Q0RDRENTtcbiAgei1pbmRleDogMjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2U7XG59XG4udWkudmVydGljYWwucG9pbnRpbmcubWVudSAuaXRlbTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwJTtcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIG1hcmdpbjogMGVtIC0wLjVweCAwZW0gMGVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRDRENEQ1O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRDRENEQ1O1xufVxuLyogQWN0aXZlICovXG4udWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06YWZ0ZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtOmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogRG9uJ3QgZG91YmxlIHVwIHBvaW50ZXJzICovXG4udWkucG9pbnRpbmcubWVudSAuZHJvcGRvd24uYWN0aXZlLml0ZW06YWZ0ZXIsXG4udWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW0gLm1lbnUgLmFjdGl2ZS5pdGVtOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIENvbG9ycyAqL1xuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjtcbn1cbi51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7XG59XG4udWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xufVxuLnVpLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjtcbn1cbi51aS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7XG59XG4udWkudmVydGljYWwucG9pbnRpbmcubWVudSAubWVudSAuYWN0aXZlLml0ZW06YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWlkZGxlICovXG4udWkuYXR0YWNoZWQubWVudSB7XG4gIHRvcDogMHB4O1xuICBib3R0b206IDBweDtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBtYXJnaW46IDBlbSAtMXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gKC0xcHggKiAyKSk7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gKC0xcHggKiAyKSk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYXR0YWNoZWQgKyAudWkuYXR0YWNoZWQubWVudTpub3QoLnRvcCkge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLyogVG9wICovXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLm1lbnUge1xuICBib3R0b206IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB0b3A6IDBweDtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG4udWkubWVudVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4vKiBCb3R0b20gKi9cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubWVudSB7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIHRvcDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSksIG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5tZW51Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4vKiBBdHRhY2hlZCBNZW51IEl0ZW0gKi9cbi51aS50b3AuYXR0YWNoZWQubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwZW0gMGVtIDBlbTtcbn1cbi51aS5ib3R0b20uYXR0YWNoZWQubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwZW0gMC4yODU3MTQyOXJlbTtcbn1cbi8qIFRhYnVsYXIgQXR0YWNoZWQgKi9cbi51aS5hdHRhY2hlZC5tZW51Om5vdCgudGFidWxhcikge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDRENEQ1O1xufVxuLnVpLmF0dGFjaGVkLmludmVydGVkLm1lbnUge1xuICBib3JkZXI6IG5vbmU7XG59XG4udWkuYXR0YWNoZWQudGFidWxhci5tZW51IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWluaSAqL1xuLnVpLm1pbmkubWVudSB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS5taW5pLnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogOXJlbTtcbn1cbi8qIFRpbnkgKi9cbi51aS50aW55Lm1lbnUge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkudGlueS52ZXJ0aWNhbC5tZW51IHtcbiAgd2lkdGg6IDExcmVtO1xufVxuLyogU21hbGwgKi9cbi51aS5zbWFsbC5tZW51IHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLnNtYWxsLnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogMTNyZW07XG59XG4vKiBNZWRpdW0gKi9cbi51aS5tZW51IHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogMTVyZW07XG59XG4vKiBMYXJnZSAqL1xuLnVpLmxhcmdlLm1lbnUge1xuICBmb250LXNpemU6IDEuMDcxNDI4NTdyZW07XG59XG4udWkubGFyZ2UudmVydGljYWwubWVudSB7XG4gIHdpZHRoOiAxOHJlbTtcbn1cbi8qIEh1Z2UgKi9cbi51aS5odWdlLm1lbnUge1xuICBmb250LXNpemU6IDEuMjE0Mjg1NzFyZW07XG59XG4udWkuaHVnZS52ZXJ0aWNhbC5tZW51IHtcbiAgd2lkdGg6IDIycmVtO1xufVxuLyogQmlnICovXG4udWkuYmlnLm1lbnUge1xuICBmb250LXNpemU6IDEuMTQyODU3MTRyZW07XG59XG4udWkuYmlnLnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogMjByZW07XG59XG4vKiBNYXNzaXZlICovXG4udWkubWFzc2l2ZS5tZW51IHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5cmVtO1xufVxuLnVpLm1hc3NpdmUudmVydGljYWwubWVudSB7XG4gIHdpZHRoOiAyNXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBNZXNzYWdlXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNZXNzYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEhlYWRlciAqL1xuLyogUGFyYWdyYXBoICovXG4vKiBMaXN0ICovXG4vKiBJY29uICovXG4vKiBDbG9zZSBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEljb24gTWVzc2FnZSAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIEZsb2F0aW5nICovXG4vKiBDb2xvcnMgKi9cbi8qIFdhcm5pbmcgLyBQb3NpdGl2ZSAvIE5lZ2F0aXZlIC8gSW5mbyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBNZXNzYWdlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEhlYWRlciAqL1xuLyogUGFyYWdyYXBoICovXG4vKiBMaXN0ICovXG4vKiBJY29uICovXG4vKiBDbG9zZSBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEljb24gTWVzc2FnZSAqL1xuLyogQXR0YWNoZWQgKi9cbi8qIEZsb2F0aW5nICovXG4vKiBDb2xvcnMgKi9cbi8qIFdhcm5pbmcgLyBQb3NpdGl2ZSAvIE5lZ2F0aXZlIC8gSW5mbyAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1lc3NhZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkubWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMWVtO1xuICBtYXJnaW46IDFlbSAwZW07XG4gIGJhY2tncm91bmQ6ICNGOEY4Rjk7XG4gIHBhZGRpbmc6IDFlbSAxLjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZSwgYmFja2dyb3VuZCAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjIyKSBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkubWVzc2FnZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5tZXNzYWdlOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBIZWFkZXIgKi9cbi51aS5tZXNzYWdlIC5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgJ+aWh+aziempm+ato+m7kScsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsICflvq7ou5/mraPpu5Hpq5QnLCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbjogLTAuMTQyODU3MTRlbSAwZW0gMHJlbSAwZW07XG59XG4vKiBEZWZhdWx0IGZvbnQgc2l6ZSAqL1xuLnVpLm1lc3NhZ2UgLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xufVxuLyogUGFyYWdyYXBoICovXG4udWkubWVzc2FnZSBwIHtcbiAgb3BhY2l0eTogMC44NTtcbiAgbWFyZ2luOiAwLjc1ZW0gMGVtO1xufVxuLnVpLm1lc3NhZ2UgcDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5tZXNzYWdlIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi51aS5tZXNzYWdlIC5oZWFkZXIgKyBwIHtcbiAgbWFyZ2luLXRvcDogMC4yNWVtO1xufVxuLyogTGlzdCAqL1xuLnVpLm1lc3NhZ2UgLmxpc3Q6bm90KC51aSkge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAwZW07XG4gIG9wYWNpdHk6IDAuODU7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgbWFyZ2luOiAwLjVlbSAwZW0gMGVtO1xufVxuLnVpLm1lc3NhZ2UgLmxpc3Q6bm90KC51aSk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLnVpLm1lc3NhZ2UgLmxpc3Q6bm90KC51aSkgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwZW0gMGVtIDAuM2VtIDFlbTtcbiAgcGFkZGluZzogMGVtO1xufVxuLnVpLm1lc3NhZ2UgLmxpc3Q6bm90KC51aSkgbGk6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAn4oCiJztcbiAgbGVmdDogLTFlbTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLyogSWNvbiAqL1xuLnVpLm1lc3NhZ2UgPiAuaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogMC42ZW07XG59XG4vKiBDbG9zZSBJY29uICovXG4udWkubWVzc2FnZSA+IC5jbG9zZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMGVtO1xuICB0b3A6IDAuNzg1NzVlbTtcbiAgcmlnaHQ6IDAuNWVtO1xuICBvcGFjaXR5OiAwLjc7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuLnVpLm1lc3NhZ2UgPiAuY2xvc2UuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4vKiBGaXJzdCAvIExhc3QgRWxlbWVudCAqL1xuLnVpLm1lc3NhZ2UgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkubWVzc2FnZSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmRyb3Bkb3duIC5tZW51ID4gLm1lc3NhZ2Uge1xuICBtYXJnaW46IDBweCAtMXB4O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnZpc2libGUudmlzaWJsZS52aXNpYmxlLnZpc2libGUubWVzc2FnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmljb24udmlzaWJsZS52aXNpYmxlLnZpc2libGUudmlzaWJsZS5tZXNzYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSGlkZGVuXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmhpZGRlbi5oaWRkZW4uaGlkZGVuLmhpZGRlbi5tZXNzYWdlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvbXBhY3Rcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY29tcGFjdC5tZXNzYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmNvbXBhY3QuaWNvbi5tZXNzYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQXR0YWNoZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuYXR0YWNoZWQubWVzc2FnZSB7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtO1xuICBib3gtc2hhZG93OiAwZW0gMGVtIDBlbSAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIG1hcmdpbi1yaWdodDogLTFweDtcbn1cbi51aS5hdHRhY2hlZCArIC51aS5hdHRhY2hlZC5tZXNzYWdlOm5vdCgudG9wKTpub3QoLmJvdHRvbSkge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLm1lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMGVtIDBlbSAwZW0gMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQsIDBweCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5ib3R0b20uYXR0YWNoZWQubWVzc2FnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuLnVpLmF0dGFjaGVkLmljb24ubWVzc2FnZSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pY29uLm1lc3NhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi51aS5pY29uLm1lc3NhZ2UgPiAuaWNvbjpub3QoLmNsb3NlKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDNlbTtcbiAgb3BhY2l0eTogMC44O1xufVxuLnVpLmljb24ubWVzc2FnZSA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnVpLmljb24ubWVzc2FnZSAuaWNvbjpub3QoLmNsb3NlKSArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiAwcmVtO1xufVxuLnVpLmljb24ubWVzc2FnZSAuY2lyY3VsYXIuaWNvbiB7XG4gIHdpZHRoOiAxZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRmxvYXRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZmxvYXRpbmcubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCByZ2JhKDM0LCAzNiwgMzgsIDAuMjIpIGluc2V0LCAwcHggMnB4IDRweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMHB4IDJweCAxMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuYmxhY2subWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQ7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi51aS5wb3NpdGl2ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRkZGNTtcbiAgY29sb3I6ICMyQzY2MkQ7XG59XG4udWkucG9zaXRpdmUubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5wb3NpdGl2ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNBM0MyOTMgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLnBvc2l0aXZlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjMUE1MzFCO1xufVxuLyogTmVnYXRpdmUgKi9cbi51aS5uZWdhdGl2ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjZGNjtcbiAgY29sb3I6ICM5RjNBMzg7XG59XG4udWkubmVnYXRpdmUubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5uZWdhdGl2ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNFMEI0QjQgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLm5lZ2F0aXZlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjOTEyRDJCO1xufVxuLyogSW5mbyAqL1xuLnVpLmluZm8ubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGOEZGRkY7XG4gIGNvbG9yOiAjMjc2Rjg2O1xufVxuLnVpLmluZm8ubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5pbmZvLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0E5RDVERSBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuaW5mby5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzBFNTY2Qztcbn1cbi8qIFdhcm5pbmcgKi9cbi51aS53YXJuaW5nLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGQUYzO1xuICBjb2xvcjogIzU3M0EwODtcbn1cbi51aS53YXJuaW5nLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQud2FybmluZy5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNDOUJBOUIgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLndhcm5pbmcubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICM3OTRCMDI7XG59XG4vKiBFcnJvciAqL1xuLnVpLmVycm9yLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGNkY2O1xuICBjb2xvcjogIzlGM0EzODtcbn1cbi51aS5lcnJvci5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLmVycm9yLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0UwQjRCNCBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuZXJyb3IubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICM5MTJEMkI7XG59XG4vKiBTdWNjZXNzICovXG4udWkuc3VjY2Vzcy5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRkZGNTtcbiAgY29sb3I6ICMyQzY2MkQ7XG59XG4udWkuc3VjY2Vzcy5tZXNzYWdlLFxuLnVpLmF0dGFjaGVkLnN1Y2Nlc3MubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjQTNDMjkzIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5zdWNjZXNzLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjMUE1MzFCO1xufVxuLyogQ29sb3JzICovXG4udWkuaW52ZXJ0ZWQubWVzc2FnZSxcbi51aS5ibGFjay5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCMUMxRDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cbi51aS5yZWQubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkU4RTY7XG4gIGNvbG9yOiAjREIyODI4O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0RCMjgyOCBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkucmVkLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjYzgyMTIxO1xufVxuLnVpLm9yYW5nZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRURERTtcbiAgY29sb3I6ICNGMjcxMUM7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRjI3MTFDIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5vcmFuZ2UubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICNlNzY0MGQ7XG59XG4udWkueWVsbG93Lm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOERCO1xuICBjb2xvcjogI0I1ODEwNTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNCNTgxMDUgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLnllbGxvdy5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzljNmYwNDtcbn1cbi51aS5vbGl2ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRkRFRjtcbiAgY29sb3I6ICM4QUJDMUU7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjOEFCQzFFIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5vbGl2ZS5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzdhYTYxYTtcbn1cbi51aS5ncmVlbi5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U1RjlFNztcbiAgY29sb3I6ICMxRUJDMzA7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMUVCQzMwIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5ncmVlbi5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzFhYTYyYTtcbn1cbi51aS50ZWFsLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTFGN0Y3O1xuICBjb2xvcjogIzEwQTNBMztcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICMxMEEzQTMgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLnRlYWwubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICMwZThjOGM7XG59XG4udWkuYmx1ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RGRjBGRjtcbiAgY29sb3I6ICMyMTg1RDA7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjMjE4NUQwIGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS5ibHVlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiAjMWU3N2JhO1xufVxuLnVpLnZpb2xldC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VBRTdGRjtcbiAgY29sb3I6ICM2NDM1Qzk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjNjQzNUM5IGluc2V0LCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwKTtcbn1cbi51aS52aW9sZXQubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICM1YTMwYjU7XG59XG4udWkucHVycGxlLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjZFN0ZGO1xuICBjb2xvcjogI0EzMzNDODtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNBMzMzQzggaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLnB1cnBsZS5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogIzkyMmViNDtcbn1cbi51aS5waW5rLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZFM0ZCO1xuICBjb2xvcjogI0UwMzk5NztcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNFMDM5OTcgaW5zZXQsIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDApO1xufVxuLnVpLnBpbmsubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICNkZDIzOGI7XG59XG4udWkuYnJvd24ubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMUUyRDM7XG4gIGNvbG9yOiAjQTU2NzNGO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0E1NjczRiBpbnNldCwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4udWkuYnJvd24ubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6ICM5MzViMzg7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm1pbmkubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOWVtO1xufVxuLnVpLnRpbnkubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NmVtO1xufVxuLnVpLnNtYWxsLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNlbTtcbn1cbi51aS5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkubGFyZ2UubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNGVtO1xufVxuLnVpLmJpZy5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG59XG4udWkuaHVnZS5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzZW07XG59XG4udWkubWFzc2l2ZS5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiAxLjcxNDI4NTcxZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gVGFibGVcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUYWJsZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgUGFydHNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUYWJsZSBSb3cgKi9cbi8qIFRhYmxlIENlbGwgKi9cbi8qIFRhYmxlIEhlYWRlciAqL1xuLyogVGFibGUgRm9vdGVyICovXG4vKiBSZXNwb25zaXZlIFNpemUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZpbml0aW9uICovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEVycm9yICovXG4vKiBXYXJuaW5nICovXG4vKiBBY3RpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBBdHRhY2hlZCAqL1xuLyogU3RyaXBlZCAqL1xuLyogU2VsZWN0YWJsZSAqL1xuLyogU29ydGFibGUgKi9cbi8qIENvbG9ycyAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJhc2ljICovXG4vKiBQYWRkZWQgKi9cbi8qIENvbXBhY3QgKi9cbi8qIFNpemVzICovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUYWJsZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgUGFydHNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUYWJsZSBSb3cgKi9cbi8qIFRhYmxlIENlbGwgKi9cbi8qIFRhYmxlIEhlYWRlciAqL1xuLyogVGFibGUgRm9vdGVyICovXG4vKiBSZXNwb25zaXZlIFNpemUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZpbml0aW9uICovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEVycm9yICovXG4vKiBXYXJuaW5nICovXG4vKiBBY3RpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBBdHRhY2hlZCAqL1xuLyogU3RyaXBlZCAqL1xuLyogU2VsZWN0YWJsZSAqL1xuLyogU29ydGFibGUgKi9cbi8qIENvbG9ycyAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEJhc2ljICovXG4vKiBQYWRkZWQgKi9cbi8qIENvbXBhY3QgKi9cbi8qIFNpemVzICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFRhYmxlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUHJvdG90eXBlICovXG4udWkudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luOiAxZW0gMGVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDBweDtcbn1cbi51aS50YWJsZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS50YWJsZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBQYXJ0c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRhYmxlIENvbnRlbnQgKi9cbi51aS50YWJsZSB0aCxcbi51aS50YWJsZSB0ZCB7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2U7XG59XG4vKiBIZWFkZXJzICovXG4udWkudGFibGUgdGhlYWQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnRhYmxlIHRoZWFkIHRoIHtcbiAgY3Vyc29yOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjRjlGQUZCO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgcGFkZGluZzogMC45Mjg1NzE0M2VtIDAuNzg1NzE0MjllbTtcbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4udWkudGFibGUgdGhlYWQgdHIgPiB0aDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLnRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDBlbSAwZW0gMGVtO1xufVxuLnVpLnRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG4udWkudGFibGUgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgPiB0aDpvbmx5LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG4vKiBGb290ZXIgKi9cbi51aS50YWJsZSB0Zm9vdCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkudGFibGUgdGZvb3QgdGgge1xuICBjdXJzb3I6IGF1dG87XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBiYWNrZ3JvdW5kOiAjRjlGQUZCO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDAuNzg1NzE0MjllbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi51aS50YWJsZSB0Zm9vdCB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4udWkudGFibGUgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMGVtIDAuMjg1NzE0MjlyZW07XG59XG4udWkudGFibGUgdGZvb3QgdHI6Zmlyc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDBlbTtcbn1cbi51aS50YWJsZSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCA+IHRoOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi8qIFRhYmxlIFJvdyAqL1xuLnVpLnRhYmxlIHRyIHRkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS50YWJsZSB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4vKiBSZXBlYXRlZCB0Ym9keSAqL1xuLnVpLnRhYmxlIHRib2R5ICsgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLyogVGFibGUgQ2VsbHMgKi9cbi51aS50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjllbSAwLjc4NTcxNDI5ZW07XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG4vKiBJY29ucyAqL1xuLnVpLnRhYmxlID4gLmljb24ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkudGFibGUgPiAuaWNvbjpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luOiAwZW07XG59XG4vKiBUYWJsZSBTZWdtZW50ICovXG4udWkudGFibGUuc2VnbWVudCB7XG4gIHBhZGRpbmc6IDBlbTtcbn1cbi51aS50YWJsZS5zZWdtZW50OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS50YWJsZS5zZWdtZW50LnN0YWNrZWQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdGJvZHksXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0cixcbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyID4gdGgsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0ciA+IHRkIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHtcbiAgICBwYWRkaW5nOiAwZW07XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdGZvb3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0ciB7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIGJveC1zaGFkb3c6IDBweCAtMXB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyID4gdGgsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0ciA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuMjVlbSAwLjc1ZW0gIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRoOmZpcnN0LWNoaWxkLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIC8qIERlZmluaXRpb24gVGFibGUgKi9cbiAgLnVpLmRlZmluaXRpb24udGFibGU6bm90KC51bnN0YWNrYWJsZSkgdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVUkgSW1hZ2UgKi9cbi51aS50YWJsZSB0aCAuaW1hZ2UsXG4udWkudGFibGUgdGggLmltYWdlIGltZyxcbi51aS50YWJsZSB0ZCAuaW1hZ2UsXG4udWkudGFibGUgdGQgLmltYWdlIGltZyB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ29tcGxleFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5zdHJ1Y3R1cmVkLnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS5zdHJ1Y3R1cmVkLnRhYmxlIHRoZWFkIHRoIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cbi51aS5zdHJ1Y3R1cmVkLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnN0cnVjdHVyZWQuYmFzaWMudGFibGUgdGgge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuLnVpLnN0cnVjdHVyZWQuY2VsbGVkLnRhYmxlIHRyIHRoLFxuLnVpLnN0cnVjdHVyZWQuY2VsbGVkLnRhYmxlIHRyIHRkIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIERlZmluaXRpb25cbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZGVmaW5pdGlvbi50YWJsZSB0aGVhZDpub3QoLmZ1bGwtd2lkdGgpIHRoOmZpcnN0LWNoaWxkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMHB4IDFweCAjRkZGRkZGO1xufVxuLnVpLmRlZmluaXRpb24udGFibGUgdGZvb3Q6bm90KC5mdWxsLXdpZHRoKSB0aDpmaXJzdC1jaGlsZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgY29sb3I6IG5vcm1hbDtcbiAgYm94LXNoYWRvdzogMXB4IDFweCAwcHggMXB4ICNGRkZGRkY7XG59XG4vKiBSZW1vdmUgQm9yZGVyICovXG4udWkuY2VsbGVkLmRlZmluaXRpb24udGFibGUgdGhlYWQ6bm90KC5mdWxsLXdpZHRoKSB0aDpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IDBweCAtMXB4IDBweCAxcHggI0ZGRkZGRjtcbn1cbi51aS5jZWxsZWQuZGVmaW5pdGlvbi50YWJsZSB0Zm9vdDpub3QoLmZ1bGwtd2lkdGgpIHRoOmZpcnN0LWNoaWxkIHtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAwcHggMXB4ICNGRkZGRkY7XG59XG4vKiBIaWdobGlnaHQgRGVmaW5pbmcgQ29sdW1uICovXG4udWkuZGVmaW5pdGlvbi50YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZDpub3QoLmlnbm9yZWQpLFxuLnVpLmRlZmluaXRpb24udGFibGUgdHIgdGQuZGVmaW5pdGlvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wMyk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgdGV4dC10cmFuc2Zvcm06ICcnO1xuICBib3gtc2hhZG93OiAnJztcbiAgdGV4dC1hbGlnbjogJyc7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBwYWRkaW5nLWxlZnQ6ICcnO1xuICBwYWRkaW5nLXJpZ2h0OiAnJztcbn1cbi8qIEZpeCAybmQgQ29sdW1uICovXG4udWkuZGVmaW5pdGlvbi50YWJsZSB0aGVhZDpub3QoLmZ1bGwtd2lkdGgpIHRoOm50aC1jaGlsZCgyKSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5kZWZpbml0aW9uLnRhYmxlIHRmb290Om5vdCguZnVsbC13aWR0aCkgdGg6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLmRlZmluaXRpb24udGFibGUgdGQ6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUG9zaXRpdmVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkudGFibGUgdHIucG9zaXRpdmUsXG4udWkudGFibGUgdGQucG9zaXRpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAjQTNDMjkzIGluc2V0O1xufVxuLnVpLnRhYmxlIHRyLnBvc2l0aXZlLFxuLnVpLnRhYmxlIHRkLnBvc2l0aXZlIHtcbiAgYmFja2dyb3VuZDogI0ZDRkZGNSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzJDNjYyRCAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBOZWdhdGl2ZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS50YWJsZSB0ci5uZWdhdGl2ZSxcbi51aS50YWJsZSB0ZC5uZWdhdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4ICNFMEI0QjQgaW5zZXQ7XG59XG4udWkudGFibGUgdHIubmVnYXRpdmUsXG4udWkudGFibGUgdGQubmVnYXRpdmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGNkY2ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOUYzQTM4ICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBFcnJvclxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS50YWJsZSB0ci5lcnJvcixcbi51aS50YWJsZSB0ZC5lcnJvciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4ICNFMEI0QjQgaW5zZXQ7XG59XG4udWkudGFibGUgdHIuZXJyb3IsXG4udWkudGFibGUgdGQuZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiAjRkZGNkY2ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjOUYzQTM4ICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFdhcm5pbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkudGFibGUgdHIud2FybmluZyxcbi51aS50YWJsZSB0ZC53YXJuaW5nIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggI0M5QkE5QiBpbnNldDtcbn1cbi51aS50YWJsZSB0ci53YXJuaW5nLFxuLnVpLnRhYmxlIHRkLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiAjRkZGQUYzICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNTczQTA4ICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS50YWJsZSB0ci5hY3RpdmUsXG4udWkudGFibGUgdGQuYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjg3KSBpbnNldDtcbn1cbi51aS50YWJsZSB0ci5hY3RpdmUsXG4udWkudGFibGUgdGQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI0UwRTBFMCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS50YWJsZSB0ci5kaXNhYmxlZCB0ZCxcbi51aS50YWJsZSB0ciB0ZC5kaXNhYmxlZCxcbi51aS50YWJsZSB0ci5kaXNhYmxlZDpob3Zlcixcbi51aS50YWJsZSB0cjpob3ZlciB0ZC5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogcmdiYSg0MCwgNDAsIDQwLCAwLjMpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIFN0YWNrYWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRib2R5LFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cixcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIgPiB0aCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIgPiB0ZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHtcbiAgICBwYWRkaW5nOiAwZW07XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdGhlYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRmb290IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0ciB7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICAgIGJveC1zaGFkb3c6IDBweCAtMXB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEpIGluc2V0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIgPiB0aCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIgPiB0ZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwLjI1ZW0gMC43NWVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAvKiBEZWZpbml0aW9uIFRhYmxlICovXG4gIC51aS5kZWZpbml0aW9uW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyotLS0tLS0tLS0tLS0tLVxuIFRleHQgQWxpZ25tZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnRhYmxlW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aS50YWJsZVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkudGFibGVbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiBWZXJ0aWNhbCBBbGlnbm1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkudGFibGVbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS50YWJsZVtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnVpLnRhYmxlW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ29sbGFwc2luZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS50YWJsZSB0aC5jb2xsYXBzaW5nLFxuLnVpLnRhYmxlIHRkLmNvbGxhcHNpbmcge1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGaXhlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5maXhlZC50YWJsZSB7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG4udWkuZml4ZWQudGFibGUgdGgsXG4udWkuZml4ZWQudGFibGUgdGQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFNlbGVjdGFibGVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0Ym9keSB0cjpob3Zlcixcbi51aS50YWJsZSB0Ym9keSB0ciB0ZC5zZWxlY3RhYmxlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KSAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KSAhaW1wb3J0YW50O1xufVxuLnVpLnNlbGVjdGFibGUuaW52ZXJ0ZWQudGFibGUgdGJvZHkgdHI6aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGFibGUgdGJvZHkgdHIgdGQuc2VsZWN0YWJsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbi8qIFNlbGVjdGFibGUgQ2VsbCBMaW5rICovXG4udWkudGFibGUgdGJvZHkgdHIgdGQuc2VsZWN0YWJsZSB7XG4gIHBhZGRpbmc6IDBlbTtcbn1cbi51aS50YWJsZSB0Ym9keSB0ciB0ZC5zZWxlY3RhYmxlID4gYTpub3QoLnVpKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgcGFkZGluZzogMC43ODU3MTQyOWVtIDAuNzg1NzE0MjllbTtcbn1cbi8qIE90aGVyIFN0YXRlcyAqL1xuLnVpLnNlbGVjdGFibGUudGFibGUgdHIuZXJyb3I6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5lcnJvcjpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmVycm9yIHtcbiAgYmFja2dyb3VuZDogI2ZmZTdlNyAhaW1wb3J0YW50O1xuICBjb2xvcjogIzk0MzYzNCAhaW1wb3J0YW50O1xufVxuLnVpLnNlbGVjdGFibGUudGFibGUgdHIud2FybmluZzpob3Zlcixcbi51aS50YWJsZSB0ciB0ZC5zZWxlY3RhYmxlLndhcm5pbmc6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC53YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogI2ZmZjRlNCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzQ5MzEwNyAhaW1wb3J0YW50O1xufVxuLnVpLnNlbGVjdGFibGUudGFibGUgdHIuYWN0aXZlOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUuYWN0aXZlOmhvdmVyLFxuLnVpLnNlbGVjdGFibGUudGFibGUgdHI6aG92ZXIgdGQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI0UwRTBFMCAhaW1wb3J0YW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KSAhaW1wb3J0YW50O1xufVxuLnVpLnNlbGVjdGFibGUudGFibGUgdHIucG9zaXRpdmU6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5wb3NpdGl2ZTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLnBvc2l0aXZlIHtcbiAgYmFja2dyb3VuZDogI2Y3ZmZlNiAhaW1wb3J0YW50O1xuICBjb2xvcjogIzI3NWIyOCAhaW1wb3J0YW50O1xufVxuLnVpLnNlbGVjdGFibGUudGFibGUgdHIubmVnYXRpdmU6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5uZWdhdGl2ZTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLm5lZ2F0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZTdlNyAhaW1wb3J0YW50O1xuICBjb2xvcjogIzk0MzYzNCAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBBdHRhY2hlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWlkZGxlICovXG4udWkuYXR0YWNoZWQudGFibGUge1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWFyZ2luOiAwZW0gLTFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtICgtMXB4ICogMikpO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgtMXB4ICogMikpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDRENEQ1O1xufVxuLnVpLmF0dGFjaGVkICsgLnVpLmF0dGFjaGVkLnRhYmxlOm5vdCgudG9wKSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4vKiBUb3AgKi9cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0udGFibGUge1xuICBib3R0b206IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB0b3A6IDBweDtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cbi51aS50YWJsZVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4vKiBCb3R0b20gKi9cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0udGFibGUge1xuICBib3R0b206IDBweDtcbiAgbWFyZ2luLXRvcDogMGVtO1xuICB0b3A6IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBib3gtc2hhZG93OiBub25lLCBub25lO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0udGFibGU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU3RyaXBlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRhYmxlIFN0cmlwaW5nICovXG4udWkuc3RyaXBlZC50YWJsZSA+IHRyOm50aC1jaGlsZCgybiksXG4udWkuc3RyaXBlZC50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoMm4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCA1MCwgMC4wMik7XG59XG4vKiBTdHJpcGVzICovXG4udWkuaW52ZXJ0ZWQuc3RyaXBlZC50YWJsZSA+IHRyOm50aC1jaGlsZCgybiksXG4udWkuaW52ZXJ0ZWQuc3RyaXBlZC50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoMm4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KTtcbn1cbi8qIEFsbG93IHN0cmlwZWQgYWN0aXZlIGhvdmVyICovXG4udWkuc3RyaXBlZC5zZWxlY3RhYmxlLnNlbGVjdGFibGUuc2VsZWN0YWJsZS50YWJsZSB0Ym9keSB0ci5hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRUZFRkVGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTaW5nbGUgTGluZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS50YWJsZVtjbGFzcyo9XCJzaW5nbGUgbGluZVwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwic2luZ2xlIGxpbmVcIl0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnVpLnRhYmxlW2NsYXNzKj1cInNpbmdsZSBsaW5lXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJzaW5nbGUgbGluZVwiXSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFJlZCAqL1xuLnVpLnJlZC50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICNEQjI4Mjg7XG59XG4udWkuaW52ZXJ0ZWQucmVkLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCMjgyOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogT3JhbmdlICovXG4udWkub3JhbmdlLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgI0YyNzExQztcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjI3MTFDICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBZZWxsb3cgKi9cbi51aS55ZWxsb3cudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjRkJCRDA4O1xufVxuLnVpLmludmVydGVkLnllbGxvdy50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGQkJEMDggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIE9saXZlICovXG4udWkub2xpdmUudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjQjVDQzE4O1xufVxuLnVpLmludmVydGVkLm9saXZlLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I1Q0MxOCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogR3JlZW4gKi9cbi51aS5ncmVlbi50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICMyMUJBNDU7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4udGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBUZWFsICovXG4udWkudGVhbC50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICMwMEI1QUQ7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEI1QUQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIEJsdWUgKi9cbi51aS5ibHVlLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgIzIxODVEMDtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogVmlvbGV0ICovXG4udWkudmlvbGV0LnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgIzY0MzVDOTtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjQzNUM5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBQdXJwbGUgKi9cbi51aS5wdXJwbGUudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjQTMzM0M4O1xufVxuLnVpLmludmVydGVkLnB1cnBsZS50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBMzMzQzggIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIFBpbmsgKi9cbi51aS5waW5rLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogMC4yZW0gc29saWQgI0UwMzk5Nztcbn1cbi51aS5pbnZlcnRlZC5waW5rLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0UwMzk5NyAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyogQnJvd24gKi9cbi51aS5icm93bi50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICNBNTY3M0Y7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24udGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU2NzNGICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnQ7XG59XG4vKiBHcmV5ICovXG4udWkuZ3JleS50YWJsZSB7XG4gIGJvcmRlci10b3A6IDAuMmVtIHNvbGlkICM3Njc2NzY7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcbn1cbi8qIEJsYWNrICovXG4udWkuYmxhY2sudGFibGUge1xuICBib3JkZXItdG9wOiAwLjJlbSBzb2xpZCAjMUIxQzFEO1xufVxuLnVpLmludmVydGVkLmJsYWNrLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCMUMxRCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICBDb2x1bW4gQ291bnRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBHcmlkIEJhc2VkICovXG4udWkub25lLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnR3by5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogNTAlO1xufVxuLnVpLnRocmVlLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAzMy4zMzMzMzMzMyU7XG59XG4udWkuZm91ci5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogMjUlO1xufVxuLnVpLmZpdmUuY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDIwJTtcbn1cbi51aS5zaXguY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDE2LjY2NjY2NjY3JTtcbn1cbi51aS5zZXZlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogMTQuMjg1NzE0MjklO1xufVxuLnVpLmVpZ2h0LmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aS5uaW5lLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxMS4xMTExMTExMSU7XG59XG4udWkudGVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiAxMCU7XG59XG4udWkuZWxldmVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA5LjA5MDkwOTA5JTtcbn1cbi51aS50d2VsdmUuY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IDguMzMzMzMzMzMlO1xufVxuLnVpLnRoaXJ0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiA3LjY5MjMwNzY5JTtcbn1cbi51aS5mb3VydGVlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogNy4xNDI4NTcxNCU7XG59XG4udWkuZmlmdGVlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogNi42NjY2NjY2NyU7XG59XG4udWkuc2l4dGVlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogNi4yNSU7XG59XG4vKiBDb2x1bW4gV2lkdGggKi9cbi51aS50YWJsZSB0aC5vbmUud2lkZSxcbi51aS50YWJsZSB0ZC5vbmUud2lkZSB7XG4gIHdpZHRoOiA2LjI1JTtcbn1cbi51aS50YWJsZSB0aC50d28ud2lkZSxcbi51aS50YWJsZSB0ZC50d28ud2lkZSB7XG4gIHdpZHRoOiAxMi41JTtcbn1cbi51aS50YWJsZSB0aC50aHJlZS53aWRlLFxuLnVpLnRhYmxlIHRkLnRocmVlLndpZGUge1xuICB3aWR0aDogMTguNzUlO1xufVxuLnVpLnRhYmxlIHRoLmZvdXIud2lkZSxcbi51aS50YWJsZSB0ZC5mb3VyLndpZGUge1xuICB3aWR0aDogMjUlO1xufVxuLnVpLnRhYmxlIHRoLmZpdmUud2lkZSxcbi51aS50YWJsZSB0ZC5maXZlLndpZGUge1xuICB3aWR0aDogMzEuMjUlO1xufVxuLnVpLnRhYmxlIHRoLnNpeC53aWRlLFxuLnVpLnRhYmxlIHRkLnNpeC53aWRlIHtcbiAgd2lkdGg6IDM3LjUlO1xufVxuLnVpLnRhYmxlIHRoLnNldmVuLndpZGUsXG4udWkudGFibGUgdGQuc2V2ZW4ud2lkZSB7XG4gIHdpZHRoOiA0My43NSU7XG59XG4udWkudGFibGUgdGguZWlnaHQud2lkZSxcbi51aS50YWJsZSB0ZC5laWdodC53aWRlIHtcbiAgd2lkdGg6IDUwJTtcbn1cbi51aS50YWJsZSB0aC5uaW5lLndpZGUsXG4udWkudGFibGUgdGQubmluZS53aWRlIHtcbiAgd2lkdGg6IDU2LjI1JTtcbn1cbi51aS50YWJsZSB0aC50ZW4ud2lkZSxcbi51aS50YWJsZSB0ZC50ZW4ud2lkZSB7XG4gIHdpZHRoOiA2Mi41JTtcbn1cbi51aS50YWJsZSB0aC5lbGV2ZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5lbGV2ZW4ud2lkZSB7XG4gIHdpZHRoOiA2OC43NSU7XG59XG4udWkudGFibGUgdGgudHdlbHZlLndpZGUsXG4udWkudGFibGUgdGQudHdlbHZlLndpZGUge1xuICB3aWR0aDogNzUlO1xufVxuLnVpLnRhYmxlIHRoLnRoaXJ0ZWVuLndpZGUsXG4udWkudGFibGUgdGQudGhpcnRlZW4ud2lkZSB7XG4gIHdpZHRoOiA4MS4yNSU7XG59XG4udWkudGFibGUgdGguZm91cnRlZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5mb3VydGVlbi53aWRlIHtcbiAgd2lkdGg6IDg3LjUlO1xufVxuLnVpLnRhYmxlIHRoLmZpZnRlZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5maWZ0ZWVuLndpZGUge1xuICB3aWR0aDogOTMuNzUlO1xufVxuLnVpLnRhYmxlIHRoLnNpeHRlZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5zaXh0ZWVuLndpZGUge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTb3J0YWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLnNvcnRlZCxcbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQ6aG92ZXIge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiBhdXRvO1xuICBvcGFjaXR5OiAwLjg7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMC41ZW07XG4gIGZvbnQtZmFtaWx5OiAnSWNvbnMnO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLmFzY2VuZGluZzphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGYwZDgnO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLmRlc2NlbmRpbmc6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxmMGQ3Jztcbn1cbi8qIEhvdmVyICovXG4udWkuc29ydGFibGUudGFibGUgdGguZGlzYWJsZWQ6aG92ZXIge1xuICBjdXJzb3I6IGF1dG87XG4gIGNvbG9yOiByZ2JhKDQwLCA0MCwgNDAsIDAuMyk7XG59XG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGg6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLyogU29ydGVkICovXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkOmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLyogU29ydGVkIEhvdmVyICovXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLnNvcnRlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4udWkuaW52ZXJ0ZWQuc29ydGFibGUudGFibGUgdGhlYWQgdGg6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjA1KSk7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGV4dCBDb2xvciAqL1xuLnVpLmludmVydGVkLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogIzMzMzMzMztcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC50YWJsZSB0ci5kaXNhYmxlZCB0ZCxcbi51aS5pbnZlcnRlZC50YWJsZSB0ciB0ZC5kaXNhYmxlZCxcbi51aS5pbnZlcnRlZC50YWJsZSB0ci5kaXNhYmxlZDpob3ZlciB0ZCxcbi51aS5pbnZlcnRlZC50YWJsZSB0cjpob3ZlciB0ZC5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogcmdiYSgyMjUsIDIyNSwgMjI1LCAwLjMpO1xufVxuLyogRGVmaW5pdGlvbiAqL1xuLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgdGZvb3Q6bm90KC5mdWxsLXdpZHRoKSB0aDpmaXJzdC1jaGlsZCxcbi51aS5pbnZlcnRlZC5kZWZpbml0aW9uLnRhYmxlIHRoZWFkOm5vdCguZnVsbC13aWR0aCkgdGg6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIENvbGxhcHNpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY29sbGFwc2luZy50YWJsZSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzaWNcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuYmFzaWMudGFibGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5iYXNpYy50YWJsZSB0aGVhZCxcbi51aS5iYXNpYy50YWJsZSB0Zm9vdCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmFzaWMudGFibGUgdGgge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4udWkuYmFzaWMudGFibGUgdGJvZHkgdHIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuLnVpLmJhc2ljLnRhYmxlIHRkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4udWkuYmFzaWMuc3RyaXBlZC50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoMm4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KSAhaW1wb3J0YW50O1xufVxuLyogVmVyeSBCYXNpYyAqL1xuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGUge1xuICBib3JkZXI6IG5vbmU7XG59XG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpIHRoLFxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSB0ZCB7XG4gIHBhZGRpbmc6ICcnO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGU6bm90KC5zb3J0YWJsZSk6bm90KC5zdHJpcGVkKSB0aDpmaXJzdC1jaGlsZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgdGQ6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDBlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgdGg6bGFzdC1jaGlsZCxcbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgdGQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDBlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgge1xuICBwYWRkaW5nLXRvcDogMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDZWxsZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2VsbGVkLnRhYmxlIHRyIHRoLFxuLnVpLmNlbGxlZC50YWJsZSB0ciB0ZCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLmNlbGxlZC50YWJsZSB0ciB0aDpmaXJzdC1jaGlsZCxcbi51aS5jZWxsZWQudGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgUGFkZGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnBhZGRlZC50YWJsZSB0aCB7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG59XG4udWkucGFkZGVkLnRhYmxlIHRoLFxuLnVpLnBhZGRlZC50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDFlbSAxZW07XG59XG4vKiBWZXJ5ICovXG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udGFibGUgdGgge1xuICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHBhZGRlZFwiXS50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDEuNWVtIDEuNWVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb21wYWN0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNvbXBhY3QudGFibGUgdGgge1xuICBwYWRkaW5nLWxlZnQ6IDAuN2VtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjdlbTtcbn1cbi51aS5jb21wYWN0LnRhYmxlIHRkIHtcbiAgcGFkZGluZzogMC41ZW0gMC43ZW07XG59XG4vKiBWZXJ5ICovXG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlIHRoIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjZlbTtcbiAgcGFkZGluZy1yaWdodDogMC42ZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSBjb21wYWN0XCJdLnRhYmxlIHRkIHtcbiAgcGFkZGluZzogMC40ZW0gMC42ZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNtYWxsICovXG4udWkuc21hbGwudGFibGUge1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuLyogU3RhbmRhcmQgKi9cbi51aS50YWJsZSB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLyogTGFyZ2UgKi9cbi51aS5sYXJnZS50YWJsZSB7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG59XG4vKiBWaWV3cyAqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gQWRcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogQ29weXJpZ2h0IDIwMTMgQ29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIEFkdmVydGlzZW1lbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBBZHZlcnRpc2VtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEFkdmVydGlzZW1lbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuYWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAxZW0gMGVtO1xufVxuLnVpLmFkOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwZW07XG59XG4udWkuYWQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbjogMGVtO1xufVxuLnVpLmFkIGlmcmFtZSB7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29tbW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogTGVhZGVyYm9hcmQgKi9cbi51aS5sZWFkZXJib2FyZC5hZCB7XG4gIHdpZHRoOiA3MjhweDtcbiAgaGVpZ2h0OiA5MHB4O1xufVxuLyogTWVkaXVtIFJlY3RhbmdsZSAqL1xuLnVpW2NsYXNzKj1cIm1lZGl1bSByZWN0YW5nbGVcIl0uYWQge1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMjUwcHg7XG59XG4vKiBMYXJnZSBSZWN0YW5nbGUgKi9cbi51aVtjbGFzcyo9XCJsYXJnZSByZWN0YW5nbGVcIl0uYWQge1xuICB3aWR0aDogMzM2cHg7XG4gIGhlaWdodDogMjgwcHg7XG59XG4vKiBIYWxmIFBhZ2UgKi9cbi51aVtjbGFzcyo9XCJoYWxmIHBhZ2VcIl0uYWQge1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogNjAwcHg7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNxdWFyZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNxdWFyZSAqL1xuLnVpLnNxdWFyZS5hZCB7XG4gIHdpZHRoOiAyNTBweDtcbiAgaGVpZ2h0OiAyNTBweDtcbn1cbi8qIFNtYWxsIFNxdWFyZSAqL1xuLnVpW2NsYXNzKj1cInNtYWxsIHNxdWFyZVwiXS5hZCB7XG4gIHdpZHRoOiAyMDBweDtcbiAgaGVpZ2h0OiAyMDBweDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBSZWN0YW5nbGVcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBTbWFsbCBSZWN0YW5nbGUgKi9cbi51aVtjbGFzcyo9XCJzbWFsbCByZWN0YW5nbGVcIl0uYWQge1xuICB3aWR0aDogMTgwcHg7XG4gIGhlaWdodDogMTUwcHg7XG59XG4vKiBWZXJ0aWNhbCBSZWN0YW5nbGUgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbCByZWN0YW5nbGVcIl0uYWQge1xuICB3aWR0aDogMjQwcHg7XG4gIGhlaWdodDogNDAwcHg7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEJ1dHRvblxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5idXR0b24uYWQge1xuICB3aWR0aDogMTIwcHg7XG4gIGhlaWdodDogOTBweDtcbn1cbi51aVtjbGFzcyo9XCJzcXVhcmUgYnV0dG9uXCJdLmFkIHtcbiAgd2lkdGg6IDEyNXB4O1xuICBoZWlnaHQ6IDEyNXB4O1xufVxuLnVpW2NsYXNzKj1cInNtYWxsIGJ1dHRvblwiXS5hZCB7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgU2t5c2NyYXBlcnNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBTa3lzY3JhcGVyICovXG4udWkuc2t5c2NyYXBlci5hZCB7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiA2MDBweDtcbn1cbi8qIFdpZGUgU2t5c2NyYXBlciAqL1xuLnVpW2NsYXNzKj1cIndpZGUgc2t5c2NyYXBlclwiXS5hZCB7XG4gIHdpZHRoOiAxNjBweDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQmFubmVyc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEJhbm5lciAqL1xuLnVpLmJhbm5lci5hZCB7XG4gIHdpZHRoOiA0NjhweDtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuLyogVmVydGljYWwgQmFubmVyICovXG4udWlbY2xhc3MqPVwidmVydGljYWwgYmFubmVyXCJdLmFkIHtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDI0MHB4O1xufVxuLyogVG9wIEJhbm5lciAqL1xuLnVpW2NsYXNzKj1cInRvcCBiYW5uZXJcIl0uYWQge1xuICB3aWR0aDogOTMwcHg7XG4gIGhlaWdodDogMTgwcHg7XG59XG4vKiBIYWxmIEJhbm5lciAqL1xuLnVpW2NsYXNzKj1cImhhbGYgYmFubmVyXCJdLmFkIHtcbiAgd2lkdGg6IDIzNHB4O1xuICBoZWlnaHQ6IDYwcHg7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQm9hcmRzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogTGVhZGVyYm9hcmQgKi9cbi51aVtjbGFzcyo9XCJsYXJnZSBsZWFkZXJib2FyZFwiXS5hZCB7XG4gIHdpZHRoOiA5NzBweDtcbiAgaGVpZ2h0OiA5MHB4O1xufVxuLyogQmlsbGJvYXJkICovXG4udWkuYmlsbGJvYXJkLmFkIHtcbiAgd2lkdGg6IDk3MHB4O1xuICBoZWlnaHQ6IDI1MHB4O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFBhbm9yYW1hXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogUGFub3JhbWEgKi9cbi51aS5wYW5vcmFtYS5hZCB7XG4gIHdpZHRoOiA5ODBweDtcbiAgaGVpZ2h0OiAxMjBweDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV0Ym9hcmRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBOZXRib2FyZCAqL1xuLnVpLm5ldGJvYXJkLmFkIHtcbiAgd2lkdGg6IDU4MHB4O1xuICBoZWlnaHQ6IDQwMHB4O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBNb2JpbGVcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBMYXJnZSBNb2JpbGUgQmFubmVyICovXG4udWlbY2xhc3MqPVwibGFyZ2UgbW9iaWxlIGJhbm5lclwiXS5hZCB7XG4gIHdpZHRoOiAzMjBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbn1cbi8qIE1vYmlsZSBMZWFkZXJib2FyZCAqL1xuLnVpW2NsYXNzKj1cIm1vYmlsZSBsZWFkZXJib2FyZFwiXS5hZCB7XG4gIHdpZHRoOiAzMjBweDtcbiAgaGVpZ2h0OiA1MHB4O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIE1vYmlsZSBTaXplcyAqL1xuLnVpLm1vYmlsZS5hZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5tb2JpbGUuYWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmNlbnRlcmVkLmFkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi51aS50ZXN0LmFkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjNTQ1NDU0O1xufVxuLnVpLnRlc3QuYWQ6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICBjb250ZW50OiAnQWQnO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLm1vYmlsZS50ZXN0LmFkOmFmdGVyIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG59XG4udWkudGVzdC5hZFtkYXRhLXRleHRdOmFmdGVyIHtcbiAgY29udGVudDogYXR0cihkYXRhLXRleHQpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIEl0ZW1cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBDYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTaGFkb3cgKi9cbi8qIENhcmQgKi9cbi8qIENhcmQgR3JvdXAgKi9cbi8qIENvbnNlY3V0aXZlIENhcmRzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbWFnZSAqL1xuLyogQ29udGVudCAqL1xuLyogSGVhZGVyICovXG4vKiBNZXRhZGF0YSAqL1xuLyogSWNvbnMgKi9cbi8qIExpbmtzICovXG4vKiBEZXNjcmlwdGlvbiAqL1xuLyogQ29udGVudCBJbWFnZSAqL1xuLyogQXZhdGFyIEltYWdlICovXG4vKiBQYXJhZ3JhcGggKi9cbi8qIERpbW1lciAqL1xuLyogQWRkaXRpb25hbCBDb250ZW50ICovXG4vKiBFeHRyYSBMaW5rcyAqL1xuLyogQnV0dG9ucyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMaW5rICovXG4vKiBSYWlzZWQgKi9cbi8qIENhcmQgQ291bnQgKi9cbi8qIFN0YWNrYWJsZSAqL1xuLyogU2l6ZXMgKi9cbi8qIENvbG9yZWQgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIENhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNoYWRvdyAqL1xuLyogQ2FyZCAqL1xuLyogQ2FyZCBHcm91cCAqL1xuLyogQ29uc2VjdXRpdmUgQ2FyZHMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEltYWdlICovXG4vKiBDb250ZW50ICovXG4vKiBIZWFkZXIgKi9cbi8qIE1ldGFkYXRhICovXG4vKiBJY29ucyAqL1xuLyogTGlua3MgKi9cbi8qIERlc2NyaXB0aW9uICovXG4vKiBDb250ZW50IEltYWdlICovXG4vKiBBdmF0YXIgSW1hZ2UgKi9cbi8qIFBhcmFncmFwaCAqL1xuLyogRGltbWVyICovXG4vKiBBZGRpdGlvbmFsIENvbnRlbnQgKi9cbi8qIEV4dHJhIExpbmtzICovXG4vKiBCdXR0b25zICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExpbmsgKi9cbi8qIFJhaXNlZCAqL1xuLyogQ2FyZCBDb3VudCAqL1xuLyogU3RhY2thYmxlICovXG4vKiBTaXplcyAqL1xuLyogQ29sb3JlZCAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgQ2FyZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDI5MHB4O1xuICBtaW4taGVpZ2h0OiAwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDBlbTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwcHggMXB4IDNweCAwcHggI0Q0RDRENSwgMHB4IDBweCAwcHggMXB4ICNENEQ0RDU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xuICB6LWluZGV4OiAnJztcbn1cbi51aS5jYXJkIHtcbiAgbWFyZ2luOiAxZW0gMGVtO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgYSxcbi51aS5jYXJkIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4udWkuY2FyZDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5jYXJkOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBDYXJkc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jYXJkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogLTAuODc1ZW0gLTAuNWVtO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4udWkuY2FyZHMgPiAuY2FyZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMC44NzVlbSAwLjVlbTtcbiAgZmxvYXQ6IG5vbmU7XG59XG4vKiBDbGVhcmluZyAqL1xuLnVpLmNhcmRzOmFmdGVyLFxuLnVpLmNhcmQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogQ29uc2VjdXRpdmUgQ2FyZCBHcm91cHMgUHJlc2VydmUgUm93IFNwYWNpbmcgKi9cbi51aS5jYXJkcyB+IC51aS5jYXJkcyB7XG4gIG1hcmdpbi10b3A6IDAuODc1ZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gIFJvdW5kZWQgRWRnZXNcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2FyZHMgPiAuY2FyZCA+IDpmaXJzdC1jaGlsZCxcbi51aS5jYXJkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiA6bGFzdC1jaGlsZCxcbi51aS5jYXJkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiA6b25seS1jaGlsZCxcbi51aS5jYXJkID4gOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEltYWdlc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmltYWdlLFxuLnVpLmNhcmQgPiAuaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgcGFkZGluZzogMGVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuaW1hZ2UgPiBpbWcsXG4udWkuY2FyZCA+IC5pbWFnZSA+IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuaW1hZ2U6bm90KC51aSkgPiBpbWcsXG4udWkuY2FyZCA+IC5pbWFnZTpub3QoLnVpKSA+IGltZyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQsXG4udWkuY2FyZCA+IC5jb250ZW50IHtcbiAgZmxleC1ncm93OiAxO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAxZW0gMWVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXNpemU6IDFlbTtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudDphZnRlcixcbi51aS5jYXJkID4gLmNvbnRlbnQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIsXG4udWkuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46ICcnO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCAn5paH5rOJ6amb5q2j6buRJywgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywgJ+W+rui7n+ato+m7kemrlCcsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qIERlZmF1bHQgSGVhZGVyIFNpemUgKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyOm5vdCgudWkpLFxuLnVpLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG4gIG1hcmdpbi10b3A6IC0wLjIxNDI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLm1ldGEgKyAuZGVzY3JpcHRpb24sXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlciArIC5kZXNjcmlwdGlvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgPiAubWV0YSArIC5kZXNjcmlwdGlvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyICsgLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS1cbiBGbG9hdGVkIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0sXG4udWkuY2FyZCBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4udWkuY2FyZHMgPiAuY2FyZCBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSxcbi51aS5jYXJkIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBBbGlnbmVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSxcbi51aS5jYXJkIFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLFxuLnVpLmNhcmQgW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0sXG4udWkuY2FyZCBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICBDb250ZW50IEltYWdlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNhcmRzID4gLmNhcmQgLmNvbnRlbnQgaW1nLFxuLnVpLmNhcmQgLmNvbnRlbnQgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJyc7XG59XG4udWkuY2FyZHMgPiAuY2FyZCBpbWcuYXZhdGFyLFxuLnVpLmNhcmRzID4gLmNhcmQgLmF2YXRhciBpbWcsXG4udWkuY2FyZCBpbWcuYXZhdGFyLFxuLnVpLmNhcmQgLmF2YXRhciBpbWcge1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgRGVzY3JpcHRpb25cbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uLFxuLnVpLmNhcmQgPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbiB7XG4gIGNsZWFyOiBib3RoO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjY4KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IHAsXG4udWkuY2FyZCA+IC5jb250ZW50IHAge1xuICBtYXJnaW46IDBlbSAwZW0gMC41ZW07XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IHA6bGFzdC1jaGlsZCxcbi51aS5jYXJkID4gLmNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTWV0YVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jYXJkcyA+IC5jYXJkIC5tZXRhLFxuLnVpLmNhcmQgLm1ldGEge1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkIC5tZXRhICosXG4udWkuY2FyZCAubWV0YSAqIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjNlbTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkIC5tZXRhIDpsYXN0LWNoaWxkLFxuLnVpLmNhcmQgLm1ldGEgOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkIC5tZXRhIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLFxuLnVpLmNhcmQgLm1ldGEgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuM2VtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBHZW5lcmljICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSksXG4udWkuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSkge1xuICBjb2xvcjogJyc7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgYTpub3QoLnVpKTpob3Zlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiAnJztcbn1cbi8qIEhlYWRlciAqL1xuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyLFxuLnVpLmNhcmQgPiAuY29udGVudCA+IGEuaGVhZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIsXG4udWkuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogIzFlNzBiZjtcbn1cbi8qIE1ldGEgKi9cbi51aS5jYXJkcyA+IC5jYXJkIC5tZXRhID4gYTpub3QoLnVpKSxcbi51aS5jYXJkIC5tZXRhID4gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4udWkuY2FyZHMgPiAuY2FyZCAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIsXG4udWkuY2FyZCAubWV0YSA+IGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQnV0dG9uc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmJ1dHRvbnMsXG4udWkuY2FyZCA+IC5idXR0b25zLFxuLnVpLmNhcmRzID4gLmNhcmQgPiAuYnV0dG9uLFxuLnVpLmNhcmQgPiAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwcHggLTFweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArICAycHggKTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpbW1lclxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jYXJkcyA+IC5jYXJkIC5kaW1tZXIsXG4udWkuY2FyZCAuZGltbWVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJyc7XG4gIHotaW5kZXg6IDEwO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBMYWJlbHNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tU3Rhci0tLS0tICovXG4vKiBJY29uICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5zdGFyLmljb24sXG4udWkuY2FyZCA+IC5jb250ZW50IC5zdGFyLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLnN0YXIuaWNvbjpob3Zlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgLnN0YXIuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjRkZCNzBBO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLnN0YXIuaWNvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgLmFjdGl2ZS5zdGFyLmljb24ge1xuICBjb2xvcjogI0ZGRTYyMztcbn1cbi8qLS0tLS1MaWtlLS0tLS0gKi9cbi8qIEljb24gKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC43NTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAubGlrZS5pY29uOmhvdmVyLFxuLnVpLmNhcmQgPiAuY29udGVudCAubGlrZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6ICNGRjI3MzM7XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5hY3RpdmUubGlrZS5pY29uLFxuLnVpLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLmxpa2UuaWNvbiB7XG4gIGNvbG9yOiAjRkYyNzMzO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tXG4gIEV4dHJhIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jYXJkcyA+IC5jYXJkID4gLmV4dHJhLFxuLnVpLmNhcmQgPiAuZXh0cmEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICBmbGV4LWdyb3c6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDBlbSAwZW07XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIHRvcDogMGVtO1xuICBsZWZ0OiAwZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmV4dHJhIGE6bm90KC51aSksXG4udWkuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmV4dHJhIGE6bm90KC51aSk6aG92ZXIsXG4udWkuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgUmFpc2VkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkucmFpc2VkLmNhcmRzID4gLmNhcmQsXG4udWkucmFpc2VkLmNhcmQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCA0cHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDBweCAycHggMTBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5yYWlzZWQuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLnJhaXNlZC5jYXJkOmhvdmVyLFxuYS51aS5yYWlzZWQuY2FyZDpob3Zlcixcbi51aS5saW5rLnJhaXNlZC5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggNHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwcHggMnB4IDEwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4yNSk7XG59XG4udWkucmFpc2VkLmNhcmRzID4gLmNhcmQsXG4udWkucmFpc2VkLmNhcmQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCA0cHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xMiksIDBweCAycHggMTBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENlbnRlcmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2VudGVyZWQuY2FyZHMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi51aS5jZW50ZXJlZC5jYXJkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZsdWlkLmNhcmQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA5OTk5cHg7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGlua1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNhcmRzIGEuY2FyZCxcbi51aS5saW5rLmNhcmRzIC5jYXJkLFxuYS51aS5jYXJkLFxuLnVpLmxpbmsuY2FyZCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cbi51aS5jYXJkcyBhLmNhcmQ6aG92ZXIsXG4udWkubGluay5jYXJkcyAuY2FyZDpob3ZlcixcbmEudWkuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmQ6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAzcHggMHB4ICNCQ0JEQkQsIDBweCAwcHggMHB4IDFweCAjRDRENEQ1O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFJlZCAqL1xuLnVpLnJlZC5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLnJlZC5jYXJkLFxuLnVpLnJlZC5jYXJkIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjREIyODI4LCAwcHggMXB4IDNweCAwcHggI0Q0RDRENTtcbn1cbi51aS5yZWQuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5yZWQuY2FyZDpob3Zlcixcbi51aS5yZWQuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggI2QwMTkxOSwgMHB4IDFweCAzcHggMHB4ICNCQ0JEQkQ7XG59XG4vKiBPcmFuZ2UgKi9cbi51aS5vcmFuZ2UuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5vcmFuZ2UuY2FyZCxcbi51aS5vcmFuZ2UuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggI0YyNzExQywgMHB4IDFweCAzcHggMHB4ICNENEQ0RDU7XG59XG4udWkub3JhbmdlLmNhcmRzID4gLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgPiAub3JhbmdlLmNhcmQ6aG92ZXIsXG4udWkub3JhbmdlLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICNmMjYyMDIsIDBweCAxcHggM3B4IDBweCAjQkNCREJEO1xufVxuLyogWWVsbG93ICovXG4udWkueWVsbG93LmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAueWVsbG93LmNhcmQsXG4udWkueWVsbG93LmNhcmQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICNGQkJEMDgsIDBweCAxcHggM3B4IDBweCAjRDRENEQ1O1xufVxuLnVpLnllbGxvdy5jYXJkcyA+IC5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzID4gLnllbGxvdy5jYXJkOmhvdmVyLFxuLnVpLnllbGxvdy5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjZWFhZTAwLCAwcHggMXB4IDNweCAwcHggI0JDQkRCRDtcbn1cbi8qIE9saXZlICovXG4udWkub2xpdmUuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5vbGl2ZS5jYXJkLFxuLnVpLm9saXZlLmNhcmQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICNCNUNDMTgsIDBweCAxcHggM3B4IDBweCAjRDRENEQ1O1xufVxuLnVpLm9saXZlLmNhcmRzID4gLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgPiAub2xpdmUuY2FyZDpob3Zlcixcbi51aS5vbGl2ZS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjYTdiZDBkLCAwcHggMXB4IDNweCAwcHggI0JDQkRCRDtcbn1cbi8qIEdyZWVuICovXG4udWkuZ3JlZW4uY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5ncmVlbi5jYXJkLFxuLnVpLmdyZWVuLmNhcmQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICMyMUJBNDUsIDBweCAxcHggM3B4IDBweCAjRDRENEQ1O1xufVxuLnVpLmdyZWVuLmNhcmRzID4gLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgPiAuZ3JlZW4uY2FyZDpob3Zlcixcbi51aS5ncmVlbi5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjMTZhYjM5LCAwcHggMXB4IDNweCAwcHggI0JDQkRCRDtcbn1cbi8qIFRlYWwgKi9cbi51aS50ZWFsLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAudGVhbC5jYXJkLFxuLnVpLnRlYWwuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggIzAwQjVBRCwgMHB4IDFweCAzcHggMHB4ICNENEQ0RDU7XG59XG4udWkudGVhbC5jYXJkcyA+IC5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzID4gLnRlYWwuY2FyZDpob3Zlcixcbi51aS50ZWFsLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICMwMDljOTUsIDBweCAxcHggM3B4IDBweCAjQkNCREJEO1xufVxuLyogQmx1ZSAqL1xuLnVpLmJsdWUuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5ibHVlLmNhcmQsXG4udWkuYmx1ZS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjMjE4NUQwLCAwcHggMXB4IDNweCAwcHggI0Q0RDRENTtcbn1cbi51aS5ibHVlLmNhcmRzID4gLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgPiAuYmx1ZS5jYXJkOmhvdmVyLFxuLnVpLmJsdWUuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggIzE2NzhjMiwgMHB4IDFweCAzcHggMHB4ICNCQ0JEQkQ7XG59XG4vKiBWaW9sZXQgKi9cbi51aS52aW9sZXQuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC52aW9sZXQuY2FyZCxcbi51aS52aW9sZXQuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggIzY0MzVDOSwgMHB4IDFweCAzcHggMHB4ICNENEQ0RDU7XG59XG4udWkudmlvbGV0LmNhcmRzID4gLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgPiAudmlvbGV0LmNhcmQ6aG92ZXIsXG4udWkudmlvbGV0LmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICM1ODI5YmIsIDBweCAxcHggM3B4IDBweCAjQkNCREJEO1xufVxuLyogUHVycGxlICovXG4udWkucHVycGxlLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAucHVycGxlLmNhcmQsXG4udWkucHVycGxlLmNhcmQge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICNBMzMzQzgsIDBweCAxcHggM3B4IDBweCAjRDRENEQ1O1xufVxuLnVpLnB1cnBsZS5jYXJkcyA+IC5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzID4gLnB1cnBsZS5jYXJkOmhvdmVyLFxuLnVpLnB1cnBsZS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjOTYyN2JhLCAwcHggMXB4IDNweCAwcHggI0JDQkRCRDtcbn1cbi8qIFBpbmsgKi9cbi51aS5waW5rLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAucGluay5jYXJkLFxuLnVpLnBpbmsuY2FyZCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggI0UwMzk5NywgMHB4IDFweCAzcHggMHB4ICNENEQ0RDU7XG59XG4udWkucGluay5jYXJkcyA+IC5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzID4gLnBpbmsuY2FyZDpob3Zlcixcbi51aS5waW5rLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICNlNjFhOGQsIDBweCAxcHggM3B4IDBweCAjQkNCREJEO1xufVxuLyogQnJvd24gKi9cbi51aS5icm93bi5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLmJyb3duLmNhcmQsXG4udWkuYnJvd24uY2FyZCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggI0E1NjczRiwgMHB4IDFweCAzcHggMHB4ICNENEQ0RDU7XG59XG4udWkuYnJvd24uY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5icm93bi5jYXJkOmhvdmVyLFxuLnVpLmJyb3duLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggI0Q0RDRENSwgMHB4IDJweCAwcHggMHB4ICM5NzViMzMsIDBweCAxcHggM3B4IDBweCAjQkNCREJEO1xufVxuLyogR3JleSAqL1xuLnVpLmdyZXkuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5ncmV5LmNhcmQsXG4udWkuZ3JleS5jYXJkIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjNzY3Njc2LCAwcHggMXB4IDNweCAwcHggI0Q0RDRENTtcbn1cbi51aS5ncmV5LmNhcmRzID4gLmNhcmQ6aG92ZXIsXG4udWkuY2FyZHMgPiAuZ3JleS5jYXJkOmhvdmVyLFxuLnVpLmdyZXkuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggIzgzODM4MywgMHB4IDFweCAzcHggMHB4ICNCQ0JEQkQ7XG59XG4vKiBCbGFjayAqL1xuLnVpLmJsYWNrLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAuYmxhY2suY2FyZCxcbi51aS5ibGFjay5jYXJkIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4ICNENEQ0RDUsIDBweCAycHggMHB4IDBweCAjMUIxQzFELCAwcHggMXB4IDNweCAwcHggI0Q0RDRENTtcbn1cbi51aS5ibGFjay5jYXJkcyA+IC5jYXJkOmhvdmVyLFxuLnVpLmNhcmRzID4gLmJsYWNrLmNhcmQ6aG92ZXIsXG4udWkuYmxhY2suY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCAjRDRENEQ1LCAwcHggMnB4IDBweCAwcHggIzI3MjkyYSwgMHB4IDFweCAzcHggMHB4ICNCQ0JEQkQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICBDYXJkIENvdW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm9uZS5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuLnVpLm9uZS5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkudHdvLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gIG1hcmdpbi1yaWdodDogLTFlbTtcbn1cbi51aS50d28uY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKCA1MCUgIC0gIDJlbSApO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cbi51aS50aHJlZS5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0xZW07XG59XG4udWkudGhyZWUuY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBjYWxjKCAzMy4zMzMzMzMzMyUgIC0gIDJlbSApO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cbi51aS5mb3VyLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNzVlbTtcbn1cbi51aS5mb3VyLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYyggMjUlICAtICAxLjVlbSApO1xuICBtYXJnaW4tbGVmdDogMC43NWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbn1cbi51aS5maXZlLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNzVlbTtcbn1cbi51aS5maXZlLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYyggMjAlICAtICAxLjVlbSApO1xuICBtYXJnaW4tbGVmdDogMC43NWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbn1cbi51aS5zaXguY2FyZHMge1xuICBtYXJnaW4tbGVmdDogLTAuNzVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC43NWVtO1xufVxuLnVpLnNpeC5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IGNhbGMoIDE2LjY2NjY2NjY3JSAgLSAgMS41ZW0gKTtcbiAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG59XG4udWkuc2V2ZW4uY2FyZHMge1xuICBtYXJnaW4tbGVmdDogLTAuNWVtO1xuICBtYXJnaW4tcmlnaHQ6IC0wLjVlbTtcbn1cbi51aS5zZXZlbi5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IGNhbGMoIDE0LjI4NTcxNDI5JSAgLSAgMWVtICk7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbi51aS5laWdodC5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNWVtO1xufVxuLnVpLmVpZ2h0LmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogY2FsYyggMTIuNSUgIC0gIDFlbSApO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cbi51aS5uaW5lLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC41ZW07XG59XG4udWkubmluZS5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IGNhbGMoIDExLjExMTExMTExJSAgLSAgMWVtICk7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuLnVpLnRlbi5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiAtMC41ZW07XG4gIG1hcmdpbi1yaWdodDogLTAuNWVtO1xufVxuLnVpLnRlbi5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IGNhbGMoIDEwJSAgLSAgMWVtICk7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRG91Ymxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1vYmlsZSBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS50d28uZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAwZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIH1cbiAgLnVpLnR3by5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMGVtO1xuICAgIG1hcmdpbi1yaWdodDogMGVtO1xuICB9XG4gIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYyggNTAlICAtICAyZW0gKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5mb3VyLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cbiAgLnVpLmZvdXIuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDUwJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuICAudWkuZml2ZS5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS5maXZlLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKCA1MCUgIC0gIDJlbSApO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLnNpeC5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDUwJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuICAudWkuc2V2ZW4uZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuc2V2ZW4uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDMzLjMzMzMzMzMzJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDMzLjMzMzMzMzMzJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuICAudWkubmluZS5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS5uaW5lLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKCAzMy4zMzMzMzMzMyUgIC0gIDJlbSApO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLnRlbi5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS50ZW4uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDMzLjMzMzMzMzMzJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxufVxuLyogVGFibGV0IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWkudHdvLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogMGVtO1xuICAgIG1hcmdpbi1yaWdodDogMGVtO1xuICB9XG4gIC51aS50d28uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgfVxuICAudWkudGhyZWUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkudGhyZWUuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IGNhbGMoIDUwJSAgLSAgMmVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgfVxuICAudWkuZm91ci5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMWVtO1xuICB9XG4gIC51aS5mb3VyLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKCA1MCUgIC0gIDJlbSApO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLmZpdmUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuZml2ZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYyggMzMuMzMzMzMzMzMlICAtICAyZW0gKTtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICB9XG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMWVtO1xuICAgIG1hcmdpbi1yaWdodDogLTFlbTtcbiAgfVxuICAudWkuc2l4LmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKCAzMy4zMzMzMzMzMyUgIC0gIDJlbSApO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xZW07XG4gIH1cbiAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKCAzMy4zMzMzMzMzMyUgIC0gIDJlbSApO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gIH1cbiAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjc1ZW07XG4gIH1cbiAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKCAyNSUgIC0gIDEuNWVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbiAgfVxuICAudWkubmluZS5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NWVtO1xuICB9XG4gIC51aS5uaW5lLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBjYWxjKCAyNSUgIC0gIDEuNWVtICk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVlbTtcbiAgfVxuICAudWkudGVuLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNzVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjc1ZW07XG4gIH1cbiAgLnVpLnRlbi5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogY2FsYyggMjAlICAtICAxLjVlbSApO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjc1ZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjc1ZW07XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU3RhY2thYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5zdGFja2FibGUuY2FyZHMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5jYXJkcyAuY2FyZDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMGVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5jYXJkcyA+IC5jYXJkIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMWVtIDFlbTtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGNhbGMoIDEwMCUgIC0gIDJlbSApICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2FyZHMgPiAuY2FyZCB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIENvbW1lbnRcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQ29tbWVudCAqL1xuLyogTmVzdGVkIENvbW1lbnQgKi9cbi8qIEF2YXRhciAqL1xuLyogQ29udGVudCAqL1xuLyogQXV0aG9yICovXG4vKiBNZXRhZGF0YSAqL1xuLyogVGV4dCAqL1xuLyogQWN0aW9ucyAqL1xuLyogUmVwbHkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhyZWFkZWQgKi9cbi8qIE1pbmltYWwgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29tbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBDb21tZW50ICovXG4vKiBOZXN0ZWQgQ29tbWVudCAqL1xuLyogQXZhdGFyICovXG4vKiBDb250ZW50ICovXG4vKiBBdXRob3IgKi9cbi8qIE1ldGFkYXRhICovXG4vKiBUZXh0ICovXG4vKiBBY3Rpb25zICovXG4vKiBSZXBseSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaHJlYWRlZCAqL1xuLyogTWluaW1hbCAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNvbW1lbnRzIHtcbiAgbWFyZ2luOiAxLjVlbSAwZW07XG4gIG1heC13aWR0aDogNjUwcHg7XG59XG4udWkuY29tbWVudHM6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkuY29tbWVudHM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29tbWVudFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jb21tZW50cyAuY29tbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luOiAwLjVlbSAwZW0gMGVtO1xuICBwYWRkaW5nOiAwLjVlbSAwZW0gMGVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIHBhZGRpbmctdG9wOiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTmVzdGVkIENvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5jb21tZW50cyB7XG4gIG1hcmdpbjogMGVtIDBlbSAwLjVlbSAwLjVlbTtcbiAgcGFkZGluZzogMWVtIDBlbSAxZW0gMWVtO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5jb21tZW50czpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmNvbW1lbnRzIC5jb21tZW50IHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBBdmF0YXJcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmF2YXRhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMi41ZW07XG4gIGhlaWdodDogYXV0bztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMC4yZW0gMGVtIDBlbTtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCBpbWcuYXZhdGFyLFxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hdmF0YXIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMGVtIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY29tbWVudHMgLmNvbW1lbnQgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogSWYgdGhlcmUgaXMgYW4gYXZhdGFyIG1vdmUgY29udGVudCBvdmVyICovXG4udWkuY29tbWVudHMgLmNvbW1lbnQgPiAuYXZhdGFyIH4gLmNvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogMy41ZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEF1dGhvclxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jb21tZW50cyAuY29tbWVudCAuYXV0aG9yIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCBhLmF1dGhvciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCBhLmF1dGhvcjpob3ZlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBNZXRhZGF0YVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jb21tZW50cyAuY29tbWVudCAubWV0YWRhdGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5tZXRhZGF0YSA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMGVtIDAuNWVtIDBlbSAwZW07XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgLm1ldGFkYXRhID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29tbWVudCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50IC50ZXh0IHtcbiAgbWFyZ2luOiAwLjI1ZW0gMGVtIDAuNWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVXNlciBBY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIHtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwZW0gMC43NWVtIDBlbSAwZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMgYTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMgYS5hY3RpdmUsXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmFjdGlvbnMgYTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBSZXBseSBGb3JtXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNvbW1lbnRzID4gLnJlcGx5LmZvcm0ge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgLnJlcGx5LmZvcm0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuLnVpLmNvbW1lbnRzIC5yZXBseS5mb3JtIHRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGhlaWdodDogMTJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5jb2xsYXBzZWQuY29tbWVudHMsXG4udWkuY29tbWVudHMgLmNvbGxhcHNlZC5jb21tZW50cyxcbi51aS5jb21tZW50cyAuY29sbGFwc2VkLmNvbW1lbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVGhyZWFkZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkudGhyZWFkZWQuY29tbWVudHMgLmNvbW1lbnQgLmNvbW1lbnRzIHtcbiAgbWFyZ2luOiAtMS41ZW0gMCAtMWVtIDEuMjVlbTtcbiAgcGFkZGluZzogM2VtIDBlbSAyZW0gMi4yNWVtO1xuICBib3gtc2hhZG93OiAtMXB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTWluaW1hbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5taW5pbWFsLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgbGVmdDogYXV0bztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7XG59XG4udWkubWluaW1hbC5jb21tZW50cyAuY29tbWVudCA+IC5jb250ZW50OmhvdmVyID4gLmFjdGlvbnMge1xuICBvcGFjaXR5OiAxO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkubWluaS5jb21tZW50cyB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLmxhcmdlLmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmJpZy5jb21tZW50cyB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5odWdlLmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xufVxuLnVpLm1hc3NpdmUuY29tbWVudHMge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gRmVlZFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEZlZWRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmVlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRXZlbnQgKi9cbi8qIEV2ZW50IExhYmVsICovXG4vKiBJY29uIExhYmVsICovXG4vKiBJbWFnZSBMYWJlbCAqL1xuLyogQ29udGVudCB3LyBMYWJlbCAqL1xuLyogQ29udGVudCAqL1xuLyogRGF0ZSAqL1xuLyogU3VtbWFyeSAqL1xuLyogU3VtbWFyeSBJbWFnZSAqL1xuLyogU3VtbWFyeSBEYXRlICovXG4vKiBVc2VyICovXG4vKiBFeHRyYSBTdW1tYXJ5IERhdGEgKi9cbi8qIEV4dHJhIEltYWdlcyAqL1xuLyogRXh0cmEgVGV4dCAqL1xuLyogTWV0YWRhdGEgR3JvdXAgKi9cbi8qIExpa2UgKi9cbi8qIE1ldGFkYXRhIERpdmlkZXIgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgRmVlZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGZWVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFdmVudCAqL1xuLyogRXZlbnQgTGFiZWwgKi9cbi8qIEljb24gTGFiZWwgKi9cbi8qIEltYWdlIExhYmVsICovXG4vKiBDb250ZW50IHcvIExhYmVsICovXG4vKiBDb250ZW50ICovXG4vKiBEYXRlICovXG4vKiBTdW1tYXJ5ICovXG4vKiBTdW1tYXJ5IEltYWdlICovXG4vKiBTdW1tYXJ5IERhdGUgKi9cbi8qIFVzZXIgKi9cbi8qIEV4dHJhIFN1bW1hcnkgRGF0YSAqL1xuLyogRXh0cmEgSW1hZ2VzICovXG4vKiBFeHRyYSBUZXh0ICovXG4vKiBNZXRhZGF0YSBHcm91cCAqL1xuLyogTGlrZSAqL1xuLyogTWV0YWRhdGEgRGl2aWRlciAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgQWN0aXZpdHkgRmVlZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5mZWVkIHtcbiAgbWFyZ2luOiAxZW0gMGVtO1xufVxuLnVpLmZlZWQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkuZmVlZDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBFdmVudCAqL1xuLnVpLmZlZWQgPiAuZXZlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC4yMTQyODU3MXJlbSAwZW07XG4gIG1hcmdpbjogMGVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiAwcHg7XG4gIHBhZGRpbmctdG9wOiAwZW07XG59XG4udWkuZmVlZCA+IC5ldmVudDpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDBlbTtcbn1cbi8qIEV2ZW50IExhYmVsICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IDIuNWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCAuaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjI1ZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsICsgLmNvbnRlbnQge1xuICBtYXJnaW46IDAuNWVtIDBlbSAwLjM1NzE0Mjg2ZW0gMS4xNDI4NTcxNGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogQ29udGVudCAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQ6bGFzdC1jaGlsZCA+IC5jb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDBlbTtcbn1cbi8qIExpbmsgKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIERhdGVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5kYXRlIHtcbiAgbWFyZ2luOiAtMC41cmVtIDBlbSAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU3VtbWFyeVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnN1bW1hcnkge1xuICBtYXJnaW46IDBlbTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIFN1bW1hcnkgSW1hZ2UgKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnN1bW1hcnkgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMGVtO1xuICBtYXJnaW46IC0wLjI1ZW0gMC4yNWVtIDBlbSAwZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFVzZXJcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC51c2VyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnVzZXIgaW1nIHtcbiAgbWFyZ2luOiAtMC4yNWVtIDAuMjVlbSAwZW0gMGVtO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAxMGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgSW5saW5lIERhdGVcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBEYXRlIGluc2lkZSBTdW1tYXJ5ICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5zdW1tYXJ5ID4gLmRhdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDAuNWVtO1xuICBwYWRkaW5nOiAwZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gIEV4dHJhIFN1bW1hcnlcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5leHRyYSB7XG4gIG1hcmdpbjogMC41ZW0gMGVtIDBlbTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgcGFkZGluZzogMGVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIEltYWdlcyAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuZXh0cmEuaW1hZ2VzIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwZW0gMC4yNWVtIDBlbSAwZW07XG4gIHdpZHRoOiA2ZW07XG59XG4vKiBUZXh0ICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5leHRyYS50ZXh0IHtcbiAgcGFkZGluZzogMGVtO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODVlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1ldGFcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDAuODU3MTQyODZlbTtcbiAgbWFyZ2luOiAwLjVlbSAwZW0gMGVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDBlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiAqIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tbGVmdDogMC43NWVtO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+ICo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdG9wOiAwZW07XG4gIGxlZnQ6IC0xZW07XG4gIG9wYWNpdHk6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmxpa2Uge1xuICBjb2xvcjogJyc7XG4gIHRyYW5zaXRpb246IDAuMnMgY29sb3IgZWFzZTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmxpa2U6aG92ZXIgLmljb24ge1xuICBjb2xvcjogI0ZGMjczMztcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmFjdGl2ZS5saWtlIC5pY29uIHtcbiAgY29sb3I6ICNFRjQwNEE7XG59XG4vKiBGaXJzdCBlbGVtZW50ICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiA6Zmlyc3QtY2hpbGQ6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEFjdGlvbiAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSBhLFxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+IC5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGE6aG92ZXIsXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIGE6aG92ZXIgLmljb24sXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gLmljb246aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnNtYWxsLmZlZWQge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkuZmVlZCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi51aS5sYXJnZS5mZWVkIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIEl0ZW1cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBJdGVtXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBWaWV3XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBHcm91cCAqL1xuLyogSXRlbSAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW1hZ2UgKi9cbi8qIENvbnRlbnQgKi9cbi8qIEhlYWRlciAqL1xuLyogTWV0YWRhdGEgKi9cbi8qIEljb25zICovXG4vKiBBY3Rpb25zICovXG4vKiBMaW5rcyAqL1xuLyogRGVzY3JpcHRpb24gKi9cbi8qIENvbnRlbnQgSW1hZ2UgKi9cbi8qIEF2YXRhciBJbWFnZSAqL1xuLyogUGFyYWdyYXBoICovXG4vKiBBZGRpdGlvbmFsIENvbnRlbnQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUmVsYXhlZCAqL1xuLyogRGl2aWRlZCAqL1xuLyogVW5zdGFja2FibGUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEl0ZW1cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEdyb3VwICovXG4vKiBJdGVtICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbWFnZSAqL1xuLyogQ29udGVudCAqL1xuLyogSGVhZGVyICovXG4vKiBNZXRhZGF0YSAqL1xuLyogSWNvbnMgKi9cbi8qIEFjdGlvbnMgKi9cbi8qIExpbmtzICovXG4vKiBEZXNjcmlwdGlvbiAqL1xuLyogQ29udGVudCBJbWFnZSAqL1xuLyogQXZhdGFyIEltYWdlICovXG4vKiBQYXJhZ3JhcGggKi9cbi8qIEFkZGl0aW9uYWwgQ29udGVudCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBSZWxheGVkICovXG4vKiBEaXZpZGVkICovXG4vKiBVbnN0YWNrYWJsZSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSXRlbVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pdGVtcyA+IC5pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAxZW0gMGVtO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMGVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDByZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlO1xuICB6LWluZGV4OiAnJztcbn1cbi51aS5pdGVtcyA+IC5pdGVtIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBJdGVtc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pdGVtcyB7XG4gIG1hcmdpbjogMS41ZW0gMGVtO1xufVxuLnVpLml0ZW1zOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtICFpbXBvcnRhbnQ7XG59XG4udWkuaXRlbXM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSXRlbVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pdGVtcyA+IC5pdGVtOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcgJztcbiAgaGVpZ2h0OiAwcHg7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuaXRlbXMgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEltYWdlc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMGVtO1xuICBtYXgtaGVpZ2h0OiAnJztcbiAgYWxpZ24tc2VsZjogdG9wO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlOm9ubHktY2hpbGQgPiBpbWcge1xuICBib3JkZXItcmFkaXVzOiAwcmVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnICc7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCB7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBhbGlnbi1zZWxmOiB0b3A7XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmhlYWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAtMC4yMTQyNWVtIDBlbSAwZW07XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsICfmlofms4npqZvmraPpu5EnLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCAn5b6u6Luf5q2j6buR6auUJywgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qIERlZmF1bHQgSGVhZGVyIFNpemUgKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC1zaXplOiAxLjI4NTcxNDI5ZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEZsb2F0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaXRlbXMgPiAuaXRlbSBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4udWkuaXRlbXMgPiAuaXRlbSBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgQ29udGVudCBJbWFnZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pdGVtcyA+IC5pdGVtIC5jb250ZW50IGltZyB7XG4gIGFsaWduLXNlbGY6IG1pZGRsZTtcbiAgd2lkdGg6ICcnO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gaW1nLmF2YXRhcixcbi51aS5pdGVtcyA+IC5pdGVtIC5hdmF0YXIgaW1nIHtcbiAgd2lkdGg6ICcnO1xuICBoZWlnaHQ6ICcnO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICBEZXNjcmlwdGlvblxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjZlbTtcbiAgbWF4LXdpZHRoOiBhdXRvO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IHAge1xuICBtYXJnaW46IDBlbSAwZW0gMC41ZW07XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1ldGFcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaXRlbXMgPiAuaXRlbSAubWV0YSB7XG4gIG1hcmdpbjogMC41ZW0gMGVtIDAuNWVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtIC5tZXRhICoge1xuICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtIC5tZXRhIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogR2VuZXJpYyAqL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCBhOm5vdCgudWkpIHtcbiAgY29sb3I6ICcnO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2U7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogJyc7XG59XG4vKiBIZWFkZXIgKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiBhLmhlYWRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IGEuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6ICMxZTcwYmY7XG59XG4vKiBNZXRhICovXG4udWkuaXRlbXMgPiAuaXRlbSAubWV0YSA+IGE6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS1TdGFyLS0tLS0gKi9cbi8qIEljb24gKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmZhdm9yaXRlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmZhdm9yaXRlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogI0ZGQjcwQTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmFjdGl2ZS5mYXZvcml0ZS5pY29uIHtcbiAgY29sb3I6ICNGRkU2MjM7XG59XG4vKi0tLS0tTGlrZS0tLS0tICovXG4vKiBJY29uICovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5saWtlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmxpa2UuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjRkYyNzMzO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuYWN0aXZlLmxpa2UuaWNvbiB7XG4gIGNvbG9yOiAjRkYyNzMzO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tXG4gIEV4dHJhIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pdGVtcyA+IC5pdGVtIC5leHRyYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMC41cmVtIDBlbSAwZW07XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwZW0gMGVtIDBlbTtcbiAgdG9wOiAwZW07XG4gIGxlZnQ6IDBlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlO1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLmV4dHJhID4gKiB7XG4gIG1hcmdpbjogMC4yNXJlbSAwLjVyZW0gMC4yNXJlbSAwZW07XG59XG4udWkuaXRlbXMgPiAuaXRlbSAuZXh0cmEgPiBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gIG1hcmdpbjogMC4yNXJlbSAwZW0gMC4yNXJlbSAwLjVyZW07XG59XG4udWkuaXRlbXMgPiAuaXRlbSAuZXh0cmE6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyAnO1xuICBoZWlnaHQ6IDBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgUmVzcG9uc2l2ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIERlZmF1bHQgSW1hZ2UgV2lkdGggKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlOm5vdCgudWkpIHtcbiAgd2lkdGg6IDE3NXB4O1xufVxuLyogVGFibGV0IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWkuaXRlbXMgPiAuaXRlbSB7XG4gICAgbWFyZ2luOiAxZW0gMGVtO1xuICB9XG4gIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlOm5vdCgudWkpIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cbiAgLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMGVtIDBlbSAwZW0gMWVtO1xuICB9XG59XG4vKiBNb2JpbGUgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuaXRlbXM6bm90KC51bnN0YWNrYWJsZSkgPiAuaXRlbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDJlbSAwZW07XG4gIH1cbiAgLnVpLml0ZW1zOm5vdCgudW5zdGFja2FibGUpID4gLml0ZW0gPiAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuICAudWkuaXRlbXM6bm90KC51bnN0YWNrYWJsZSkgPiAuaXRlbSA+IC5pbWFnZSxcbiAgLnVpLml0ZW1zOm5vdCgudW5zdGFja2FibGUpID4gLml0ZW0gPiAuaW1hZ2UgPiBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogMjUwcHggIWltcG9ydGFudDtcbiAgfVxuICAudWkuaXRlbXM6bm90KC51bnN0YWNrYWJsZSkgPiAuaXRlbSA+IC5pbWFnZSArIC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjVlbSAwZW0gMGVtO1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWxpZ25lZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0uY29udGVudCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSArIFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5jb250ZW50IHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyBbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uY29udGVudCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBSZWxheGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnJlbGF4ZWQuaXRlbXMgPiAuaXRlbSB7XG4gIG1hcmdpbjogMS41ZW0gMGVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5pdGVtcyA+IC5pdGVtIHtcbiAgbWFyZ2luOiAyZW0gMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXZpZGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZGl2aWRlZC5pdGVtcyA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAxZW0gMGVtO1xufVxuLnVpLmRpdmlkZWQuaXRlbXMgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDBlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMGVtICFpbXBvcnRhbnQ7XG59XG4udWkuZGl2aWRlZC5pdGVtcyA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW0gIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDBlbSAhaW1wb3J0YW50O1xufVxuLyogUmVsYXhlZCBEaXZpZGVkICovXG4udWkucmVsYXhlZC5kaXZpZGVkLml0ZW1zID4gLml0ZW0ge1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMS41ZW0gMGVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5kaXZpZGVkLml0ZW1zID4gLml0ZW0ge1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogMmVtIDBlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMaW5rXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuaXRlbXMgYS5pdGVtOmhvdmVyLFxuLnVpLmxpbmsuaXRlbXMgPiAuaXRlbTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi51aS5pdGVtcyBhLml0ZW06aG92ZXIgLmNvbnRlbnQgLmhlYWRlcixcbi51aS5saW5rLml0ZW1zID4gLml0ZW06aG92ZXIgLmNvbnRlbnQgLmhlYWRlciB7XG4gIGNvbG9yOiAjMWU3MGJmO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pdGVtcyA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tLVxuICAgVW5zdGFja2FibGVcbi0tLS0tLS0tLS0tLS0tLS0qL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkudW5zdGFja2FibGUuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSxcbiAgLnVpLnVuc3RhY2thYmxlLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgPiBpbWcge1xuICAgIHdpZHRoOiAxMjVweCAhaW1wb3J0YW50O1xuICB9XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gU3RhdGlzdGljXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFN0YXRpc3RpY1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgVmlld1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogR3JvdXAgKi9cbi8qIEdyb3VwIEVsZW1lbnQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFZhbHVlICovXG4vKiBMYWJlbCAqL1xuLyogVGV4dCAqL1xuLyogTGFiZWwgSW1hZ2UgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRmxvYXRlZCAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIEl0ZW0gV2lkdGggKi9cbi8qIFNpemUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTdGF0aXN0aWNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFZpZXdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEdyb3VwICovXG4vKiBHcm91cCBFbGVtZW50ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBWYWx1ZSAqL1xuLyogTGFiZWwgKi9cbi8qIFRleHQgKi9cbi8qIExhYmVsIEltYWdlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZsb2F0ZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBJdGVtIFdpZHRoICovXG4vKiBTaXplICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTdGF0aXN0aWNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTdGFuZGFsb25lICovXG4udWkuc3RhdGlzdGljIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMWVtIDBlbTtcbiAgbWF4LXdpZHRoOiBhdXRvO1xufVxuLnVpLnN0YXRpc3RpYyArIC51aS5zdGF0aXN0aWMge1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDEuNWVtO1xufVxuLnVpLnN0YXRpc3RpYzpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5zdGF0aXN0aWM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBHcm91cFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEdyb3VwZWQgKi9cbi51aS5zdGF0aXN0aWNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi51aS5zdGF0aXN0aWNzID4gLnN0YXRpc3RpYyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwZW0gMS41ZW0gMWVtO1xuICBtYXgtd2lkdGg6IGF1dG87XG59XG4udWkuc3RhdGlzdGljcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMWVtIC0xLjVlbSAtMWVtO1xufVxuLyogQ2xlYXJpbmcgKi9cbi51aS5zdGF0aXN0aWNzOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcgJztcbiAgaGVpZ2h0OiAwcHg7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuc3RhdGlzdGljczpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgVmFsdWVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsICfmlofms4npqZvmraPpu5EnLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCAn5b6u6Luf5q2j6buR6auUJywgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgY29sb3I6ICMxQjFDMUQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgTGFiZWxcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLmxhYmVsLFxuLnVpLnN0YXRpc3RpYyA+IC5sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiAnTGF0bycsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsICfmlofms4npqZvmraPpu5EnLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCAn5b6u6Luf5q2j6buR6auUJywgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIFRvcCBMYWJlbCAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC5sYWJlbCB+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWMgPiAubGFiZWwgfiAudmFsdWUge1xuICBtYXJnaW4tdG9wOiAwcmVtO1xufVxuLyogQm90dG9tIExhYmVsICovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlIH4gLmxhYmVsLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSB+IC5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDByZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgSWNvbiBWYWx1ZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgLmljb24sXG4udWkuc3RhdGlzdGljID4gLnZhbHVlIC5pY29uIHtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgVGV4dCBWYWx1ZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1pbi1oZWlnaHQ6IDJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSArIC5sYWJlbCxcbi51aS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSArIC5sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEltYWdlIFZhbHVlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSBpbWcsXG4udWkuc3RhdGlzdGljID4gLnZhbHVlIGltZyB7XG4gIG1heC1oZWlnaHQ6IDNyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgQ291bnRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkudGVuLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDBlbSAwZW0gLTFlbTtcbn1cbi51aS50ZW4uc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAxMCU7XG4gIG1hcmdpbjogMGVtIDBlbSAxZW07XG59XG4udWkubmluZS5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwZW0gMGVtIC0xZW07XG59XG4udWkubmluZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDExLjExMTExMTExJTtcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbn1cbi51aS5laWdodC5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwZW0gMGVtIC0xZW07XG59XG4udWkuZWlnaHQuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAxMi41JTtcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbn1cbi51aS5zZXZlbi5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwZW0gMGVtIC0xZW07XG59XG4udWkuc2V2ZW4uc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAxNC4yODU3MTQyOSU7XG4gIG1hcmdpbjogMGVtIDBlbSAxZW07XG59XG4udWkuc2l4LnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDBlbSAwZW0gLTFlbTtcbn1cbi51aS5zaXguc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiAxNi42NjY2NjY2NyU7XG4gIG1hcmdpbjogMGVtIDBlbSAxZW07XG59XG4udWkuZml2ZS5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiAwZW0gMGVtIC0xZW07XG59XG4udWkuZml2ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDIwJTtcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbn1cbi51aS5mb3VyLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDBlbSAwZW0gLTFlbTtcbn1cbi51aS5mb3VyLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogMjUlO1xuICBtYXJnaW46IDBlbSAwZW0gMWVtO1xufVxuLnVpLnRocmVlLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IDBlbSAwZW0gLTFlbTtcbn1cbi51aS50aHJlZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDMzLjMzMzMzMzMzJTtcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbn1cbi51aS50d28uc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMGVtIDBlbSAtMWVtO1xufVxuLnVpLnR3by5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbn1cbi51aS5vbmUuc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogMGVtIDBlbSAtMWVtO1xufVxuLnVpLm9uZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMGVtIDBlbSAxZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICBIb3Jpem9udGFsXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmhvcml6b250YWwuc3RhdGlzdGljIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3Mge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDBlbTtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW46IDFlbSAwZW07XG59XG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgPiAuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBtaW4taGVpZ2h0OiAwZW0gIWltcG9ydGFudDtcbn1cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSAuaWNvbixcbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSAuaWNvbiB7XG4gIHdpZHRoOiAxLjE4ZW07XG59XG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAubGFiZWwsXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMC43NWVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkucmVkLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5yZWQuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnJlZC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0RCMjgyODtcbn1cbi51aS5vcmFuZ2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLm9yYW5nZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkub3JhbmdlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjRjI3MTFDO1xufVxuLnVpLnllbGxvdy5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAueWVsbG93LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS55ZWxsb3cuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNGQkJEMDg7XG59XG4udWkub2xpdmUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLm9saXZlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5vbGl2ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0I1Q0MxODtcbn1cbi51aS5ncmVlbi5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuZ3JlZW4uc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmdyZWVuLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjMjFCQTQ1O1xufVxuLnVpLnRlYWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnRlYWwuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnRlYWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICMwMEI1QUQ7XG59XG4udWkuYmx1ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzIxODVEMDtcbn1cbi51aS52aW9sZXQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnZpb2xldC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkudmlvbGV0LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjNjQzNUM5O1xufVxuLnVpLnB1cnBsZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAucHVycGxlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5wdXJwbGUuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNBMzMzQzg7XG59XG4udWkucGluay5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAucGluay5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkucGluay5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0UwMzk5Nztcbn1cbi51aS5icm93bi5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuYnJvd24uc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmJyb3duLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjQTU2NzNGO1xufVxuLnVpLmdyZXkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmdyZXkuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmdyZXkuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICM3Njc2NzY7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaW52ZXJ0ZWQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnN0YXRpc3RpYyAudmFsdWUge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAubGFiZWwsXG4udWkuaW52ZXJ0ZWQuc3RhdGlzdGljIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG59XG4udWkuaW52ZXJ0ZWQucmVkLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5yZWQuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnJlZC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0ZGNjk1RTtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLm9yYW5nZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjRkY4NTFCO1xufVxuLnVpLmludmVydGVkLnllbGxvdy5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQueWVsbG93LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC55ZWxsb3cuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNGRkUyMUY7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLm9saXZlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0Q5RTc3ODtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQuZ3JlZW4uc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLmdyZWVuLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjMkVDQzQwO1xufVxuLnVpLmludmVydGVkLnRlYWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnRlYWwuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnRlYWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICM2REZGRkY7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogIzU0QzhGRjtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnZpb2xldC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjQTI5MUZCO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQucHVycGxlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5wdXJwbGUuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNEQzczRkY7XG59XG4udWkuaW52ZXJ0ZWQucGluay5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQucGluay5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQucGluay5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogI0ZGOEVERjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQuYnJvd24uc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLmJyb3duLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiAjRDY3QzFDO1xufVxuLnVpLmludmVydGVkLmdyZXkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLmdyZXkuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLmdyZXkuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6ICNEQ0REREU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRmxvYXRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uc3RhdGlzdGljIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMGVtIDJlbSAxZW0gMGVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uc3RhdGlzdGljIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDBlbSAwZW0gMWVtIDJlbTtcbn1cbi51aS5mbG9hdGVkLnN0YXRpc3RpYzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1pbmkgKi9cbi51aS5taW5pLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5taW5pLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtICFpbXBvcnRhbnQ7XG59XG4udWkubWluaS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5taW5pLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiAxLjVyZW0gIWltcG9ydGFudDtcbn1cbi51aS5taW5pLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLm1pbmkuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbn1cbi8qIFRpbnkgKi9cbi51aS50aW55LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS50aW55LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1xufVxuLnVpLnRpbnkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkudGlueS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMnJlbSAhaW1wb3J0YW50O1xufVxuLnVpLnRpbnkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkudGlueS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xufVxuLyogU21hbGwgKi9cbi51aS5zbWFsbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc21hbGwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiAzcmVtICFpbXBvcnRhbnQ7XG59XG4udWkuc21hbGwuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc21hbGwuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcbn1cbi51aS5zbWFsbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS5zbWFsbC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xufVxuLyogTWVkaXVtICovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNHJlbSAhaW1wb3J0YW50O1xufVxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiAzcmVtICFpbXBvcnRhbnQ7XG59XG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDJyZW0gIWltcG9ydGFudDtcbn1cbi8qIExhcmdlICovXG4udWkubGFyZ2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmxhcmdlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogNXJlbSAhaW1wb3J0YW50O1xufVxuLnVpLmxhcmdlLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmxhcmdlLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiA0cmVtICFpbXBvcnRhbnQ7XG59XG4udWkubGFyZ2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkubGFyZ2Uuc3RhdGlzdGljID4gLnRleHQudmFsdWUge1xuICBmb250LXNpemU6IDIuNXJlbSAhaW1wb3J0YW50O1xufVxuLyogSHVnZSAqL1xuLnVpLmh1Z2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmh1Z2Uuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiA2cmVtICFpbXBvcnRhbnQ7XG59XG4udWkuaHVnZS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5odWdlLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiA1cmVtICFpbXBvcnRhbnQ7XG59XG4udWkuaHVnZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS5odWdlLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgZm9udC1zaXplOiAyLjVyZW0gIWltcG9ydGFudDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBNb2R1bGVzICovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBBY2NvcmRpb25cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQWNjb3JkaW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVGl0bGUgKi9cbi8qIEljb24gKi9cbi8qIENoaWxkIEFjY29yZGlvbiAqL1xuLyogQ29udGVudCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTdHlsZWQgKi9cbi8qIENvbnRlbnQgKi9cbi8qIENoaWxkIENvbnRlbnQgKi9cbi8qIFN0eWxlZCBUaXRsZSAqL1xuLyogU3R5bGVkIFRpdGxlIFN0YXRlcyAqL1xuLyogU3R5bGVkIENoaWxkIFRpdGxlIFN0YXRlcyAqL1xuLyogSW52ZXJ0ZWQgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBBY2NvcmRpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUaXRsZSAqL1xuLyogSWNvbiAqL1xuLyogQ2hpbGQgQWNjb3JkaW9uICovXG4vKiBDb250ZW50ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFN0eWxlZCAqL1xuLyogQ29udGVudCAqL1xuLyogQ2hpbGQgQ29udGVudCAqL1xuLyogU3R5bGVkIFRpdGxlICovXG4vKiBTdHlsZWQgVGl0bGUgU3RhdGVzICovXG4vKiBTdHlsZWQgQ2hpbGQgVGl0bGUgU3RhdGVzICovXG4vKiBJbnZlcnRlZCAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEFjY29yZGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5hY2NvcmRpb24sXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xuICBtYXJnaW46IDFlbSAwZW0gMGVtO1xuICBwYWRkaW5nOiAwZW07XG59XG4vKiBUaXRsZSAqL1xuLnVpLmFjY29yZGlvbiAudGl0bGUsXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLyogRGVmYXVsdCBTdHlsaW5nICovXG4udWkuYWNjb3JkaW9uIC50aXRsZTpub3QoLnVpKSB7XG4gIHBhZGRpbmc6IDAuNWVtIDBlbTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgJ+aWh+aziempm+ato+m7kScsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsICflvq7ou5/mraPpu5Hpq5QnLCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLyogQ29udGVudCAqL1xuLnVpLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCxcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBEZWZhdWx0IFN0eWxpbmcgKi9cbi51aS5hY2NvcmRpb246bm90KC5zdHlsZWQpIC50aXRsZSB+IC5jb250ZW50Om5vdCgudWkpLFxuLnVpLmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudDpub3QoLnVpKSB7XG4gIG1hcmdpbjogJyc7XG4gIHBhZGRpbmc6IDAuNWVtIDBlbSAxZW07XG59XG4udWkuYWNjb3JkaW9uOm5vdCguc3R5bGVkKSAudGl0bGUgfiAuY29udGVudDpub3QoLnVpKTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDBlbTtcbn1cbi8qIEFycm93ICovXG4udWkuYWNjb3JkaW9uIC50aXRsZSAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgLmRyb3Bkb3duLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogMS4yNWVtO1xuICBoZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAwZW0gMC4yNXJlbSAwZW0gMHJlbTtcbiAgcGFkZGluZzogMGVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2U7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWVudSAqL1xuLnVpLmFjY29yZGlvbi5tZW51IC5pdGVtIC50aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwZW07XG59XG4udWkuYWNjb3JkaW9uLm1lbnUgLml0ZW0gLnRpdGxlID4gLmRyb3Bkb3duLmljb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMC4yMTQyNWVtIDBlbSAwZW0gMWVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuLyogSGVhZGVyICovXG4udWkuYWNjb3JkaW9uIC51aS5oZWFkZXIgLmRyb3Bkb3duLmljb24ge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luOiAwZW0gMC4yNXJlbSAwZW0gMHJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUgLmRyb3Bkb3duLmljb24sXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSAuZHJvcGRvd24uaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbi51aS5hY2NvcmRpb24ubWVudSAuaXRlbSAuYWN0aXZlLnRpdGxlID4gLmRyb3Bkb3duLmljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFN0eWxlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5zdHlsZWQuYWNjb3JkaW9uIHtcbiAgd2lkdGg6IDYwMHB4O1xufVxuLnVpLnN0eWxlZC5hY2NvcmRpb24sXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwcHggMHB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi51aS5zdHlsZWQuYWNjb3JkaW9uIC50aXRsZSxcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlIHtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDAuNzVlbSAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzIGVhc2UsIGNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5zdHlsZWQuYWNjb3JkaW9uID4gLnRpdGxlOmZpcnN0LWNoaWxkLFxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGU6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLyogQ29udGVudCAqL1xuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmNvbnRlbnQsXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5jb250ZW50IHtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDAuNWVtIDFlbSAxLjVlbTtcbn1cbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmNvbnRlbnQge1xuICBwYWRkaW5nOiAwZW07XG4gIHBhZGRpbmc6IDAuNWVtIDFlbSAxLjVlbTtcbn1cbi8qIEhvdmVyICovXG4udWkuc3R5bGVkLmFjY29yZGlvbiAudGl0bGU6aG92ZXIsXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlLFxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGU6aG92ZXIsXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZTpob3Zlcixcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5hY2NvcmRpb24gLmFjdGl2ZS5jb250ZW50LFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY3RpdmUuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZmx1aWQuYWNjb3JkaW9uLFxuLnVpLmZsdWlkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmludmVydGVkLmFjY29yZGlvbiAudGl0bGU6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0FjY29yZGlvbic7XG4gIHNyYzogdXJsKGRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nZ2pCNUFBQUFDOEFBQUFZR050WVhBUGZPSUtBQUFCSEFBQUFFeG5ZWE53QUFBQUVBQUFBV2dBQUFBSVoyeDVacnlqNkhnQUFBRndBQUFBeUdobFlXVC8wSWhIQUFBQ09BQUFBRFpvYUdWaEFwa0I1d0FBQW5BQUFBQWthRzEwZUFKdUFCSUFBQUtVQUFBQUdHeHZZMkVBakFCV0FBQUNyQUFBQUE1dFlYaHdBQWdBRmdBQUFyd0FBQUFnYm1GdFpmQzFuMDRBQUFMY0FBQUJQSEJ2YzNRQUF3QUFBQUFFR0FBQUFDQUFBd0lBQVpBQUJRQUFBVXdCWmdBQUFFY0JUQUZtQUFBQTlRQVpBSVFBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUR3MmdIZy8rRC80QUhnQUNBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUNBQUFBQXdBQUFCUUFBd0FCQUFBQUZBQUVBRGdBQUFBS0FBZ0FBZ0FDQUFFQUlQRGEvLzMvL3dBQUFBQUFJUERaLy8zLy93QUIvK01QS3dBREFBRUFBQUFBQUFBQUFBQUFBQUVBQWYvL0FBOEFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQVNBRWtBdHdGdUFCTUFBRGMwUHdFMkZ6WVhGaDBCRkFjR0p3WXZBU1kxRWdhQUJRZ0hCUVlHQlFjSUJZQUcyd2NHZndjQkFRY0VDZjhJQkFjQkFRZC9CZ1lBQUFBQUFRQUFBRWtBcFFGdUFCTUFBRGNSTkRjMk16SWZBUllWRkE4QkJpTWlKeVkxQUFVR0J3Z0ZnQVlHZ0FVSUJ3WUZXd0VBQ0FVR0JvQUZDQWNGZ0FZR0JRY0FBQUFCQUFBQUFRQUFxV1lsczE4UFBQVUFDd0lBQUFBQUFNLzlvKzRBQUFBQXovMmo3Z0FBQUFBQXR3RnVBQUFBQ0FBQ0FBQUFBQUFBQUFFQUFBSGcvK0FBQUFJQUFBQUFBQUMzQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUMzQUJJQXR3QUFBQUFBQUFBS0FCUUFIZ0JDQUdRQUFBQUJBQUFBQmdBVUFBRUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQ3VBQUVBQUFBQUFBRUFEQUFBQUFFQUFBQUFBQUlBRGdCQUFBRUFBQUFBQUFNQURBQWlBQUVBQUFBQUFBUUFEQUJPQUFFQUFBQUFBQVVBRmdBTUFBRUFBQUFBQUFZQUJnQXVBQUVBQUFBQUFBb0FOQUJhQUFNQUFRUUpBQUVBREFBQUFBTUFBUVFKQUFJQURnQkFBQU1BQVFRSkFBTUFEQUFpQUFNQUFRUUpBQVFBREFCT0FBTUFBUVFKQUFVQUZnQU1BQU1BQVFRSkFBWUFEQUEwQUFNQUFRUUpBQW9BTkFCYUFISUFZUUIwQUdrQWJnQm5BRllBWlFCeUFITUFhUUJ2QUc0QUlBQXhBQzRBTUFCeUFHRUFkQUJwQUc0QVozSmhkR2x1WndCeUFHRUFkQUJwQUc0QVp3QlNBR1VBWndCMUFHd0FZUUJ5QUhJQVlRQjBBR2tBYmdCbkFFWUFid0J1QUhRQUlBQm5BR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FFa0FZd0J2QUUwQWJ3QnZBRzRBTGdBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKGRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGQwOUdSazlVVkU4QUFBU3dBQW9BQUFBQUJHZ0FBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCRFJrWWdBQUFBOUFBQUFTMEFBQUV0RnBvdnVFOVRMeklBQUFJa0FBQUFZQUFBQUdBSUl3ZVFZMjFoY0FBQUFvUUFBQUJNQUFBQVRBOTg0Z3BuWVhOd0FBQUMwQUFBQUFnQUFBQUlBQUFBRUdobFlXUUFBQUxZQUFBQU5nQUFBRGIvMEloSGFHaGxZUUFBQXhBQUFBQWtBQUFBSkFLWkFlZG9iWFI0QUFBRE5BQUFBQmdBQUFBWUFtNEFFbTFoZUhBQUFBTk1BQUFBQmdBQUFBWUFCbEFBYm1GdFpRQUFBMVFBQUFFOEFBQUJQUEMxbjA1d2IzTjBBQUFFa0FBQUFDQUFBQUFnQUFNQUFBRUFCQVFBQVFFQkIzSmhkR2x1WndBQkFnQUJBRHI0SEFMNEd3UDRHQVFlQ2dBWlUvK0xpeDRLQUJsVC80dUxEQWVMYS9pVStIUUZIUUFBQUhrUEhRQUFBSDRSSFFBQUFBa2RBQUFCSkJJQUJ3RUJCdzBQRVJRWkhuSmhkR2x1WjNKaGRHbHVaM1V3ZFRGMU1qQjFSakJFT1hWR01FUkJBQUFDQVlrQUJBQUdBUUVFQndvTlZwMzhsQTc4bEE3OGxBNzdsQTc3M1ozM2J4V0xrSTJRajQ0STl4VDNGQVdPajVDTmtJdVFpNCtKam9lUGlJMkdpNFlJaS91VUJZdUdpWWVIaUlpSGg0bUdpNGFMaG8ySWp3ajdGUGNVQlllT2lZK0xrQWdPKzkyTDVoV0w5NVFGaTVDTmtJNk9qNCtQalpDTGtJdVFpWTZIQ1BjVSt4UUZqNGlOaG91R2k0YUpoNGVJQ1BzVSt4UUZpSWVHaVlhTGhvdUhqWWVQaUk2Smo0dVFDQTc0bEJUNGxCV0xEQW9BQUFBQUF3SUFBWkFBQlFBQUFVd0JaZ0FBQUVjQlRBRm1BQUFBOVFBWkFJUUFBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHcyZ0hnLytELzRBSGdBQ0FBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQ0FBQUFBd0FBQUJRQUF3QUJBQUFBRkFBRUFEZ0FBQUFLQUFnQUFnQUNBQUVBSVBEYS8vMy8vd0FBQUFBQUlQRFovLzMvL3dBQi8rTVBLd0FEQUFFQUFBQUFBQUFBQUFBQUFBRUFBZi8vQUE4QUFRQUFBQUVBQURmWU9KWmZEenoxQUFzQ0FBQUFBQURQL2FQdUFBQUFBTS85bys0QUFBQUFBTGNCYmdBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFCNFAvZ0FBQUNBQUFBQUFBQXR3QUJBQUFBQUFBQUFBQUFBQUFBQUFBQUJnQUFBQUFBQUFBQUFBQUFBQUVBQUFBQXR3QVNBTGNBQUFBQVVBQUFCZ0FBQUFBQURnQ3VBQUVBQUFBQUFBRUFEQUFBQUFFQUFBQUFBQUlBRGdCQUFBRUFBQUFBQUFNQURBQWlBQUVBQUFBQUFBUUFEQUJPQUFFQUFBQUFBQVVBRmdBTUFBRUFBQUFBQUFZQUJnQXVBQUVBQUFBQUFBb0FOQUJhQUFNQUFRUUpBQUVBREFBQUFBTUFBUVFKQUFJQURnQkFBQU1BQVFRSkFBTUFEQUFpQUFNQUFRUUpBQVFBREFCT0FBTUFBUVFKQUFVQUZnQU1BQU1BQVFRSkFBWUFEQUEwQUFNQUFRUUpBQW9BTkFCYUFISUFZUUIwQUdrQWJnQm5BRllBWlFCeUFITUFhUUJ2QUc0QUlBQXhBQzRBTUFCeUFHRUFkQUJwQUc0QVozSmhkR2x1WndCeUFHRUFkQUJwQUc0QVp3QlNBR1VBWndCMUFHd0FZUUJ5QUhJQVlRQjBBR2tBYmdCbkFFWUFid0J1QUhRQUlBQm5BR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FFa0FZd0J2QUUwQWJ3QnZBRzRBTGdBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vKiBEcm9wZG93biBJY29uICovXG4udWkuYWNjb3JkaW9uIC50aXRsZSAuZHJvcGRvd24uaWNvbixcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgLmRyb3Bkb3duLmljb24ge1xuICBmb250LWZhbWlseTogQWNjb3JkaW9uO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5hY2NvcmRpb24gLnRpdGxlIC5kcm9wZG93bi5pY29uOmJlZm9yZSxcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgLmRyb3Bkb3duLmljb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjBkYScgLypydGw6J1xcZjBkOScqLztcbn1cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIENoZWNrYm94XG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDaGVja2JveFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIExhYmVsICovXG4vKiAyNnB4IEAgMTQvZW0gKi9cbi8qIENoZWNrYm94ICovXG4vKiBDaGVja21hcmsgKi9cbi8qIExhYmVsICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBIb3ZlciAqL1xuLyogUHJlc3NlZCAqL1xuLyogRm9jdXMgKi9cbi8qIEFjdGl2ZSAqL1xuLyogQWN0aXZlIEZvY3VzICovXG4vKiBJbmRldGVybWluYXRlICovXG4vKiBEaXNhYmxlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBSYWRpbyAqL1xuLyogVXNlcyBweCB0byBhdm9pZCByb3VuZGluZyBpc3N1ZXMgd2l0aCBjaXJjbGVzICovXG4vKiA3cHggYXMgdW5pdGxlc3MgdmFsdWUgZnJvbSByYWRpbyBzaXplICovXG4vKiBTbGlkZXIgJiBUb2dnbGUgSGFuZGxlICovXG4vKiBTbGlkZXIgKi9cbi8qIFNsaWRlciBTdGF0ZXMgKi9cbi8qIFRvZ2dsZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENoZWNrYm94XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogTGFiZWwgKi9cbi8qIDI2cHggQCAxNC9lbSAqL1xuLyogQ2hlY2tib3ggKi9cbi8qIENoZWNrbWFyayAqL1xuLyogTGFiZWwgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEhvdmVyICovXG4vKiBQcmVzc2VkICovXG4vKiBGb2N1cyAqL1xuLyogQWN0aXZlICovXG4vKiBBY3RpdmUgRm9jdXMgKi9cbi8qIEluZGV0ZXJtaW5hdGUgKi9cbi8qIERpc2FibGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFJhZGlvICovXG4vKiBVc2VzIHB4IHRvIGF2b2lkIHJvdW5kaW5nIGlzc3VlcyB3aXRoIGNpcmNsZXMgKi9cbi8qIDdweCBhcyB1bml0bGVzcyB2YWx1ZSBmcm9tIHJhZGlvIHNpemUgKi9cbi8qIFNsaWRlciAmIFRvZ2dsZSBIYW5kbGUgKi9cbi8qIFNsaWRlciAqL1xuLyogU2xpZGVyIFN0YXRlcyAqL1xuLyogVG9nZ2xlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIENoZWNrYm94XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvdXRsaW5lOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbWluLWhlaWdodDogMTdweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgbWluLXdpZHRoOiAxN3B4O1xufVxuLyogSFRNTCBDaGVja2JveCAqL1xuLnVpLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi51aS5jaGVja2JveCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lO1xuICB6LWluZGV4OiAzO1xuICB3aWR0aDogMTdweDtcbiAgaGVpZ2h0OiAxN3B4O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgQm94XG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNoZWNrYm94IC5ib3gsXG4udWkuY2hlY2tib3ggbGFiZWwge1xuICBjdXJzb3I6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMS44NTcxNGVtO1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXNpemU6IDFlbTtcbn1cbi51aS5jaGVja2JveCAuYm94OmJlZm9yZSxcbi51aS5jaGVja2JveCBsYWJlbDpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxN3B4O1xuICBoZWlnaHQ6IDE3cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItcmFkaXVzOiAwLjIxNDI4NTcxcmVtO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgZWFzZSwgYm94LXNoYWRvdyAwLjFzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNENEQ0RDU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ2hlY2ttYXJrXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNoZWNrYm94IC5ib3g6YWZ0ZXIsXG4udWkuY2hlY2tib3ggbGFiZWw6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgd2lkdGg6IDE3cHg7XG4gIGhlaWdodDogMTdweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2UsIHRyYW5zZm9ybSAwLjFzIGVhc2UsIGJveC1zaGFkb3cgMC4xcyBlYXNlO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTGFiZWxcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnNpZGUgKi9cbi51aS5jaGVja2JveCBsYWJlbCxcbi51aS5jaGVja2JveCArIGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZTtcbn1cbi8qIE91dHNpZGUgKi9cbi51aS5jaGVja2JveCArIGxhYmVsIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNoZWNrYm94IC5ib3g6aG92ZXI6OmJlZm9yZSxcbi51aS5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xufVxuLnVpLmNoZWNrYm94IGxhYmVsOmhvdmVyLFxuLnVpLmNoZWNrYm94ICsgbGFiZWw6aG92ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgRG93blxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5jaGVja2JveCAuYm94OmFjdGl2ZTo6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGxhYmVsOmFjdGl2ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0Y5RkFGQjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xufVxuLnVpLmNoZWNrYm94IC5ib3g6YWN0aXZlOjphZnRlcixcbi51aS5jaGVja2JveCBsYWJlbDphY3RpdmU6OmFmdGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4udWkuY2hlY2tib3ggaW5wdXQ6YWN0aXZlIH4gbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmJlZm9yZSxcbi51aS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1jb2xvcjogIzk2QzhEQTtcbn1cbi51aS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IC5ib3g6YWZ0ZXIsXG4udWkuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDphZnRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLnVpLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmJlZm9yZSxcbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xufVxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICBJbmRldGVybWluYXRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOmluZGV0ZXJtaW5hdGUgfiAuYm94OmJlZm9yZSxcbi51aS5jaGVja2JveCBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTppbmRldGVybWluYXRlIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xufVxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOmluZGV0ZXJtaW5hdGUgfiAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOmluZGV0ZXJtaW5hdGUgfiBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICBBY3RpdmUgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6aW5kZXRlcm1pbmF0ZTpmb2N1cyB+IC5ib3g6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOmluZGV0ZXJtaW5hdGU6Zm9jdXMgfiBsYWJlbDpiZWZvcmUsXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZDpmb2N1cyB+IC5ib3g6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXItY29sb3I6ICM5NkM4REE7XG59XG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6aW5kZXRlcm1pbmF0ZTpmb2N1cyB+IC5ib3g6YWZ0ZXIsXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6aW5kZXRlcm1pbmF0ZTpmb2N1cyB+IGxhYmVsOmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiBsYWJlbDphZnRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFJlYWQtT25seVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5yZWFkLW9ubHkuY2hlY2tib3gsXG4udWkucmVhZC1vbmx5LmNoZWNrYm94IGxhYmVsIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5kaXNhYmxlZC5jaGVja2JveCAuYm94OmFmdGVyLFxuLnVpLmRpc2FibGVkLmNoZWNrYm94IGxhYmVsLFxuLnVpLmNoZWNrYm94IGlucHV0W2Rpc2FibGVkXSB+IC5ib3g6YWZ0ZXIsXG4udWkuY2hlY2tib3ggaW5wdXRbZGlzYWJsZWRdIH4gbGFiZWwge1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC41O1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSGlkZGVuXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW5pdGlhbGl6ZWQgY2hlY2tib3ggbW92ZXMgaW5wdXQgYmVsb3cgZWxlbWVudFxuIHRvIHByZXZlbnQgbWFudWFsbHkgdHJpZ2dlcmluZyAqL1xuLnVpLmNoZWNrYm94IGlucHV0LmhpZGRlbiB7XG4gIHotaW5kZXg6IC0xO1xufVxuLyogU2VsZWN0YWJsZSBMYWJlbCAqL1xuLnVpLmNoZWNrYm94IGlucHV0LmhpZGRlbiArIGxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFJhZGlvXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnJhZGlvLmNoZWNrYm94IHtcbiAgbWluLWhlaWdodDogMTVweDtcbn1cbi51aS5yYWRpby5jaGVja2JveCAuYm94LFxuLnVpLnJhZGlvLmNoZWNrYm94IGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjg1NzE0ZW07XG59XG4vKiBCb3ggKi9cbi51aS5yYWRpby5jaGVja2JveCAuYm94OmJlZm9yZSxcbi51aS5yYWRpby5jaGVja2JveCBsYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgdHJhbnNmb3JtOiBub25lO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIHRvcDogMXB4O1xuICBsZWZ0OiAwcHg7XG59XG4vKiBCdWxsZXQgKi9cbi51aS5yYWRpby5jaGVja2JveCAuYm94OmFmdGVyLFxuLnVpLnJhZGlvLmNoZWNrYm94IGxhYmVsOmFmdGVyIHtcbiAgYm9yZGVyOiBub25lO1xuICBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBsaW5lLWhlaWdodDogMTVweDtcbn1cbi8qIFJhZGlvIENoZWNrYm94ICovXG4udWkucmFkaW8uY2hlY2tib3ggLmJveDphZnRlcixcbi51aS5yYWRpby5jaGVja2JveCBsYWJlbDphZnRlciB7XG4gIHRvcDogMXB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjQ2NjY2NjY3KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIEZvY3VzICovXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmJlZm9yZSxcbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmFmdGVyLFxuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyogSW5kZXRlcm1pbmF0ZSAqL1xuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmluZGV0ZXJtaW5hdGUgfiAuYm94OmFmdGVyLFxuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmluZGV0ZXJtaW5hdGUgfiBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveDpiZWZvcmUsXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YWZ0ZXIsXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qIEFjdGl2ZSBGb2N1cyAqL1xuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiAuYm94OmJlZm9yZSxcbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gLmJveDphZnRlcixcbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTbGlkZXJcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuc2xpZGVyLmNoZWNrYm94IHtcbiAgbWluLWhlaWdodDogMS4yNXJlbTtcbn1cbi8qIElucHV0ICovXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0IHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtO1xufVxuLyogTGFiZWwgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggLmJveCxcbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDQuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4vKiBMaW5lICovXG4udWkuc2xpZGVyLmNoZWNrYm94IC5ib3g6YmVmb3JlLFxuLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDBlbTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHdpZHRoOiAzLjVyZW07XG4gIGhlaWdodDogMC4yMTQyODU3MXJlbTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlO1xufVxuLyogSGFuZGxlICovXG4udWkuc2xpZGVyLmNoZWNrYm94IC5ib3g6YWZ0ZXIsXG4udWkuc2xpZGVyLmNoZWNrYm94IGxhYmVsOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwcHggMHB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHRvcDogLTAuMjVyZW07XG4gIGxlZnQ6IDBlbTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlO1xufVxuLyogRm9jdXMgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmJlZm9yZSxcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXI6IG5vbmU7XG59XG4vKiBIb3ZlciAqL1xuLnVpLnNsaWRlci5jaGVja2JveCAuYm94OmhvdmVyLFxuLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4udWkuc2xpZGVyLmNoZWNrYm94IC5ib3g6aG92ZXI6OmJlZm9yZSxcbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3gsXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmJlZm9yZSxcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YWZ0ZXIsXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDphZnRlciB7XG4gIGxlZnQ6IDJyZW07XG59XG4vKiBBY3RpdmUgRm9jdXMgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IC5ib3gsXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOTUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiAuYm94OmJlZm9yZSxcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgVG9nZ2xlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnRvZ2dsZS5jaGVja2JveCB7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbn1cbi8qIElucHV0ICovXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0IHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG59XG4vKiBMYWJlbCAqL1xuLnVpLnRvZ2dsZS5jaGVja2JveCAuYm94LFxuLnVpLnRvZ2dsZS5jaGVja2JveCBsYWJlbCB7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiA0LjVyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLnRvZ2dsZS5jaGVja2JveCBsYWJlbCB7XG4gIHBhZGRpbmctdG9wOiAwLjE1ZW07XG59XG4vKiBTd2l0Y2ggKi9cbi51aS50b2dnbGUuY2hlY2tib3ggLmJveDpiZWZvcmUsXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgdG9wOiAwcmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OiBub25lO1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xufVxuLyogSGFuZGxlICovXG4udWkudG9nZ2xlLmNoZWNrYm94IC5ib3g6YWZ0ZXIsXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4wNSkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwcHggMHB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbiAgd2lkdGg6IDEuNXJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIHRvcDogMHJlbTtcbiAgbGVmdDogMGVtO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBlYXNlLCBsZWZ0IDAuM3MgZWFzZTtcbn1cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQgfiAuYm94OmFmdGVyLFxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dCB+IGxhYmVsOmFmdGVyIHtcbiAgbGVmdDogLTAuMDVyZW07XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMnB4IDAgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSwgMHB4IDBweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4vKiBGb2N1cyAqL1xuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IC5ib3g6YmVmb3JlLFxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi8qIEhvdmVyICovXG4udWkudG9nZ2xlLmNoZWNrYm94IC5ib3g6aG92ZXI6OmJlZm9yZSxcbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi8qIEFjdGl2ZSAqL1xuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveCxcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSkgIWltcG9ydGFudDtcbn1cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YmVmb3JlLFxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxODVEMCAhaW1wb3J0YW50O1xufVxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveDphZnRlcixcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcbiAgbGVmdDogMi4xNXJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAycHggMCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpLCAwcHggMHB4IDBweCAxcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KSBpbnNldDtcbn1cbi8qIEFjdGl2ZSBGb2N1cyAqL1xuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gLmJveCxcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSkgIWltcG9ydGFudDtcbn1cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IC5ib3g6YmVmb3JlLFxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBkNzFiYiAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEZpdHRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5maXR0ZWQuY2hlY2tib3ggLmJveCxcbi51aS5maXR0ZWQuY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xufVxuLnVpLmZpdHRlZC50b2dnbGUuY2hlY2tib3gsXG4udWkuZml0dGVkLnRvZ2dsZS5jaGVja2JveCB7XG4gIHdpZHRoOiAzLjVyZW07XG59XG4udWkuZml0dGVkLnNsaWRlci5jaGVja2JveCxcbi51aS5maXR0ZWQuc2xpZGVyLmNoZWNrYm94IHtcbiAgd2lkdGg6IDMuNXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDaGVja2JveCc7XG4gIHNyYzogdXJsKGRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCRDhBQUFDOEFBQUFZR050WVhBWVZ0Q0pBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabjRodXdVQUFBRjRBQUFCWUdobFlXUUdQZTFaQUFBQzJBQUFBRFpvYUdWaEIzMER5QUFBQXhBQUFBQWthRzEwZUJCS0FFVUFBQU0wQUFBQUhHeHZZMkVBbWdFU0FBQURVQUFBQUJCdFlYaHdBQWtBTHdBQUEyQUFBQUFnYm1GdFpTQzhJdWdBQUFPQUFBQUJrbkJ2YzNRQUF3QUFBQUFGRkFBQUFDQUFBd01UQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURvQWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZBTC8vZi8vQUFBQUFBQWc2QUQvL2YvL0FBSC80eGdFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFFVUFVUU83QXZnQUdnQUFBUlFIQVFZaklpY0JKalUwUHdFMk16SWZBUUUyTXpJZkFSWVZBN3NRL2hRUUZoY1EvdU1RRUU0UUZ4Y1FxQUYyRUJjWEVFNFFBbk1XRVA0VUVCQUJIUkFYRmhCT0VCQ29BWGNRRUU0UUZ3QUFBQUFCQUFBQmJnTWxBa2tBRkFBQUFSVVVCd1lqSVNJbkpqMEJORGMyTXlFeUZ4WVZBeVVRRUJmOVNSY1FFQkFRRndLM0Z4QVFBaEp0RnhBUUVCQVhiUmNRRUJBUUZ3QUFBQUFCQUFBQVNRTWxBMjRBTEFBQUFSVVVCd1lyQVJVVUJ3WXJBU0luSmowQkl5SW5KajBCTkRjMk93RTFORGMyT3dFeUZ4WWRBVE15RnhZVkF5VVFFQmZ1RUJBWGJoWVFFTzRYRUJBUUVCZnVFQkFXYmhjUUVPNFhFQkFDRW0wWEVCRHVGeEFRRUJBWDdoQVFGMjBYRUJEdUZ4QVFFQkFYN2hBUUZ3QUFBUUFBQUFJQUFIUlN6VDlmRHp6MUFBc0VBQUFBQUFEUnNkUjNBQUFBQU5HeDFIY0FBQUFBQTdzRGJnQUFBQWdBQWdBQUFBQUFBQUFCQUFBRHdQL0FBQUFFQUFBQUFBQUR1d0FCQUFBQUFBQUFBQUFBQUFBQUFBQUFCd1FBQUFBQUFBQUFBQUFBQUFJQUFBQUVBQUJGQXlVQUFBTWxBQUFBQUFBQUFBb0FGQUFlQUU0QWNnQ3dBQUVBQUFBSEFDMEFBUUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU9BSzRBQVFBQUFBQUFBUUFJQUFBQUFRQUFBQUFBQWdBSEFHa0FBUUFBQUFBQUF3QUlBRGtBQVFBQUFBQUFCQUFJQUg0QUFRQUFBQUFBQlFBTEFCZ0FBUUFBQUFBQUJnQUlBRkVBQVFBQUFBQUFDZ0FhQUpZQUF3QUJCQWtBQVFBUUFBZ0FBd0FCQkFrQUFnQU9BSEFBQXdBQkJBa0FBd0FRQUVFQUF3QUJCQWtBQkFBUUFJWUFBd0FCQkFrQUJRQVdBQ01BQXdBQkJBa0FCZ0FRQUZrQUF3QUJCQWtBQ2dBMEFMQkRhR1ZqYTJKdmVBQkRBR2dBWlFCakFHc0FZZ0J2QUhoV1pYSnphVzl1SURJdU1BQldBR1VBY2dCekFHa0Fid0J1QUNBQU1nQXVBREJEYUdWamEySnZlQUJEQUdnQVpRQmpBR3NBWWdCdkFIaERhR1ZqYTJKdmVBQkRBR2dBWlFCakFHc0FZZ0J2QUhoU1pXZDFiR0Z5QUZJQVpRQm5BSFVBYkFCaEFISkRhR1ZqYTJKdmVBQkRBR2dBWlFCakFHc0FZZ0J2QUhoR2IyNTBJR2RsYm1WeVlYUmxaQ0JpZVNCSlkyOU5iMjl1TGdCR0FHOEFiZ0IwQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCSkFHTUFid0JOQUc4QWJ3QnVBQzRBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cbi8qIENoZWNrbWFyayAqL1xuLnVpLmNoZWNrYm94IGxhYmVsOmFmdGVyLFxuLnVpLmNoZWNrYm94IC5ib3g6YWZ0ZXIge1xuICBmb250LWZhbWlseTogJ0NoZWNrYm94Jztcbn1cbi8qIENoZWNrZWQgKi9cbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveDphZnRlcixcbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OiAnXFxlODAwJztcbn1cbi8qIEluZGV0ZXJtaW5hdGUgKi9cbi51aS5jaGVja2JveCBpbnB1dDppbmRldGVybWluYXRlIH4gLmJveDphZnRlcixcbi51aS5jaGVja2JveCBpbnB1dDppbmRldGVybWluYXRlIH4gbGFiZWw6YWZ0ZXIge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbnRlbnQ6ICdcXGU4MDEnO1xufVxuLyogIFVURiBSZWZlcmVuY2Vcbi5jaGVjazpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAwJzsgfVxuLmRhc2g6YmVmb3JlICB7IGNvbnRlbnQ6ICdcXGU4MDEnOyB9XG4ucGx1czpiZWZvcmUgeyBjb250ZW50OiAnXFxlODAyJzsgfVxuKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIERpbW1lclxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRGltbWVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogSGlkZGVuIChEZWZhdWx0KSAqL1xuLyogVmlzaWJsZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQYWdlIERpbW1lciovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKiBTaW1wbGUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRGltbWVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogSGlkZGVuIChEZWZhdWx0KSAqL1xuLyogVmlzaWJsZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQYWdlIERpbW1lciovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKiBTaW1wbGUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBEaW1tZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZGltbWFibGU6bm90KGJvZHkpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLmRpbW1lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwZW0gIWltcG9ydGFudDtcbiAgbGVmdDogMGVtICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcGFkZGluZzogMWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICBvcGFjaXR5OiAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMgbGluZWFyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICB6LWluZGV4OiAxMDAwO1xufVxuLyogRGltbWVyIENvbnRlbnQgKi9cbi51aS5kaW1tZXIgPiAuY29udGVudCB7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qIExvb3NlIENvdXBsaW5nICovXG4udWkuc2VnbWVudCA+IC51aS5kaW1tZXIge1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG4vKiBTY3JvbGxiYXJzICovXG4udWkuZGltbWVyOm5vdCguaW52ZXJ0ZWQpOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbi51aS5kaW1tZXI6bm90KC5pbnZlcnRlZCk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cbi51aS5kaW1tZXI6bm90KC5pbnZlcnRlZCk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOndpbmRvdy1pbmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4udWkuZGltbWVyOm5vdCguaW52ZXJ0ZWQpOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQW5pbWF0aW5nICovXG4uYW5pbWF0aW5nLmRpbW1hYmxlOm5vdChib2R5KSxcbi5kaW1tZWQuZGltbWFibGU6bm90KGJvZHkpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi8qIEFuaW1hdGluZyAvIEFjdGl2ZSAvIFZpc2libGUgKi9cbi5kaW1tZWQuZGltbWFibGUgPiAudWkuYW5pbWF0aW5nLmRpbW1lcixcbi5kaW1tZWQuZGltbWFibGUgPiAudWkudmlzaWJsZS5kaW1tZXIsXG4udWkuYWN0aXZlLmRpbW1lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG9wYWNpdHk6IDE7XG59XG4vKiBEaXNhYmxlZCAqL1xuLnVpLmRpc2FibGVkLmRpbW1lciB7XG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBMZWdhY3lcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBBbmltYXRpbmcgLyBBY3RpdmUgLyBWaXNpYmxlICovXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLmFuaW1hdGluZy5sZWdhY3kuZGltbWVyLFxuLmRpbW1lZC5kaW1tYWJsZSA+IC51aS52aXNpYmxlLmxlZ2FjeS5kaW1tZXIsXG4udWkuYWN0aXZlLmxlZ2FjeS5kaW1tZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBBbGlnbm1lbnRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWlbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0uZGltbWVyIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLnVpW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmRpbW1lciB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnBhZ2UuZGltbWVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0cmFuc2Zvcm0tc3R5bGU6ICcnO1xuICBwZXJzcGVjdGl2ZTogMjAwMHB4O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xufVxuYm9keS5hbmltYXRpbmcuaW4uZGltbWFibGUsXG5ib2R5LmRpbW1lZC5kaW1tYWJsZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5ib2R5LmRpbW1hYmxlID4gLmRpbW1lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBCbHVycmluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi5ibHVycmluZy5kaW1tYWJsZSA+IDpub3QoLmRpbW1lcikge1xuICBmaWx0ZXI6IGJsdXIoMHB4KSBncmF5c2NhbGUoMCk7XG4gIHRyYW5zaXRpb246IDgwMG1zIGZpbHRlciBlYXNlO1xufVxuLmJsdXJyaW5nLmRpbW1lZC5kaW1tYWJsZSA+IDpub3QoLmRpbW1lcikge1xuICBmaWx0ZXI6IGJsdXIoNXB4KSBncmF5c2NhbGUoMC43KTtcbn1cbi8qIERpbW1lciBDb2xvciAqL1xuLmJsdXJyaW5nLmRpbW1hYmxlID4gLmRpbW1lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cbi5ibHVycmluZy5kaW1tYWJsZSA+IC5pbnZlcnRlZC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQWxpZ25lZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5kaW1tZXIgPiAudG9wLmFsaWduZWQuY29udGVudCA+ICoge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuLnVpLmRpbW1lciA+IC5ib3R0b20uYWxpZ25lZC5jb250ZW50ID4gKiB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAuY29udGVudCA+ICoge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2ltcGxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlzcGxheXMgd2l0aG91dCBqYXZhc2NyaXB0ICovXG4udWkuc2ltcGxlLmRpbW1lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMCU7XG4gIHotaW5kZXg6IC0xMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLnNpbXBsZS5kaW1tZXIge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgei1pbmRleDogMTtcbn1cbi51aS5zaW1wbGUuaW52ZXJ0ZWQuZGltbWVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbn1cbi5kaW1tZWQuZGltbWFibGUgPiAudWkuc2ltcGxlLmludmVydGVkLmRpbW1lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gRHJvcGRvd25cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIERyb3Bkb3duXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSWNvbiAqL1xuLyogQ3VycmVudCBUZXh0ICovXG4vKiBNZW51ICovXG4vKiBUZXh0ICovXG4vKiBNZW51IEl0ZW0gKi9cbi8qIFN1YiBNZW51ICovXG4vKiBNZW51IEhlYWRlciAqL1xuLyogTWVudSBEaXZpZGVyICovXG4vKiBNZW51IElucHV0ICovXG4vKiBNZW51IEltYWdlICovXG4vKiBJdGVtIFN1Yi1FbGVtZW50ICovXG4vKiBTdWItTWVudSBEcm9wZG93biBJY29uICovXG4vKiBEZXNjcmlwdGlvbiAqL1xuLyogTWVzc2FnZSAqL1xuLyogRmxvYXRlZCBDb250ZW50ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tXG4gICBTZWxlY3Rpb25cbi0tLS0tLS0tLS0tLS0tKi9cbi8qIDxzZWxlY3Q+ICovXG4vKiBSZXNwb25zaXZlICovXG4vKiBEZXJpdmVkICovXG4vKiAxcHggLyBlbSBzaXplICovXG4vKiBIb3ZlciAqL1xuLyogRm9jdXMgKi9cbi8qIFZpc2libGUgKi9cbi8qIFZpc2libGUgSG92ZXIgKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2VhcmNoXG4tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWFyY2ggU2VsZWN0aW9uICovXG4vKiBJbmxpbmUgKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBNdWx0aXBsZVxuLS0tLS0tLS0tLS0tLS0qL1xuLyogU3BsaXQgQWN0dWFsIFBhZGRpbmcgQmV0d2VlbiBDaGlsZCBhbmQgUGFyZW50IChhbGxvd3MgZm9yIGxhYmVsIHNwYWNpbmcpICovXG4vKiBDaGlsZCBFbGVtZW50cyAqL1xuLyogRHJvcGRvd24gSWNvbiAqL1xuLyogU2VsZWN0aW9uIExhYmVsICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEhvdmVyZWQgKi9cbi8qIERlZmF1bHQgVGV4dCAqL1xuLyogTG9hZGluZyAqL1xuLyogQWN0aXZlIE1lbnUgSXRlbSAqL1xuLyogU2VsZWN0ZWQgKi9cbi8qIEVycm9yICovXG4vKiBDbGVhcmFibGUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2Nyb2xsaW5nICovXG4vKiAwcHggLyBlbSBzaXplICovXG4vKiBVcHdhcmQgKi9cbi8qIEZseW91dCBEaXJlY3Rpb24gKi9cbi8qIExlZnQgKi9cbi8qIFNpbXBsZSAqL1xuLyogRmxvYXRpbmcgKi9cbi8qIFBvaW50aW5nICovXG4vKiBQb2ludGluZyBVcHdhcmQgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRHJvcGRvd25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJY29uICovXG4vKiBDdXJyZW50IFRleHQgKi9cbi8qIE1lbnUgKi9cbi8qIFRleHQgKi9cbi8qIE1lbnUgSXRlbSAqL1xuLyogU3ViIE1lbnUgKi9cbi8qIE1lbnUgSGVhZGVyICovXG4vKiBNZW51IERpdmlkZXIgKi9cbi8qIE1lbnUgSW5wdXQgKi9cbi8qIE1lbnUgSW1hZ2UgKi9cbi8qIEl0ZW0gU3ViLUVsZW1lbnQgKi9cbi8qIFN1Yi1NZW51IERyb3Bkb3duIEljb24gKi9cbi8qIERlc2NyaXB0aW9uICovXG4vKiBNZXNzYWdlICovXG4vKiBGbG9hdGVkIENvbnRlbnQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS1cbiAgIFNlbGVjdGlvblxuLS0tLS0tLS0tLS0tLS0qL1xuLyogPHNlbGVjdD4gKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qIERlcml2ZWQgKi9cbi8qIDFweCAvIGVtIHNpemUgKi9cbi8qIEhvdmVyICovXG4vKiBGb2N1cyAqL1xuLyogVmlzaWJsZSAqL1xuLyogVmlzaWJsZSBIb3ZlciAqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTZWFyY2hcbi0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlYXJjaCBTZWxlY3Rpb24gKi9cbi8qIElubGluZSAqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIE11bHRpcGxlXG4tLS0tLS0tLS0tLS0tLSovXG4vKiBTcGxpdCBBY3R1YWwgUGFkZGluZyBCZXR3ZWVuIENoaWxkIGFuZCBQYXJlbnQgKGFsbG93cyBmb3IgbGFiZWwgc3BhY2luZykgKi9cbi8qIENoaWxkIEVsZW1lbnRzICovXG4vKiBEcm9wZG93biBJY29uICovXG4vKiBTZWxlY3Rpb24gTGFiZWwgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSG92ZXJlZCAqL1xuLyogRGVmYXVsdCBUZXh0ICovXG4vKiBMb2FkaW5nICovXG4vKiBBY3RpdmUgTWVudSBJdGVtICovXG4vKiBTZWxlY3RlZCAqL1xuLyogRXJyb3IgKi9cbi8qIENsZWFyYWJsZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTY3JvbGxpbmcgKi9cbi8qIDBweCAvIGVtIHNpemUgKi9cbi8qIFVwd2FyZCAqL1xuLyogRmx5b3V0IERpcmVjdGlvbiAqL1xuLyogTGVmdCAqL1xuLyogU2ltcGxlICovXG4vKiBGbG9hdGluZyAqL1xuLyogUG9pbnRpbmcgKi9cbi8qIFBvaW50aW5nIFVwd2FyZCAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIERyb3Bkb3duXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmRyb3Bkb3duIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UsIHdpZHRoIDAuMXMgZWFzZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBNZW51XG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmRyb3Bkb3duIC5tZW51IHtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRvcDogMTAwJTtcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbSAwZW07XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xuICB6LWluZGV4OiAxMTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+ICoge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICBIaWRkZW4gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZHJvcGRvd24gPiBpbnB1dDpub3QoLnNlYXJjaCk6Zmlyc3QtY2hpbGQsXG4udWkuZHJvcGRvd24gPiBzZWxlY3Qge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gRHJvcGRvd24gSWNvblxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2ZW07XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMWVtO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gLmRyb3Bkb3duLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDFlbTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIC5kcm9wZG93bi5pY29uICsgLnRleHQge1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFRleHRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZHJvcGRvd24gPiAudGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBNZW51IEl0ZW1cbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBwYWRkaW5nOiAwLjc4NTcxNDI5cmVtIDEuMTQyODU3MTRyZW0gIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAwcHg7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gIEZsb2F0ZWQgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0sXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMWVtICFpbXBvcnRhbnQ7XG59XG4udWkuZHJvcGRvd24gPiAudGV4dCA+IFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0sXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDFlbSAhaW1wb3J0YW50O1xufVxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gLmljb24uZmxvYXRlZCxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IC5mbGFnLmZsb2F0ZWQsXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiAuaW1hZ2UuZmxvYXRlZCxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IGltZy5mbG9hdGVkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICBNZW51IERpdmlkZXJcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaGVhZGVyIHtcbiAgbWFyZ2luOiAxcmVtIDByZW0gMC43NXJlbTtcbiAgcGFkZGluZzogMGVtIDEuMTQyODU3MTRyZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICBmb250LXNpemU6IDAuNzg1NzE0MjllbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIGhlaWdodDogMGVtO1xuICBtYXJnaW46IDAuNWVtIDBlbTtcbn1cbi51aS5kcm9wZG93bi5kcm9wZG93biAubWVudSA+IC5pbnB1dCB7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDEuMTQyODU3MTRyZW0gMC43ODU3MTQyOXJlbTtcbiAgbWluLXdpZHRoOiAxMHJlbTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5oZWFkZXIgKyAuaW5wdXQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXQ6bm90KC50cmFuc3BhcmVudCkgaW5wdXQge1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXQ6bm90KC50cmFuc3BhcmVudCkgLmJ1dHRvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dDpub3QoLnRyYW5zcGFyZW50KSAuaWNvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dDpub3QoLnRyYW5zcGFyZW50KSAubGFiZWwge1xuICBwYWRkaW5nLXRvcDogMC41ZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS1cbiAgSXRlbSBEZXNjcmlwdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5kZXNjcmlwdGlvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmRlc2NyaXB0aW9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBNZXNzYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5kcm9wZG93biAubWVudSA+IC5tZXNzYWdlIHtcbiAgcGFkZGluZzogMC43ODU3MTQyOXJlbSAxLjE0Mjg1NzE0cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLm1lc3NhZ2U6bm90KC51aSkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFN1YiBNZW51XG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmRyb3Bkb3duIC5tZW51IC5tZW51IHtcbiAgdG9wOiAwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAtMC41ZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAyMSAhaW1wb3J0YW50O1xufVxuLyogSGlkZSBBcnJvdyAqL1xuLnVpLmRyb3Bkb3duIC5tZW51IC5tZW51OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFN1YiBFbGVtZW50c1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEljb25zIC8gRmxhZ3MgLyBMYWJlbHMgLyBJbWFnZSAqL1xuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuaWNvbixcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuZmxhZyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaW1nLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuaW1hZ2Uge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5pY29uLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAubGFiZWwsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5mbGFnLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IGltZyB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmljb24sXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5sYWJlbCxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmZsYWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGltZyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmltYWdlLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaWNvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuZmxhZyxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpbWcge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc4NTcxNDI5cmVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJbWFnZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gaW1nLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAuaW1hZ2UsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5pbWFnZSxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAtMC41ZW07XG4gIG1heC1oZWlnaHQ6IDJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1lbnVcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBSZW1vdmUgTWVudSBJdGVtIERpdmlkZXIgKi9cbi51aS5kcm9wZG93biAudWkubWVudSA+IC5pdGVtOmJlZm9yZSxcbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKiBQcmV2ZW50IE1lbnUgSXRlbSBCb3JkZXIgKi9cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi8qIEF1dG9tYXRpY2FsbHkgZmxvYXQgZHJvcGRvd24gbWVudSByaWdodCBvbiBsYXN0IG1lbnUgaXRlbSAqL1xuLnVpLm1lbnUgLnJpZ2h0Lm1lbnUgLmRyb3Bkb3duOmxhc3QtY2hpbGQgLm1lbnUsXG4udWkubWVudSAucmlnaHQuZHJvcGRvd24uaXRlbSAubWVudSxcbi51aS5idXR0b25zID4gLnVpLmRyb3Bkb3duOmxhc3QtY2hpbGQgLm1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMGVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTGFiZWxcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBEcm9wZG93biBNZW51ICovXG4udWkubGFiZWwuZHJvcGRvd24gLm1lbnUge1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEJ1dHRvblxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE5vIE1hcmdpbiBPbiBJY29uIEJ1dHRvbiAqL1xuLnVpLmRyb3Bkb3duLmljb24uYnV0dG9uID4gLmRyb3Bkb3duLmljb24ge1xuICBtYXJnaW46IDBlbTtcbn1cbi51aS5idXR0b24uZHJvcGRvd24gLm1lbnUge1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTZWxlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaXNwbGF5cyBsaWtlIGEgc2VsZWN0IGJveCAqL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93biB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdXRsaW5lOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7XG4gIG1pbi13aWR0aDogMTRlbTtcbiAgbWluLWhlaWdodDogMi43MTQyODU3MWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzg1NzE0MjllbSAyLjFlbSAwLjc4NTcxNDI5ZW0gMWVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UsIHdpZHRoIDAuMXMgZWFzZTtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24udmlzaWJsZSxcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24uYWN0aXZlIHtcbiAgei1pbmRleDogMTA7XG59XG5zZWxlY3QudWkuZHJvcGRvd24ge1xuICBoZWlnaHQ6IDM4cHg7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biA+IC5zZWFyY2guaWNvbixcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZGVsZXRlLmljb24sXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcbiAgdG9wOiAwLjc4NTcxNDI5ZW07XG4gIHJpZ2h0OiAxZW07XG4gIHotaW5kZXg6IDM7XG4gIG1hcmdpbjogLTAuNzg1NzE0MjllbTtcbiAgcGFkZGluZzogMC45MTY2NjY2N2VtO1xuICBvcGFjaXR5OiAwLjg7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuLyogQ29tcGFjdCAqL1xuLnVpLmNvbXBhY3Quc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgbWluLXdpZHRoOiAwcHg7XG59XG4vKiAgU2VsZWN0aW9uIE1lbnUgKi9cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBib3JkZXItdG9wLXdpZHRoOiAwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIG91dGxpbmU6IG5vbmU7XG4gIG1hcmdpbjogMHB4IC0xcHg7XG4gIG1pbi13aWR0aDogY2FsYygxMDAlICsgIDJweCApO1xuICB3aWR0aDogY2FsYygxMDAlICsgIDJweCApO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlO1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudTphZnRlcixcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnU6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBNZXNzYWdlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSA+IC5tZXNzYWdlIHtcbiAgcGFkZGluZzogMC43ODU3MTQyOXJlbSAxLjE0Mjg1NzE0cmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiA4LjAxNDI4NTcxcmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDEwLjY4NTcxNDI5cmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDE2LjAyODU3MTQzcmVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAyMS4zNzE0Mjg1N3JlbTtcbiAgfVxufVxuLyogTWVudSBJdGVtICovXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI0ZBRkFGQTtcbiAgcGFkZGluZzogMC43ODU3MTQyOXJlbSAxLjE0Mjg1NzE0cmVtICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuLyogVXNlciBJdGVtICovXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51ID4gLmhpZGRlbi5hZGRpdGlvbi5pdGVtIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIEhvdmVyICovXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLyogQWN0aXZlICovXG4udWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogIzk2QzhEQTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93biAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogIzk2QzhEQTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBGb2N1cyAqL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogIzk2QzhEQTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd246Zm9jdXMgLm1lbnUge1xuICBib3JkZXItY29sb3I6ICM5NkM4REE7XG4gIGJveC1zaGFkb3c6IDBweCAycHggM3B4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogVmlzaWJsZSAqL1xuLnVpLnNlbGVjdGlvbi52aXNpYmxlLmRyb3Bkb3duID4gLnRleHQ6bm90KC5kZWZhdWx0KSB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG59XG4vKiBWaXNpYmxlIEhvdmVyICovXG4udWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzk2QzhEQTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogIzk2QzhEQTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4vKiBEcm9wZG93biBJY29uICovXG4udWkuYWN0aXZlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uLFxuLnVpLnZpc2libGUuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBvcGFjaXR5OiAnJztcbiAgei1pbmRleDogMztcbn1cbi8qIENvbm5lY3RpbmcgQm9yZGVyICovXG4udWkuYWN0aXZlLnNlbGVjdGlvbi5kcm9wZG93biB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBlbSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMGVtICFpbXBvcnRhbnQ7XG59XG4vKiBFbXB0eSBDb25uZWN0aW5nIEJvcmRlciAqL1xuLnVpLmFjdGl2ZS5lbXB0eS5zZWxlY3Rpb24uZHJvcGRvd24ge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi51aS5hY3RpdmUuZW1wdHkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFNlYXJjaGFibGVcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWFyY2ggU2VsZWN0aW9uICovXG4udWkuc2VhcmNoLmRyb3Bkb3duIHtcbiAgbWluLXdpZHRoOiAnJztcbn1cbi8qIFNlYXJjaCBEcm9wZG93biAqL1xuLnVpLnNlYXJjaC5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY3Vyc29yOiB0ZXh0O1xuICB0b3A6IDBlbTtcbiAgbGVmdDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICBwYWRkaW5nOiBpbmhlcml0O1xufVxuLyogVGV4dCBMYXllcmluZyAqL1xuLnVpLnNlYXJjaC5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbn1cbi51aS5zZWFyY2guZHJvcGRvd24gPiAudGV4dCB7XG4gIGN1cnNvcjogdGV4dDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAxcHg7XG4gIHotaW5kZXg6IDM7XG59XG4vKiBTZWFyY2ggU2VsZWN0aW9uICovXG4udWkuc2VhcmNoLnNlbGVjdGlvbi5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAyLjFlbSAwLjY3ODU3MTQzZW0gMWVtO1xufVxuLyogVXNlZCB0byBzaXplIG11bHRpIHNlbGVjdCBpbnB1dCB0byBjaGFyYWN0ZXIgd2lkdGggKi9cbi51aS5zZWFyY2guc2VsZWN0aW9uLmRyb3Bkb3duID4gc3Bhbi5zaXplciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAyLjFlbSAwLjY3ODU3MTQzZW0gMWVtO1xuICBkaXNwbGF5OiBub25lO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xufVxuLyogQWN0aXZlL1Zpc2libGUgU2VhcmNoICovXG4udWkuc2VhcmNoLmRyb3Bkb3duLmFjdGl2ZSA+IGlucHV0LnNlYXJjaCxcbi51aS5zZWFyY2guZHJvcGRvd24udmlzaWJsZSA+IGlucHV0LnNlYXJjaCB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi51aS5zZWFyY2guZHJvcGRvd24uYWN0aXZlID4gLnRleHQsXG4udWkuc2VhcmNoLmRyb3Bkb3duLnZpc2libGUgPiAudGV4dCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLyogRmlsdGVyZWQgVGV4dCAqL1xuLnVpLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQgLmljb24sXG4udWkuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCAuZmxhZyB7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4udWkuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCB7XG4gIGNvbG9yOiByZ2JhKDExNSwgMTE1LCAxMTUsIDAuODcpICFpbXBvcnRhbnQ7XG59XG4vKiBTZWFyY2ggTWVudSAqL1xuLnVpLnNlYXJjaC5kcm9wZG93biAubWVudSB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5zZWFyY2guZHJvcGRvd24gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDguMDE0Mjg1NzFyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVpLnNlYXJjaC5kcm9wZG93biAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTAuNjg1NzE0MjlyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLnNlYXJjaC5kcm9wZG93biAubWVudSB7XG4gICAgbWF4LWhlaWdodDogMTYuMDI4NTcxNDNyZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5zZWFyY2guZHJvcGRvd24gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IDIxLjM3MTQyODU3cmVtO1xuICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgTXVsdGlwbGVcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBNdWx0aXBsZSBTZWxlY3Rpb24gKi9cbi51aS5tdWx0aXBsZS5kcm9wZG93biB7XG4gIHBhZGRpbmc6IDAuMjI2MTkwNDhlbSAyLjFlbSAwLjIyNjE5MDQ4ZW0gMC4zNTcxNDI4NmVtO1xufVxuLnVpLm11bHRpcGxlLmRyb3Bkb3duIC5tZW51IHtcbiAgY3Vyc29yOiBhdXRvO1xufVxuLyogTXVsdGlwbGUgU2VhcmNoIFNlbGVjdGlvbiAqL1xuLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93bixcbi51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xuICBjdXJzb3I6IHRleHQ7XG59XG4vKiBTZWxlY3Rpb24gTGFiZWwgKi9cbi51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBwYWRkaW5nOiAwLjM1NzE0Mjg2ZW0gMC43ODU3MTQyOWVtO1xuICBtYXJnaW46IDAuMTQyODU3MTRyZW0gMC4yODU3MTQyOXJlbSAwLjE0Mjg1NzE0cmVtIDBlbTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgaW5zZXQ7XG59XG4vKiBEcm9wZG93biBJY29uICovXG4udWkubXVsdGlwbGUuZHJvcGRvd24gLmRyb3Bkb3duLmljb24ge1xuICBtYXJnaW46ICcnO1xuICBwYWRkaW5nOiAnJztcbn1cbi8qIFRleHQgKi9cbi51aS5tdWx0aXBsZS5kcm9wZG93biA+IC50ZXh0IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgcGFkZGluZzogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAuNDUyMzgwOTVlbSAwZW0gMC40NTIzODA5NWVtIDAuNjQyODU3MTRlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0Mjg1NzFlbTtcbn1cbi51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCB+IGlucHV0LnNlYXJjaCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjE0Mjg1NzE0ZW0gIWltcG9ydGFudDtcbn1cbi51aS5tdWx0aXBsZS5kcm9wZG93biA+IC5sYWJlbCB+IC50ZXh0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS1cbiAgTXVsdGlwbGUgU2VhcmNoXG4tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQcm9tcHQgVGV4dCAqL1xuLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93biA+IC50ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogaW5oZXJpdDtcbiAgbWFyZ2luOiAwLjQ1MjM4MDk1ZW0gMGVtIDAuNDUyMzgwOTVlbSAwLjY0Mjg1NzE0ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG59XG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gLmxhYmVsIH4gLnRleHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuLyogU2VhcmNoICovXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgcGFkZGluZzogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAuNDUyMzgwOTVlbSAwZW0gMC40NTIzODA5NWVtIDAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDIuMmVtO1xuICBsaW5lLWhlaWdodDogMS4yMTQyODU3MWVtO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJbmxpbmVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaW5saW5lLmRyb3Bkb3duIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLnVpLmlubGluZS5kcm9wZG93biAuZHJvcGRvd24uaWNvbiB7XG4gIG1hcmdpbjogMGVtIDAuMjE0Mjg1NzFlbSAwZW0gMC4yMTQyODU3MWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkuaW5saW5lLmRyb3Bkb3duID4gLnRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi51aS5pbmxpbmUuZHJvcGRvd24gLm1lbnUge1xuICBjdXJzb3I6IGF1dG87XG4gIG1hcmdpbi10b3A6IDAuMjE0Mjg1NzFlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNZW51IEl0ZW0gQWN0aXZlICovXG4udWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgei1pbmRleDogMTI7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1lbnUgSXRlbSBIb3ZlciAqL1xuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgei1pbmRleDogMTM7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5sb2FkaW5nLmRyb3Bkb3duID4gaS5pY29uIHtcbiAgaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcbn1cbi51aS5sb2FkaW5nLnNlbGVjdGlvbi5kcm9wZG93biA+IGkuaWNvbiB7XG4gIHBhZGRpbmc6IDEuNWVtIDEuMjg1NzE0MjllbSAhaW1wb3J0YW50O1xufVxuLnVpLmxvYWRpbmcuZHJvcGRvd24gPiBpLmljb246YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDBlbSAwZW0gLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyOiAwLjJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4udWkubG9hZGluZy5kcm9wZG93biA+IGkuaWNvbjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAtMC42NDI4NTcxNGVtIDBlbSAwZW0gLTAuNjQyODU3MTRlbTtcbiAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgaGVpZ2h0OiAxLjI4NTcxNDI5ZW07XG4gIGFuaW1hdGlvbjogZHJvcGRvd24tc3BpbiAwLjZzIGxpbmVhcjtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuMmVtO1xufVxuLyogQ291cGxpbmcgKi9cbi51aS5sb2FkaW5nLmRyb3Bkb3duLmJ1dHRvbiA+IGkuaWNvbjpiZWZvcmUsXG4udWkubG9hZGluZy5kcm9wZG93bi5idXR0b24gPiBpLmljb246YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuQGtleWZyYW1lcyBkcm9wZG93bi1zcGluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgRGVmYXVsdCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5kcm9wZG93bjpub3QoLmJ1dHRvbikgPiAuZGVmYXVsdC50ZXh0LFxuLnVpLmRlZmF1bHQuZHJvcGRvd246bm90KC5idXR0b24pID4gLnRleHQge1xuICBjb2xvcjogcmdiYSgxOTEsIDE5MSwgMTkxLCAwLjg3KTtcbn1cbi51aS5kcm9wZG93bjpub3QoLmJ1dHRvbikgPiBpbnB1dDpmb2N1cyB+IC5kZWZhdWx0LnRleHQsXG4udWkuZGVmYXVsdC5kcm9wZG93bjpub3QoLmJ1dHRvbikgPiBpbnB1dDpmb2N1cyB+IC50ZXh0IHtcbiAgY29sb3I6IHJnYmEoMTE1LCAxMTUsIDExNSwgMC44Nyk7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmxvYWRpbmcuZHJvcGRvd24gPiAudGV4dCB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG4vKiBVc2VkIFRvIENoZWNrIFBvc2l0aW9uICovXG4udWkuZHJvcGRvd24gLmxvYWRpbmcubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IC0xO1xufVxuLnVpLmRyb3Bkb3duID4gLmxvYWRpbmcubWVudSB7XG4gIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLnVpLmRyb3Bkb3duID4gLm1lbnUgLmxvYWRpbmcubWVudSB7XG4gIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBLZXlib2FyZCBTZWxlY3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VsZWN0ZWQgSXRlbSAqL1xuLnVpLmRyb3Bkb3duLnNlbGVjdGVkLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2VhcmNoIEZpbHRlcmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZpbHRlcmVkIEl0ZW0gKi9cbi51aS5kcm9wZG93biA+IC5maWx0ZXJlZC50ZXh0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLmRyb3Bkb3duIC5maWx0ZXJlZC5pdGVtIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBFcnJvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZHJvcGRvd24uZXJyb3IsXG4udWkuZHJvcGRvd24uZXJyb3IgPiAudGV4dCxcbi51aS5kcm9wZG93bi5lcnJvciA+IC5kZWZhdWx0LnRleHQge1xuICBjb2xvcjogIzlGM0EzODtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24uZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiAjRkZGNkY2O1xuICBib3JkZXItY29sb3I6ICNFMEI0QjQ7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duLmVycm9yOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjRTBCNEI0O1xufVxuLnVpLmRyb3Bkb3duLmVycm9yID4gLm1lbnUsXG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogI0UwQjRCNDtcbn1cbi51aS5kcm9wZG93bi5lcnJvciA+IC5tZW51ID4gLml0ZW0ge1xuICBjb2xvcjogIzlGM0EzODtcbn1cbi51aS5tdWx0aXBsZS5zZWxlY3Rpb24uZXJyb3IuZHJvcGRvd24gPiAubGFiZWwge1xuICBib3JkZXItY29sb3I6ICNFMEI0QjQ7XG59XG4vKiBJdGVtIEhvdmVyICovXG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSA+IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjJGMjtcbn1cbi8qIEl0ZW0gQWN0aXZlICovXG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkRDRkNGO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBDbGVhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZHJvcGRvd24gPiAuY2xlYXIuZHJvcGRvd24uaWNvbiB7XG4gIG9wYWNpdHk6IDAuODtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG59XG4udWkuZHJvcGRvd24gPiAuY2xlYXIuZHJvcGRvd24uaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpc2FibGVkICovXG4udWkuZGlzYWJsZWQuZHJvcGRvd24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuZGlzYWJsZWQuaXRlbSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIERpcmVjdGlvblxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZseW91dCBEaXJlY3Rpb24gKi9cbi51aS5kcm9wZG93biAubWVudSB7XG4gIGxlZnQ6IDBweDtcbn1cbi8qIERlZmF1bHQgU2lkZSAoUmlnaHQpICovXG4udWkuZHJvcGRvd24gLnJpZ2h0Lm1lbnUgPiAubWVudSxcbi51aS5kcm9wZG93biAubWVudSAucmlnaHQubWVudSB7XG4gIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLyogTGVmdHdhcmQgT3BlbmluZyBNZW51ICovXG4udWkuZHJvcGRvd24gPiAubGVmdC5tZW51IHtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICByaWdodDogMHB4ICFpbXBvcnRhbnQ7XG59XG4udWkuZHJvcGRvd24gPiAubGVmdC5tZW51IC5tZW51LFxuLnVpLmRyb3Bkb3duIC5tZW51IC5sZWZ0Lm1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwZW0gLTAuNWVtIDBlbSAwZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLnVpLmRyb3Bkb3duIC5pdGVtIC5sZWZ0LmRyb3Bkb3duLmljb24sXG4udWkuZHJvcGRvd24gLmxlZnQubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG59XG4udWkuZHJvcGRvd24gLml0ZW0gLmxlZnQuZHJvcGRvd24uaWNvbixcbi51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbn1cbi51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uICsgLnRleHQsXG4udWkuZHJvcGRvd24gLmxlZnQubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbiArIC50ZXh0IHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFVwd2FyZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVwd2FyZCBNYWluIE1lbnUgKi9cbi51aS51cHdhcmQuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG4vKiBVcHdhcmQgU3ViIE1lbnUgKi9cbi51aS5kcm9wZG93biAudXB3YXJkLm1lbnUge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vKiBBY3RpdmUgVXB3YXJkICovXG4udWkuc2ltcGxlLnVwd2FyZC5hY3RpdmUuZHJvcGRvd24sXG4udWkuc2ltcGxlLnVwd2FyZC5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAwZW0gMGVtICFpbXBvcnRhbnQ7XG59XG4udWkudXB3YXJkLmRyb3Bkb3duLmJ1dHRvbjpub3QoLnBvaW50aW5nKTpub3QoLmZsb2F0aW5nKS5hY3RpdmUge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cbi8qIFNlbGVjdGlvbiAqL1xuLnVpLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUge1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAtMnB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi51aS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4vKiBBY3RpdmUgVXB3YXJkICovXG4udWkuYWN0aXZlLnVwd2FyZC5zZWxlY3Rpb24uZHJvcGRvd24ge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLyogVmlzaWJsZSBVcHdhcmQgKi9cbi51aS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duLnZpc2libGUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gIWltcG9ydGFudDtcbn1cbi8qIFZpc2libGUgSG92ZXIgVXB3YXJkICovXG4udWkudXB3YXJkLmFjdGl2ZS5zZWxlY3Rpb24uZHJvcGRvd246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi51aS51cHdhcmQuYWN0aXZlLnNlbGVjdGlvbi5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGJveC1zaGFkb3c6IDBweCAtMnB4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2ltcGxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogIFNlbGVjdGlvbiBNZW51ICovXG4udWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBtaW4td2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cbi51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSAuaXRlbS5pdGVtLml0ZW0sXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51ID4gLml0ZW0uaXRlbS5pdGVtIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUgLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cbi51aS5kcm9wZG93biA+IC5hbmltYXRpbmcubWVudSAuc2Nyb2xsaW5nLm1lbnUsXG4udWkuZHJvcGRvd24gPiAudmlzaWJsZS5tZW51IC5zY3JvbGxpbmcubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyogU2Nyb2xsYmFyIGluIElFICovXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgbWluLXdpZHRoOiBjYWxjKDEwMCUgLSAxN3B4KTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAxMC4yODU3MTQyOXJlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAxNS40Mjg1NzE0M3JlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiAyMC41NzE0Mjg1N3JlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgbWF4LWhlaWdodDogMjAuNTcxNDI4NTdyZW07XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2ltcGxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlzcGxheXMgd2l0aG91dCBqYXZhc2NyaXB0ICovXG4udWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51OmJlZm9yZSxcbi51aS5zaW1wbGUuZHJvcGRvd24gLm1lbnU6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLnNpbXBsZS5kcm9wZG93biAubWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRvcDogLTk5OTlweCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZTtcbn1cbi51aS5zaW1wbGUuYWN0aXZlLmRyb3Bkb3duLFxuLnVpLnNpbXBsZS5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBlbSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMGVtICFpbXBvcnRhbnQ7XG59XG4udWkuc2ltcGxlLmFjdGl2ZS5kcm9wZG93biA+IC5tZW51LFxuLnVpLnNpbXBsZS5kcm9wZG93bjpob3ZlciA+IC5tZW51IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMTAwJSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLnNpbXBsZS5kcm9wZG93biA+IC5tZW51ID4gLml0ZW06YWN0aXZlID4gLm1lbnUsXG4udWkuc2ltcGxlLmRyb3Bkb3duOmhvdmVyID4gLm1lbnUgPiAuaXRlbTpob3ZlciA+IC5tZW51IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRvcDogMCUgIWltcG9ydGFudDtcbiAgbGVmdDogMTAwJSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLnNpbXBsZS5kaXNhYmxlZC5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMHB4O1xuICB3aWR0aDogMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLyogVmlzaWJsZSAqL1xuLnVpLnNpbXBsZS52aXNpYmxlLmRyb3Bkb3duID4gLm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEZsdWlkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZsdWlkLmRyb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDBlbTtcbn1cbi51aS5mbHVpZC5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEZsb2F0aW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZsb2F0aW5nLmRyb3Bkb3duIC5tZW51IHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTIpLCAwcHggMnB4IDEwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAhaW1wb3J0YW50O1xufVxuLnVpLmZsb2F0aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICBtYXJnaW4tdG9wOiAwLjVlbSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFBvaW50aW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDAuNzg1NzE0MjlyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiAnJztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB3aWR0aDogMC41ZW07XG4gIGhlaWdodDogMC41ZW07XG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwcHggMHB4IHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHotaW5kZXg6IDI7XG59XG4udWkucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTphZnRlciB7XG4gIHRvcDogLTAuMjVlbTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIC0wLjI1ZW07XG59XG4vKiBUb3AgTGVmdCBQb2ludGluZyAqL1xuLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDFlbSAwZW0gMGVtO1xufVxuLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDFlbSAwZW0gMGVtO1xufVxuLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xuICB0b3A6IC0wLjI1ZW07XG4gIGxlZnQ6IDFlbTtcbiAgcmlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMGVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4vKiBUb3AgUmlnaHQgUG9pbnRpbmcgKi9cbi51aS50b3AucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogMTAwJTtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogMCU7XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbjogMWVtIDBlbSAwZW07XG59XG4udWkudG9wLnBvaW50aW5nLmRyb3Bkb3duID4gLmxlZnQubWVudTphZnRlcixcbi51aS50b3AucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTphZnRlciB7XG4gIHRvcDogLTAuMjVlbTtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICByaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4vKiBMZWZ0IFBvaW50aW5nICovXG4udWkubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgdG9wOiAwJTtcbiAgbGVmdDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMWVtO1xufVxuLnVpLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTphZnRlciB7XG4gIHRvcDogMWVtO1xuICBsZWZ0OiAtMC4yNWVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbi51aS5sZWZ0Om5vdCgudG9wKTpub3QoLmJvdHRvbSkucG9pbnRpbmcuZHJvcGRvd24gPiAubGVmdC5tZW51IHtcbiAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICByaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBlbSAxZW0gMGVtIDBlbTtcbn1cbi51aS5sZWZ0Om5vdCgudG9wKTpub3QoLmJvdHRvbSkucG9pbnRpbmcuZHJvcGRvd24gPiAubGVmdC5tZW51OmFmdGVyIHtcbiAgdG9wOiAxZW07XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMC4yNWVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbn1cbi8qIFJpZ2h0IFBvaW50aW5nICovXG4udWkucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDBlbSAxZW0gMGVtIDBlbTtcbn1cbi51aS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyIHtcbiAgdG9wOiAxZW07XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMC4yNWVtO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbn1cbi8qIEJvdHRvbSBQb2ludGluZyAqL1xuLnVpLmJvdHRvbS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDAlO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAwZW0gMGVtIDFlbTtcbn1cbi51aS5ib3R0b20ucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTphZnRlciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAtMC4yNWVtO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAwZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xufVxuLyogUmV2ZXJzZSBTdWItTWVudSBEaXJlY3Rpb24gKi9cbi51aS5ib3R0b20ucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSAubWVudSB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuLyogQm90dG9tIExlZnQgKi9cbi51aS5ib3R0b20ubGVmdC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgbGVmdDogMCU7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnVpLmJvdHRvbS5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xuICBsZWZ0OiAxZW07XG4gIHJpZ2h0OiBhdXRvO1xufVxuLyogQm90dG9tIFJpZ2h0ICovXG4udWkuYm90dG9tLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICByaWdodDogMCU7XG4gIGxlZnQ6IGF1dG87XG59XG4udWkuYm90dG9tLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMWVtO1xufVxuLyogVXB3YXJkIHBvaW50aW5nICovXG4udWkucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51LFxuLnVpLnRvcC5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnUge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtIDBlbSAwLjc4NTcxNDI5cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnBvaW50aW5nLnVwd2FyZC5kcm9wZG93biAubWVudTphZnRlcixcbi51aS50b3AucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51OmFmdGVyIHtcbiAgdG9wOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgbWFyZ2luOiAtMC4yNWVtIDBlbSAwZW07XG59XG4vKiBSaWdodCBQb2ludGluZyBVcHdhcmQgKi9cbi51aS5yaWdodC5wb2ludGluZy51cHdhcmQuZHJvcGRvd246bm90KC50b3ApOm5vdCguYm90dG9tKSAubWVudSB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW0gMWVtIDBlbSAwZW07XG59XG4udWkucmlnaHQucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duOm5vdCgudG9wKTpub3QoLmJvdHRvbSkgLm1lbnU6YWZ0ZXIge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtIDBlbSAxZW0gMGVtO1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogTGVmdCBQb2ludGluZyBVcHdhcmQgKi9cbi51aS5sZWZ0LnBvaW50aW5nLnVwd2FyZC5kcm9wZG93bjpub3QoLnRvcCk6bm90KC5ib3R0b20pIC5tZW51IHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDFlbTtcbn1cbi51aS5sZWZ0LnBvaW50aW5nLnVwd2FyZC5kcm9wZG93bjpub3QoLnRvcCk6bm90KC5ib3R0b20pIC5tZW51OmFmdGVyIHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBlbSAwZW0gMWVtIDBlbTtcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDBweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBEcm9wZG93biBDYXJldHMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0Ryb3Bkb3duJztcbiAgc3JjOiB1cmwoZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JnQUJBQUFBQUFWZ0FBOEFBQUFBQ0ZBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUJXQUFBQUJ3QUFBQWNoR2dhcTBkRVJVWUFBQUYwQUFBQUhBQUFBQjRBSndBUFQxTXZNZ0FBQVpBQUFBQkRBQUFBVm5XNFRKZGpiV0Z3QUFBQjFBQUFBRXNBQUFGUzhDY2FxbU4yZENBQUFBSWdBQUFBQkFBQUFBUUFFUUZFWjJGemNBQUFBaVFBQUFBSUFBQUFDUC8vQUFObmJIbG1BQUFDTEFBQUFRb0FBQUdrclJIUDlXaGxZV1FBQUFNNEFBQUFNQUFBQURZUEs4WXlhR2hsWVFBQUEyZ0FBQUFkQUFBQUpBTkNBYjFvYlhSNEFBQURpQUFBQUNJQUFBQWlDQmtBT0d4dlkyRUFBQU9zQUFBQUZBQUFBQlFCbkFJeWJXRjRjQUFBQThBQUFBQWZBQUFBSUFFVkFGNXVZVzFsQUFBRDRBQUFBVEFBQUFLTUZHbGo1SEJ2YzNRQUFBVVFBQUFBUmdBQUFISm9lZGpxZDJWaVpnQUFCVmdBQUFBR0FBQUFCck83VzVVQUFBQUJBQUFBQU5YdWxQVUFBQUFBMXI0aGdBQUFBQURYdTJRMWVOcGpZR1JnWU9BQllqRWdabUpnQkVJT0lHWUI4eGdBQS9ZQU4zamFZMkJrdEdPY3dNREt3TUk0alRHTmdZSEJIVXAvWlpCa2FHRmdZR0pnWldiQUNnTFNYRk1ZSEZUL2ZMakZlT0QvQVFZOXhqTU1ia0JoUnBBY0FONDhEUVlBZU5wallHQmdab0JnR1FaR0JoRHdBZklZd1h3V0JnTWd6UUdFVEF3TXFuOCs4SDY0OWY4L2xIWDkvLzliN1B6ZitmV2d1c0NBa1kwQnptVUU2Z0hwUXdHTURNTWVBQUNieGc3U0FBQVJBVVFBQUFBQi8vOEFBbmphZFpCUFNzTkFHTVhmUyt5TXFZZ09ocFN1U2xLYWRtVWhpVkVoRU1RekZGMjJtMTdCYmJ2ekNoNUJYQ1VuNkVHOGdqZVE0RGVwd1lvNGkrL2ZmTDk1ajRFREErQ0ZDN2pRdUt5SWVWSHJJM3drbGVxOUY3WHJTSW5LdGVPZUhkZGE4Yk9vYWVlcFNjMDBOV1B6L0xSZWM5RzhHYWJ5R3RFZEY3aDE5ejAzM0dBTVRLN3piTTQyeE5FWnB6WW9mMFJ0UTVDVUhBUUo3M090Vnl1dGMrM2I3T3UvL2I4WE5sc1B4M2pnalVpZkFCZGhFb2hLSkpMNWlNNXAzOXVxYzdYMStzUlFTcW1HclVWaGxzSjRscG1FVVZ3eVQ4U1VZdGcwUDlEeU56UEFERHMrdGpyR1Y2S1JDUmZzdWkzZUhjTDQvcDhaWHZmTWxjbkVVK0NMdjdoRHlrT1ArQUtUUFR4YkFBQjQybU5nWkdCZ0FHS3VmNUtQNHZsdHZqTElNekdBd0xWOWlnMGcrdnJ1RkZNUXpkakFDT0p6TUlDbEFSaDBDVEo0Mm1OZ1pHQmdQUEQvQUpEOHdnQUVqQTBNakF5b2dBTUFiT1FFQVFBQUFBQzdBQkVBQUFBQUFLb0FBQUgwQUFBQmdBQUFBVUFBQ0FGQUFBZ0F3QUFYQUFBQUFBQUFBQ29BS2dBcUFESUFiQUNHQUtBQXVnRFNlTnBqWUdSZ1lPQmtVR0ZnWWdBQkVNa0ZoQXdNL3huMFFBSUFEZFVCZEFCNDJxV1F2VW9EUVJTRnYzR2phSVNVUWF5bVNtR3hKb0dBc1JDMGlQWUxzVTUwWTZJeHJ2bFJ0UENKSktVUElCYitQSUh2NEVONGRqS3VLQXFDREhmbXUrZmVPZHdab01DVUFKTmJBbFlVTXphVWxNMTRqanhibmdPcTdIbk9pYTg5ejFQazF2TUNhOXg3enRQa3pmTXlKYlBqK1pHaTZYcCtvbXh1UEQremFEN21lYUZnN21iOEdyQnFIbWh3eG9BeGxtMHVpUmtwUDlYNW0yNnBLUm9NeFRHUjFENDlEdi9ZYi85MW82bDhxTDZldTVuMmhaUXpuNjh1dFI5bTNGVTJjQjR0OWNkU0xHMnV0SSs0NEVoL1A5YnFLTytvSi9XeG1Yc3NqNzdZa3JqYXNaUUQ2U0ZkZHl0aGszV3R6cmYrVUYycDA3NlVkbGExVk56c0VSUDNra2pWUktlbDdtcDF1ZFhZY0h0WlNsVjdSZm1KZTFHaUZXdmVsdWFlS0Q1L011SmNTazhUcG0vdnZ3UElibUpsZU5wallHS0FBRllHN0lDVGdZR1JpWkdaa1lXUmxaR05rWjJSZzVHVExUMm5zaURERUVJWnNaZm1aUnFadWptRGFEY0RBeGNJN1dJT3BTMmd0Q1dVZGdRQVprY1NtUUFBQUFGYmxiTzZBQUE9KSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBmb250LWZhbWlseTogJ0Ryb3Bkb3duJztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogMS4yM2VtO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICB3aWR0aDogYXV0bztcbn1cbi51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwZDcnO1xufVxuLyogU3ViIE1lbnUgKi9cbi51aS5kcm9wZG93biAubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMGRhJyAvKnJ0bDonXFxmMGQ5JyovO1xufVxuLnVpLmRyb3Bkb3duIC5pdGVtIC5sZWZ0LmRyb3Bkb3duLmljb246YmVmb3JlLFxuLnVpLmRyb3Bkb3duIC5sZWZ0Lm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDlcIiAvKnJ0bDpcIlxcZjBkYVwiKi87XG59XG4vKiBWZXJ0aWNhbCBNZW51IERyb3Bkb3duICovXG4udWkudmVydGljYWwubWVudSAuZHJvcGRvd24uaXRlbSA+IC5kcm9wZG93bi5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCIgLypydGw6XCJcXGYwZDlcIiovO1xufVxuLnVpLmRyb3Bkb3duID4gLmNsZWFyLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbi8qIEljb25zIGZvciBSZWZlcmVuY2UgKFN1YnNldHRlZCBpbiAyLjQuMClcbiAgLmRyb3Bkb3duLmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYwZDdcIjsgfVxuICAuZHJvcGRvd24udXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZDhcIjsgfVxuICAuZHJvcGRvd24ubGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkOVwiOyB9XG4gIC5kcm9wZG93bi5yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkYVwiOyB9XG4gIC5kcm9wZG93bi5jbG9zZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAwZFwiOyB9XG4qL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gVmlkZW9cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBWaWRlb1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNpbXBsZSAqL1xuLyogUGxhY2Vob2xkZXIgKi9cbi8qIFBsYWNlaG9sZGVyIE92ZXJsYXllZCBCYWNrZ3JvdW5kICovXG4vKiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEhvdmVyICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEFzcGVjdCBSYXRpb3MgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFZpZGVvXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRWxlbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2ltcGxlICovXG4vKiBQbGFjZWhvbGRlciAqL1xuLyogUGxhY2Vob2xkZXIgT3ZlcmxheWVkIEJhY2tncm91bmQgKi9cbi8qIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSG92ZXIgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQXNwZWN0IFJhdGlvcyAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmVtYmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjRENERERFO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLVxuICBFbWJlZGRlZCBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmVtYmVkIGlmcmFtZSxcbi51aS5lbWJlZCBlbWJlZCxcbi51aS5lbWJlZCBvYmplY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEVtYmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmVtYmVkID4gLmVtYmVkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFBsYWNlaG9sZGVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmVtYmVkID4gLnBsYWNlaG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgNDUlLCByZ2JhKDAsIDAsIDAsIDAuMykpO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5lbWJlZCA+IC5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG4udWkuZW1iZWQgPiAuaWNvbjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwJTtcbiAgbGVmdDogMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDM7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgNDUlLCByZ2JhKDAsIDAsIDAsIDAuMykpO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlO1xufVxuLnVpLmVtYmVkID4gLmljb246YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiA0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgdGV4dC1zaGFkb3c6IDBweCAycHggMTBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMik7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLCBjb2xvciAwLjVzIGVhc2U7XG4gIHotaW5kZXg6IDEwO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZW1iZWQgLmljb246aG92ZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQgNDUlLCByZ2JhKDAsIDAsIDAsIDAuMykpO1xuICBvcGFjaXR5OiAxO1xufVxuLnVpLmVtYmVkIC5pY29uOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuYWN0aXZlLmVtYmVkID4gLmljb24sXG4udWkuYWN0aXZlLmVtYmVkID4gLnBsYWNlaG9sZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5hY3RpdmUuZW1iZWQgPiAuZW1iZWQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFZpZGVvIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5zcXVhcmUuZW1iZWQge1xuICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbn1cbi51aVtjbGFzcyo9XCI0OjNcIl0uZW1iZWQge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xufVxuLnVpW2NsYXNzKj1cIjE2OjlcIl0uZW1iZWQge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuLnVpW2NsYXNzKj1cIjIxOjlcIl0uZW1iZWQge1xuICBwYWRkaW5nLWJvdHRvbTogNDIuODU3MTQyODYlO1xufVxuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gTW9kYWxcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNb2RhbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIENsb3NlIEljb24gKi9cbi8qIEhlYWRlciAqL1xuLyogQ29udGVudCAqL1xuLyogSW1hZ2UgLyBEZXNjcmlwdGlvbiAqL1xuLyogTW9kYWwgQWN0aW9ucyAqL1xuLyogSW5uZXIgQ2xvc2UgUG9zaXRpb24gKFRhYmxldC9Nb2JpbGUpICovXG4vKiBNb2JpbGUgUG9zaXRpb25zICovXG4vKiBSZXNwb25zaXZlIFdpZHRocyAqL1xuLyogQ291cGxpbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBCYXNpYyAqL1xuLyogVG9wIEFsaWduZWQgKi9cbi8qIFNjcm9sbGluZyBNYXJnaW4gKi9cbi8qIFNjcm9sbGluZyBDb250ZW50ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNpemUgV2lkdGhzICovXG4vKiBEZXJpdmVkIFJlc3BvbnNpdmUgU2l6ZXMgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1vZGFsXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQ2xvc2UgSWNvbiAqL1xuLyogSGVhZGVyICovXG4vKiBDb250ZW50ICovXG4vKiBJbWFnZSAvIERlc2NyaXB0aW9uICovXG4vKiBNb2RhbCBBY3Rpb25zICovXG4vKiBJbm5lciBDbG9zZSBQb3NpdGlvbiAoVGFibGV0L01vYmlsZSkgKi9cbi8qIE1vYmlsZSBQb3NpdGlvbnMgKi9cbi8qIFJlc3BvbnNpdmUgV2lkdGhzICovXG4vKiBDb3VwbGluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEJhc2ljICovXG4vKiBUb3AgQWxpZ25lZCAqL1xuLyogU2Nyb2xsaW5nIE1hcmdpbiAqL1xuLyogU2Nyb2xsaW5nIENvbnRlbnQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2l6ZSBXaWR0aHMgKi9cbi8qIERlcml2ZWQgUmVzcG9uc2l2ZSBTaXplcyAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNb2RhbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5tb2RhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwMTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiAxcHggM3B4IDNweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAxcHggM3B4IDE1cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDI1JTtcbiAgZmxleDogMCAwIGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuICB3aWxsLWNoYW5nZTogdG9wLCBsZWZ0LCBtYXJnaW4sIHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cbi51aS5tb2RhbCA+IDpmaXJzdC1jaGlsZDpub3QoLmljb24pLFxuLnVpLm1vZGFsID4gLmljb246Zmlyc3QtY2hpbGQgKyAqIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC4yODU3MTQyOXJlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG59XG4udWkubW9kYWwgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIENsb3NlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm1vZGFsID4gLmNsb3NlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIuNXJlbTtcbiAgcmlnaHQ6IC0yLjVyZW07XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDAuODtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xuICB3aWR0aDogMi4yNXJlbTtcbiAgaGVpZ2h0OiAyLjI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwcmVtIDByZW0gMHJlbTtcbn1cbi51aS5tb2RhbCA+IC5jbG9zZTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5tb2RhbCA+IC5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgJ+aWh+aziempm+ato+m7kScsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsICflvq7ou5/mraPpu5Hpq5QnLCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xNSk7XG59XG4udWkubW9kYWwgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzcmVtO1xuICBsaW5lLWhlaWdodDogMS4yODU3MTQyOWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5tb2RhbCA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgcGFkZGluZzogMS41cmVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLm1vZGFsID4gLmltYWdlLmNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLyogSW1hZ2UgKi9cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogJyc7XG4gIGFsaWduLXNlbGY6IHRvcDtcbn1cbi51aS5tb2RhbCA+IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXSB7XG4gIGFsaWduLXNlbGY6IHRvcDtcbn1cbi51aS5tb2RhbCA+IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSB7XG4gIGFsaWduLXNlbGY6IG1pZGRsZTtcbn1cbi51aS5tb2RhbCA+IFtjbGFzcyo9XCJzdHJldGNoZWRcIl0ge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuLyogRGVzY3JpcHRpb24gKi9cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBtaW4td2lkdGg6IDBweDtcbiAgYWxpZ24tc2VsZjogdG9wO1xufVxuLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuaWNvbiArIC5kZXNjcmlwdGlvbixcbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlICsgLmRlc2NyaXB0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIG1pbi13aWR0aDogJyc7XG4gIHdpZHRoOiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cbi8qcnRsOmlnbm9yZSovXG4udWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSA+IGkuaWNvbiB7XG4gIG1hcmdpbjogMGVtO1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogOHJlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5tb2RhbCA+IC5hY3Rpb25zIHtcbiAgYmFja2dyb3VuZDogI0Y5RkFGQjtcbiAgcGFkZGluZzogMXJlbSAxcmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udWkubW9kYWwgLmFjdGlvbnMgPiAuYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFJlc3BvbnNpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1vZGFsIFdpZHRoICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkubW9kYWwge1xuICAgIHdpZHRoOiA4OCU7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLm1vZGFsIHtcbiAgICB3aWR0aDogODUwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS5tb2RhbCB7XG4gICAgd2lkdGg6IDkwMHB4O1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gMGVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudWkubW9kYWwge1xuICAgIHdpZHRoOiA5NTBweDtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgfVxufVxuLyogVGFibGV0IGFuZCBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnVpLm1vZGFsID4gLmhlYWRlciB7XG4gICAgcGFkZGluZy1yaWdodDogMi4yNXJlbTtcbiAgfVxuICAudWkubW9kYWwgPiAuY2xvc2Uge1xuICAgIHRvcDogMS4wNTM1cmVtO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICB9XG59XG4vKiBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLm1vZGFsID4gLmhlYWRlciB7XG4gICAgcGFkZGluZzogMC43NXJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMi4yNXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5tb2RhbCA+IC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLm1vZGFsID4gLmNsb3NlIHtcbiAgICB0b3A6IDAuNXJlbSAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuICAvKnJ0bDppZ25vcmUqL1xuICAudWkubW9kYWwgLmltYWdlLmNvbnRlbnQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnVpLm1vZGFsIC5jb250ZW50ID4gLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwZW0gYXV0byAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwcmVtIDByZW0gMXJlbSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlID4gaS5pY29uIHtcbiAgICBmb250LXNpemU6IDVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC8qcnRsOmlnbm9yZSovXG4gIC51aS5tb2RhbCAuY29udGVudCA+IC5kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDFyZW0gMHJlbSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLyogTGV0IEJ1dHRvbnMgU3RhY2sgKi9cbiAgLnVpLm1vZGFsID4gLmFjdGlvbnMge1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwcmVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLm1vZGFsIC5hY3Rpb25zID4gLmJ1dHRvbnMsXG4gIC51aS5tb2RhbCAuYWN0aW9ucyA+IC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAudWkubW9kYWwge1xuICBib3gtc2hhZG93OiAxcHggM3B4IDEwcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuYmFzaWMubW9kYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4udWkuYmFzaWMubW9kYWwgPiAuaGVhZGVyLFxuLnVpLmJhc2ljLm1vZGFsID4gLmNvbnRlbnQsXG4udWkuYmFzaWMubW9kYWwgPiAuYWN0aW9ucyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnVpLmJhc2ljLm1vZGFsID4gLmhlYWRlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmJhc2ljLm1vZGFsID4gLmNsb3NlIHtcbiAgdG9wOiAxcmVtO1xuICByaWdodDogMS41cmVtO1xufVxuLnVpLmludmVydGVkLmRpbW1lciA+IC5iYXNpYy5tb2RhbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmludmVydGVkLmRpbW1lciA+IC51aS5iYXNpYy5tb2RhbCA+IC5oZWFkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qIFJlc29ydCB0byBtYXJnaW4gcG9zaXRpb25pbmcgaWYgbGVnYWN5ICovXG4udWkubGVnYWN5Lm1vZGFsLFxuLnVpLmxlZ2FjeS5wYWdlLmRpbW1lciA+IC51aS5tb2RhbCB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG59XG4udWkubGVnYWN5LnBhZ2UuZGltbWVyID4gLnVpLnNjcm9sbGluZy5tb2RhbCxcbi51aS5wYWdlLmRpbW1lciA+IC51aS5zY3JvbGxpbmcubGVnYWN5Lm1vZGFsLFxuLnVpLnRvcC5hbGlnbmVkLmxlZ2FjeS5wYWdlLmRpbW1lciA+IC51aS5tb2RhbCxcbi51aS50b3AuYWxpZ25lZC5kaW1tZXIgPiAudWkubGVnYWN5Lm1vZGFsIHtcbiAgdG9wOiBhdXRvO1xufVxuLyogVGFibGV0IGFuZCBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnVpLmJhc2ljLm1vZGFsID4gLmNsb3NlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkubG9hZGluZy5tb2RhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IC0xO1xufVxuLnVpLmFjdGl2ZS5tb2RhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFRvcCBBbGlnbmVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVG9wIEFsaWduZWQgTW9kYWwgKi9cbi5tb2RhbHMuZGltbWVyW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIC5tb2RhbCB7XG4gIG1hcmdpbjogNXZoIGF1dG87XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5tb2RhbHMuZGltbWVyW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIC5tb2RhbCB7XG4gICAgbWFyZ2luOiAxcmVtIGF1dG87XG4gIH1cbn1cbi8qIExlZ2FjeSBUb3AgQWxpZ25lZCAqL1xuLmxlZ2FjeS5tb2RhbHMuZGltbWVyW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIHtcbiAgcGFkZGluZy10b3A6IDV2aDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmxlZ2FjeS5tb2RhbHMuZGltbWVyW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgfVxufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNjcm9sbGluZyBEaW1tZXIgKi9cbi5zY3JvbGxpbmcuZGltbWFibGUuZGltbWVkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zY3JvbGxpbmcuZGltbWFibGUgPiAuZGltbWVyIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLnNjcm9sbGluZy5kaW1tYWJsZS5kaW1tZWQgPiAuZGltbWVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi5zY3JvbGxpbmcuZGltbWFibGUgPiAuZGltbWVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuLm1vZGFscy5kaW1tZXIgLnVpLnNjcm9sbGluZy5tb2RhbCB7XG4gIG1hcmdpbjogMXJlbSBhdXRvO1xufVxuLyogVW5kZXRhY2hlZCBTY3JvbGxpbmcgKi9cbi5zY3JvbGxpbmcudW5kZXRhY2hlZC5kaW1tYWJsZS5kaW1tZWQge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLnNjcm9sbGluZy51bmRldGFjaGVkLmRpbW1hYmxlLmRpbW1lZCA+IC5kaW1tZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNjcm9sbGluZy51bmRldGFjaGVkLmRpbW1hYmxlIC51aS5zY3JvbGxpbmcubW9kYWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogMXJlbSAhaW1wb3J0YW50O1xufVxuLyogU2Nyb2xsaW5nIENvbnRlbnQgKi9cbi51aS5tb2RhbCAuc2Nyb2xsaW5nLmNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDgwdmggLSAxMGVtKTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGdWxsIFNjcmVlblxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mdWxsc2NyZWVuLm1vZGFsIHtcbiAgd2lkdGg6IDk1JSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDFlbSBhdXRvO1xufVxuLnVpLmZ1bGxzY3JlZW4ubW9kYWwgPiAuaGVhZGVyIHtcbiAgcGFkZGluZy1yaWdodDogMi4yNXJlbTtcbn1cbi51aS5mdWxsc2NyZWVuLm1vZGFsID4gLmNsb3NlIHtcbiAgdG9wOiAxLjA1MzVyZW07XG4gIHJpZ2h0OiAxcmVtO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkubW9kYWwge1xuICBmb250LXNpemU6IDFyZW07XG59XG4vKiBNaW5pICovXG4udWkubWluaS5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuLyogTWluaSBNb2RhbCBXaWR0aCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkubWluaS5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkubWluaS5tb2RhbCB7XG4gICAgd2lkdGg6IDM1LjIlO1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gMGVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS5taW5pLm1vZGFsIHtcbiAgICB3aWR0aDogMzQwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS5taW5pLm1vZGFsIHtcbiAgICB3aWR0aDogMzYwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5taW5pLm1vZGFsIHtcbiAgICB3aWR0aDogMzgwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIH1cbn1cbi8qIG1pbmkgKi9cbi51aS5zbWFsbC5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IDEuM2VtO1xufVxuLyogVGlueSBNb2RhbCBXaWR0aCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWkudGlueS5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkudGlueS5tb2RhbCB7XG4gICAgd2lkdGg6IDUyLjglO1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gMGVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51aS50aW55Lm1vZGFsIHtcbiAgICB3aWR0aDogNTEwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51aS50aW55Lm1vZGFsIHtcbiAgICB3aWR0aDogNTQwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS50aW55Lm1vZGFsIHtcbiAgICB3aWR0aDogNTcwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIH1cbn1cbi8qIFNtYWxsICovXG4udWkuc21hbGwubW9kYWwgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC1zaXplOiAxLjNlbTtcbn1cbi8qIFNtYWxsIE1vZGFsIFdpZHRoICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5zbWFsbC5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkuc21hbGwubW9kYWwge1xuICAgIHdpZHRoOiA3MC40JTtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWkuc21hbGwubW9kYWwge1xuICAgIHdpZHRoOiA2ODBweDtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVpLnNtYWxsLm1vZGFsIHtcbiAgICB3aWR0aDogNzIwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5zbWFsbC5tb2RhbCB7XG4gICAgd2lkdGg6IDc2MHB4O1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gMGVtO1xuICB9XG59XG4vKiBMYXJnZSBNb2RhbCBXaWR0aCAqL1xuLnVpLmxhcmdlLm1vZGFsID4gLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMS42ZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51aS5sYXJnZS5tb2RhbCB7XG4gICAgd2lkdGg6IDk1JTtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWkubGFyZ2UubW9kYWwge1xuICAgIHdpZHRoOiA4OCU7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogMTAyMHB4O1xuICAgIG1hcmdpbjogMGVtIDBlbSAwZW0gMGVtO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWkubGFyZ2UubW9kYWwge1xuICAgIHdpZHRoOiAxMDgwcHg7XG4gICAgbWFyZ2luOiAwZW0gMGVtIDBlbSAwZW07XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC51aS5sYXJnZS5tb2RhbCB7XG4gICAgd2lkdGg6IDExNDBweDtcbiAgICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIE5hZ1xuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE5hZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIENvbGxlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaXRsZSAqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogSG92ZXIgKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUb3AgLyBCb3R0b20gKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBQbHVyYWxcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBOYWdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBDb2xsZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGl0bGUgKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEhvdmVyICovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVG9wIC8gQm90dG9tICovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgUGx1cmFsXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBOYWdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkubmFnIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMC45NTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDBlbTtcbiAgbGVmdDogMHB4O1xuICB6LWluZGV4OiA5OTk7XG4gIG1pbi1oZWlnaHQ6IDBlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwLjc1ZW0gMWVtO1xuICBiYWNrZ3JvdW5kOiAjNTU1NTU1O1xuICBib3gtc2hhZG93OiAwcHggMXB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xuICB0cmFuc2l0aW9uOiAwLjJzIGJhY2tncm91bmQgZWFzZTtcbn1cbmEudWkubmFnIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLm5hZyA+IC50aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwZW0gMC41ZW07XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLm5hZyA+IC5jbG9zZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW46IC0wLjVlbSAwZW0gMGVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEhvdmVyICovXG4udWkubmFnOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzU1NTU1NTtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS5uYWcgLmNsb3NlOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFN0YXRpY1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5vdmVybGF5Lm5hZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEZpeGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmZpeGVkLm5hZyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQm90dG9tXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmJvdHRvbS5uYWdzLFxuLnVpLmJvdHRvbS5uYWcge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDBlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgV2hpdGVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuaW52ZXJ0ZWQubmFncyAubmFnLFxuLnVpLmludmVydGVkLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0Y0RjU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLnVpLmludmVydGVkLm5hZ3MgLm5hZyAuY2xvc2UsXG4udWkuaW52ZXJ0ZWQubmFncyAubmFnIC50aXRsZSxcbi51aS5pbnZlcnRlZC5uYWcgLmNsb3NlLFxuLnVpLmludmVydGVkLm5hZyAudGl0bGUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgR3JvdXBzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLm5hZ3MgLm5hZyB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAhaW1wb3J0YW50O1xufVxuLnVpLm5hZ3MgLm5hZzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4udWkuYm90dG9tLm5hZ3MgLm5hZzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gUG9wdXBcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBQb3B1cFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFBhcnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQbGFjZW1lbnQgKi9cbi8qIEhlYWRlciAqL1xuLyogQ29udGVudCBCb3JkZXIgKi9cbi8qIEFycm93ICovXG4vKiBBcnJvdyBjb2xvciBieSBwb3NpdGlvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRvb2x0aXAgKi9cbi8qIEludmVydGVkICovXG4vKiBBcnJvdyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEdyaWQgSW5zaWRlIFBvcHVwICovXG4vKiAocGFkZGluZyAqIEBtZWRpdW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFdpZGUgKi9cbi8qIEludmVydGVkICovXG4vKiBBcnJvdyBjb2xvciBieSBwb3NpdGlvbiAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUG9wdXBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBQYXJ0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUGxhY2VtZW50ICovXG4vKiBIZWFkZXIgKi9cbi8qIENvbnRlbnQgQm9yZGVyICovXG4vKiBBcnJvdyAqL1xuLyogQXJyb3cgY29sb3IgYnkgcG9zaXRpb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUb29sdGlwICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQXJyb3cgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBHcmlkIEluc2lkZSBQb3B1cCAqL1xuLyogKHBhZGRpbmcgKiBAbWVkaXVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBXaWRlICovXG4vKiBJbnZlcnRlZCAqL1xuLyogQXJyb3cgY29sb3IgYnkgcG9zaXRpb24gKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQb3B1cFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5wb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIHJpZ2h0OiAwcHg7XG4gIC8qIEZpeGVzIGNvbnRlbnQgYmVpbmcgc3F1aXNoZWQgd2hlbiBpbmxpbmUgKG1veiBvbmx5KSAqL1xuICBtaW4td2lkdGg6IG1pbi1jb250ZW50O1xuICB6LWluZGV4OiAxOTAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDRENEQ1O1xuICBsaW5lLWhlaWdodDogMS40Mjg1ZW07XG4gIG1heC13aWR0aDogMjUwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDAuODMzZW0gMWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMHB4IDJweCAxMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnBvcHVwID4gLmhlYWRlciB7XG4gIHBhZGRpbmc6IDBlbTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgJ+aWh+aziempm+ato+m7kScsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsICflvq7ou5/mraPpu5Hpq5QnLCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLnVpLnBvcHVwID4gLmhlYWRlciArIC5jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDAuNWVtO1xufVxuLnVpLnBvcHVwOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAwLjcxNDI4NTcxZW07XG4gIGhlaWdodDogMC43MTQyODU3MWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHotaW5kZXg6IDI7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMHB4IDBweCAjYmFiYWJjO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIFRvb2x0aXBcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBDb250ZW50ICovXG5bZGF0YS10b29sdGlwXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi8qIEFycm93ICovXG5bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgZm9udC1zaXplOiAxcmVtO1xuICB3aWR0aDogMC43MTQyODU3MWVtO1xuICBoZWlnaHQ6IDAuNzE0Mjg1NzFlbTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB6LWluZGV4OiAyO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDBweCAwcHggI2JhYmFiYztcbn1cbi8qIFBvcHVwICovXG5bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBhdHRyKGRhdGEtdG9vbHRpcCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0Q0RDRENTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NWVtO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIHBhZGRpbmc6IDAuODMzZW0gMWVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMHB4IDJweCAxMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICB6LWluZGV4OiAxO1xufVxuLyogRGVmYXVsdCBQb3NpdGlvbiAoVG9wIENlbnRlcikgKi9cbltkYXRhLXRvb2x0aXBdOm5vdChbZGF0YS1wb3NpdGlvbl0pOmJlZm9yZSB7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogNTAlO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBtYXJnaW4tbGVmdDogLTAuMDcxNDI4NTdyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTQyODU3MTRyZW07XG59XG5bZGF0YS10b29sdGlwXTpub3QoW2RhdGEtcG9zaXRpb25dKTphZnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuLyogQW5pbWF0aW9uICovXG5bZGF0YS10b29sdGlwXTpiZWZvcmUsXG5bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMCkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZTtcbn1cbltkYXRhLXRvb2x0aXBdOmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZTtcbn1cbltkYXRhLXRvb2x0aXBdOmhvdmVyOmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdOmhvdmVyOmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5bZGF0YS10b29sdGlwXTpob3ZlcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMSkgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbn1cbi8qIEFuaW1hdGlvbiBQb3NpdGlvbiAqL1xuW2RhdGEtdG9vbHRpcF06YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwidG9wIGNlbnRlclwiXTphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gY2VudGVyXCJdOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDApICFpbXBvcnRhbnQ7XG59XG5bZGF0YS10b29sdGlwXTpob3ZlcjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gY2VudGVyXCJdOmhvdmVyOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDEpICFpbXBvcnRhbnQ7XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl06YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDApICFpbXBvcnRhbnQ7XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl06aG92ZXI6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdOmhvdmVyOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpICFpbXBvcnRhbnQ7XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwidG9wIGxlZnRcIl06YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwidG9wIHJpZ2h0XCJdOmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBsZWZ0XCJdOmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSByaWdodFwiXTphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCkgIWltcG9ydGFudDtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgbGVmdFwiXTpob3ZlcjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgcmlnaHRcIl06aG92ZXI6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGxlZnRcIl06aG92ZXI6YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIHJpZ2h0XCJdOmhvdmVyOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKSAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogQXJyb3cgKi9cbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdOmJlZm9yZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIEFycm93IFBvc2l0aW9uICovXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMUIxQzFEO1xufVxuLyogUG9wdXAgICovXG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXTphZnRlciB7XG4gIGJhY2tncm91bmQ6ICMxQjFDMUQ7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5bZGF0YS10b29sdGlwXVtkYXRhLWludmVydGVkXTphZnRlciAuaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUG9zaXRpb25cbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUb3AgQ2VudGVyICovXG5bZGF0YS1wb3NpdGlvbj1cInRvcCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuW2RhdGEtcG9zaXRpb249XCJ0b3AgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIG1hcmdpbi1sZWZ0OiAtMC4wNzE0Mjg1N3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC4xNDI4NTcxNHJlbTtcbn1cbi8qIFRvcCBMZWZ0ICovXG5bZGF0YS1wb3NpdGlvbj1cInRvcCBsZWZ0XCJdW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuW2RhdGEtcG9zaXRpb249XCJ0b3AgbGVmdFwiXVtkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogMWVtO1xuICBtYXJnaW4tbGVmdDogLTAuMDcxNDI4NTdyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMTQyODU3MTRyZW07XG59XG4vKiBUb3AgUmlnaHQgKi9cbltkYXRhLXBvc2l0aW9uPVwidG9wIHJpZ2h0XCJdW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuW2RhdGEtcG9zaXRpb249XCJ0b3AgcmlnaHRcIl1bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgcmlnaHQ6IDFlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjA3MTQyODU3cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjE0Mjg1NzE0cmVtO1xufVxuLyogQm90dG9tIENlbnRlciAqL1xuW2RhdGEtcG9zaXRpb249XCJib3R0b20gY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbltkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTAuMDcxNDI4NTdyZW07XG4gIG1hcmdpbi10b3A6IDAuMTQyODU3MTRyZW07XG59XG4vKiBCb3R0b20gTGVmdCAqL1xuW2RhdGEtcG9zaXRpb249XCJib3R0b20gbGVmdFwiXVtkYXRhLXRvb2x0aXBdOmFmdGVyIHtcbiAgbGVmdDogMDtcbiAgdG9wOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbn1cbltkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGxlZnRcIl1bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDFlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjA3MTQyODU3cmVtO1xuICBtYXJnaW4tdG9wOiAwLjE0Mjg1NzE0cmVtO1xufVxuLyogQm90dG9tIFJpZ2h0ICovXG5bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSByaWdodFwiXVtkYXRhLXRvb2x0aXBdOmFmdGVyIHtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG5bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSByaWdodFwiXVtkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMWVtO1xuICBtYXJnaW4tbGVmdDogLTAuMTQyODU3MTRyZW07XG4gIG1hcmdpbi10b3A6IDAuMDcxNDI4NTdyZW07XG59XG4vKiBMZWZ0IENlbnRlciAqL1xuW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOmFmdGVyIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5bZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMC4xNDI4NTcxNHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4wNzE0Mjg1N3JlbTtcbn1cbi8qIFJpZ2h0IENlbnRlciAqL1xuW2RhdGEtcG9zaXRpb249XCJyaWdodCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cbltkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgbGVmdDogMTAwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0wLjA3MTQyODU3cmVtO1xuICBtYXJnaW4tbGVmdDogMC4xNDI4NTcxNHJlbTtcbn1cbi8qIEFycm93ICovXG5bZGF0YS1wb3NpdGlvbn49XCJib3R0b21cIl1bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMHB4IDBweCAjYmFiYWJjO1xufVxuW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJveC1zaGFkb3c6IDFweCAtMXB4IDBweCAwcHggI2JhYmFiYztcbn1cbltkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgYm94LXNoYWRvdzogLTFweCAxcHggMHB4IDBweCAjYmFiYWJjO1xufVxuW2RhdGEtcG9zaXRpb25+PVwidG9wXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi8qIEludmVydGVkIEFycm93IENvbG9yICovXG5bZGF0YS1pbnZlcnRlZF1bZGF0YS1wb3NpdGlvbn49XCJib3R0b21cIl1bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMUIxQzFEO1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMHB4IDBweCAjYmFiYWJjO1xufVxuW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMxQjFDMUQ7XG4gIGJveC1zaGFkb3c6IDFweCAtMXB4IDBweCAwcHggI2JhYmFiYztcbn1cbltkYXRhLWludmVydGVkXVtkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFCMUMxRDtcbiAgYm94LXNoYWRvdzogLTFweCAxcHggMHB4IDBweCAjYmFiYWJjO1xufVxuW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtcG9zaXRpb25+PVwidG9wXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzFCMUMxRDtcbn1cbltkYXRhLXBvc2l0aW9ufj1cImJvdHRvbVwiXVtkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5bZGF0YS1wb3NpdGlvbn49XCJib3R0b21cIl1bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG59XG5bZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbn1cbltkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbn1cbltkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xufVxuW2RhdGEtcG9zaXRpb249XCJyaWdodCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnBvcHVwIHtcbiAgbWFyZ2luOiAwZW07XG59XG4vKiBFeHRlbmRpbmcgZnJvbSBUb3AgKi9cbi51aS50b3AucG9wdXAge1xuICBtYXJnaW46IDBlbSAwZW0gMC43MTQyODU3MWVtO1xufVxuLnVpLnRvcC5sZWZ0LnBvcHVwIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG59XG4udWkudG9wLmNlbnRlci5wb3B1cCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG4udWkudG9wLnJpZ2h0LnBvcHVwIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuLyogRXh0ZW5kaW5nIGZyb20gVmVydGljYWwgQ2VudGVyICovXG4udWkubGVmdC5jZW50ZXIucG9wdXAge1xuICBtYXJnaW46IDBlbSAwLjcxNDI4NTcxZW0gMGVtIDBlbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgNTAlO1xufVxuLnVpLnJpZ2h0LmNlbnRlci5wb3B1cCB7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMC43MTQyODU3MWVtO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IDUwJTtcbn1cbi8qIEV4dGVuZGluZyBmcm9tIEJvdHRvbSAqL1xuLnVpLmJvdHRvbS5wb3B1cCB7XG4gIG1hcmdpbjogMC43MTQyODU3MWVtIDBlbSAwZW07XG59XG4udWkuYm90dG9tLmxlZnQucG9wdXAge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cbi51aS5ib3R0b20uY2VudGVyLnBvcHVwIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbn1cbi51aS5ib3R0b20ucmlnaHQucG9wdXAge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFBvaW50ZXJcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBCZWxvdyAtLS0qL1xuLnVpLmJvdHRvbS5jZW50ZXIucG9wdXA6YmVmb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMwNzE0Mjg2ZW07XG4gIHRvcDogLTAuMzA3MTQyODZlbTtcbiAgbGVmdDogNTAlO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBib3gtc2hhZG93OiAtMXB4IC0xcHggMHB4IDBweCAjYmFiYWJjO1xufVxuLnVpLmJvdHRvbS5sZWZ0LnBvcHVwIHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cbi8qcnRsOnJlbmFtZSovXG4udWkuYm90dG9tLmxlZnQucG9wdXA6YmVmb3JlIHtcbiAgdG9wOiAtMC4zMDcxNDI4NmVtO1xuICBsZWZ0OiAxZW07XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIGJveC1zaGFkb3c6IC0xcHggLTFweCAwcHggMHB4ICNiYWJhYmM7XG59XG4udWkuYm90dG9tLnJpZ2h0LnBvcHVwIHtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG4vKnJ0bDpyZW5hbWUqL1xuLnVpLmJvdHRvbS5yaWdodC5wb3B1cDpiZWZvcmUge1xuICB0b3A6IC0wLjMwNzE0Mjg2ZW07XG4gIHJpZ2h0OiAxZW07XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDBweCAwcHggI2JhYmFiYztcbn1cbi8qLS0tIEFib3ZlIC0tLSovXG4udWkudG9wLmNlbnRlci5wb3B1cDpiZWZvcmUge1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IC0wLjMwNzE0Mjg2ZW07XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMwNzE0Mjg2ZW07XG59XG4udWkudG9wLmxlZnQucG9wdXAge1xuICBtYXJnaW4tbGVmdDogMGVtO1xufVxuLypydGw6cmVuYW1lKi9cbi51aS50b3AubGVmdC5wb3B1cDpiZWZvcmUge1xuICBib3R0b206IC0wLjMwNzE0Mjg2ZW07XG4gIGxlZnQ6IDFlbTtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cbi51aS50b3AucmlnaHQucG9wdXAge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cbi8qcnRsOnJlbmFtZSovXG4udWkudG9wLnJpZ2h0LnBvcHVwOmJlZm9yZSB7XG4gIGJvdHRvbTogLTAuMzA3MTQyODZlbTtcbiAgcmlnaHQ6IDFlbTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogMGVtO1xufVxuLyotLS0gTGVmdCBDZW50ZXIgLS0tKi9cbi8qcnRsOnJlbmFtZSovXG4udWkubGVmdC5jZW50ZXIucG9wdXA6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAtMC4zMDcxNDI4NmVtO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IC0wLjMwNzE0Mjg2ZW07XG4gIGJveC1zaGFkb3c6IDFweCAtMXB4IDBweCAwcHggI2JhYmFiYztcbn1cbi8qLS0tIFJpZ2h0IENlbnRlciAgLS0tKi9cbi8qcnRsOnJlbmFtZSovXG4udWkucmlnaHQuY2VudGVyLnBvcHVwOmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAtMC4zMDcxNDI4NmVtO1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAtMC4zMDcxNDI4NmVtO1xuICBib3gtc2hhZG93OiAtMXB4IDFweCAwcHggMHB4ICNiYWJhYmM7XG59XG4vKiBBcnJvdyBDb2xvciBCeSBMb2NhdGlvbiAqL1xuLnVpLmJvdHRvbS5wb3B1cDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnVpLnJpZ2h0LmNlbnRlci5wb3B1cDpiZWZvcmUsXG4udWkubGVmdC5jZW50ZXIucG9wdXA6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi51aS50b3AucG9wdXA6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbn1cbi8qIEludmVydGVkIEFycm93IENvbG9yICovXG4udWkuaW52ZXJ0ZWQuYm90dG9tLnBvcHVwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICMxQjFDMUQ7XG59XG4udWkuaW52ZXJ0ZWQucmlnaHQuY2VudGVyLnBvcHVwOmJlZm9yZSxcbi51aS5pbnZlcnRlZC5sZWZ0LmNlbnRlci5wb3B1cDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMUIxQzFEO1xufVxuLnVpLmludmVydGVkLnRvcC5wb3B1cDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMUIxQzFEO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogSW1tZWRpYXRlIE5lc3RlZCBHcmlkICovXG4udWkucG9wdXAgPiAudWkuZ3JpZDpub3QoLnBhZGRlZCkge1xuICB3aWR0aDogY2FsYygxMDAlICsgMS43NXJlbSk7XG4gIG1hcmdpbjogLTAuN3JlbSAtMC44NzVyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLmxvYWRpbmcucG9wdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAtMTtcbn1cbi51aS5hbmltYXRpbmcucG9wdXAsXG4udWkudmlzaWJsZS5wb3B1cCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLnZpc2libGUucG9wdXAge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMHB4KTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEJhc2ljXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmJhc2ljLnBvcHVwOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFdpZGVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkud2lkZS5wb3B1cCB7XG4gIG1heC13aWR0aDogMzUwcHg7XG59XG4udWlbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnBvcHVwIHtcbiAgbWF4LXdpZHRoOiA1NTBweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLndpZGUucG9wdXAsXG4gIC51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucG9wdXAge1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZmx1aWQucG9wdXAge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCBjb2xvcnMgICovXG4udWkuaW52ZXJ0ZWQucG9wdXAge1xuICBiYWNrZ3JvdW5kOiAjMUIxQzFEO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmludmVydGVkLnBvcHVwIC5oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi51aS5pbnZlcnRlZC5wb3B1cDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMUIxQzFEO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEZsb3dpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuZmxvd2luZy5wb3B1cCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkubWluaS5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LnBvcHVwIHtcbiAgZm9udC1zaXplOiAwLjg1NzE0Mjg2cmVtO1xufVxuLnVpLnNtYWxsLnBvcHVwIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzcmVtO1xufVxuLnVpLnBvcHVwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLmxhcmdlLnBvcHVwIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmh1Z2UucG9wdXAge1xuICBmb250LXNpemU6IDEuNDI4NTcxNDNyZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gUHJvZ3Jlc3MgQmFyXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBQcm9ncmVzc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVsZW1lbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEJhciAqL1xuLyogUHJvZ3Jlc3MgQmFyIExhYmVsICovXG4vKiBMYWJlbCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBBY3RpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQXR0YWNoZWQgKi9cbi8qIEludmVydGVkICovXG4vKiBTaXppbmcgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUHJvZ3Jlc3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbGVtZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBCYXIgKi9cbi8qIFByb2dyZXNzIEJhciBMYWJlbCAqL1xuLyogTGFiZWwgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQWN0aXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEF0dGFjaGVkICovXG4vKiBJbnZlcnRlZCAqL1xuLyogU2l6aW5nICovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUHJvZ3Jlc3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkucHJvZ3Jlc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAxZW0gMGVtIDIuNWVtO1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHBhZGRpbmc6IDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi51aS5wcm9ncmVzczpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbjogMGVtIDBlbSAyLjVlbTtcbn1cbi51aS5wcm9ncmVzczpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luOiAwZW0gMGVtIDEuNWVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBBY3Rpdml0eSBCYXIgKi9cbi51aS5wcm9ncmVzcyAuYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAwJTtcbiAgbWluLXdpZHRoOiAyZW07XG4gIGJhY2tncm91bmQ6ICM4ODg4ODg7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2U7XG59XG4vKiBQZXJjZW50IENvbXBsZXRlICovXG4udWkucHJvZ3Jlc3MgLmJhciA+IC5wcm9ncmVzcyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGF1dG87XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M2VtO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDAuNWVtO1xuICBsZWZ0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLyogTGFiZWwgKi9cbi51aS5wcm9ncmVzcyA+IC5sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwJTtcbiAgYm90dG9tOiBhdXRvO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBtYXJnaW4tdG9wOiAwLjJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjRzIGVhc2U7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBJbmRpY2F0aW5nICovXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMVwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjJcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEOTVDNUM7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiM1wiXSAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VGQkM3Mjtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI0XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNVwiXSAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U2QkI0ODtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2XCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRERDOTI4O1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjdcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4XCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjREOTVDO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjlcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxMDBcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NkRBODE7XG59XG4vKiBJbmRpY2F0aW5nIExhYmVsICovXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMVwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMlwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIzXCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjRcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjVcIl0gLmxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNlwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI3XCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4XCJdIC5sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjlcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjEwMFwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIFNpbmdsZSBEaWdpdHMgKi9cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjFcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjJcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjNcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjRcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjVcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjZcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjdcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjhcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjlcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEOTVDNUM7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIxXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjJcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiM1wiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI0XCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjVcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNlwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI3XCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjhcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiOVwiXSAubGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qIEluZGljYXRpbmcgU3VjY2VzcyAqL1xuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3Muc3VjY2VzcyAubGFiZWwge1xuICBjb2xvcjogIzFBNTMxQjtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTdWNjZXNzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnByb2dyZXNzLnN1Y2Nlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMUJBNDUgIWltcG9ydGFudDtcbn1cbi51aS5wcm9ncmVzcy5zdWNjZXNzIC5iYXIsXG4udWkucHJvZ3Jlc3Muc3VjY2VzcyAuYmFyOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLnVpLnByb2dyZXNzLnN1Y2Nlc3MgPiAubGFiZWwge1xuICBjb2xvcjogIzFBNTMxQjtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgV2FybmluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5wcm9ncmVzcy53YXJuaW5nIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJDMDM3ICFpbXBvcnRhbnQ7XG59XG4udWkucHJvZ3Jlc3Mud2FybmluZyAuYmFyLFxuLnVpLnByb2dyZXNzLndhcm5pbmcgLmJhcjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbi51aS5wcm9ncmVzcy53YXJuaW5nID4gLmxhYmVsIHtcbiAgY29sb3I6ICM3OTRCMDI7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEVycm9yXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnByb2dyZXNzLmVycm9yIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjREIyODI4ICFpbXBvcnRhbnQ7XG59XG4udWkucHJvZ3Jlc3MuZXJyb3IgLmJhcixcbi51aS5wcm9ncmVzcy5lcnJvciAuYmFyOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuLnVpLnByb2dyZXNzLmVycm9yID4gLmxhYmVsIHtcbiAgY29sb3I6ICM5MTJEMkI7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5hY3RpdmUucHJvZ3Jlc3MgLmJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiAyZW07XG59XG4udWkuYWN0aXZlLnByb2dyZXNzIC5iYXI6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjg1NzE0MjlyZW07XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYWN0aXZlIDJzIGVhc2UgaW5maW5pdGU7XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWFjdGl2ZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgd2lkdGg6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmRpc2FibGVkLnByb2dyZXNzIHtcbiAgb3BhY2l0eTogMC4zNTtcbn1cbi51aS5kaXNhYmxlZC5wcm9ncmVzcyAuYmFyLFxuLnVpLmRpc2FibGVkLnByb2dyZXNzIC5iYXI6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmludmVydGVkLnByb2dyZXNzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kOiAjODg4ODg4O1xufVxuLnVpLmludmVydGVkLnByb2dyZXNzIC5iYXIgPiAucHJvZ3Jlc3Mge1xuICBjb2xvcjogI0Y5RkFGQjtcbn1cbi51aS5pbnZlcnRlZC5wcm9ncmVzcyA+IC5sYWJlbCB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVpLmludmVydGVkLnByb2dyZXNzLnN1Y2Nlc3MgPiAubGFiZWwge1xuICBjb2xvcjogIzIxQkE0NTtcbn1cbi51aS5pbnZlcnRlZC5wcm9ncmVzcy53YXJuaW5nID4gLmxhYmVsIHtcbiAgY29sb3I6ICNGMkMwMzc7XG59XG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MuZXJyb3IgPiAubGFiZWwge1xuICBjb2xvcjogI0RCMjgyODtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBBdHRhY2hlZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIGJvdHRvbSBhdHRhY2hlZCAqL1xuLnVpLnByb2dyZXNzLmF0dGFjaGVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDBlbTtcbn1cbi51aS5wcm9ncmVzcy5hdHRhY2hlZCxcbi51aS5wcm9ncmVzcy5hdHRhY2hlZCAuYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMC4ycmVtO1xuICBwYWRkaW5nOiAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtO1xufVxuLnVpLnByb2dyZXNzLmF0dGFjaGVkIC5iYXIge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG4vKiB0b3AgYXR0YWNoZWQgKi9cbi51aS5wcm9ncmVzcy50b3AuYXR0YWNoZWQsXG4udWkucHJvZ3Jlc3MudG9wLmF0dGFjaGVkIC5iYXIge1xuICB0b3A6IDBweDtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbSAwLjI4NTcxNDI5cmVtIDBlbSAwZW07XG59XG4udWkucHJvZ3Jlc3MudG9wLmF0dGFjaGVkIC5iYXIge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG4vKiBDb3VwbGluZyAqL1xuLnVpLnNlZ21lbnQgPiAudWkuYXR0YWNoZWQucHJvZ3Jlc3MsXG4udWkuY2FyZCA+IC51aS5hdHRhY2hlZC5wcm9ncmVzcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnNlZ21lbnQgPiAudWkuYm90dG9tLmF0dGFjaGVkLnByb2dyZXNzLFxuLnVpLmNhcmQgPiAudWkuYm90dG9tLmF0dGFjaGVkLnByb2dyZXNzIHtcbiAgdG9wOiAxMDAlO1xuICBib3R0b206IGF1dG87XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFJlZCAqL1xuLnVpLnJlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RCMjgyODtcbn1cbi51aS5yZWQuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjY5NUU7XG59XG4vKiBPcmFuZ2UgKi9cbi51aS5vcmFuZ2UucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGMjcxMUM7XG59XG4udWkub3JhbmdlLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY4NTFCO1xufVxuLyogWWVsbG93ICovXG4udWkueWVsbG93LnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJCRDA4O1xufVxuLnVpLnllbGxvdy5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRTIxRjtcbn1cbi8qIE9saXZlICovXG4udWkub2xpdmUucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCNUNDMTg7XG59XG4udWkub2xpdmUuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNEOUU3Nzg7XG59XG4vKiBHcmVlbiAqL1xuLnVpLmdyZWVuLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjFCQTQ1O1xufVxuLnVpLmdyZWVuLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkVDQzQwO1xufVxuLyogVGVhbCAqL1xuLnVpLnRlYWwucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMEI1QUQ7XG59XG4udWkudGVhbC5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZERkZGRjtcbn1cbi8qIEJsdWUgKi9cbi51aS5ibHVlLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE4NUQwO1xufVxuLnVpLmJsdWUuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NEM4RkY7XG59XG4vKiBWaW9sZXQgKi9cbi51aS52aW9sZXQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NDM1Qzk7XG59XG4udWkudmlvbGV0LmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTI5MUZCO1xufVxuLyogUHVycGxlICovXG4udWkucHVycGxlLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTMzM0M4O1xufVxuLnVpLnB1cnBsZS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDNzNGRjtcbn1cbi8qIFBpbmsgKi9cbi51aS5waW5rLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTAzOTk3O1xufVxuLnVpLnBpbmsuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRjhFREY7XG59XG4vKiBCcm93biAqL1xuLnVpLmJyb3duLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQTU2NzNGO1xufVxuLnVpLmJyb3duLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDY3QzFDO1xufVxuLyogR3JleSAqL1xuLnVpLmdyZXkucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG59XG4udWkuZ3JleS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDRERERTtcbn1cbi8qIEJsYWNrICovXG4udWkuYmxhY2sucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxQjFDMUQ7XG59XG4udWkuYmxhY2suaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NDU0NTQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnRpbnkucHJvZ3Jlc3Mge1xuICBmb250LXNpemU6IDAuODU3MTQyODZyZW07XG59XG4udWkudGlueS5wcm9ncmVzcyAuYmFyIHtcbiAgaGVpZ2h0OiAwLjVlbTtcbn1cbi51aS5zbWFsbC5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogMC45Mjg1NzE0M3JlbTtcbn1cbi51aS5zbWFsbC5wcm9ncmVzcyAuYmFyIHtcbiAgaGVpZ2h0OiAxZW07XG59XG4udWkucHJvZ3Jlc3Mge1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkucHJvZ3Jlc3MgLmJhciB7XG4gIGhlaWdodDogMS43NWVtO1xufVxuLnVpLmxhcmdlLnByb2dyZXNzIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0cmVtO1xufVxuLnVpLmxhcmdlLnByb2dyZXNzIC5iYXIge1xuICBoZWlnaHQ6IDIuNWVtO1xufVxuLnVpLmJpZy5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOXJlbTtcbn1cbi51aS5iaWcucHJvZ3Jlc3MgLmJhciB7XG4gIGhlaWdodDogMy41ZW07XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUHJvZ3Jlc3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBSYXRpbmdcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBSYXRpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFN0YW5kYXJkICovXG4vKiBTdGFyICovXG4vKiBIZWFydCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQYWNrYWdlZCBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBSYXRpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVHlwZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFN0YW5kYXJkICovXG4vKiBTdGFyICovXG4vKiBIZWFydCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFN0YXRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBWYXJpYXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBSYXRpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkucmF0aW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi51aS5yYXRpbmc6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuLyogSWNvbiAqL1xuLnVpLnJhdGluZyAuaWNvbiB7XG4gIHBhZGRpbmc6IDBlbTtcbiAgbWFyZ2luOiAwZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmbGV4OiAxIDAgYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMS4yNWVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xcyBlYXNlLCBiYWNrZ3JvdW5kIDAuMXMgZWFzZSwgdGV4dC1zaGFkb3cgMC4xcyBlYXNlLCBjb2xvciAwLjFzIGVhc2U7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTdGFuZGFyZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW5hY3RpdmUgSWNvbiAqL1xuLnVpLnJhdGluZyAuaWNvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cbi8qIEFjdGl2ZSBJY29uICovXG4udWkucmF0aW5nIC5hY3RpdmUuaWNvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbn1cbi8qIFNlbGVjdGVkIEljb24gKi9cbi51aS5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkucmF0aW5nIC5pY29uLnNlbGVjdGVkLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGFyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbmFjdGl2ZSAqL1xuLnVpLnN0YXIucmF0aW5nIC5pY29uIHtcbiAgd2lkdGg6IDEuMjVlbTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuLyogQWN0aXZlIFN0YXIgKi9cbi51aS5zdGFyLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGRTYyMyAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogMHB4IC0xcHggMHB4ICNEREM1MDcsIC0xcHggMHB4IDBweCAjRERDNTA3LCAwcHggMXB4IDBweCAjRERDNTA3LCAxcHggMHB4IDBweCAjRERDNTA3ICFpbXBvcnRhbnQ7XG59XG4vKiBTZWxlY3RlZCBTdGFyICovXG4udWkuc3Rhci5yYXRpbmcgLmljb24uc2VsZWN0ZWQsXG4udWkuc3Rhci5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRkNDMDAgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IDBweCAtMXB4IDBweCAjRTZBMjAwLCAtMXB4IDBweCAwcHggI0U2QTIwMCwgMHB4IDFweCAwcHggI0U2QTIwMCwgMXB4IDBweCAwcHggI0U2QTIwMCAhaW1wb3J0YW50O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhlYXJ0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuaGVhcnQucmF0aW5nIC5pY29uIHtcbiAgd2lkdGg6IDEuNGVtO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIEFjdGl2ZSBIZWFydCAqL1xuLnVpLmhlYXJ0LnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogI0ZGNkQ3NSAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogMHB4IC0xcHggMHB4ICNDRDA3MDcsIC0xcHggMHB4IDBweCAjQ0QwNzA3LCAwcHggMXB4IDBweCAjQ0QwNzA3LCAxcHggMHB4IDBweCAjQ0QwNzA3ICFpbXBvcnRhbnQ7XG59XG4vKiBTZWxlY3RlZCBIZWFydCAqL1xuLnVpLmhlYXJ0LnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5oZWFydC5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNGRjMwMDAgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IDBweCAtMXB4IDBweCAjQUEwMTAxLCAtMXB4IDBweCAwcHggI0FBMDEwMSwgMHB4IDFweCAwcHggI0FBMDEwMSwgMXB4IDBweCAwcHggI0FBMDEwMSAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogZGlzYWJsZWQgcmF0aW5nICovXG4udWkuZGlzYWJsZWQucmF0aW5nIC5pY29uIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBVc2VyIEludGVyYWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWxlY3RlZCBSYXRpbmcgKi9cbi51aS5yYXRpbmcuc2VsZWN0ZWQgLmFjdGl2ZS5pY29uIHtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS5yYXRpbmcuc2VsZWN0ZWQgLmljb24uc2VsZWN0ZWQsXG4udWkucmF0aW5nIC5pY29uLnNlbGVjdGVkIHtcbiAgb3BhY2l0eTogMTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5taW5pLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMC43ODU3MTQyOXJlbTtcbn1cbi51aS50aW55LnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMC44NTcxNDI4NnJlbTtcbn1cbi51aS5zbWFsbC5yYXRpbmcge1xuICBmb250LXNpemU6IDAuOTI4NTcxNDNyZW07XG59XG4udWkucmF0aW5nIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLnVpLmxhcmdlLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMS4xNDI4NTcxNHJlbTtcbn1cbi51aS5odWdlLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMS40Mjg1NzE0M3JlbTtcbn1cbi51aS5tYXNzaXZlLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdSYXRpbmcnO1xuICBzcmM6IHVybChkYXRhOmFwcGxpY2F0aW9uL3gtZm9udC10dGY7Y2hhcnNldD11dGYtODtiYXNlNjQsQUFFQUFBQUxBSUFBQXdBd1QxTXZNZ2dqQ0JzQUFBQzhBQUFBWUdOdFlYQ2oycG04QUFBQkhBQUFBS1JuWVhOd0FBQUFFQUFBQWNBQUFBQUlaMng1WmxKYlhNWUFBQUhJQUFBUm5HaGxZV1FCR0FlNUFBQVRaQUFBQURab2FHVmhBK0lCL1FBQUU1d0FBQUFrYUcxMGVDemdBRU1BQUJQQUFBQUFjR3h2WTJFd1hDeE9BQUFVTUFBQUFEcHRZWGh3QUNJQW5BQUFGR3dBQUFBZ2JtRnRaZkMxbjA0QUFCU01BQUFCUEhCdmMzUUFBd0FBQUFBVnlBQUFBQ0FBQXdJQUFaQUFCUUFBQVV3QlpnQUFBRWNCVEFGbUFBQUE5UUFaQUlRQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEeFpRSGcvK0QvNEFIZ0FDQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFDQUFBQUF3QUFBQlFBQXdBQkFBQUFGQUFFQUpBQUFBQWdBQ0FBQkFBQUFBRUFJT1lGOEFid0RmQWo4Qzd3YnZCdzhJcndsL0NjOFNQeFpmLzkvLzhBQUFBQUFDRG1BUEFFOEF6d0kvQXU4Rzd3Y1BDSDhKZnduUEVqOFdULy9mLy9BQUgvNHhvRUVBWVFBUS9zRCtJUG93K2lENHdQZ0E5OER2WU90Z0FEQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFILy93QVBBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFBQUFBQUFBQUFBQUFnQUFOemtCQUFBQUFBSUFBUC90QWdBQjB3QUtBQlVBQUFFdkFROEJGd2MzRnljM0JRYzNKejhCSHdFSEZ5Y0NBTEZQVDdHQUhwNmVIb0QvQUhBV1czMDRPSDFiRm5BQkdScWdvQnA4c0ZOVHNIeXlPbnhZRW5GeEVsaDhPZ0FBQUFBQ0FBRC83UUlBQWRNQUNnQVNBQUFCTHdFUEFSY0hOeGNuTndVeEVSOEJCeGNuQWdDeFQwK3hnQjZlbmg2QS93QTRmVnNXY0FFWkdxQ2dHbnl3VTFPd2ZMSUJIWEVTV0h3NkFBQUFBUUFBLyswQ0FBSFRBQW9BQUFFdkFROEJGd2MzRnljM0FnQ3hUMCt4Z0I2ZW5oNkFBUmthb0tBYWZMQlRVN0I4QUFBQUFBRUFBQUFBQWdBQndBQXJBQUFCRkE0Q0J6RUhEZ01qSWk0Q0x3RXVBelUwUGdJek1oNENGejRETXpJZUFoVUNBQWNNRWd1Z0Jnd01EQVlHREF3TUJxQUxFZ3dIRnlnMkhoQWZHeGtLQ2hrYkh4QWVOaWdYQVMwUUh4c1pDcUFHQ3drR0JRa0xCcUFLR1JzZkVCNDJLQmNIREJJTEN4SU1CeGNvTmg0QUFBQUFBZ0FBQUFBQ0FBSEFBQ3NBV0FBQUFUUXVBaU1pRGdJSExnTWpJZzRDRlJRZUFoY3hGeDRETXpJK0FqOEJQZ00xRHdFaUZDSUdNVEFtSWpRakp5NEROVFErQWpNeUhnSWZBVGMrQXpNeUhnSVZGQTRDQndJQUZ5ZzJIaEFmR3hrS0Noa2JIeEFlTmlnWEJ3d1NDNkFHREF3TUJnWU1EQXdHb0FzU0RBZGJvZ0VCQVFFQkFhSUdDZ2NFRFJjZUVRa1JFQTRHTHk4R0RoQVJDUkVlRncwRUJ3b0dBUzBlTmlnWEJ3d1NDd3NTREFjWEtEWWVFQjhiR1FxZ0Jnc0pCZ1VKQ3dhZ0Noa2JIeEErb2dFQkFRR2lCZzRRRVFrUkhoY05CQWNLQmpRMEJnb0hCQTBYSGhFSkVSQU9CZ0FCQUFBQUFBSUFBY0FBTVFBQUFSUU9BZ2N4Qnc0REl5SXVBaThCTGdNMU5ENENNekllQWhjSEZ3YzNKemMrQXpNeUhnSVZBZ0FIREJJTG9BWU1EQXdHQmd3TURBYWdDeElNQnhjb05oNEtGUk1TQ0M5d1FMQndKd1VKQ2drRkhqWW9Gd0V0RUI4YkdRcWdCZ3NKQmdVSkN3YWdDaGtiSHhBZU5pZ1hBd1VJQlV0QW9NQkFPd0VDQVFFWEtEWWVBQUFCQUFBQUFBSUFBYmNBS2dBQUV6UTNOak15RnhZWEZoY1dGelkzTmpjMk56WXpNaGNXRlJRUEFRWWpJaThCSmljbUp5WW5KaWNtTlFBa0pVQVJFeElRRUFzTUNnb01DeEFRRWhNUlFDVWtRYklHQndjR3NnTUZCUXNLQ1FrR0J3RXhQeU1rQmdZTENna0tDZ29LQ1FvTEJnWWtJejgvUWF3RkJhd0NCZ1VORGc0T0ZSUVRBQUFBQVFBQUFBMEIyd0hTQUNZQUFCTTBQd0kyRnpZZkFoWVZGQThCRnhRVkZBY0dCeVl2QVFjR0J5WW5KalUwUHdFbkpqVUFFSTlCQlFrSUJrQ1BFQWRvR1FNREJnVUdnSUVHQlFZREF3RVlhQWNCSXdzQ0ZvRU1BUUVNZ1JZQ0N3WUlaSkFCQlFVRkF3RUJBa1ZGQWdFQkF3VUZBd09RWkFrRkFBQUFBQUlBQUFBTkFkc0IwZ0FrQUM0QUFCTTBQd0kyRnpZZkFoWVZGQThCRnhRVkZBY21Md0VIQmdjbUp5WTFORDhCSnlZMUh3RUhOeGNuTnk4QkJ3QVFqMEVGQ1FnR1FJOFFCMmdaREFVR2dJRUdCUVlEQXdFWWFBYy9XQlZzYXhSWGVEWTJBU01MQWhhQkRBRUJESUVXQWdzR0NHU1FBUVVOQVFFQ1JVVUNBUUVEQlFVREE1QmtDUVVSVlhnNE9IaFZFVzV1QUFBQkFDTUFLUUhkQVh3QUdnQUFOelEvQVRZWE5oOEJOellYTmg4QkZoVVVEd0VHQnlZdkFTWTFJd2dtQ0F3TENGUzhDQXNNQ0NZSUNQVUlEQXNJamdqU0N3a21DUUVCQ1ZTN0NRRUJDU1lKQ2cwSDlnY0JBUWVQQnd3QUFBRUFId0FmQVhNQmN3QXNBQUEzTkQ4Qkp5WTFORDhCTmpNeUh3RTNOak15SHdFV0ZSUVBBUmNXRlJRUEFRWWpJaThCQndZaklpOEJKalVmQ0ZSVUNBZ25DQXdMQ0ZSVUNBd0xDQ2NJQ0ZSVUNBZ25DQXNNQ0ZSVUNBc01DQ2NJWWdzSVZGUUlEQXNJSndnSVZGUUlDQ2NJQ3d3SVZGUUlDd3dJSndnSVZGUUlDQ2NJREFBQUFBQUNBQUFBSlFGSkFiY0FId0FyQUFBM05UUTNOanNCTlRRM05qTXlGeFlkQVRNeUZ4WWRBUlFIQmlNaElpY21OVGN6TlRRbkppTWlCd1lkQVFBSUNBc0tKU1kxTkNZbUNRc0lDQWdJQy83dEN3Z0lXNU1XRlI0ZkZSWkFwUXNJQ0RjMEppWW1KalEzQ0FnTHBRc0lDQWdJQzhBM0hoWVZGUlllTndBQUFRQUFBQWNCYmdHM0FDRUFBRGNSTkRjMk56WXpJVElYRmhjV0ZSRVVCd1lIQmlNaUx3RUhCaU1pSnlZbkpqVUFCZ1VLQmdZQkxBWUdDZ1VHQmdVS0JRY09DbjUrQ2c0R0Jnb0ZCaWNCY0FvSUNBTURBd01JQ0FyK2tBb0lDQVFDQ1hsNUNRSUVDQWdLQUFBQUF3QUFBQ1VDQUFGdUFCZ0FNUUJLQUFBM05EYzJOell6TWhjV0Z4WVZGQWNHQndZaklpY21KeVkxTXhZWEZqTXlOelkzSmljV0ZSUUhCaU1pSnlZMU5EY0dCemNVRnhZek1qYzJOVFEzTmpNeU56WTFOQ2NtSXlJSEJoVUFCaWhEUkV0TFJFTW9CZ1lvUTBSTFMwUkRLQVlsSmprNVEwTTVPU1lyUVJFbUpUVTFKU1lSUVN1RUJBUUdCZ1FFRVJFWkJnUUVCQVFHSkJrYXlRb0tRU2dvS0NoQkNnb0tDa0VvSnljb1FRb0tPaU1qSXlNNlJDRWVJalVtSlNVbU5TSWVJVVFsQmdRRUJBUUdHQklSQkFRR0JnUUVHaG9qQUFBQUJRQUFBQWtDQUFHSkFDd0FPQUJSQUdnQWNBQUFOelEzTmpjMk16SVhOell6TWhjV0Z4WVhGaGNXRnhZVkZERUdCd1lQQVFZaklpY21OVFEzSmljbUp5WTFNeFlYTnlZbkpqVTBOd1lITnhRWEZqTXlOelkxTkRjMk16STNOalUwSnlZaklnY0dGUmMzTmpjMk55WW5OeFlYRmhjV0ZSUUhCZ2NHQndZalB3RVdGUlFIQmdjQUJpdEJRVTBaR2hBREJRRUVCQVVGQkFVRUJRRUVIanc4SGc0REJRUWlCUTBwSXlJWkJpVXZTeFlaRGc0UlFTdUVCQVFHQmdRRUVSRVpCZ1FFQkFRR0pCa2FWeFU5TXpRaUlEQVNHeGtaRUFZR0N4UXJPRGsvTGxBQ0Z4WWx5UXNKUXljbkJSd0VBZ0VEQXdJREF3SUJBd1VDTm14c05oa0ZGQU1GQkJVVEhoOG5DUXRLSVNnU0hCc2ZJaDRoUkNVR0JBUUVCQVlZRWhFRUJBWUdCQVFhR2lQSkpRVWlJall6SVNBU0doa2JDZ29LQ2hJWE1Sc2JVWkFOQ3lnaElBOEFBQU1BQUFBQUFiY0Iyd0E1QUVvQWxBQUFOelUwTnpZN0FUWTNOamMyTnpZM05qYzJNeklYRmhjV0ZSUUhNeklYRmhVVUJ4WVZGQWNVRlJRSEZnY0dLd0VpSnlZbkppc0JJaWNtTlRjVUZ4WXpNamMyTlRRbkppTWlCd1lWRnpNeUZ4WVhGaGNXRnhZWEZoY1dPd0V5TlRRbk5qYzJOVFFuTmpVMEp5WW5OamMyTlRRbkppc0JORGMyTlRRbkppTUdCd1lIQmdjR0J3WUhCZ2NHQndZSEJnY0dCd1lyQVJVQUN3b1FUZ29kRVE0R0JBTUZCZ3dMRHhnVEV3b0tEak1kRmhZT0Fnb1JBUmtaS0NVYkd4c2pJUVpTRUFvTEpRVUZDQWNHQlFVR0J3Z0ZCVWtKQkFVRkJBUUhCd01EQndjQ1BDVWpOd0lKQlFVRkR3TURCQWtHQmdzTERtVU9EZ29KR3dnREF3WUZEQVlRQVFVR0F3UUdCZ1lGQmdVR0JnUUpTYmNQQ3dzR0poVVBDQkVSRXhNTUNna0pGQlFoR3h3V0ZSNFpGUW9LRmhNR0JoMFdLQmNYQmdjTURBb0xEeElIQlFZR0JRY0lCUVlHQlFnU0FRRUJBUUlDQVFFREFnRVVMd2dJQlFvTENnc0pEaFFIQ1FrRUFRME5DZzhMQ3hBZEhSRWNEUTRJRUJFVEV3MEdGQUVIQndVRUNBZ0ZCUVVGQWdPM0FBQURBQUQvMndHM0FiY0FQQUJOQUprQUFEYzFORGMyT3dFeU56WTNOanNCTWhjV0J4VVdGUlFWRmhVVUJ4WVZGQWNHS3dFV0ZSUUhCZ2NHSXlJbkppY21KeVluSmljbUp5WW5JeUluSmpVM0ZCY1dNekkzTmpVMEp5WWpJZ2NHRlJjek1oY1dGeFlYRmhjV0Z4WVhGaGNXRnhZWEZoY1dGekkzTmpVMEp5WTFNekkzTmpVMEp5WWpOamMyTlRRbk5qVTBKeVluTmpVMEp5WXJBU0lISWdjR0J3WUhCZ2NHSXdZckFSVUFDd29RVWdZaEpSc2JIaUFvR1JrQkVRb0NEaFlXSFRNT0Nnb1RFeGdQQ3dvRkJnSUJCQU1GRGhFZENrNFFDZ3NsQlFVSUJ3WUZCUVlIQ0FVRlNRa0VCZ1lGQmdVR0JnWUVBd1lGQVJBR0RBVUdBd01JR3drS0RnNWxEZ3NMQmdZSkJBTUREd1VGQlFrQ0RnNFpKU1U4QWdjSEF3TUhCd1FFQlFVRUNiZTNEd3NLREF3SEJoY1dKd0lXSFFZR0V4WUtDaFVaSGhZVkhSb2lFeFFKQ2dzSkRnNE1EQXdOQmc0V0pRY0xDdytrQndVR0JnVUhDQVVHQmdVSXBBTUNCUVlGQlFjSUJBVUhCd0lUQnd3VEV4RVJCdzBPSEJFZEhSQUxDdzhLRFEwRkNRa0hGQTRKQ3dvTENnVUlDQmdNQ3hVREFnRUJBZ01CQVFHM0FBQUFBUUFBQUEwQTdnSFNBQlFBQUJNMFB3STJGeEVIQmdjbUp5WTFORDhCSnlZMUFCQ1BRUVVKZ1FZRkJnTURBUmhvQndFakN3SVdnUXdCL29ORkFnRUJBd1VGQXdPUVpBa0ZBQUFBQUFJQUFBQUFBZ0FCdHdBcUFGa0FBQk0wTnpZek1oY1dGeFlYRmhjMk56WTNOamMyTXpJWEZoVVVEd0VHSXlJdkFTWW5KaWNtSnlZbkpqVXpGQjhCTnpZMU5DY21KeVluSmljbUl5SUhCZ2NHQndZSEJpTWlKeVluSmljbUp5WWpJZ2NHQndZSEJnY0dGUUFrSlVBUkV4SVFFQXNNQ2dvTUN4QVFFaE1SUUNVa1FiSUdCd2NHc2dNRkJRc0tDUWtHQnlVMXBxWTFCZ1lKQ2c0TkRnMFBEaElSRGc4S0NnY0ZDUWtGQndvS0R3NFJFZzRQRFE0TkRnb0pCZ1lCTVQ4akpBWUdDd29KQ2dvS0Nna0tDd1lHSkNNL1AwR3NCUVdzQWdZRkRRNE9EaFVVRXpBMW9KODJNQmNTRWdvTEJnY0NBZ2NIQ3dzS0NRZ0hCd2dKQ2dzTEJ3Y0NBZ2NHQ3dvU0VoY0FBQUFDQUFBQUJ3RnVBYmNBSVFBb0FBQTNFVFEzTmpjMk15RXlGeFlYRmhVUkZBY0dCd1lqSWk4QkJ3WWpJaWNtSnlZMVB3RWZBUkVoRVFBR0JRb0dCZ0VzQmdZS0JRWUdCUW9GQnc0S2ZuNEtEZ1lHQ2dVR0paSVplZjdjSndGd0NnZ0lBd01EQXdnSUN2NlFDZ2dJQkFJSmVYa0pBZ1FJQ0FvSWpSbDBBV1ArblFBQUFBQUJBQUFBSlFIYkFiY0FNZ0FBTnpVME56WTdBVFUwTnpZek1oY1dIUUVVQndZckFTSW5KajBCTkNjbUl5SUhCaDBCTXpJWEZoMEJGQWNHSXlFaUp5WTFBQWdJQzhBbUpqUTFKaVVGQlFnU0NBVUZGaFVmSGhVV0hBc0lDQWdJQy83dEN3Z0lRS1VMQ0FnM05TVW1KaVUxU1FnRkJnWUZDRWtlRmhVVkZoNDNDQWdMcFFzSUNBZ0lDd0FBQUFJQUFRQU5BZHNCMGdBaUFDMEFBQk0yUHdJMk16SWZBaFlYRmc4QkZ4WUhCaU1pTHdFSEJpTWlKeVkvQVNjbU54OENMd0UvQVM4Q0V3RURESkJBQmdnSkJVR09EZ0lEQ21jWUFnUUNDQU1JZjRJRkJnWUVBZ0VaYVFnQzdoQmJFZ0lOU25rSUxnRUJKZ2dDRllJTEM0SVZBZ2dJQ1dXUENnVUZBMFJFQXdVRkNvOWxDUWlwQ1RCbUV3MUhFaEZjL3UwQUFBQURBQUFBQUFISkFiY0FGQUFsQUhrQUFEYzFORGMyT3dFeUZ4WWRBUlFIQmlzQklpY21OVGNVRnhZek1qYzJOVFFuSmlNaUJ3WVZGelUwTnpZek5qYzJOelkzTmpjMk56WTNOamMyTnpZM05qTXlGeFlYRmhjV0Z4WVhGaFVVRlJRSEJnY0dCeFFIQmdjR0J6TXlGeFlWRkFjV0ZSWUhGZ2NHQnhZSEJnY2pJaWNtSnlZbkppY2lKeVkxQUFVR0IxTUhCUVlHQlFkVEJ3WUZKUVVGQ0FjR0JRVUdCd2dGQldRRkJRZ0dEdzhPRkFrRkJBUUJBUU1DQVFJRUJBWUZCdzRLQ2djSEJRUUNBd0VCQWdNREFnWUNBZ0lCQVU4WEVCQVFCUUVPQlFVRUN3TVJFaVlsRXhZWERBd1dKQW9IQlFZM3R3Y0dCUVVHQjdjSUJRVUZCUWdrQndZRkJRWUhDQVVHQmdVSUpMY0hCUVlCRUJBVEdRa0ZDUWdHQlF3TEJnY0lDUVVHQXdNRkJBY0hCZ1lJQ1FRRUJ3c0xDd1lHQ2dJREJBTUNCQkVRRmhrU0RBb1ZFaEFSRUFzZ0ZCVUJCQVVFQkFjTUFRVUZDQUFBQUFBREFBRC8yd0hKQVpJQUZBQWxBSGtBQURjVUZ4WVhOeFkzTmowQk5DY21CeWNHQndZZEFUYzBOelkzRmhjV0ZSUUhCaWNHSnlZMUZ6VTBOelkzRmpjMk56WTNOamNYTmhjV0J4WVhGZ2NXQnhRSEZoVVVCd1lISnhZWEZoY1dGUllYRmhjV0ZSUVZGQWNHQndZSEJnY0dCd1luQmljbUp5WW5KaWNtSnlZbkppY21KeVluSmljaUp5WTFBQVVHQjFNSEJRWUdCUWRUQndZRkpRVUZDQWNHQlFVR0J3Z0ZCV1FHQlFjS0pCWU1EQmNXRXlVbUVoRURDd1FGQlE0QkJSQVFFQmRQQVFFQ0FnSUdBZ01EQWdFQkF3SUVCUWNIQ2dvT0J3VUdCQVFDQVFJREFRRUVCQVVKRkE0UER3WUlCUVdsQndZRkFRRUJCd1FKdFFrRUJ3RUJBUVVHQjdlVEJ3WUVBUUVFQmdjSkJBWUJBUVlFQ1pTNEJ3WUVBZ0VOQndVQ0JnTUJBUUVYRXlFSkVoQVJFQmNJRGhBYUZoRVBBUUVGQWdRQ0JRRUxCUWNLREFrSUJBVUhDZ1VHQndnREJnSUVBUUVIQlFrSUJ3VU1Dd2NFQ2djR0NSb1JFUThDQmdRSUFBQUFBUUFBQUFFQUFKdGg1N2RmRHp6MUFBc0NBQUFBQUFEUC9HT0RBQUFBQU0vOFk0TUFBUC9iQWdBQjJ3QUFBQWdBQWdBQUFBQUFBQUFCQUFBQjRQL2dBQUFDQUFBQUFBQUNBQUFCQUFBQUFBQUFBQUFBQUFBQUFBQUFIQUFBQUFBQUFBQUFBQUFBQUFFQUFBQUNBQUFBQWdBQUFBSUFBQUFDQUFBQUFnQUFBQUlBQUFBQ0FBQUFBZHdBQUFIY0FBQUNBQUFqQVpNQUh3RkpBQUFCYmdBQUFnQUFBQUlBQUFBQ0FBQUFBZ0FBQUFFQUFBQUNBQUFBQVc0QUFBSGNBQUFCM0FBQkFkd0FBQUhjQUFBQUFBQUFBQW9BRkFBZUFFb0FjQUNLQU1vQlFBR0lBY3dDQ2dKVUFvSUN4Z01FQXpvRHBnUktCUmdGN0FZU0JwZ0cyZ2NnQjJvSUdBak9BQUFBQVFBQUFCd0FtZ0FGQUFBQUFBQUNBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQTRBcmdBQkFBQUFBQUFCQUF3QUFBQUJBQUFBQUFBQ0FBNEFRQUFCQUFBQUFBQURBQXdBSWdBQkFBQUFBQUFFQUF3QVRnQUJBQUFBQUFBRkFCWUFEQUFCQUFBQUFBQUdBQVlBTGdBQkFBQUFBQUFLQURRQVdnQURBQUVFQ1FBQkFBd0FBQUFEQUFFRUNRQUNBQTRBUUFBREFBRUVDUUFEQUF3QUlnQURBQUVFQ1FBRUFBd0FUZ0FEQUFFRUNRQUZBQllBREFBREFBRUVDUUFHQUF3QU5BQURBQUVFQ1FBS0FEUUFXZ0J5QUdFQWRBQnBBRzRBWndCV0FHVUFjZ0J6QUdrQWJ3QnVBQ0FBTVFBdUFEQUFjZ0JoQUhRQWFRQnVBR2R5WVhScGJtY0FjZ0JoQUhRQWFRQnVBR2NBVWdCbEFHY0FkUUJzQUdFQWNnQnlBR0VBZEFCcEFHNEFad0JHQUc4QWJnQjBBQ0FBWndCbEFHNEFaUUJ5QUdFQWRBQmxBR1FBSUFCaUFIa0FJQUJKQUdNQWJ3Qk5BRzhBYndCdUFDNEFBd0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE9PSkgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JrOVVWRThBQUJjVUFBb0FBQUFBRnN3QUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJEUmtZZ0FBQUE5QUFBRXVFQUFCTGhvNlR2SUU5VEx6SUFBQlBZQUFBQVlBQUFBR0FJSXdnYlkyMWhjQUFBRkRnQUFBQ2tBQUFBcEtQYW1ieG5ZWE53QUFBVTNBQUFBQWdBQUFBSUFBQUFFR2hsWVdRQUFCVGtBQUFBTmdBQUFEWUJHQWU1YUdobFlRQUFGUndBQUFBa0FBQUFKQVBpQWYxb2JYUjRBQUFWUUFBQUFIQUFBQUJ3TE9BQVEyMWhlSEFBQUJXd0FBQUFCZ0FBQUFZQUhGQUFibUZ0WlFBQUZiZ0FBQUU4QUFBQlBQQzFuMDV3YjNOMEFBQVc5QUFBQUNBQUFBQWdBQU1BQUFFQUJBUUFBUUVCQjNKaGRHbHVad0FCQWdBQkFEcjRIQUw0R3dQNEdBUWVDZ0FaVS8rTGl4NEtBQmxULzR1TERBZUxadmlVK0hRRkhRQUFBUDBQSFFBQUFRSVJIUUFBQUFrZEFBQVMyQklBSFFFQkJ3MFBFUlFaSGlNb0xUSTNQRUZHUzFCVldsOWthVzV6ZUgyQ2g0eHlZWFJwYm1keVlYUnBibWQxTUhVeGRUSXdkVVUyTURCMVJUWXdNWFZGTmpBeWRVVTJNRE4xUlRZd05IVkZOakExZFVZd01EUjFSakF3TlhWR01EQTJkVVl3TUVOMVJqQXdSSFZHTURJemRVWXdNa1YxUmpBMlJYVkdNRGN3ZFVZd09EZDFSakE0T0hWR01EZzVkVVl3T0VGMVJqQTVOM1ZHTURsRGRVWXhNak4xUmpFMk5IVkdNVFkxQUFBQ0FZa0FHZ0FjQWdBQkFBUUFCd0FLQUEwQVZnQ1dBTDBCQWdHTUFlUUNid0x3QTRjRDVRUjBCUU1GZGdaZ0I4TUprUXR4QzdvTTJRMWpEZ2dPbVJBWUVacjhsQTc4bEE3OGxBNzdsQTc0bFBldEZmdEZwVHozTkR6N05QdEZjZmNVK3hCdCswVDNNdDczTWpodDkwVDNGUGNRQmZ1VSswWVYrd1JSb2ZjUU1PUDNFWjNEOXdYRCt3WDNFWGt3TTZIN0VQc0V4UVVPK0pUM3JSWDdSYVU4OXpROCt6VDdSWEgzRlBzUWJmdEU5ekxlOXpJNGJmZEU5eFQzRUFYN2xQdEdGWXVMaS9leHcvc0Y5eEY1TURPaCt4RDdCTVVGRHZpVTk2MFYrMFdsUFBjMFBQczArMFZ4OXhUN0VHMzdSUGN5M3ZjeU9HMzNSUGNVOXhBRkR2aVU5OEVWaTJCNFpHNXdDSXVMK3pUN05BVjdlM3Q3ZTR0N2kzdWJlNXNJK3pUM05BVnVwbml5aTdhTDNNM04zSXUyaTdKNHBtNm1xTEtldG92Y2k4MUppem9JRHZpVTk4RVZpOXhKelRxTFlJdGtlSEJ1Y0toa25tQ0xPb3RKU1lzNmkyQ2VaS2h3Q0l1TDl6VDdOQVdiZTV0N200dWJpNXVibTVzSTl6VDNOQVdvcHA2eWk3WUlNRTBWK3piN05nV0tpb3FLaW91S2k0cU1pb3dJK3piM05nVjZtNEdoaTZPTHViQ3d1WXVqaTZHQm0zb0l1bGU2dndXYm5LR1ZvNHU1aTdCbWkxMkxjNEYxZW5zSUR2aVU5OEVWaTJCNFpHNXdDSXVMK3pUN05BVjdlM3Q3ZTR0N2kzdWJlNXNJK3pUM05BVnVwbml5aTdhTDNNM04zSXVuaTZXRG9YNElYRUQzQkV0TCt6VDNSUGRVK3dUTHNzWUZsNDZZalppTDNJdk5TWXM2Q0E2TDk4VVZpN1dYcktPaW82T3RsN2FMbG91WGlaaUhsNGVXaFphRWxvU1VoWktGazRTU2haS0VrcEtTa1pPU2twR1VrWmFTQ0phU2xwR1hqNWlQbDQyV2k3YUxyWCtqYzZOMGwycUxZWXRoZFdCZ1lBajdSdnRBQlllSWg0bUdpNGFMaDQySGpnajdSdmRBQlltTmlZMkhqNGlPaHBHRGxJU1VoWldGbElXVmhwYUhtWWFZaVppTG1BZ09aNHYzdHhXTGtwQ1BsbzBJOXlPZ3pQY1dCWTZTa0krUmk1Q0xrSWVQaEFqTCt4YjNJM1lGbG9tUWg0dUVpNGFKaDRhR0NDTW1wUHNqQll1S2k0bUxpSXVIaW9pSmlJbUlpSXFIaTRpTGg0eUhqUWo3Rk0vN0ZVY0ZoNG1IaW9pTGg0dUlqSW1PaVk2S2pvdVBpNHlMall5T0NLUDNJeVB3QllhUWlaQ0xqd2dPWjR2M3R4V0xrcENQbG8wSTl5T2d6UGNXQlk2U2tJK1JpNUNMa0llUGhBakwreGIzSTNZRmxvbVFoNHVFaTRhSmg0YUdDQ01tcFBzakJZdUtpNG1MaUl1Q2g0YURpNGlMaDR5SGpRajdGTS83RlVjRmg0bUhpb2lMaDR1SWpJbU9pWTZLam91UGk0eUxqWXlPQ0tQM0l5UHdCWWFRaVpDTGp3aktlUlhqTjNiN0RmY0F4UFpTZC9jTjR0LzdESjFWOXdGVit3RUZEcTczWmhXTGs0MlJrWkVJc2JJRmtaQ1JqcE9Ma291U2lKQ0dDTjgyOTFEM1VBV1FrSktPa291VGk1R0lrWVlJc1dRRmtZYU5oSXVFaTRPSmhZV0ZDUHVKKzRrRmhZV0ZpWU9MaEl1RWpZYVJDUHNpOXlJRmhaQ0prb3VTQ0E3N0FhcnRGWXVTanBLUWtBamYzemZmQllhUWlKS0xrNHVTanBLUWtBaXlzZ1dSa0pHT2s0dVNpNUtJa0lZSTN6ZmYzd1dRa0pLT2s0dVNpNUtJa0lZSXNtUUZrSWFPaEl1RWk0T0loSWFHQ0RjMzN6Y0ZrSWFPaEl1RWk0T0loWWFGQ0dSa0JZYUdoSWlFaTRPTGhJNkdrQWczM3pjM0JZYUdoSWlFaTRPTGhZNkZrQWhrc2dXR2tZaVJpNU1JRHZ0TGk4c1ZpL2M1Qll1U2pwS1FrSkNRa282U2l3aVZpNHZDQll1dWw2bWtwS1NrcXBpdWk2NkxxWDZrY3FSeW1HMkxhQWlMVkpTTEJaS0xrb2lRaHBDR2pvU0xoQWlMK3prRmk0T0loWWFHaG9XRWlZU0xDUHVuaXdXRWk0U05ocEdHa0lpUmk1TUk1dmRVRmZjbmk0dkNCWXVmaEp4OG1uMlplcEozaTNhTGVvUjlmWDE4ZzNxTGR3aUxWQVVPK3lhTHNoV0wrQVFGaTVHTmtZK1JqcENRajVLTmo0MlBqSStMQ1BmQWl3V1BpNCtLajRtUmlaQ0hqNGFQaFkyRmk0VUlpL3dFQll1RWlZV0hob2VHaG9lRmlJaUtob3FIaTRHTGhJNkVrUWo3RXZjTit4TDdEUVdFaFlPSWdvdUhpNGVMaDQyRWpvYVBpSkNIa0ltUmk1SUlEb3YzWFJXTGtvMlJqNUtsdHErdnVLVzRwYnVadll1OWk3dDl1SEc0Y2E5bnBXQ1BoSTJGaTRTTGhZbUVoNFJ4WUdkb1huQUlYbkZiZmxtTFdZdGJtRjZsWHFabnJuRzJoNUtKa291UkNMQ0xGYVJrcTJ5eGRMRjB0SCs0aTdpTHRKZXhvckdpcTZxa3NtNjRaNjFnb1paM2tYYUxkSXRuZm0xeWNuSnliWDlvaXdob2kyMlhjcVJ5cEg2cGk2K0xvcEdnbHA5Z2RXZHBibDRJOXhpd0ZZdUhqSWlPaUk2SWpvcVBpNCtMam95T2pvMk9qWTZMajR1YmtKbVhsNWVXbVpHYmk0K0xqb3lPam8yT2pZNkxqd2lMajRtT2lZNklqWWlOaDR0emkzZUNlbnA2ZW9KM2kzTUlEb3YzWFJXTGtvMlNqNUdvdUsrdXRxVzNwYnFZdm91Y2k1eUpuSWdJbTZjRmpZNk5qSStMakl1Tmk0MkpqWXFPaW8rSmpvbU9pWTZLam9tT2lZNkpqb3FOaW95S2pvbU1pWXVIaTRxTGlvdUxDSGRuYlZWalEyTkRiVlYzWndoOWNnV0ppSWlKaUl1SmkzNlNkSmlJalltT2k0NkxqWStVbEpsdmwzS2NkSjkwb0hlaWU2V0hrWW1TaTVJSXNJc1ZxbHEwWjcxMUNLR3pCWHFYZnBxQ25vS2RocDZMb0l1aWthQ1duMkIxWjJsdVhnajNHTEFWaTRlTWlJNklqb2lPaW8rTGo0dU9qSTZPalk2TmpvdVBpNXVRbVplWGw1YVprWnVMajR1T2pJNk9qWTZOam91UENJdVBpWTZKam9pTmlJMkhpM09MZDRKNmVucDZnbmVMY3dqaSsxMFZvTEFGdEkrd21LMmhycUtucUtLdmRxMXdwMnVoQ0oyckJaMS9uSHljZXB4Nm1IcVdlWStFallXTGhJdUVpWVdIaElSL2dIMStmRzlxYVhKbWVXVjVZNEpoaXdpNTNCWGI5eVFGaklLTWc0dUVpM0NEYzN4MWZIVjNmSE9CQ0E2TDFCV0w5MHNGaTVXUGxKS1NrcEtUajVhTENObUxCWktQbUpxZXBKYVpsWmVWbFkrUWo1T05sNDJXanBlT21JK1lrWldUazVPU2s0NlZpNXVMbVlpWWhaaUZsSUdTZmdpU2ZvNTVpM1dMZVlkNWdYZ0l2b3NGbjR1Y2hKbDhtbjJTZW90M2kzcUdmSUo5allTTGhZdUVpM3lJZm9SK2k0ZUxoNHVIaTNlR2VuOTlpM0NEZG50OENIdDhkWU53aXdobWl3VjVpM21OZVk5NWtIZVJjNU4xazM2UGg0c0lPWXNGZ0l1RGpvU1NoSktIbEl1VkNMQ2RGWXVHakllUGlJK0hqNG1RaTVDTGo0MlBqNDZPalkrTGtJdVFpWkNJam9lUGg0MkdpNGFMaDRtSGg0ZUlpb2FMaGdqVWVSV1Vpd1dOaTQ2TGo0cU9pNCtLallxT2k0K0tqNG1RaW82S2pZcU5pbytLajRtUWlvNktqSXF6ZnF1RXBJc0lyb3NGcjR1ZW1vdXJpNUNLa1lxUWtZNlFrSTZTanBLTmtvdVNpNUtKa29pUmxaV1Fsb3VZaTVDS2tJbVJpWkdKajRpT0NKR01rSStQbEkrVWpaS0xrb3VWaUpPRGs0U1NnbytDaXdnbWl3V0xscENhbEo2VW5wQ2JpNWFMbm9pWWhKU0ZsSCtRZVl1R2hvZURpWUNKZjRoL2gzK0lmb1dCZzRLSGg0U0NnSDRJaTRxSWlZaUdoNGFJaDRtSWlJaUloNGVHaDRhSGg0ZUhpSWlIaUllSGlJaUhpSWVLaDRtSWlvaUxDSUtMaS90TEJRNkw5MHNWaS9kTEJZdVZqNU9TazVLU2s0Nldpd2pkaXdXUGk1aVBvWk9razZDUm5aQ2RqNTZObjRzSXE0c0Zwb3VnZzV4OG0zeVRkNHR4Q0l1SkJaZDhrSHVMZDR1SGk0ZUxoNUoram42TGZJdUVpNFNKaFpSOWtIeUxlb3QzaEhwOGZIMTllb1IzaXdoWWl3V1ZlSTk1aTNtTGRJaDZoSDZFZm9LQmZvVitoWDJIZTR1Qmk0T1BnNUtGa1lhVGg1U0hsWWlUaXBPS2s0cVRpSk1JaVpTSWtZaVBnWlNCbDRDYWVLUittb1NQQ0QyTEJZQ0xnNCtFa29TU2g1U0xsUWl3OXpnVmk0YU1oNCtJajRlUGlaQ0xrSXVQalkrUGpvNk5qNHVRaTVDSmtJaU9oNCtIallhTGhvdUhpWWVIaDRpS2hvdUdDTlQ3T0JXVWl3V09pNDZLajRtUGlvK0lqb2lQaDQrSWpvZVBpSStIajRhUGhvNkhqb2lOaUk2SGo0YU9obzZJaTRxV2ZwS0RqNFlJazRPUmdZNStqMzZPZ0kxL2pZQ1BnNUNHbll1WGo1R1VrcFNPbVl1ZWk1YUdtb0tmZ3A2R21vdVdDUENMQlpTTGxJK1NrcE9UanBPTGxZdVNpWktIbEllVWhvK0ZpNDZQalkrTmtZMlJqSkNMa0l1WWhwYUJsWTZSalpLTGtnaUxrb21TaUpLSWtvYVFoWTZNa0l5Umk1Q0xtNGFYZ3BPQmtuNlBlNHNJWm9zRmNvdHJoR045aW91SWlvYUpoNHFIaW9tS2lZcUlpb2FLaDRtSGlvaUtpWXVIaW9pTGg0cUlpNG1MQ0lLTGkvdExCUTc3bEl2M3R4V0xrcENQbG8wSTl5T2d6UGNXQlk2U2tJK1Jpd2lML0JMN0ZVY0ZoNG1IaW9pTGg0dUlqSW1PaVk2S2pvdVBpNHlMall5T0NLUDNJeVB3QllhUWlaQ0xqd2dPaS9mRkZZdTFsNnlqb3FPanJaZTJpNWFMbDRtWWg1ZUhsb1dXaEphRWxJV1NoWk9Fa29XU2hKS1NrcEdUa3BLUmxKR1drZ2lXa3BhUmw0K1lqNWVObG91Mmk2MS9vM09qZEpkcWkyR0xZWFZnWUdBSSswYjdRQVdIaUllSmhvdUdpNGVOaDQ0SSswYjNRQVdKalltTmg0K0lqb2FSZzVTRWxJV1ZoWlNGbFlhV2g1bUdtSW1ZaTVnSXNJc1ZpMnVjYWE5b0NQYzYrelQzT3ZjekJhK3ZuSzJMcTR1YmlaaUhsNGVYaHBTRmtvU1NnNUdDajRLUWdvMkNqWU9OZ1l1Qmk0S0xnSWwvaG9DR2dJV0NoQWlCZzRPRmhJU0VoWWFGaG9hSWhvYUpoWXVGaTRhTmlKQ0drSWFSaEpHRWtvT1JnWk9Da29DUmdKQi9rSUNOZ29zSWdZdUJpNE9KZ29tQ2lZS0dnb2VEaFlTRWhZU0dnb2QvaDMrSmZvdDdDQTc3Sm91eUZZdjRCQVdMa1kyUmo1R09rSkNQa28yUGpZK01qNHNJOThDTEJZK0xqNHFQaVpHSmtJZVBobytGallXTGhRaUwvQVFGaTRTSmhZZUdoNGFHaDRXSWlJcUdpb2VMZ1l1RWpvU1JDUHNTOXczN0V2c05CWVNGZzRpQ2k0ZUxoNHVIallTT2hvK0lrSWVRaVpHTGtnaXdreFgzSnZjaHBITDNEZnNJaS9mMys3aUxpL3YzQlE1bmk4c1ZpL2M1Qll1U2pwS1FrSkNRa282U2l3ajNWSXVMd2dXTHJwaXBwS1NrcEttWXJvdXZpNmwrcEhLa2NwZHRpMmdJaTBJRmk0YUtob2VJaDRlSGlZYUxDSG1MQllhTGg0MkhqNGVPaXBDTGtBaUwxQVdMbjRPY2ZacDltWHFTZG90M2kzcUVmWDE4ZklSNmkzY0lpMVNuaXdXU2k1S0lrSWFRaG82RWk0UUlpL3M1Qll1RGlJV0dob2FGaEltRWl3ajdwNHNGaEl1RWpZYVJocENJa1l1VENBNW5qUGU2Rll5UWtJNlVqUWozSTZETTl4WUZqNUtQajVHTGtJdVFoNCtFQ012N0Z2Y2pkZ1dVaVpDSWpZYU5ob2lGaFlVSUl5YWsreU1GaklXS2hvbUhpWWlJaVlhTGlJdUhqSWVOQ1BzVXovc1ZSd1dIaVllS2lJdUhpNGVOaVk2Smo0dVFqSkVJby9jakkvQUZoWkdKa1kyUUNQZUIrejBWbklMbFczcnhpSjZabU5UUyt3eWRncHhlNTR2N3B3VU9aNHZDRll2M1N3V0xrSTJQam8rUGpvK05rSXNJM29zRmtJdVBpWTZJajRlTmg0dUdDSXY3U3dXTGhvbUhoNGVJaDRlS2hvc0lPSXNGaG91SGpJZVBpSStKajR1UUNMQ3ZGWXVHakllUGg0NklrSW1RaTVDTGo0MlBqbzZQalkrTGtJdVFpWkNJam9lUGg0MkdpNGFMaG9tSWg0ZUlpb2FMaGdqdlp4V0w5MHNGaTVDTmo0Nk9qNCtQalpDTGo0eVNrSldXbFphVmw1U1htSnVWbDVHUmpvNk9rSTZSalpDTmtJeVBqSTZNa1kyVENJeVNqSkdNajR5UGpaQ09rWTZSanBDUGpvNlBqNDJRaTVTTGs0cVNpWktKa1lpUGlKQ0lqb2lQaG82R2pZZU1od2lOaDR5R2pJYU1oWXVIaTRpTGlJdUhpNGVMZzR1RWlZU0poSW1GaVllSmg0bUZoNFdMaW9xSmlvbUppSXFKaW9rSWk0cUtpSXFKQ05xTEJacUxtSVdXZ0phQWtIK0xmSXQ2aG4yQWY0NkRqWVNMaEl0OWgzNkNmNCtCaTMrSGdJbUFoWUtFaEkxMmhubUFmZ2gvZlhpRGNvc0lab3NGZm90K2pIeU9mSTUvam9PT2c0MS9qMzJRYzVOOGo0U01ob3VIallpT2g0K0pqNHVRQ0E1bmkvYzVGWXVHallhT2lJK0hqNG1RaXdqZWl3V1FpNCtOam8rUGpvMlFpNUFJaS9kS0JZdVFpWkNIam9pUGg0Mkdpd2c0aXdXR2k0ZUpoNGVJaUltR2k0WUlpL3RLQmJEM0poV0xrSXlQajQrT2pwQ05rSXVRaTQrSmo0aU9oNDJIaTRhTGhvbUhpSWVIaDRlS2hvdUdpNGFNaUkrSGo0cVBpNUFJNy9zbkZZdjNTd1dMa0kyUWo0Nk9qNCtOa0l1U2k1cVBvNU9aa0plUGs0NlRqWmVPbW82YWpwaU1tSXNJc0lzRnBJdWVnNWQ5bG42UWVvbDFrb1NSZ28yQWo0Q0xnSWVBbEgrUGZvdDlpNFdKaElpQ2xvQ1FmSXQ3aTN5RmZvR0FDSUNBZm9aOGl3Zzhpd1dNaUl5Smk0bU1pWXlKalltTWlJeUtpNG1QaEkyR2pZZU5oNDJHallPTWhJeUVpNFNMaG91SGk0aUxpWXVHaW9ZSWlvV0tob21IaW9lSmg0aUdoNGVJaDRhSWg0aUZpSVNKaEltRGlvS0xob3VIallpUGg0K0lqNGlSaUpHSmtJcVBDSXFQaXBHS2tvbVRpcEdLajRxT2laQ0prWWlRaUpDSWpvV1NnWlorbklLWGdaYUJsb0dXaEpHSGk0YUxoNDJIandpSWpvbVFpNDhJRHZpVUZQaVVGWXNNQ2dBQUFBQURBZ0FCa0FBRkFBQUJUQUZtQUFBQVJ3Rk1BV1lBQUFEMUFCa0FoQUFBQUFBQUFBQUFBQUFBQUFBQUFBRVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBUEZsQWVELzRQL2dBZUFBSUFBQUFBRUFBQUFBQUFBQUFBQUFBQ0FBQUFBQUFBSUFBQUFEQUFBQUZBQURBQUVBQUFBVUFBUUFrQUFBQUNBQUlBQUVBQUFBQVFBZzVnWHdCdkFOOENQd0x2QnU4SER3aXZDWDhKenhJL0ZsLy8zLy93QUFBQUFBSU9ZQThBVHdEUEFqOEM3d2J2Qnc4SWZ3bC9DYzhTUHhaUC85Ly84QUFmL2pHZ1FRQmhBQkQrd1A0ZytqRDZJUGpBK0FEM3dPOWc2MkFBTUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBZi8vQUE4QUFRQUFBQUVBQUpyVmxMSmZEenoxQUFzQ0FBQUFBQURQL0dPREFBQUFBTS84WTRNQUFQL2JBZ0FCMndBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFCNFAvZ0FBQUNBQUFBQUFBQ0FBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUhBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQ0FBQUFBZ0FBQUFJQUFBQUNBQUFBQWdBQUFBSUFBQUFDQUFBQUFkd0FBQUhjQUFBQ0FBQWpBWk1BSHdGSkFBQUJiZ0FBQWdBQUFBSUFBQUFDQUFBQUFnQUFBQUVBQUFBQ0FBQUFBVzRBQUFIY0FBQUIzQUFCQWR3QUFBSGNBQUFBQUZBQUFCd0FBQUFBQUE0QXJnQUJBQUFBQUFBQkFBd0FBQUFCQUFBQUFBQUNBQTRBUUFBQkFBQUFBQUFEQUF3QUlnQUJBQUFBQUFBRUFBd0FUZ0FCQUFBQUFBQUZBQllBREFBQkFBQUFBQUFHQUFZQUxnQUJBQUFBQUFBS0FEUUFXZ0FEQUFFRUNRQUJBQXdBQUFBREFBRUVDUUFDQUE0QVFBQURBQUVFQ1FBREFBd0FJZ0FEQUFFRUNRQUVBQXdBVGdBREFBRUVDUUFGQUJZQURBQURBQUVFQ1FBR0FBd0FOQUFEQUFFRUNRQUtBRFFBV2dCeUFHRUFkQUJwQUc0QVp3QldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREFBY2dCaEFIUUFhUUJ1QUdkeVlYUnBibWNBY2dCaEFIUUFhUUJ1QUdjQVVnQmxBR2NBZFFCc0FHRUFjZ0J5QUdFQWRBQnBBRzRBWndCR0FHOEFiZ0IwQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCSkFHTUFid0JOQUc4QWJ3QnVBQzRBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT0pIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4udWkucmF0aW5nIC5pY29uIHtcbiAgZm9udC1mYW1pbHk6ICdSYXRpbmcnO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8qIEVtcHR5IFN0YXIgKi9cbi51aS5yYXRpbmcgLmljb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwNSc7XG59XG4vKiBBY3RpdmUgU3RhciAqL1xuLnVpLnJhdGluZyAuYWN0aXZlLmljb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwNSc7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3RhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVW5maWxsZWQgU3RhciAqL1xuLnVpLnN0YXIucmF0aW5nIC5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDUnO1xufVxuLyogQWN0aXZlIFN0YXIgKi9cbi51aS5zdGFyLnJhdGluZyAuYWN0aXZlLmljb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwNSc7XG59XG4vKiBQYXJ0aWFsICovXG4udWkuc3Rhci5yYXRpbmcgLnBhcnRpYWwuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDA2Jztcbn1cbi51aS5zdGFyLnJhdGluZyAucGFydGlhbC5pY29uIHtcbiAgY29udGVudDogJ1xcZjAwNSc7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSGVhcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEVtcHR5IEhlYXJ0XG4udWkuaGVhcnQucmF0aW5nIC5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwOGEnO1xufVxuKi9cbi51aS5oZWFydC5yYXRpbmcgLmljb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwNCc7XG59XG4vKiBBY3RpdmUgKi9cbi51aS5oZWFydC5yYXRpbmcgLmFjdGl2ZS5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDQnO1xufVxuLyohXG4gKiAjIFNlbWFudGljIFVJIC0gU2VhcmNoXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTZWFyY2hcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTZWFyY2ggUHJvbXB0ICovXG4vKiBNb2JpbGUgKi9cbi8qIFJlc3VsdCBCb3ggKi9cbi8qIFJlc3VsdCAqL1xuLyogUmVzdWx0IEltYWdlICovXG4vKiBSZXN1bHQgQ29udGVudCAqL1xuLyogRGVzY3JpcHRpb24gKi9cbi8qIFByaWNlICovXG4vKiBTcGVjaWFsIE1lc3NhZ2UgKi9cbi8qIEFsbCBSZXN1bHRzIExpbmsgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb2N1cyAqL1xuLyogSG92ZXIgKi9cbi8qIExvYWRpbmcgKi9cbi8qIEFjdGl2ZSBDYXRlZ29yeSAqL1xuLyogQWN0aXZlIFJlc3VsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU2VsZWN0aW9uICovXG4vKiBDYXRlZ29yeSAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTZWFyY2hcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTZWFyY2ggUHJvbXB0ICovXG4vKiBNb2JpbGUgKi9cbi8qIFJlc3VsdCBCb3ggKi9cbi8qIFJlc3VsdCAqL1xuLyogUmVzdWx0IEltYWdlICovXG4vKiBSZXN1bHQgQ29udGVudCAqL1xuLyogRGVzY3JpcHRpb24gKi9cbi8qIFByaWNlICovXG4vKiBTcGVjaWFsIE1lc3NhZ2UgKi9cbi8qIEFsbCBSZXN1bHRzIExpbmsgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBGb2N1cyAqL1xuLyogSG92ZXIgKi9cbi8qIExvYWRpbmcgKi9cbi8qIEFjdGl2ZSBDYXRlZ29yeSAqL1xuLyogQWN0aXZlIFJlc3VsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU2VsZWN0aW9uICovXG4vKiBDYXRlZ29yeSAqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTZWFyY2hcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkuc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnVpLnNlYXJjaCA+IC5wcm9tcHQge1xuICBtYXJnaW46IDBlbTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI4NTcxZW07XG4gIHBhZGRpbmc6IDAuNjc4NTcxNDNlbSAxZW07XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm94LXNoYWRvdzogMGVtIDBlbSAwZW0gMGVtIHRyYW5zcGFyZW50IGluc2V0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgZWFzZSwgY29sb3IgMC4xcyBlYXNlLCBib3gtc2hhZG93IDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbn1cbi51aS5zZWFyY2ggLnByb21wdCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5zZWFyY2ggLnByb21wdCB+IC5zZWFyY2guaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBSZXN1bHRzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDAlO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIHdpZHRoOiAxOGVtO1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAwcHggcmdiYSgzNCwgMzYsIDM4LCAwLjEyKSwgMHB4IDJweCAxMHB4IDBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDRENEQ1O1xuICB6LWluZGV4OiA5OTg7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwLjI4NTcxNDI5cmVtIDAuMjg1NzE0MjlyZW07XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUmVzdWx0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogMC44NTcxNDI4NmVtIDEuMTQyODU3MTRlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbn1cbi8qIEltYWdlICovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuaW1hZ2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiA1ZW07XG4gIGhlaWdodDogM2VtO1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBJbmZvXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLmltYWdlICsgLmNvbnRlbnQge1xuICBtYXJnaW46IDBlbSA2ZW0gMGVtIDBlbTtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC50aXRsZSB7XG4gIG1hcmdpbjogLTAuMTQyODU3MTRlbSAwZW0gMGVtO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCAn5paH5rOJ6amb5q2j6buRJywgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywgJ+W+rui7n+ato+m7kemrlCcsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAucHJpY2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGNvbG9yOiAjMjFCQTQ1O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIE1lc3NhZ2Vcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAubWVzc2FnZSB7XG4gIHBhZGRpbmc6IDFlbSAxZW07XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAubWVzc2FnZSAuaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgJ+aWh+aziempm+ato+m7kScsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsICflvq7ou5/mraPpu5Hpq5QnLCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAubWVzc2FnZSAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4vKiBWaWV3IEFsbCBSZXN1bHRzICovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiAuYWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGM0Y0RjU7XG4gIHBhZGRpbmc6IDAuOTI4NTcxNDNlbSAxZW07XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5zZWFyY2ggPiAucHJvbXB0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAzNiwgMzgsIDAuMzUpO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmxvYWRpbmcuc2VhcmNoIC5pbnB1dCA+IGkuaWNvbjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMGVtIDBlbSAtMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS5sb2FkaW5nLnNlYXJjaCAuaW5wdXQgPiBpLmljb246YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0wLjY0Mjg1NzE0ZW0gMGVtIDBlbSAtMC42NDI4NTcxNGVtO1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICBoZWlnaHQ6IDEuMjg1NzE0MjllbTtcbiAgYW5pbWF0aW9uOiBidXR0b24tc3BpbiAwLjZzIGxpbmVhcjtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHJlbTtcbiAgYm9yZGVyLWNvbG9yOiAjNzY3Njc2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDAuMmVtO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0OmhvdmVyLFxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI0Y5RkFGQjtcbn1cbi51aS5zZWFyY2ggLmFjdGlvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNFMEUwRTA7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5LmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNGM0Y0RjU7XG59XG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5LmFjdGl2ZSA+IC5uYW1lIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdC5hY3RpdmUsXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5IC5yZXN1bHQuYWN0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgzNCwgMzYsIDM4LCAwLjEpO1xuICBiYWNrZ3JvdW5kOiAjRjNGNEY1O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQuYWN0aXZlIC50aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQuYWN0aXZlIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaXNhYmxlZCAqL1xuLnVpLmRpc2FibGVkLnNlYXJjaCB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNDU7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTZWxlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuc2VhcmNoLnNlbGVjdGlvbiAucHJvbXB0IHtcbiAgYm9yZGVyLXJhZGl1czogMC4yODU3MTQyOXJlbTtcbn1cbi8qIFJlbW92ZSBpbnB1dCAqL1xuLnVpLnNlYXJjaC5zZWxlY3Rpb24gPiAuaWNvbi5pbnB1dCA+IC5yZW1vdmUuaWNvbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiAnJztcbiAgdG9wOiAwZW07XG4gIHJpZ2h0OiAwZW07XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjFzIGVhc2U7XG59XG4udWkuc2VhcmNoLnNlbGVjdGlvbiA+IC5pY29uLmlucHV0ID4gLmFjdGl2ZS5yZW1vdmUuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC44O1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi51aS5zZWFyY2guc2VsZWN0aW9uID4gLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGljb25cIl0pID4gLmljb24gfiAucmVtb3ZlLmljb24ge1xuICByaWdodDogMS44NTcxNGVtO1xufVxuLnVpLnNlYXJjaC5zZWxlY3Rpb24gPiAuaWNvbi5pbnB1dCA+IC5yZW1vdmUuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGNvbG9yOiAjREIyODI4O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENhdGVnb3J5XG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmNhdGVnb3J5LnNlYXJjaCAucmVzdWx0cyB7XG4gIHdpZHRoOiAyOGVtO1xufVxuLnVpLmNhdGVnb3J5LnNlYXJjaCAucmVzdWx0cy5hbmltYXRpbmcsXG4udWkuY2F0ZWdvcnkuc2VhcmNoIC5yZXN1bHRzLnZpc2libGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cbi8qIENhdGVnb3J5ICovXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5IHtcbiAgZGlzcGxheTogdGFibGUtcm93O1xuICBiYWNrZ3JvdW5kOiAjRjNGNEY1O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZSwgYm9yZGVyLWNvbG9yIDAuMXMgZWFzZTtcbn1cbi8qIExhc3QgQ2F0ZWdvcnkgKi9cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG4vKiBGaXJzdCAvIExhc3QgKi9cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnk6Zmlyc3QtY2hpbGQgLm5hbWUgKyAucmVzdWx0IHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDAuMjg1NzE0MjlyZW0gMGVtIDBlbTtcbn1cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnk6bGFzdC1jaGlsZCAucmVzdWx0Omxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDAuMjg1NzE0MjlyZW0gMGVtO1xufVxuLyogQ2F0ZWdvcnkgUmVzdWx0IE5hbWUgKi9cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgPiAubmFtZSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aWR0aDogMTAwcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LWZhbWlseTogJ0xhdG8nLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCAn5paH5rOJ6amb5q2j6buRJywgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywgJ+W+rui7n+ato+m7kemrlCcsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbiAgcGFkZGluZzogMC40ZW0gMWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi8qIENhdGVnb3J5IFJlc3VsdCAqL1xuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0cyB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgzNCwgMzYsIDM4LCAwLjE1KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDM2LCAzOCwgMC4xKTtcbn1cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgLnJlc3VsdCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAzNiwgMzgsIDAuMSk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlLCBib3JkZXItY29sb3IgMC4xcyBlYXNlO1xuICBwYWRkaW5nOiAwLjg1NzE0Mjg2ZW0gMS4xNDI4NTcxNGVtO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBMZWZ0IC8gUmlnaHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uc2VhcmNoID4gLnJlc3VsdHMge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMCU7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5zZWFyY2ggPiAucmVzdWx0cyB7XG4gIHJpZ2h0OiAwJTtcbiAgbGVmdDogYXV0bztcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5mbHVpZC5zZWFyY2ggLnJlc3VsdHMge1xuICB3aWR0aDogMTAwJTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLm1pbmkuc2VhcmNoIHtcbiAgZm9udC1zaXplOiAwLjc4NTcxNDI5ZW07XG59XG4udWkuc21hbGwuc2VhcmNoIHtcbiAgZm9udC1zaXplOiAwLjkyODU3MTQzZW07XG59XG4udWkuc2VhcmNoIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG4udWkubGFyZ2Uuc2VhcmNoIHtcbiAgZm9udC1zaXplOiAxLjE0Mjg1NzE0ZW07XG59XG4udWkuYmlnLnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMS4yODU3MTQyOWVtO1xufVxuLnVpLmh1Z2Uuc2VhcmNoIHtcbiAgZm9udC1zaXplOiAxLjQyODU3MTQzZW07XG59XG4udWkubWFzc2l2ZS5zZWFyY2gge1xuICBmb250LXNpemU6IDEuNzE0Mjg1NzFlbTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1vYmlsZVxuLS0tLS0tLS0tLS0tLS0tKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVpLnNlYXJjaCAucmVzdWx0cyB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMnJlbSk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBTaGFwZVxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5cbuKWiOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4pWXICAg4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWXXG7ilZrilZDilZDilojilojilZTilZDilZDilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ1cbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4pWU4paI4paI4paI4paI4pWU4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilojilojilojilojilojilZdcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWR4pWa4paI4paI4pWU4pWd4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilZrilZDilZDilZDilZDilojilojilZFcbiAgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRIOKVmuKVkOKVnSDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZFcbiAgIOKVmuKVkOKVnSAgIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ1cblxuKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIFRoZW1lIFNlbGVjdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFRvIG92ZXJyaWRlIGEgdGhlbWUgZm9yIGFuIGluZGl2aWR1YWwgZWxlbWVudFxuICAgc3BlY2lmeSB0aGVtZSBuYW1lIGJlbG93XG4qL1xuLyogR2xvYmFsICovXG4vKiBFbGVtZW50cyAqL1xuLyogQ29sbGVjdGlvbnMgKi9cbi8qIE1vZHVsZXMgKi9cbi8qIFZpZXdzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRm9sZGVyc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhdGggdG8gdGhlbWUgcGFja2FnZXMgKi9cbi8qIFBhdGggdG8gc2l0ZSBvdmVycmlkZSBmb2xkZXIgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBJbXBvcnQgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBJbXBvcnQgRGlyZWN0aXZlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgVGhlbWVcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2l0ZSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0IHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogUGFja2FnZWQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBDb21wb25lbnQncyBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFNpdGUgdGhlbWUgc2l0ZS52YXJpYWJsZXMgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuIENvbXBvbmVudCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEZWZhdWx0ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFNoYXBlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQW5pbWF0aW5nICovXG4vKiBTaWRlICovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEN1YmUgKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFNoYXBlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQW5pbWF0aW5nICovXG4vKiBTaWRlICovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBUeXBlc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEN1YmUgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIFNoYXBlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnVpLnNoYXBlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBlcnNwZWN0aXZlOiAyMDAwcHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0LCBsZWZ0IDAuNnMgZWFzZS1pbi1vdXQsIHdpZHRoIDAuNnMgZWFzZS1pbi1vdXQsIGhlaWdodCAwLjZzIGVhc2UtaW4tb3V0O1xufVxuLnVpLnNoYXBlIC5zaWRlcyB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG4udWkuc2hhcGUgLnNpZGUge1xuICBvcGFjaXR5OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwZW0gIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLnVpLnNoYXBlIC5zaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5zaGFwZSAuc2lkZSAqIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5jdWJlLnNoYXBlIC5zaWRlIHtcbiAgbWluLXdpZHRoOiAxNWVtO1xuICBoZWlnaHQ6IDE1ZW07XG4gIHBhZGRpbmc6IDJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0U2RTZFNjtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbn1cbi51aS5jdWJlLnNoYXBlIC5zaWRlID4gLmNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbn1cbi51aS5jdWJlLnNoYXBlIC5zaWRlID4gLmNvbnRlbnQgPiBkaXYge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDJlbTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS50ZXh0LnNoYXBlLmFuaW1hdGluZyAuc2lkZXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xufVxuLnVpLnRleHQuc2hhcGUgLnNpZGUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLnVpLnRleHQuc2hhcGUgLnNpZGUgPiAqIHtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkubG9hZGluZy5zaGFwZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICBsZWZ0OiAtOTk5OXB4O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEFuaW1hdGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5zaGFwZSAuYW5pbWF0aW5nLnNpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxMDA7XG59XG4udWkuc2hhcGUgLmhpZGRlbi5zaWRlIHtcbiAgb3BhY2l0eTogMC42O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgQ1NTXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnNoYXBlLmFuaW1hdGluZyAuc2lkZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4udWkuc2hhcGUuYW5pbWF0aW5nIC5zaWRlcyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0LCBsZWZ0IDAuNnMgZWFzZS1pbi1vdXQsIHdpZHRoIDAuNnMgZWFzZS1pbi1vdXQsIGhlaWdodCAwLjZzIGVhc2UtaW4tb3V0O1xufVxuLnVpLnNoYXBlLmFuaW1hdGluZyAuc2lkZSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cyBlYXNlLWluLW91dDtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLnNoYXBlIC5hY3RpdmUuc2lkZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIFNpZGViYXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTaWRlYmFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogQW5pbWF0aW9uICovXG4vKiBEaW1tZXIgKi9cbi8qIENvbG9yIGJlbG93IHBhZ2UgKi9cbi8qIFNoYWRvdyAqL1xuLyogTGF5ZXJpbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogV2lkdGggKi9cbi8qIEhlaWdodCAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU2lkZWJhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEFuaW1hdGlvbiAqL1xuLyogRGltbWVyICovXG4vKiBDb2xvciBiZWxvdyBwYWdlICovXG4vKiBTaGFkb3cgKi9cbi8qIExheWVyaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhcmlhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFdpZHRoICovXG4vKiBIZWlnaHQgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTaWRlYmFyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU2lkZWJhciBNZW51ICovXG4udWkuc2lkZWJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMGVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDtcbiAgei1pbmRleDogMTAyO1xufVxuLyogR1BVIExheWVycyBmb3IgQ2hpbGQgRWxlbWVudHMgKi9cbi51aS5zaWRlYmFyID4gKiB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIERpcmVjdGlvblxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS5sZWZ0LnNpZGViYXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbn1cbi51aS5yaWdodC5zaWRlYmFyIHtcbiAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCUsIDApO1xufVxuLnVpLnRvcC5zaWRlYmFyLFxuLnVpLmJvdHRvbS5zaWRlYmFyIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4udWkudG9wLnNpZGViYXIge1xuICB0b3A6IDBweCAhaW1wb3J0YW50O1xuICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG59XG4udWkuYm90dG9tLnNpZGViYXIge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgUHVzaGFibGVcbi0tLS0tLS0tLS0tLS0tLSovXG4ucHVzaGFibGUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcGFkZGluZzogMGVtICFpbXBvcnRhbnQ7XG59XG4vKiBXaG9sZSBQYWdlICovXG5ib2R5LnB1c2hhYmxlIHtcbiAgYmFja2dyb3VuZDogIzU0NTQ1NCAhaW1wb3J0YW50O1xufVxuLyogUGFnZSBDb250ZXh0ICovXG4ucHVzaGFibGU6bm90KGJvZHkpIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi5wdXNoYWJsZTpub3QoYm9keSkgPiAudWkuc2lkZWJhcixcbi5wdXNoYWJsZTpub3QoYm9keSkgPiAuZml4ZWQsXG4ucHVzaGFibGU6bm90KGJvZHkpID4gLnB1c2hlcjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRml4ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4ucHVzaGFibGUgPiAuZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHotaW5kZXg6IDEwMTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi5wdXNoYWJsZSA+IC5wdXNoZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHotaW5kZXg6IDI7XG59XG5ib2R5LnB1c2hhYmxlID4gLnB1c2hlciB7XG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XG59XG4vKiBQdXNoZXIgc2hvdWxkIGluaGVyaXQgYmFja2dyb3VuZCBmcm9tIGNvbnRleHQgKi9cbi5wdXNoYWJsZSA+IC5wdXNoZXIge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZXJcbi0tLS0tLS0tLS0tLS0tLSovXG4ucHVzaGFibGUgPiAucHVzaGVyOmFmdGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA1MDBtcztcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIHotaW5kZXg6IDEwMDA7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4udWkuc2lkZWJhci5tZW51IC5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtICFpbXBvcnRhbnQ7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZWRcbi0tLS0tLS0tLS0tLS0tLSovXG4ucHVzaGFibGUgPiAucHVzaGVyLmRpbW1lZDphZnRlciB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQW5pbWF0aW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnVpLmFuaW1hdGluZy5zaWRlYmFyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi51aS52aXNpYmxlLnNpZGViYXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLyogU2hhZG93IERpcmVjdGlvbiAqL1xuLnVpLmxlZnQudmlzaWJsZS5zaWRlYmFyLFxuLnVpLnJpZ2h0LnZpc2libGUuc2lkZWJhciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMjBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLnVpLnRvcC52aXNpYmxlLnNpZGViYXIsXG4udWkuYm90dG9tLnZpc2libGUuc2lkZWJhciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMjBweCByZ2JhKDM0LCAzNiwgMzgsIDAuMTUpO1xufVxuLyogVmlzaWJsZSBPbiBMb2FkICovXG4udWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNjBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNjBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS50b3Auc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRvcC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzZweCwgMCk7XG59XG4udWkudmlzaWJsZS5ib3R0b20uc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLmJvdHRvbS5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTM2cHgsIDApO1xufVxuLyogb3Bwb3NpdGUgc2lkZXMgdmlzaWJsZSBmb3JjZXMgY29udGVudCBvdmVybGF5ICovXG4udWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAudWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIsXG4udWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUucmlnaHQuc2lkZWJhciB+IC51aS52aXNpYmxlLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgIGlPU1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgV2lkdGhcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBMZWZ0IC8gUmlnaHQgKi9cbi51aS50aGluLmxlZnQuc2lkZWJhcixcbi51aS50aGluLnJpZ2h0LnNpZGViYXIge1xuICB3aWR0aDogMTUwcHg7XG59XG4udWlbY2xhc3MqPVwidmVyeSB0aGluXCJdLmxlZnQuc2lkZWJhcixcbi51aVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuc2lkZWJhciB7XG4gIHdpZHRoOiA2MHB4O1xufVxuLnVpLmxlZnQuc2lkZWJhcixcbi51aS5yaWdodC5zaWRlYmFyIHtcbiAgd2lkdGg6IDI2MHB4O1xufVxuLnVpLndpZGUubGVmdC5zaWRlYmFyLFxuLnVpLndpZGUucmlnaHQuc2lkZWJhciB7XG4gIHdpZHRoOiAzNTBweDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5zaWRlYmFyLFxuLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5zaWRlYmFyIHtcbiAgd2lkdGg6IDQ3NXB4O1xufVxuLyogTGVmdCBWaXNpYmxlICovXG4udWkudmlzaWJsZS50aGluLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRoaW4ubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTUwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB0aGluXCJdLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg2MHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlLndpZGUubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUud2lkZS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzNTBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDQ3NXB4LCAwLCAwKTtcbn1cbi8qIFJpZ2h0IFZpc2libGUgKi9cbi51aS52aXNpYmxlLnRoaW4ucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRoaW4ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTBweCwgMCwgMCk7XG59XG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTYwcHgsIDAsIDApO1xufVxuLnVpLnZpc2libGUud2lkZS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUud2lkZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTM1MHB4LCAwLCAwKTtcbn1cbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnJpZ2h0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNDc1cHgsIDAsIDApO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBBbmltYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgIE92ZXJsYXlcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZXQtdXAgKi9cbi51aS5vdmVybGF5LnNpZGViYXIge1xuICB6LWluZGV4OiAxMDI7XG59XG4vKiBJbml0aWFsICovXG4udWkubGVmdC5vdmVybGF5LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwJSwgMCk7XG59XG4udWkucmlnaHQub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwJSwgMCk7XG59XG4udWkudG9wLm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIC0xMDAlLCAwKTtcbn1cbi51aS5ib3R0b20ub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMTAwJSwgMCk7XG59XG4vKiBBbmltYXRpb24gKi9cbi5hbmltYXRpbmcudWkub3ZlcmxheS5zaWRlYmFyLFxuLnVpLnZpc2libGUub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG59XG4vKiBFbmQgLSBTaWRlYmFyICovXG4udWkudmlzaWJsZS5sZWZ0Lm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAlLCAwKTtcbn1cbi51aS52aXNpYmxlLnJpZ2h0Lm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAlLCAwKTtcbn1cbi51aS52aXNpYmxlLnRvcC5vdmVybGF5LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwJSwgMCk7XG59XG4udWkudmlzaWJsZS5ib3R0b20ub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCUsIDApO1xufVxuLyogRW5kIC0gUHVzaGVyICovXG4udWkudmlzaWJsZS5vdmVybGF5LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5vdmVybGF5LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBQdXNoXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW5pdGlhbCAqL1xuLnVpLnB1c2guc2lkZWJhciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xuICB6LWluZGV4OiAxMDI7XG59XG4vKiBTaWRlYmFyIC0gSW5pdGlhbCAqL1xuLnVpLmxlZnQucHVzaC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG4udWkucmlnaHQucHVzaC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbn1cbi51aS50b3AucHVzaC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgLTEwMCUsIDApO1xufVxuLnVpLmJvdHRvbS5wdXNoLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAxMDAlLCAwKTtcbn1cbi8qIEVuZCAqL1xuLnVpLnZpc2libGUucHVzaC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCwgMCk7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgVW5jb3ZlclxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEluaXRpYWwgKi9cbi51aS51bmNvdmVyLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxO1xufVxuLyogRW5kICovXG4udWkudmlzaWJsZS51bmNvdmVyLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFNsaWRlIEFsb25nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW5pdGlhbCAqL1xuLnVpLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICB6LWluZGV4OiAxO1xufVxuLyogU2lkZWJhciAtIEluaXRpYWwgKi9cbi51aS5sZWZ0LnNsaWRlLmFsb25nLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xufVxuLnVpLnJpZ2h0LnNsaWRlLmFsb25nLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG59XG4udWkudG9wLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xufVxuLnVpLmJvdHRvbS5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgNTAlLCAwKTtcbn1cbi8qIEFuaW1hdGlvbiAqL1xuLnVpLmFuaW1hdGluZy5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG59XG4vKiBFbmQgKi9cbi51aS52aXNpYmxlLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFNsaWRlIE91dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEluaXRpYWwgKi9cbi51aS5zbGlkZS5vdXQuc2lkZWJhciB7XG4gIHotaW5kZXg6IDE7XG59XG4vKiBTaWRlYmFyIC0gSW5pdGlhbCAqL1xuLnVpLmxlZnQuc2xpZGUub3V0LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG59XG4udWkucmlnaHQuc2xpZGUub3V0LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xufVxuLnVpLnRvcC5zbGlkZS5vdXQuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDUwJSwgMCk7XG59XG4udWkuYm90dG9tLnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgLTUwJSwgMCk7XG59XG4vKiBBbmltYXRpb24gKi9cbi51aS5hbmltYXRpbmcuc2xpZGUub3V0LnNpZGViYXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbn1cbi8qIEVuZCAqL1xuLnVpLnZpc2libGUuc2xpZGUub3V0LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFNjYWxlIERvd25cbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbml0aWFsICovXG4udWkuc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XG4gIHotaW5kZXg6IDEwMjtcbn1cbi8qIFNpZGViYXIgLSBJbml0aWFsICAqL1xuLnVpLmxlZnQuc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG4udWkucmlnaHQuc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbn1cbi51aS50b3Auc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgLTEwMCUsIDApO1xufVxuLnVpLmJvdHRvbS5zY2FsZS5kb3duLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAxMDAlLCAwKTtcbn1cbi8qIFB1c2hlciAtIEluaXRpYWwgKi9cbi51aS5zY2FsZS5kb3duLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA3NSUgNTAlO1xufVxuLnVpLnNjYWxlLmRvd24ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAyNSUgNTAlO1xufVxuLnVpLnNjYWxlLmRvd24udG9wLnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDc1JTtcbn1cbi51aS5zY2FsZS5kb3duLmJvdHRvbS5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAyNSU7XG59XG4vKiBBbmltYXRpb24gKi9cbi51aS5hbmltYXRpbmcuc2NhbGUuZG93biA+IC52aXNpYmxlLnVpLnNpZGViYXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNTAwbXMgZWFzZTtcbn1cbi51aS52aXNpYmxlLnNjYWxlLmRvd24uc2lkZWJhciB+IC5wdXNoZXIsXG4udWkuYW5pbWF0aW5nLnNjYWxlLmRvd24uc2lkZWJhciB+IC5wdXNoZXIge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4vKiBFbmQgKi9cbi51aS52aXNpYmxlLnNjYWxlLmRvd24uc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS5zY2FsZS5kb3duLnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBTdGlja3lcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0aWNreVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RpY2t5XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogU2l0ZSBUaGVtZSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBNaXgtaW5zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPdmVycmlkZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRW5kIENvbmZpZyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0aWNreVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi51aS5zdGlja3kge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB6LWluZGV4OiA4MDA7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogQm91bmQgKi9cbi51aS5zdGlja3kuYm91bmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xufVxuLyogRml4ZWQgKi9cbi51aS5zdGlja3kuZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xufVxuLyogQm91bmQvRml4ZWQgUG9zaXRpb24gKi9cbi51aS5zdGlja3kuYm91bmQudG9wLFxuLnVpLnN0aWNreS5maXhlZC50b3Age1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiBhdXRvO1xufVxuLnVpLnN0aWNreS5ib3VuZC5ib3R0b20sXG4udWkuc3RpY2t5LmZpeGVkLmJvdHRvbSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwcHg7XG59XG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkubmF0aXZlLnN0aWNreSB7XG4gIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgcG9zaXRpb246IC1tb3otc3RpY2t5O1xuICBwb3NpdGlvbjogLW1zLXN0aWNreTtcbiAgcG9zaXRpb246IC1vLXN0aWNreTtcbiAgcG9zaXRpb246IHN0aWNreTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBUYWJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXG7ilojilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKVlyAgIOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xu4pWa4pWQ4pWQ4paI4paI4pWU4pWQ4pWQ4pWd4paI4paI4pWRICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilojilojilZcg4paI4paI4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWdXG4gICDilojilojilZEgICDilojilojilojilojilojilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKVlOKWiOKWiOKWiOKWiOKVlOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4paI4pWXXG4gICDilojilojilZEgICDilojilojilZTilZDilZDilojilojilZHilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkeKVmuKWiOKWiOKVlOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWQ4paI4paI4pWRXG4gICDilojilojilZEgICDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVkSDilZrilZDilZ0g4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWRXG4gICDilZrilZDilZ0gICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAgICAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWdXG5cbiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICBUaGVtZSBTZWxlY3Rpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBUbyBvdmVycmlkZSBhIHRoZW1lIGZvciBhbiBpbmRpdmlkdWFsIGVsZW1lbnRcbiAgIHNwZWNpZnkgdGhlbWUgbmFtZSBiZWxvd1xuKi9cbi8qIEdsb2JhbCAqL1xuLyogRWxlbWVudHMgKi9cbi8qIENvbGxlY3Rpb25zICovXG4vKiBNb2R1bGVzICovXG4vKiBWaWV3cyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEZvbGRlcnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBQYXRoIHRvIHRoZW1lIHBhY2thZ2VzICovXG4vKiBQYXRoIHRvIHNpdGUgb3ZlcnJpZGUgZm9sZGVyICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgSW1wb3J0IFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgSW1wb3J0IERpcmVjdGl2ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFRoZW1lXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNpdGUgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIFBhY2thZ2VkIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogQ29tcG9uZW50J3Mgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBTaXRlIHRoZW1lIHNpdGUudmFyaWFibGVzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiBDb21wb25lbnQgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGVmYXVsdCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgVGFiXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogTG9hZGluZyAqL1xuLyogUGFja2FnZWQgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIFRhYlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIExvYWRpbmcgKi9cbi8qIFNpdGUgVGhlbWUgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTWl4LWluc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgT3ZlcnJpZGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEVuZCBDb25maWcgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFVJIFRhYnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udWkudGFiIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS50YWIuYWN0aXZlLFxuLnVpLnRhYi5vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi51aS50YWIubG9hZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi1oZWlnaHQ6IDI1MHB4O1xufVxuLnVpLnRhYi5sb2FkaW5nICoge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgbGVmdDogLTEwMDAwcHggIWltcG9ydGFudDtcbn1cbi51aS50YWIubG9hZGluZzpiZWZvcmUsXG4udWkudGFiLmxvYWRpbmcuc2VnbWVudDpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDEwMHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbjogLTEuMjVlbSAwZW0gMGVtIC0xLjI1ZW07XG4gIHdpZHRoOiAyLjVlbTtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAwcmVtO1xuICBib3JkZXI6IDAuMmVtIHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi51aS50YWIubG9hZGluZzphZnRlcixcbi51aS50YWIubG9hZGluZy5zZWdtZW50OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiAxMDBweDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IC0xLjI1ZW0gMGVtIDBlbSAtMS4yNWVtO1xuICB3aWR0aDogMi41ZW07XG4gIGhlaWdodDogMi41ZW07XG4gIGFuaW1hdGlvbjogYnV0dG9uLXNwaW4gMC42cyBsaW5lYXI7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MDByZW07XG4gIGJvcmRlci1jb2xvcjogIzc2NzY3NiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwLjJlbTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50O1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRhYiBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiFcbiAqICMgU2VtYW50aWMgVUkgLSBUcmFuc2l0aW9uXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcblxu4paI4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWXICDilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilZcgICDilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZdcbuKVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVneKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWQ4pWQ4pWd4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuICAg4paI4paI4pWRICAg4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4pWXICDilojilojilZTilojilojilojilojilZTilojilojilZHilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuICAg4paI4paI4pWRICAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4pWdICDilojilojilZHilZrilojilojilZTilZ3ilojilojilZHilojilojilZTilZDilZDilZ0gIOKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkVxuICAg4paI4paI4pWRICAg4paI4paI4pWRICDilojilojilZHilojilojilojilojilojilojilojilZfilojilojilZEg4pWa4pWQ4pWdIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkVxuICAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVnVxuXG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgVGhlbWUgU2VsZWN0aW9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVG8gb3ZlcnJpZGUgYSB0aGVtZSBmb3IgYW4gaW5kaXZpZHVhbCBlbGVtZW50XG4gICBzcGVjaWZ5IHRoZW1lIG5hbWUgYmVsb3dcbiovXG4vKiBHbG9iYWwgKi9cbi8qIEVsZW1lbnRzICovXG4vKiBDb2xsZWN0aW9ucyAqL1xuLyogTW9kdWxlcyAqL1xuLyogVmlld3MgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBGb2xkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGF0aCB0byB0aGVtZSBwYWNrYWdlcyAqL1xuLyogUGF0aCB0byBzaXRlIG92ZXJyaWRlIGZvbGRlciAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIEltcG9ydCBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIEltcG9ydCBEaXJlY3RpdmVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICBTaXRlIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgc2l0ZS52YXJpYWJsZXMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTaXRlIFNldHRpbmdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9udHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qQGhlYWRlckZvbnQgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQGZvbnROYW1lLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyovXG4vKkBoZWFlckZvbnQgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmO1xuQHBhZ2VGb250ICAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7Ki9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzZSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBpcyB0aGUgc2luZ2xlIHZhcmlhYmxlIHRoYXQgY29udHJvbHMgdGhlbSBhbGwgKi9cbi8qIFRoZSBzaXplIG9mIHBhZ2UgdGV4dCAgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJvcmRlciBSYWRpdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFNlZSBQb3dlci11c2VyIHNlY3Rpb24gYmVsb3dcbiAgIGZvciBleHBsYW5hdGlvbiBvZiBAcHggdmFyaWFibGVzXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gIFBhZ2UgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZvcm0gSW5wdXRcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGFkanVzdHMgdGhlIGRlZmF1bHQgZm9ybSBpbnB1dCBhY3Jvc3MgYWxsIGVsZW1lbnRzICovXG4vKiBJbnB1dCBUZXh0IENvbG9yICovXG4vKiBMaW5lIEhlaWdodCBEZWZhdWx0IEZvciBJbnB1dHMgaW4gQnJvd3NlciAoRGVzY2VuZGVycyBhcmUgMTdweCBhdCAxNHB4IGJhc2UgZW0pICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBGb2N1c2VkIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBVc2VkIG9uIGlucHV0cywgdGV4dGFyZWEgZXRjICovXG4vKiBVc2VkIG9uIGRyb3Bkb3ducywgb3RoZXIgbGFyZ2VyIGJsb2NrcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBTaXplcyBhcmUgYWxsIGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiAxNHB4L2VtIChkZWZhdWx0IGVtKVxuICBUaGlzIGVuc3VyZXMgdGhlc2UgXCJyYXRpb3NcIiByZW1haW4gY29uc3RhbnQgZGVzcGl0ZSBjaGFuZ2VzIGluIEVNXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2Nyb2xsIEJhcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEludmVydGVkICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgSGlnaGxpZ2h0ZWQgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJlYWtwb2ludHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgU2l0ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgTGlnaHQgQ29sb3JzICAtLS0qL1xuLyotLS0gICBOZXV0cmFscyAgLS0tKi9cbi8qLS0tIENvbG9yZWQgQmFja2dyb3VuZHMgLS0tKi9cbi8qLS0tIENvbG9yZWQgSGVhZGVycyAtLS0qL1xuLyotLS0gQ29sb3JlZCBUZXh0IC0tLSovXG4vKi0tLSBDb2xvcmVkIEJvcmRlciAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEFscGhhIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWNjZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRGlmZmVyZW50aWF0aW5nIE5ldXRyYWxzICovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTGF5ZXJzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBQb3dlci1Vc2VyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRW1vdGl2ZSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFBvc2l0aXZlICovXG4vKiBOZWdhdGl2ZSAqL1xuLyogSW5mbyAqL1xuLyogV2FybmluZyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhdGhzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBGb3Igc291cmNlIG9ubHkuIE1vZGlmaWVkIGluIGd1bHAgZm9yIGRpc3QgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEVtIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGlzIHJvdW5kcyBAc2l6ZSB2YWx1ZXMgdG8gdGhlIGNsb3Nlc3QgcGl4ZWwgdGhlbiBleHByZXNzZXMgdGhhdCB2YWx1ZSBpbiAocillbS5cbiAgVGhpcyBlbnN1cmVzIGFsbCBzaXplIHZhbHVlcyByb3VuZCB0byBleGFjdCBwaXhlbHNcbiovXG4vKiBlbSAqL1xuLyogcmVtICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTWF4aW11bSBHbHlwaCBXaWR0aCBvZiBJY29uICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgTmV1dHJhbCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJhbmQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERlcml2ZWQgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBMb2FkZXJzIFBvc2l0aW9uIE9mZnNldCAqL1xuLyogUmVuZGVyZWQgU2Nyb2xsYmFyIFdpZHRoICovXG4vKiBNYXhpbXVtIFNpbmdsZSBDaGFyYWN0ZXIgR2x5cGggV2lkdGgsIGFrYSBDYXBpdGFsIFwiV1wiICovXG4vKiBVc2VkIHRvIG1hdGNoIGZsb2F0cyB3aXRoIHRleHQgKi9cbi8qIEhlYWRlciBTcGFjaW5nICovXG4vKiBNaW5pbXVtIE1vYmlsZSBXaWR0aCAqL1xuLyogUG9zaXRpdmUgLyBOZWdhdGl2ZSBEdXBlcyAqL1xuLyogUmVzcG9uc2l2ZSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEV4YWN0IFBpeGVsIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhlc2UgYXJlIHVzZWQgdG8gc3BlY2lmeSBleGFjdCBwaXhlbCB2YWx1ZXMgaW4gZW1cbiAgZm9yIHRoaW5ncyBsaWtlIGJvcmRlcnMgdGhhdCByZW1haW4gY29uc3RhbnRseVxuICBzaXplZCBhcyBlbVNpemUgYWRqdXN0c1xuXG4gIFNpbmNlIHRoZXJlIGFyZSBtYW55IG1vcmUgc2l6ZXMgdGhhbiBuYW1lcyBmb3Igc2l6ZXMsXG4gIHRoZXNlIGFyZSBuYW1lZCBieSB0aGVpciBvcmlnaW5hbCBwaXhlbCB2YWx1ZXMuXG5cbiovXG4vKiBDb2x1bW5zICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIFNoYWRvd3MgIC0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERvd24gKDphY3RpdmUpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKiBQYWNrYWdlZCBzaXRlLnZhcmlhYmxlcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFNpdGUgU2V0dGluZ3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGb250c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypAaGVhZGVyRm9udCAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBAZm9udE5hbWUsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ki9cbi8qQGhlYWVyRm9udCAgICAgICAgIDogQmxpbmtNYWNTeXN0ZW1Gb250LCBQb3BwaW5zLCBBcmlhbCwgSGVsdmV0aWNhLCDmlofms4npqZvmraPpu5EsICdXZW5RdWFuWWkgWmVuIEhlaScsICflhLfpu5EgUHJvJywgJ0xpSGVpIFBybycsIOW+rui7n+ato+m7kemrlCwgJ01pY3Jvc29mdCBKaGVuZ0hlaScsIHNhbnMtc2VyaWY7XG5AcGFnZUZvbnQgICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjsqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNlIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBUaGlzIGlzIHRoZSBzaW5nbGUgdmFyaWFibGUgdGhhdCBjb250cm9scyB0aGVtIGFsbCAqL1xuLyogVGhlIHNpemUgb2YgcGFnZSB0ZXh0ICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgQm9yZGVyIFJhZGl1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogU2VlIFBvd2VyLXVzZXIgc2VjdGlvbiBiZWxvd1xuICAgZm9yIGV4cGxhbmF0aW9uIG9mIEBweCB2YXJpYWJsZXNcbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgUGFnZSBIZWFkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICAgRm9ybSBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgYWRqdXN0cyB0aGUgZGVmYXVsdCBmb3JtIGlucHV0IGFjcm9zcyBhbGwgZWxlbWVudHMgKi9cbi8qIElucHV0IFRleHQgQ29sb3IgKi9cbi8qIExpbmUgSGVpZ2h0IERlZmF1bHQgRm9yIElucHV0cyBpbiBCcm93c2VyIChEZXNjZW5kZXJzIGFyZSAxN3B4IGF0IDE0cHggYmFzZSBlbSkgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEZvY3VzZWQgSW5wdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFVzZWQgb24gaW5wdXRzLCB0ZXh0YXJlYSBldGMgKi9cbi8qIFVzZWQgb24gZHJvcGRvd25zLCBvdGhlciBsYXJnZXIgYmxvY2tzICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFNpemVzIGFyZSBhbGwgZXhwcmVzc2VkIGluIHRlcm1zIG9mIDE0cHgvZW0gKGRlZmF1bHQgZW0pXG4gIFRoaXMgZW5zdXJlcyB0aGVzZSBcInJhdGlvc1wiIHJlbWFpbiBjb25zdGFudCBkZXNwaXRlIGNoYW5nZXMgaW4gRU1cbiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBTY3JvbGwgQmFyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogSW52ZXJ0ZWQgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIaWdobGlnaHRlZCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBHcmlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgVHJhbnNpdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmVha3BvaW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXRlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBMaWdodCBDb2xvcnMgIC0tLSovXG4vKi0tLSAgIE5ldXRyYWxzICAtLS0qL1xuLyotLS0gQ29sb3JlZCBCYWNrZ3JvdW5kcyAtLS0qL1xuLyotLS0gQ29sb3JlZCBIZWFkZXJzIC0tLSovXG4vKi0tLSBDb2xvcmVkIFRleHQgLS0tKi9cbi8qLS0tIENvbG9yZWQgQm9yZGVyIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxwaGEgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY2NlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBEaWZmZXJlbnRpYXRpbmcgTmV1dHJhbHMgKi9cbi8qIERpZmZlcmVudGlhdGluZyBMYXllcnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFBvd2VyLVVzZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBFbW90aXZlIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogUG9zaXRpdmUgKi9cbi8qIE5lZ2F0aXZlICovXG4vKiBJbmZvICovXG4vKiBXYXJuaW5nICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUGF0aHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIEZvciBzb3VyY2Ugb25seS4gTW9kaWZpZWQgaW4gZ3VscCBmb3IgZGlzdCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRW0gU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoaXMgcm91bmRzIEBzaXplIHZhbHVlcyB0byB0aGUgY2xvc2VzdCBwaXhlbCB0aGVuIGV4cHJlc3NlcyB0aGF0IHZhbHVlIGluIChyKWVtLlxuICBUaGlzIGVuc3VyZXMgYWxsIHNpemUgdmFsdWVzIHJvdW5kIHRvIGV4YWN0IHBpeGVsc1xuKi9cbi8qIGVtICovXG4vKiByZW0gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBNYXhpbXVtIEdseXBoIFdpZHRoIG9mIEljb24gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBOZXV0cmFsIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCcmFuZCBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQm9yZGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRGVyaXZlZCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIExvYWRlcnMgUG9zaXRpb24gT2Zmc2V0ICovXG4vKiBSZW5kZXJlZCBTY3JvbGxiYXIgV2lkdGggKi9cbi8qIE1heGltdW0gU2luZ2xlIENoYXJhY3RlciBHbHlwaCBXaWR0aCwgYWthIENhcGl0YWwgXCJXXCIgKi9cbi8qIFVzZWQgdG8gbWF0Y2ggZmxvYXRzIHdpdGggdGV4dCAqL1xuLyogSGVhZGVyIFNwYWNpbmcgKi9cbi8qIE1pbmltdW0gTW9iaWxlIFdpZHRoICovXG4vKiBQb3NpdGl2ZSAvIE5lZ2F0aXZlIER1cGVzICovXG4vKiBSZXNwb25zaXZlICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgRXhhY3QgUGl4ZWwgVmFsdWVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKlxuICBUaGVzZSBhcmUgdXNlZCB0byBzcGVjaWZ5IGV4YWN0IHBpeGVsIHZhbHVlcyBpbiBlbVxuICBmb3IgdGhpbmdzIGxpa2UgYm9yZGVycyB0aGF0IHJlbWFpbiBjb25zdGFudGx5XG4gIHNpemVkIGFzIGVtU2l6ZSBhZGp1c3RzXG5cbiAgU2luY2UgdGhlcmUgYXJlIG1hbnkgbW9yZSBzaXplcyB0aGFuIG5hbWVzIGZvciBzaXplcyxcbiAgdGhlc2UgYXJlIG5hbWVkIGJ5IHRoZWlyIG9yaWdpbmFsIHBpeGVsIHZhbHVlcy5cblxuKi9cbi8qIENvbHVtbnMgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgU2hhZG93cyAgLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRG93biAoOmFjdGl2ZSlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBDb2xvcnMgIC0tLSovXG4vKi0tLSAgRW1vdGl2ZSAgLS0tKi9cbi8qLS0tICBCcmFuZCAgIC0tLSovXG4vKi0tLSAgRGFyayBUb25lcyAgLS0tKi9cbi8qLS0tICBMaWdodCBUb25lcyAgLS0tKi9cbi8qIENvbXBvbmVudCdzIHNpdGUudmFyaWFibGVzICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgU2l0ZSBTZXR0aW5nc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKkBoZWFkZXJGb250ICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEBmb250TmFtZSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsqL1xuLypAaGVhZXJGb250ICAgICAgICAgOiBCbGlua01hY1N5c3RlbUZvbnQsIFBvcHBpbnMsIEFyaWFsLCBIZWx2ZXRpY2EsIOaWh+aziempm+ato+m7kSwgJ1dlblF1YW5ZaSBaZW4gSGVpJywgJ+WEt+m7kSBQcm8nLCAnTGlIZWkgUHJvJywg5b6u6Luf5q2j6buR6auULCAnTWljcm9zb2Z0IEpoZW5nSGVpJywgc2Fucy1zZXJpZjtcbkBwYWdlRm9udCAgICAgICAgICA6IEJsaW5rTWFjU3lzdGVtRm9udCwgUG9wcGlucywgQXJpYWwsIEhlbHZldGljYSwg5paH5rOJ6amb5q2j6buRLCAnV2VuUXVhbllpIFplbiBIZWknLCAn5YS36buRIFBybycsICdMaUhlaSBQcm8nLCDlvq7ou5/mraPpu5Hpq5QsICdNaWNyb3NvZnQgSmhlbmdIZWknLCBzYW5zLXNlcmlmOyovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJhc2UgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRoaXMgaXMgdGhlIHNpbmdsZSB2YXJpYWJsZSB0aGF0IGNvbnRyb2xzIHRoZW0gYWxsICovXG4vKiBUaGUgc2l6ZSBvZiBwYWdlIHRleHQgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXIgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBTZWUgUG93ZXItdXNlciBzZWN0aW9uIGJlbG93XG4gICBmb3IgZXhwbGFuYXRpb24gb2YgQHB4IHZhcmlhYmxlc1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLVxuICBQYWdlIEhlYWRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBGb3JtIElucHV0XG4tLS0tLS0tLS0tLS0tLS0qL1xuLyogVGhpcyBhZGp1c3RzIHRoZSBkZWZhdWx0IGZvcm0gaW5wdXQgYWNyb3NzIGFsbCBlbGVtZW50cyAqL1xuLyogSW5wdXQgVGV4dCBDb2xvciAqL1xuLyogTGluZSBIZWlnaHQgRGVmYXVsdCBGb3IgSW5wdXRzIGluIEJyb3dzZXIgKERlc2NlbmRlcnMgYXJlIDE3cHggYXQgMTRweCBiYXNlIGVtKSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgRm9jdXNlZCBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogVXNlZCBvbiBpbnB1dHMsIHRleHRhcmVhIGV0YyAqL1xuLyogVXNlZCBvbiBkcm9wZG93bnMsIG90aGVyIGxhcmdlciBibG9ja3MgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgU2l6ZXMgYXJlIGFsbCBleHByZXNzZWQgaW4gdGVybXMgb2YgMTRweC9lbSAoZGVmYXVsdCBlbSlcbiAgVGhpcyBlbnN1cmVzIHRoZXNlIFwicmF0aW9zXCIgcmVtYWluIGNvbnN0YW50IGRlc3BpdGUgY2hhbmdlcyBpbiBFTVxuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFBhcmFncmFwaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbCBCYXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbnZlcnRlZCAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEhpZ2hsaWdodGVkIFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBUcmFuc2l0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyZWFrcG9pbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpdGUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIExpZ2h0IENvbG9ycyAgLS0tKi9cbi8qLS0tICAgTmV1dHJhbHMgIC0tLSovXG4vKi0tLSBDb2xvcmVkIEJhY2tncm91bmRzIC0tLSovXG4vKi0tLSBDb2xvcmVkIEhlYWRlcnMgLS0tKi9cbi8qLS0tIENvbG9yZWQgVGV4dCAtLS0qL1xuLyotLS0gQ29sb3JlZCBCb3JkZXIgLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBBbHBoYSBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFjY2VudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERpZmZlcmVudGlhdGluZyBOZXV0cmFscyAqL1xuLyogRGlmZmVyZW50aWF0aW5nIExheWVycyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUG93ZXItVXNlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEVtb3RpdmUgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBQb3NpdGl2ZSAqL1xuLyogTmVnYXRpdmUgKi9cbi8qIEluZm8gKi9cbi8qIFdhcm5pbmcgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBQYXRoc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogRm9yIHNvdXJjZSBvbmx5LiBNb2RpZmllZCBpbiBndWxwIGZvciBkaXN0ICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBFbSBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLypcbiAgVGhpcyByb3VuZHMgQHNpemUgdmFsdWVzIHRvIHRoZSBjbG9zZXN0IHBpeGVsIHRoZW4gZXhwcmVzc2VzIHRoYXQgdmFsdWUgaW4gKHIpZW0uXG4gIFRoaXMgZW5zdXJlcyBhbGwgc2l6ZSB2YWx1ZXMgcm91bmQgdG8gZXhhY3QgcGl4ZWxzXG4qL1xuLyogZW0gKi9cbi8qIHJlbSAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSWNvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIE1heGltdW0gR2x5cGggV2lkdGggb2YgSWNvbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldXRyYWwgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEJyYW5kIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBCb3JkZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEZXJpdmVkIFZhbHVlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogTG9hZGVycyBQb3NpdGlvbiBPZmZzZXQgKi9cbi8qIFJlbmRlcmVkIFNjcm9sbGJhciBXaWR0aCAqL1xuLyogTWF4aW11bSBTaW5nbGUgQ2hhcmFjdGVyIEdseXBoIFdpZHRoLCBha2EgQ2FwaXRhbCBcIldcIiAqL1xuLyogVXNlZCB0byBtYXRjaCBmbG9hdHMgd2l0aCB0ZXh0ICovXG4vKiBIZWFkZXIgU3BhY2luZyAqL1xuLyogTWluaW11bSBNb2JpbGUgV2lkdGggKi9cbi8qIFBvc2l0aXZlIC8gTmVnYXRpdmUgRHVwZXMgKi9cbi8qIFJlc3BvbnNpdmUgKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBFeGFjdCBQaXhlbCBWYWx1ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qXG4gIFRoZXNlIGFyZSB1c2VkIHRvIHNwZWNpZnkgZXhhY3QgcGl4ZWwgdmFsdWVzIGluIGVtXG4gIGZvciB0aGluZ3MgbGlrZSBib3JkZXJzIHRoYXQgcmVtYWluIGNvbnN0YW50bHlcbiAgc2l6ZWQgYXMgZW1TaXplIGFkanVzdHNcblxuICBTaW5jZSB0aGVyZSBhcmUgbWFueSBtb3JlIHNpemVzIHRoYW4gbmFtZXMgZm9yIHNpemVzLFxuICB0aGVzZSBhcmUgbmFtZWQgYnkgdGhlaXIgb3JpZ2luYWwgcGl4ZWwgdmFsdWVzLlxuXG4qL1xuLyogQ29sdW1ucyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tICBTaGFkb3dzICAtLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSAgQ29sb3JzICAtLS0qL1xuLyotLS0gIEVtb3RpdmUgIC0tLSovXG4vKi0tLSAgQnJhbmQgICAtLS0qL1xuLyotLS0gIERhcmsgVG9uZXMgIC0tLSovXG4vKi0tLSAgTGlnaHQgVG9uZXMgIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBEb3duICg6YWN0aXZlKVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gIENvbG9ycyAgLS0tKi9cbi8qLS0tICBFbW90aXZlICAtLS0qL1xuLyotLS0gIEJyYW5kICAgLS0tKi9cbi8qLS0tICBEYXJrIFRvbmVzICAtLS0qL1xuLyotLS0gIExpZ2h0IFRvbmVzICAtLS0qL1xuLyogU2l0ZSB0aGVtZSBzaXRlLnZhcmlhYmxlcyAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gQ29tcG9uZW50IFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIERlZmF1bHQgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgVHJhbnNpdGlvblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFBhY2thZ2VkIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFRyYW5zaXRpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiBTaXRlIFRoZW1lICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE1peC1pbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIE92ZXJyaWRlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBFbmQgQ29uZmlnICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFRyYW5zaXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEFuaW1hdGluZyAqL1xuLmFuaW1hdGluZy50cmFuc2l0aW9uIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vKiBMb2FkaW5nICovXG4ubG9hZGluZy50cmFuc2l0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5OXB4O1xuICBsZWZ0OiAtOTk5OTlweDtcbn1cbi8qIEhpZGRlbiAqL1xuLmhpZGRlbi50cmFuc2l0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLyogVmlzaWJsZSAqL1xuLnZpc2libGUudHJhbnNpdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLyogIGJhY2tmYWNlLXZpc2liaWxpdHk6IEBiYWNrZmFjZVZpc2liaWxpdHk7XG4gIHRyYW5zZm9ybTogQHVzZTNEQWNjZWxlcmF0aW9uOyovXG59XG4vKiBEaXNhYmxlZCAqL1xuLmRpc2FibGVkLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmxvb3BpbmcudHJhbnNpdGlvbiB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBUcmFuc2l0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG4gIFNvbWUgdHJhbnNpdGlvbnMgYWRhcHRlZCBmcm9tIEFuaW1hdGUgQ1NTXG4gIGh0dHBzOi8vZ2l0aHViLmNvbS9kYW5lZGVuL2FuaW1hdGUuY3NzXG5cbiAgQWRkaXRpb25hbCB0cmFuc2l0aW9ucyBhZGFwdGVkIGZyb20gR2xpZGVcbiAgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZVxuKi9cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJvd3NlXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnRyYW5zaXRpb24uYnJvd3NlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbn1cbi50cmFuc2l0aW9uLmJyb3dzZS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBicm93c2VJbjtcbn1cbi50cmFuc2l0aW9uLmJyb3dzZS5vdXQsXG4udHJhbnNpdGlvbi5icm93c2UubGVmdC5vdXQge1xuICBhbmltYXRpb24tbmFtZTogYnJvd3NlT3V0TGVmdDtcbn1cbi50cmFuc2l0aW9uLmJyb3dzZS5yaWdodC5vdXQge1xuICBhbmltYXRpb24tbmFtZTogYnJvd3NlT3V0UmlnaHQ7XG59XG4vKiBJbiAqL1xuQGtleWZyYW1lcyBicm93c2VJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigwcHgpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB6LWluZGV4OiA5OTk7XG4gIH1cbn1cbi8qIE91dCAqL1xuQGtleWZyYW1lcyBicm93c2VPdXRMZWZ0IHtcbiAgMCUge1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKTtcbiAgfVxuICA1MCUge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTA1JSkgcm90YXRlWSgzNWRlZykgcm90YXRlWCgxMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gIH1cbiAgODAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYnJvd3NlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpO1xuICB9XG4gIDUwJSB7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTA1JSkgcm90YXRlWSgzNWRlZykgcm90YXRlWCgxMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gIH1cbiAgODAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBEcm9wXG4tLS0tLS0tLS0tLS0tLS0qL1xuLmRyb3AudHJhbnNpdGlvbiB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNDAwbXM7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM0LCAxLjYxLCAwLjcsIDEpO1xufVxuLmRyb3AudHJhbnNpdGlvbi5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBkcm9wSW47XG59XG4uZHJvcC50cmFuc2l0aW9uLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBkcm9wT3V0O1xufVxuLyogRHJvcCAqL1xuQGtleWZyYW1lcyBkcm9wSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBkcm9wT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEZhZGVcbi0tLS0tLS0tLS0tLS0tLSovXG4udHJhbnNpdGlvbi5mYWRlLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgdXBcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgbGVmdFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSByaWdodFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cbi50cmFuc2l0aW9uLmZhZGUub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIHVwXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSBsZWZ0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgcmlnaHRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cbi8qIEluICovXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cbi8qIE91dCAqL1xuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNSUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcbiAgfVxufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGbGlwc1xuLS0tLS0tLS0tLS0tLS0tKi9cbi5mbGlwLnRyYW5zaXRpb24uaW4sXG4uZmxpcC50cmFuc2l0aW9uLm91dCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNjAwbXM7XG59XG4uaG9yaXpvbnRhbC5mbGlwLnRyYW5zaXRpb24uaW4ge1xuICBhbmltYXRpb24tbmFtZTogaG9yaXpvbnRhbEZsaXBJbjtcbn1cbi5ob3Jpem9udGFsLmZsaXAudHJhbnNpdGlvbi5vdXQge1xuICBhbmltYXRpb24tbmFtZTogaG9yaXpvbnRhbEZsaXBPdXQ7XG59XG4udmVydGljYWwuZmxpcC50cmFuc2l0aW9uLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHZlcnRpY2FsRmxpcEluO1xufVxuLnZlcnRpY2FsLmZsaXAudHJhbnNpdGlvbi5vdXQge1xuICBhbmltYXRpb24tbmFtZTogdmVydGljYWxGbGlwT3V0O1xufVxuLyogSW4gKi9cbkBrZXlmcmFtZXMgaG9yaXpvbnRhbEZsaXBJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyB2ZXJ0aWNhbEZsaXBJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLyogT3V0ICovXG5Aa2V5ZnJhbWVzIGhvcml6b250YWxGbGlwT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgdmVydGljYWxGbGlwT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBTY2FsZVxuLS0tLS0tLS0tLS0tLS0tKi9cbi5zY2FsZS50cmFuc2l0aW9uLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNjYWxlSW47XG59XG4uc2NhbGUudHJhbnNpdGlvbi5vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2NhbGVPdXQ7XG59XG5Aa2V5ZnJhbWVzIHNjYWxlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG4vKiBPdXQgKi9cbkBrZXlmcmFtZXMgc2NhbGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBGbHlcbi0tLS0tLS0tLS0tLS0tLSovXG4vKiBJbndhcmQgKi9cbi50cmFuc2l0aW9uLmZseSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuLnRyYW5zaXRpb24uZmx5LmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHVwXCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluVXA7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgZG93blwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlJbkRvd247XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgbGVmdFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlJbkxlZnQ7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgcmlnaHRcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmx5SW5SaWdodDtcbn1cbi8qIE91dHdhcmQgKi9cbi50cmFuc2l0aW9uLmZseS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmx5T3V0O1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHVwXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXRVcDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZseSBkb3duXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXREb3duO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IGxlZnRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseU91dExlZnQ7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgcmlnaHRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseU91dFJpZ2h0O1xufVxuLyogSW4gKi9cbkBrZXlmcmFtZXMgZmx5SW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbHlJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxNTAwcHgsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmx5SW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTUwMHB4LCAwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbHlJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDE1MDBweCwgMCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTAwcHgsIDAsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG4vKiBPdXQgKi9cbkBrZXlmcmFtZXMgZmx5T3V0IHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dFVwIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dERvd24ge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2xpZGVcbi0tLS0tLS0tLS0tLS0tLSovXG4udHJhbnNpdGlvbi5zbGlkZS5pbixcbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGRvd25cIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSB1cFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGxlZnRcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHJpZ2h0XCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5YO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcbn1cbi50cmFuc2l0aW9uLnNsaWRlLm91dCxcbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGRvd25cIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHVwXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBsZWZ0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHJpZ2h0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xufVxuLyogSW4gKi9cbkBrZXlmcmFtZXMgc2xpZGVJblkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5YIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTtcbiAgfVxufVxuLyogT3V0ICovXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0WSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVPdXRYIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgfVxufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTd2luZ1xuLS0tLS0tLS0tLS0tLS0tKi9cbi50cmFuc2l0aW9uLnN3aW5nIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA4MDBtcztcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGRvd25cIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdJblg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyB1cFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGxlZnRcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdJblk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHJpZ2h0XCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nSW5ZO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcbn1cbi50cmFuc2l0aW9uLnN3aW5nLm91dCxcbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGRvd25cIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHVwXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyBsZWZ0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHJpZ2h0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ091dFk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xufVxuLyogSW4gKi9cbkBrZXlmcmFtZXMgc3dpbmdJblgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgxNWRlZyk7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzd2luZ0luWSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKC0xNy41ZGVnKTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gIH1cbn1cbi8qIE91dCAqL1xuQGtleWZyYW1lcyBzd2luZ091dFgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE3LjVkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aW5nT3V0WSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgwZGVnKTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBab29tXG4tLS0tLS0tLS0tLS0tLS0qL1xuLnRyYW5zaXRpb24uem9vbS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG59XG4udHJhbnNpdGlvbi56b29tLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgU3RhdGljIEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRW1waGFzaXNcbi0tLS0tLS0tLS0tLS0tLSovXG4uZmxhc2gudHJhbnNpdGlvbiB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbn1cbi5zaGFrZS50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuLmJvdW5jZS50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbn1cbi50YWRhLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cbi5wdWxzZS50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuLmppZ2dsZS50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgYW5pbWF0aW9uLW5hbWU6IGppZ2dsZTtcbn1cbi50cmFuc2l0aW9uLmdsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDIwMDBtcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xufVxuLnRyYW5zaXRpb24uZ2xvdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBnbG93O1xufVxuLyogRmxhc2ggKi9cbkBrZXlmcmFtZXMgZmxhc2gge1xuICAwJSxcbiAgNTAlLFxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4vKiBTaGFrZSAqL1xuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbn1cbi8qIEJvdW5jZSAqL1xuQGtleWZyYW1lcyBib3VuY2Uge1xuICAwJSxcbiAgMjAlLFxuICA1MCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG4gIH1cbn1cbi8qIFRhZGEgKi9cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gIH1cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gIH1cbn1cbi8qIFB1bHNlICovXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4vKiBKaWdnbGUgKi9cbkBrZXlmcmFtZXMgamlnZ2xlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuICA2NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi8qIEdsb3cgKi9cbkBrZXlmcmFtZXMgZ2xvdyB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGQ0ZEO1xuICB9XG4gIDMwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjZDRDtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGQ0ZEO1xuICB9XG59XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBSZXNldFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdnbG9iYWwnO1xuQGVsZW1lbnQgOiAncmVzZXQnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUmVzZXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEJvcmRlci1Cb3ggKi9cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIGlQYWQgSW5wdXQgU2hhZG93cyAqL1xuaW5wdXRbdHlwZT1cInRleHRcIl0sIGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IC8qIG1vYmlsZSBmaXJlZm94IHRvbyEgKi9cbn1cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjcuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7IC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBTaXRlXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGUgICAgOiAnZ2xvYmFsJztcbkBlbGVtZW50IDogJ3NpdGUnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgUGFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLmxvYWRGb250cygpO1xuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogQGVtU2l6ZTtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIG92ZXJmbG93LXg6IEBwYWdlT3ZlcmZsb3dYO1xuICBtaW4td2lkdGg6IEBwYWdlTWluV2lkdGg7XG4gIGJhY2tncm91bmQ6IEBwYWdlQmFja2dyb3VuZDtcbiAgZm9udC1mYW1pbHk6IEBwYWdlRm9udDtcbiAgZm9udC1zaXplOiBAZm9udFNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gIGZvbnQtc21vb3RoaW5nOiBAZm9udFNtb290aGluZztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBIZWFkZXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1IHtcbiAgZm9udC1mYW1pbHk6IEBoZWFkZXJGb250O1xuICBsaW5lLWhlaWdodDogQGhlYWRlckxpbmVIZWlnaHQ7XG4gIG1hcmdpbjogQGhlYWRlck1hcmdpbjtcbiAgZm9udC13ZWlnaHQ6IEBoZWFkZXJGb250V2VpZ2h0O1xuICBwYWRkaW5nOiAwZW07XG59XG5cbmgxIHtcbiAgbWluLWhlaWdodDogMXJlbTtcbiAgZm9udC1zaXplOiBAaDE7XG59XG5oMiB7XG4gIGZvbnQtc2l6ZTogQGgyO1xufVxuaDMge1xuICBmb250LXNpemU6IEBoMztcbn1cbmg0IHtcbiAgZm9udC1zaXplOiBAaDQ7XG59XG5oNSB7XG4gIGZvbnQtc2l6ZTogQGg1O1xufVxuXG5oMTpmaXJzdC1jaGlsZCxcbmgyOmZpcnN0LWNoaWxkLFxuaDM6Zmlyc3QtY2hpbGQsXG5oNDpmaXJzdC1jaGlsZCxcbmg1OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG5oMTpsYXN0LWNoaWxkLFxuaDI6bGFzdC1jaGlsZCxcbmgzOmxhc3QtY2hpbGQsXG5oNDpsYXN0LWNoaWxkLFxuaDU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFRleHRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbnAge1xuICBtYXJnaW46IEBwYXJhZ3JhcGhNYXJnaW47XG4gIGxpbmUtaGVpZ2h0OiBAcGFyYWdyYXBoTGluZUhlaWdodDtcbn1cbnA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG5wOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5hIHtcbiAgY29sb3I6IEBsaW5rQ29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogQGxpbmtVbmRlcmxpbmU7XG59XG5hOmhvdmVyIHtcbiAgY29sb3I6IEBsaW5rSG92ZXJDb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBAbGlua0hvdmVyVW5kZXJsaW5lO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBTY3JvbGxiYXJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uYWRkU2Nyb2xsYmFycygpIHdoZW4gKEB1c2VDdXN0b21TY3JvbGxiYXJzKSB7XG5cbiAgLyogRm9yY2UgU2ltcGxlIFNjcm9sbGJhcnMgKi9cbiAgYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IEBjdXN0b21TY3JvbGxiYXJXaWR0aDtcbiAgICBoZWlnaHQ6IEBjdXN0b21TY3JvbGxiYXJIZWlnaHQ7XG4gIH1cbiAgYm9keSA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiBAdHJhY2tCYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6IEB0cmFja0JvcmRlclJhZGl1cztcbiAgfVxuICBib2R5IDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiBAdGh1bWJCb3JkZXJSYWRpdXM7XG4gICAgYmFja2dyb3VuZDogQHRodW1iQmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiBAdGh1bWJUcmFuc2l0aW9uO1xuICB9XG4gIGJvZHkgOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IEB0aHVtYkluYWN0aXZlQmFja2dyb3VuZDtcbiAgfVxuICBib2R5IDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IEB0aHVtYkhvdmVyQmFja2dyb3VuZDtcbiAgfVxuXG4gIC8qIEludmVydGVkIFVJICovXG4gIGJvZHkgLnVpLmludmVydGVkOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogQHRyYWNrSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICB9XG4gIGJvZHkgLnVpLmludmVydGVkOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICB9XG4gIGJvZHkgLnVpLmludmVydGVkOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjp3aW5kb3ctaW5hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IEB0aHVtYkludmVydGVkSW5hY3RpdmVCYWNrZ3JvdW5kO1xuICB9XG4gIGJvZHkgLnVpLmludmVydGVkOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRIb3ZlckJhY2tncm91bmQ7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBIaWdobGlnaHRpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFNpdGUgKi9cbjo6LXdlYmtpdC1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaGlnaGxpZ2h0QmFja2dyb3VuZDtcbiAgY29sb3I6IEBoaWdobGlnaHRDb2xvcjtcbn1cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaGlnaGxpZ2h0QmFja2dyb3VuZDtcbiAgY29sb3I6IEBoaWdobGlnaHRDb2xvcjtcbn1cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGhpZ2hsaWdodEJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaGlnaGxpZ2h0Q29sb3I7XG59XG5cbi8qIEZvcm0gKi9cbnRleHRhcmVhOjotd2Via2l0LXNlbGVjdGlvbixcbmlucHV0Ojotd2Via2l0LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dEhpZ2hsaWdodEJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaW5wdXRIaWdobGlnaHRDb2xvcjtcbn1cbnRleHRhcmVhOjotbW96LXNlbGVjdGlvbixcbmlucHV0OjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dEhpZ2hsaWdodEJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaW5wdXRIaWdobGlnaHRDb2xvcjtcbn1cbnRleHRhcmVhOjpzZWxlY3Rpb24sXG5pbnB1dDo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0SGlnaGxpZ2h0QmFja2dyb3VuZDtcbiAgY29sb3I6IEBpbnB1dEhpZ2hsaWdodENvbG9yO1xufVxuXG4uYWRkU2Nyb2xsYmFycygpO1xuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyohXG4gKiAjIFNlbWFudGljIFVJIC0gQnV0dG9uXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ2VsZW1lbnQnO1xuQGVsZW1lbnQgOiAnYnV0dG9uJztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQnV0dG9uXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgbWluLWhlaWdodDogMWVtO1xuXG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IEB2ZXJ0aWNhbEFsaWduO1xuICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgY29sb3I6IEB0ZXh0Q29sb3I7XG5cbiAgZm9udC1mYW1pbHk6IEBmb250RmFtaWx5O1xuXG4gIG1hcmdpbjogMGVtIEBob3Jpem9udGFsTWFyZ2luIEB2ZXJ0aWNhbE1hcmdpbiAwZW07XG4gIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nIChAdmVydGljYWxQYWRkaW5nICsgQHNoYWRvd09mZnNldCk7XG5cbiAgdGV4dC10cmFuc2Zvcm06IEB0ZXh0VHJhbnNmb3JtO1xuICB0ZXh0LXNoYWRvdzogQHRleHRTaGFkb3c7XG4gIGZvbnQtd2VpZ2h0OiBAZm9udFdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xuICB3aWxsLWNoYW5nZTogQHdpbGxDaGFuZ2U7XG5cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiBAdGFwQ29sb3I7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaG92ZXJCYWNrZ3JvdW5kQ29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IEBob3ZlckJhY2tncm91bmRJbWFnZTtcbiAgYm94LXNoYWRvdzogQGhvdmVyQm94U2hhZG93O1xuICBjb2xvcjogQGhvdmVyQ29sb3I7XG59XG5cbi51aS5idXR0b246aG92ZXIgLmljb24ge1xuICBvcGFjaXR5OiBAaWNvbkhvdmVyT3BhY2l0eTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZm9jdXNCYWNrZ3JvdW5kQ29sb3I7XG4gIGNvbG9yOiBAZm9jdXNDb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogQGZvY3VzQmFja2dyb3VuZEltYWdlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IEBmb2N1c0JveFNoYWRvdyAhaW1wb3J0YW50O1xufVxuXG4udWkuYnV0dG9uOmZvY3VzIC5pY29uIHtcbiAgb3BhY2l0eTogQGljb25Gb2N1c09wYWNpdHk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIERvd25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5idXR0b246YWN0aXZlLFxuLnVpLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGRvd25CYWNrZ3JvdW5kQ29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IEBkb3duQmFja2dyb3VuZEltYWdlO1xuICBjb2xvcjogQGRvd25Db2xvcjtcbiAgYm94LXNoYWRvdzogQGRvd25Cb3hTaGFkb3c7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBhY3RpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IEBhY3RpdmVCYWNrZ3JvdW5kSW1hZ2U7XG4gIGJveC1zaGFkb3c6IEBhY3RpdmVCb3hTaGFkb3c7XG4gIGNvbG9yOiBAYWN0aXZlQ29sb3I7XG59XG4udWkuYWN0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBhY3RpdmVIb3ZlckJhY2tncm91bmRDb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogQGFjdGl2ZUhvdmVyQmFja2dyb3VuZEltYWdlO1xuICBjb2xvcjogQGFjdGl2ZUhvdmVyQ29sb3I7XG59XG4udWkuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYWN0aXZlQmFja2dyb3VuZENvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBAYWN0aXZlQmFja2dyb3VuZEltYWdlO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBMb2FkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTcGVjaWZpY2l0eSBoYWNrICovXG4udWkubG9hZGluZy5sb2FkaW5nLmxvYWRpbmcubG9hZGluZy5sb2FkaW5nLmxvYWRpbmcuYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiBAbG9hZGluZ09wYWNpdHk7XG4gIHBvaW50ZXItZXZlbnRzOiBAbG9hZGluZ1BvaW50ZXJFdmVudHM7XG4gIHRyYW5zaXRpb246IEBsb2FkaW5nVHJhbnNpdGlvbjtcbn1cbi51aS5sb2FkaW5nLmJ1dHRvbjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuXG4gIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBpbnZlcnRlZExvYWRlckZpbGxDb2xvcjtcbn1cbi51aS5sb2FkaW5nLmJ1dHRvbjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG5cbiAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICB3aWR0aDogQGxvYWRlclNpemU7XG4gIGhlaWdodDogQGxvYWRlclNpemU7XG5cbiAgYW5pbWF0aW9uOiBidXR0b24tc3BpbiBAbG9hZGVyU3BlZWQgbGluZWFyO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcblxuICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG5cbiAgYm9yZGVyLWNvbG9yOiBAaW52ZXJ0ZWRMb2FkZXJMaW5lQ29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogQGxvYWRlckxpbmVXaWR0aDtcblxuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQ7XG59XG4udWkubGFiZWxlZC5pY29uLmxvYWRpbmcuYnV0dG9uIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbkBrZXlmcmFtZXMgYnV0dG9uLXNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4udWkuYmFzaWMubG9hZGluZy5idXR0b246bm90KC5pbnZlcnRlZCk6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBAbG9hZGVyRmlsbENvbG9yO1xufVxuLnVpLmJhc2ljLmxvYWRpbmcuYnV0dG9uOm5vdCguaW52ZXJ0ZWQpOmFmdGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogQGxvYWRlckxpbmVDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYnV0dG9ucyAuZGlzYWJsZWQuYnV0dG9uLFxuLnVpLmRpc2FibGVkLmJ1dHRvbixcbi51aS5idXR0b246ZGlzYWJsZWQsXG4udWkuZGlzYWJsZWQuYnV0dG9uOmhvdmVyLFxuLnVpLmRpc2FibGVkLmFjdGl2ZS5idXR0b24ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJhc2ljIEdyb3VwIFdpdGggRGlzYWJsZWQgKi9cbi51aS5iYXNpYy5idXR0b25zIC51aS5kaXNhYmxlZC5idXR0b24ge1xuICBib3JkZXItY29sb3I6IEBkaXNhYmxlZEJvcmRlckNvbG9yO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBbmltYXRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYW5pbWF0ZWQuYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IEBhbmltYXRlZFZlcnRpY2FsQWxpZ247XG4gIHotaW5kZXg6IEBhbmltYXRlZFpJbmRleDtcbn1cblxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAuY29udGVudCB7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG59XG4udWkuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogQGhvcml6b250YWxQYWRkaW5nO1xufVxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBIb3Jpem9udGFsICovXG4udWkuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQsXG4udWkuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zaXRpb246IHJpZ2h0IEBhbmltYXRpb25EdXJhdGlvbiBAYW5pbWF0aW9uRWFzaW5nIDBzO1xufVxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDAlO1xufVxuLnVpLmFuaW1hdGVkLmJ1dHRvbiAuaGlkZGVuLmNvbnRlbnQge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC0xMDAlO1xuICBtYXJnaW4tdG9wOiAtKEBsaW5lSGVpZ2h0IC8gMik7XG59XG4udWkuYW5pbWF0ZWQuYnV0dG9uOmZvY3VzIC52aXNpYmxlLmNvbnRlbnQsXG4udWkuYW5pbWF0ZWQuYnV0dG9uOmhvdmVyIC52aXNpYmxlLmNvbnRlbnQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMjAwJTtcbn1cbi51aS5hbmltYXRlZC5idXR0b246Zm9jdXMgLmhpZGRlbi5jb250ZW50LFxuLnVpLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAuaGlkZGVuLmNvbnRlbnQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMCU7XG59XG5cbi8qIFZlcnRpY2FsICovXG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uIC52aXNpYmxlLmNvbnRlbnQsXG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zaXRpb246IHRvcCBAYW5pbWF0aW9uRHVyYXRpb24gQGFuaW1hdGlvbkVhc2luZywgdHJhbnNmb3JtIEBhbmltYXRpb25EdXJhdGlvbiBAYW5pbWF0aW9uRWFzaW5nO1xufVxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgcmlnaHQ6IGF1dG87XG59XG4udWkudmVydGljYWwuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIHRvcDogLTUwJTtcbiAgbGVmdDogMCU7XG4gIHJpZ2h0OiBhdXRvO1xufVxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAudmlzaWJsZS5jb250ZW50LFxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMCUpO1xuICByaWdodDogYXV0bztcbn1cbi51aS52ZXJ0aWNhbC5hbmltYXRlZC5idXR0b246Zm9jdXMgLmhpZGRlbi5jb250ZW50LFxuLnVpLnZlcnRpY2FsLmFuaW1hdGVkLmJ1dHRvbjpob3ZlciAuaGlkZGVuLmNvbnRlbnQge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi8qIEZhZGUgKi9cbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50LFxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uIC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgQGFuaW1hdGlvbkR1cmF0aW9uIEBhbmltYXRpb25FYXNpbmcsIHRyYW5zZm9ybSBAYW5pbWF0aW9uRHVyYXRpb24gQGFuaW1hdGlvbkVhc2luZztcbn1cbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbiAudmlzaWJsZS5jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4udWkuZmFkZS5hbmltYXRlZC5idXR0b24gLmhpZGRlbi5jb250ZW50IHtcbiAgb3BhY2l0eTogMDtcbiAgbGVmdDogMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICB0cmFuc2Zvcm06IHNjYWxlKEBmYWRlU2NhbGVIaWdoKTtcbn1cbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAudmlzaWJsZS5jb250ZW50LFxuLnVpLmZhZGUuYW5pbWF0ZWQuYnV0dG9uOmhvdmVyIC52aXNpYmxlLmNvbnRlbnQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZShAZmFkZVNjYWxlTG93KTtcbn1cbi51aS5mYWRlLmFuaW1hdGVkLmJ1dHRvbjpmb2N1cyAuaGlkZGVuLmNvbnRlbnQsXG4udWkuZmFkZS5hbmltYXRlZC5idXR0b246aG92ZXIgLmhpZGRlbi5jb250ZW50IHtcbiAgbGVmdDogMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAd2hpdGUgaW5zZXQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZTtcbiAgY29sb3I6IEB3aGl0ZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogR3JvdXAgKi9cbi51aS5pbnZlcnRlZC5idXR0b25zIC5idXR0b24ge1xuICBtYXJnaW46IEBpbnZlcnRlZEdyb3VwQnV0dG9uT2Zmc2V0O1xufVxuLnVpLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG4udWkuaW52ZXJ0ZWQudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uIHtcbiAgbWFyZ2luOiBAaW52ZXJ0ZWRWZXJ0aWNhbEdyb3VwQnV0dG9uT2Zmc2V0O1xufVxuLnVpLmludmVydGVkLnZlcnRpY2FsLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cblxuLyogU3RhdGVzICovXG5cbi8qIEhvdmVyICovXG4udWkuaW52ZXJ0ZWQuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogQHdoaXRlO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEB3aGl0ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGhvdmVyQ29sb3I7XG59XG5cbi8qIEFjdGl2ZSAvIEZvY3VzICovXG4udWkuaW52ZXJ0ZWQuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBAd2hpdGU7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQHdoaXRlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAZm9jdXNDb2xvcjtcbn1cblxuLyogQWN0aXZlIEZvY3VzICovXG4udWkuaW52ZXJ0ZWQuYnV0dG9uLmFjdGl2ZTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IEBtaWRXaGl0ZTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbWlkV2hpdGUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBmb2N1c0NvbG9yO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIExhYmVsZWQgQnV0dG9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sYWJlbGVkLmJ1dHRvbjpub3QoLmljb24pIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi51aS5sYWJlbGVkLmJ1dHRvbiA+IC5idXR0b24ge1xuICBtYXJnaW46IDBweDtcbn1cbi51aS5sYWJlbGVkLmJ1dHRvbiA+IC5sYWJlbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBAbGFiZWxlZExhYmVsQWxpZ247XG4gIG1hcmdpbjogMHB4IDBweCAwcHggQGxhYmVsZWRMYWJlbEJvcmRlck9mZnNldCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IEBsYWJlbGVkTGFiZWxGb250U2l6ZTtcbiAgcGFkZGluZzogQGxhYmVsZWRMYWJlbFBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogQGxhYmVsZWRMYWJlbEZvbnRTaXplO1xuICBib3JkZXItY29sb3I6IEBsYWJlbGVkTGFiZWxCb3JkZXJDb2xvcjtcbn1cblxuLyogVGFnICovXG4udWkubGFiZWxlZC5idXR0b24gPiAudGFnLmxhYmVsOmJlZm9yZSB7XG4gIHdpZHRoOiBAbGFiZWxlZFRhZ0xhYmVsU2l6ZTtcbiAgaGVpZ2h0OiBAbGFiZWxlZFRhZ0xhYmVsU2l6ZTtcbn1cblxuLyogUmlnaHQgKi9cbi51aS5sYWJlbGVkLmJ1dHRvbjpub3QoW2NsYXNzKj1cImxlZnQgbGFiZWxlZFwiXSkgPiAuYnV0dG9uIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbn1cbi51aS5sYWJlbGVkLmJ1dHRvbjpub3QoW2NsYXNzKj1cImxlZnQgbGFiZWxlZFwiXSkgPiAubGFiZWwge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbn1cblxuLyogTGVmdCBTaWRlICovXG4udWlbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdLmJ1dHRvbiA+IC5idXR0b24ge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGxhYmVsZWRcIl0uYnV0dG9uID4gLmxhYmVsIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgU29jaWFsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEZhY2Vib29rICovXG4udWkuZmFjZWJvb2suYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGZhY2Vib29rQ29sb3I7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkuZmFjZWJvb2suYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGZhY2Vib29rSG92ZXJDb2xvcjtcbiAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG59XG4udWkuZmFjZWJvb2suYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBmYWNlYm9va0Rvd25Db2xvcjtcbiAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG59XG5cbi8qIFR3aXR0ZXIgKi9cbi51aS50d2l0dGVyLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0d2l0dGVyQ29sb3I7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkudHdpdHRlci5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdHdpdHRlckhvdmVyQ29sb3I7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xufVxuLnVpLnR3aXR0ZXIuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0d2l0dGVyRG93bkNvbG9yO1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbn1cblxuLyogR29vZ2xlIFBsdXMgKi9cbi51aS5nb29nbGUucGx1cy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ29vZ2xlUGx1c0NvbG9yO1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG4gIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xufVxuLnVpLmdvb2dsZS5wbHVzLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBnb29nbGVQbHVzSG92ZXJDb2xvcjtcbiAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG59XG4udWkuZ29vZ2xlLnBsdXMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBnb29nbGVQbHVzRG93bkNvbG9yO1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbn1cblxuLyogTGlua2VkIEluICovXG4udWkubGlua2VkaW4uYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpbmtlZEluQ29sb3I7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xufVxuLnVpLmxpbmtlZGluLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaW5rZWRJbkhvdmVyQ29sb3I7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xufVxuLnVpLmxpbmtlZGluLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlua2VkSW5Eb3duQ29sb3I7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xufVxuXG4vKiBZb3VUdWJlICovXG4udWkueW91dHViZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAeW91dHViZUNvbG9yO1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG4gIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xufVxuLnVpLnlvdXR1YmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHlvdXR1YmVIb3ZlckNvbG9yO1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbn1cbi51aS55b3V0dWJlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAeW91dHViZURvd25Db2xvcjtcbiAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG59XG5cbi8qIEluc3RhZ3JhbSAqL1xuLnVpLmluc3RhZ3JhbS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5zdGFncmFtQ29sb3I7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkuaW5zdGFncmFtLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnN0YWdyYW1Ib3ZlckNvbG9yO1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbn1cbi51aS5pbnN0YWdyYW0uYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnN0YWdyYW1Eb3duQ29sb3I7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xufVxuXG4vKiBQaW50ZXJlc3QgKi9cbi51aS5waW50ZXJlc3QuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBpbnRlcmVzdENvbG9yO1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbiAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG4gIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xufVxuLnVpLnBpbnRlcmVzdC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGludGVyZXN0SG92ZXJDb2xvcjtcbiAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG59XG4udWkucGludGVyZXN0LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGludGVyZXN0RG93bkNvbG9yO1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGludmVydGVkVGV4dFNoYWRvdztcbn1cblxuLyogVksgKi9cbi51aS52ay5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEQ3MTk4O1xuICBjb2xvcjogQHdoaXRlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkudmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHZrSG92ZXJDb2xvcjtcbiAgY29sb3I6IEB3aGl0ZTtcbn1cbi51aS52ay5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHZrRG93bkNvbG9yO1xuICBjb2xvcjogQHdoaXRlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5idXR0b24gPiAuaWNvbjpub3QoLmJ1dHRvbikge1xuICBoZWlnaHQ6IEBpY29uSGVpZ2h0O1xuICBvcGFjaXR5OiBAaWNvbk9wYWNpdHk7XG4gIG1hcmdpbjogQGljb25NYXJnaW47XG4gIHRyYW5zaXRpb246IEBpY29uVHJhbnNpdGlvbjtcbiAgdmVydGljYWwtYWxpZ246IEBpY29uVmVydGljYWxBbGlnbjtcbiAgY29sb3I6IEBpY29uQ29sb3I7XG59XG5cbi51aS5idXR0b246bm90KC5pY29uKSA+IC5pY29uOm5vdCguYnV0dG9uKTpub3QoLmRyb3Bkb3duKSB7XG4gIG1hcmdpbjogQGljb25NYXJnaW47XG59XG4udWkuYnV0dG9uOm5vdCguaWNvbikgPiAucmlnaHQuaWNvbjpub3QoLmJ1dHRvbik6bm90KC5kcm9wZG93bikge1xuICBtYXJnaW46IEByaWdodEljb25NYXJnaW47XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRmxvYXRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmJ1dHRvbnMsXG4udWlbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IEBmbG9hdGVkTWFyZ2luO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uYnV0dG9ucyxcbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmJ1dHRvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIG1hcmdpbi1sZWZ0OiBAZmxvYXRlZE1hcmdpbjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29tcGFjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tcGFjdC5idXR0b25zIC5idXR0b24sXG4udWkuY29tcGFjdC5idXR0b24ge1xuICBwYWRkaW5nOiBAY29tcGFjdFZlcnRpY2FsUGFkZGluZyBAY29tcGFjdEhvcml6b250YWxQYWRkaW5nICggQGNvbXBhY3RWZXJ0aWNhbFBhZGRpbmcgKyBAc2hhZG93T2Zmc2V0ICk7XG59XG4udWkuY29tcGFjdC5pY29uLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5jb21wYWN0Lmljb24uYnV0dG9uIHtcbiAgcGFkZGluZzogQGNvbXBhY3RWZXJ0aWNhbFBhZGRpbmcgQGNvbXBhY3RWZXJ0aWNhbFBhZGRpbmcgKCBAY29tcGFjdFZlcnRpY2FsUGFkZGluZyArIEBzaGFkb3dPZmZzZXQgKTtcbn1cbi51aS5jb21wYWN0LmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b24sXG4udWkuY29tcGFjdC5sYWJlbGVkLmljb24uYnV0dG9uIHtcbiAgcGFkZGluZzogQGNvbXBhY3RWZXJ0aWNhbFBhZGRpbmcgKEBjb21wYWN0SG9yaXpvbnRhbFBhZGRpbmcgKyBAbGFiZWxlZEljb25XaWR0aCkgKCBAY29tcGFjdFZlcnRpY2FsUGFkZGluZyArIEBzaGFkb3dPZmZzZXQgKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5taW5pLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5taW5pLmJ1dHRvbnMgLm9yLFxuLnVpLm1pbmkuYnV0dG9uIHtcbiAgZm9udC1zaXplOiBAbWluaTtcbn1cbi51aS50aW55LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS50aW55LmJ1dHRvbnMgLm9yLFxuLnVpLnRpbnkuYnV0dG9uIHtcbiAgZm9udC1zaXplOiBAdGlueTtcbn1cbi51aS5zbWFsbC5idXR0b25zIC5idXR0b24sXG4udWkuc21hbGwuYnV0dG9ucyAub3IsXG4udWkuc21hbGwuYnV0dG9uIHtcbiAgZm9udC1zaXplOiBAc21hbGw7XG59XG4udWkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJ1dHRvbnMgLm9yLFxuLnVpLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbi51aS5sYXJnZS5idXR0b25zIC5idXR0b24sXG4udWkubGFyZ2UuYnV0dG9ucyAub3IsXG4udWkubGFyZ2UuYnV0dG9uIHtcbiAgZm9udC1zaXplOiBAbGFyZ2U7XG59XG4udWkuYmlnLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iaWcuYnV0dG9ucyAub3IsXG4udWkuYmlnLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogQGJpZztcbn1cbi51aS5odWdlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5odWdlLmJ1dHRvbnMgLm9yLFxuLnVpLmh1Z2UuYnV0dG9uIHtcbiAgZm9udC1zaXplOiBAaHVnZTtcbn1cbi51aS5tYXNzaXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5tYXNzaXZlLmJ1dHRvbnMgLm9yLFxuLnVpLm1hc3NpdmUuYnV0dG9uIHtcbiAgZm9udC1zaXplOiBAbWFzc2l2ZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEljb24gT25seVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmljb24uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmljb24uYnV0dG9uIHtcbiAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyBAdmVydGljYWxQYWRkaW5nICggQHZlcnRpY2FsUGFkZGluZyArIEBzaGFkb3dPZmZzZXQgKTtcbn1cbi51aS5pY29uLmJ1dHRvbnMgLmJ1dHRvbiA+IC5pY29uLFxuLnVpLmljb24uYnV0dG9uID4gLmljb24ge1xuICBvcGFjaXR5OiBAaWNvbkJ1dHRvbk9wYWNpdHk7XG4gIG1hcmdpbjogMGVtICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEJhc2ljXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogQGJhc2ljQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGJhc2ljVGV4dENvbG9yICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBAYmFzaWNGb250V2VpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYmFzaWNCb3JkZXJSYWRpdXM7XG4gIHRleHQtdHJhbnNmb3JtOiBAYmFzaWNUZXh0VHJhbnNmb3JtO1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNCb3hTaGFkb3c7XG59XG4udWkuYmFzaWMuYnV0dG9ucyB7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0dyb3VwQm94U2hhZG93O1xuICBib3JkZXI6IEBiYXNpY0dyb3VwQm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cblxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBAYmFzaWNIb3ZlckJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBiYXNpY0hvdmVyVGV4dENvbG9yICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0hvdmVyQm94U2hhZG93O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiBAYmFzaWNGb2N1c0JhY2tncm91bmQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBiYXNpY0ZvY3VzVGV4dENvbG9yICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0ZvY3VzQm94U2hhZG93O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IEBiYXNpY0Rvd25CYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAYmFzaWNEb3duVGV4dENvbG9yICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0Rvd25Cb3hTaGFkb3c7XG59XG4udWkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogQGJhc2ljQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNBY3RpdmVCb3hTaGFkb3cgIWltcG9ydGFudDtcbiAgY29sb3I6IEBiYXNpY0FjdGl2ZVRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuYWN0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0cmFuc3BhcmVudEJsYWNrO1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0hvdmVyQm94U2hhZG93IGluc2V0O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBAYmFzaWNEb3duQm94U2hhZG93IGluc2V0O1xufVxuLnVpLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiBAYmFzaWNBY3RpdmVCb3hTaGFkb3cgIWltcG9ydGFudDtcbn1cblxuLyogU3RhbmRhcmQgQmFzaWMgSW52ZXJ0ZWQgKi9cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBvZmZXaGl0ZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEJveFNoYWRvdyAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b246aG92ZXIge1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0ludmVydGVkSG92ZXJCb3hTaGFkb3cgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEZvY3VzQm94U2hhZG93ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuaW52ZXJ0ZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRyYW5zcGFyZW50V2hpdGUgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZERvd25Cb3hTaGFkb3cgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5pbnZlcnRlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLmludmVydGVkLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdHJhbnNwYXJlbnRXaGl0ZTtcbiAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBpbnZlcnRlZFRleHRTaGFkb3c7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0ludmVydGVkQWN0aXZlQm94U2hhZG93O1xufVxuLnVpLmJhc2ljLmludmVydGVkLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuaW52ZXJ0ZWQuYWN0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBzdHJvbmdUcmFuc3BhcmVudFdoaXRlO1xuICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEhvdmVyQm94U2hhZG93ICFpbXBvcnRhbnQ7XG59XG5cblxuLyogQmFzaWMgR3JvdXAgKi9cbi51aS5iYXNpYy5idXR0b25zIC5idXR0b24ge1xuICBib3JkZXItbGVmdDogQGJhc2ljR3JvdXBCb3JkZXI7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuYmFzaWMudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4udWkuYmFzaWMudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uIHtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDBweDtcbiAgYm9yZGVyLXRvcDogQGJhc2ljR3JvdXBCb3JkZXI7XG59XG4udWkuYmFzaWMudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMHB4O1xufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICBMYWJlbGVkIEljb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogQGxhYmVsZWRJY29uUGFkZGluZyAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiBAaG9yaXpvbnRhbFBhZGRpbmcgIWltcG9ydGFudDtcbn1cblxuLyogTGVmdCBMYWJlbGVkICovXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb24sXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBtYXJnaW46IEBsYWJlbGVkSWNvbk1hcmdpbjtcbiAgd2lkdGg6IEBsYWJlbGVkSWNvbldpZHRoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGFiZWxlZEljb25CYWNrZ3JvdW5kQ29sb3I7XG4gIGNvbG9yOiBAbGFiZWxlZEljb25Db2xvcjtcbiAgYm94LXNoYWRvdzogQGxhYmVsZWRJY29uTGVmdFNoYWRvdztcbn1cblxuLyogTGVmdCBMYWJlbGVkICovXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgPiAuYnV0dG9uID4gLmljb24sXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uIHtcbiAgdG9wOiAwZW07XG4gIGxlZnQ6IDBlbTtcbn1cblxuLyogUmlnaHQgTGFiZWxlZCAqL1xuLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaWNvbi5idXR0b24ge1xuICBwYWRkaW5nLXJpZ2h0OiBAbGFiZWxlZEljb25QYWRkaW5nICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogQGhvcml6b250YWxQYWRkaW5nICFpbXBvcnRhbnQ7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pY29uLmJ1dHRvbiA+IC5pY29uIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJveC1zaGFkb3c6IEBsYWJlbGVkSWNvblJpZ2h0U2hhZG93O1xufVxuXG5cbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyA+IC5idXR0b24gPiAuaWNvbjpiZWZvcmUsXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbiA+IC5pY29uOmJlZm9yZSxcbi51aS5sYWJlbGVkLmljb24uYnV0dG9ucyA+IC5idXR0b24gPiAuaWNvbjphZnRlcixcbi51aS5sYWJlbGVkLmljb24uYnV0dG9uID4gLmljb246YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbiA+IC5pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xufVxuLnVpLmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQgPiAuaWNvbiB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG59XG4udWkubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkID4gLmljb24ge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG59XG4udWkudmVydGljYWwubGFiZWxlZC5pY29uLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCA+IC5pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xufVxuLnVpLnZlcnRpY2FsLmxhYmVsZWQuaWNvbi5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCA+IC5pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xufVxuXG4vKiBGbHVpZCBMYWJlbGVkICovXG4udWkuZmx1aWRbY2xhc3MqPVwibGVmdCBsYWJlbGVkXCJdLmljb24uYnV0dG9uLFxuLnVpLmZsdWlkW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaWNvbi5idXR0b24ge1xuICBwYWRkaW5nLWxlZnQ6IEBob3Jpem9udGFsUGFkZGluZyAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiBAaG9yaXpvbnRhbFBhZGRpbmcgIWltcG9ydGFudDtcbn1cblxuXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBUb2dnbGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFRvZ2dsZSAoTW9kaWZpZXMgYWN0aXZlIHN0YXRlIHRvIGdpdmUgYWZmb3JkYW5jZXMpICovXG4udWkudG9nZ2xlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYnV0dG9ucyAuYnV0dG9uLnRvZ2dsZS5hY3RpdmUsXG4udWkuYnV0dG9uLnRvZ2dsZS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9zaXRpdmVDb2xvciAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yICFpbXBvcnRhbnQ7XG59XG4udWkuYnV0dG9uLnRvZ2dsZS5hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9zaXRpdmVDb2xvckhvdmVyICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBAaW52ZXJ0ZWRUZXh0U2hhZG93O1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDaXJjdWxhclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNpcmN1bGFyLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwZW07XG59XG4udWkuY2lyY3VsYXIuYnV0dG9uID4gLmljb24ge1xuICB3aWR0aDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBPciBCdXR0b25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5idXR0b25zIC5vciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IEBvckdhcDtcbiAgaGVpZ2h0OiBAb3JIZWlnaHQ7XG4gIHotaW5kZXg6IEBvclpJbmRleDtcbn1cbi51aS5idXR0b25zIC5vcjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuXG4gIGNvbnRlbnQ6IEBvclRleHQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBvckJhY2tncm91bmRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBvclRleHRTaGFkb3c7XG5cbiAgbWFyZ2luLXRvcDogQG9yVmVydGljYWxPZmZzZXQ7XG4gIG1hcmdpbi1sZWZ0OiBAb3JIb3Jpem9udGFsT2Zmc2V0O1xuXG4gIHdpZHRoOiBAb3JDaXJjbGVTaXplO1xuICBoZWlnaHQ6IEBvckNpcmNsZVNpemU7XG5cbiAgbGluZS1oZWlnaHQ6IEBvckxpbmVIZWlnaHQ7XG4gIGNvbG9yOiBAb3JUZXh0Q29sb3I7XG5cbiAgZm9udC1zdHlsZTogQG9yVGV4dFN0eWxlO1xuICBmb250LXdlaWdodDogQG9yVGV4dFdlaWdodDtcblxuICBib3gtc2hhZG93OiBAb3JCb3hTaGFkb3c7XG59XG4udWkuYnV0dG9ucyAub3JbZGF0YS10ZXh0XTpiZWZvcmUge1xuICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG59XG5cbi8qIEZsdWlkIE9yICovXG4udWkuZmx1aWQuYnV0dG9ucyAub3Ige1xuICB3aWR0aDogMGVtICFpbXBvcnRhbnQ7XG59XG4udWkuZmx1aWQuYnV0dG9ucyAub3I6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuLyogU2luZ3VsYXIgKi9cbi51aS5hdHRhY2hlZC5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDBlbTtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICBib3gtc2hhZG93OiBAYXR0YWNoZWRCb3hTaGFkb3cgIWltcG9ydGFudDtcbn1cblxuLyogVG9wIC8gQm90dG9tICovXG4udWkuYXR0YWNoZWQudG9wLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuLnVpLmF0dGFjaGVkLmJvdHRvbS5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cztcbn1cblxuLyogTGVmdCAvIFJpZ2h0ICovXG4udWkubGVmdC5hdHRhY2hlZC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICBwYWRkaW5nLXJpZ2h0OiBAYXR0YWNoZWRIb3Jpem9udGFsUGFkZGluZztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAwZW0gMGVtIEBib3JkZXJSYWRpdXM7XG59XG4udWkucmlnaHQuYXR0YWNoZWQuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IEBhdHRhY2hlZEhvcml6b250YWxQYWRkaW5nO1xuICBib3JkZXItcmFkaXVzOiAwZW0gQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDBlbTtcbn1cblxuLyogUGx1cmFsICovXG4udWkuYXR0YWNoZWQuYnV0dG9ucyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB6LWluZGV4OiBAYXR0YWNoZWRaSW5kZXg7XG4gIG1hcmdpbi1sZWZ0OiBAYXR0YWNoZWRPZmZzZXQ7XG4gIG1hcmdpbi1yaWdodDogQGF0dGFjaGVkT2Zmc2V0O1xufVxuLnVpLmF0dGFjaGVkLmJ1dHRvbnMgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMGVtO1xufVxuLnVpLmF0dGFjaGVkLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cbi51aS5hdHRhY2hlZC5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cblxuLyogVG9wIC8gQm90dG9tICovXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmJ1dHRvbnMge1xuICBtYXJnaW4tYm90dG9tOiBAYXR0YWNoZWRPZmZzZXQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDBlbSAwZW0gMGVtO1xufVxuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSBAYm9yZGVyUmFkaXVzIDBlbSAwZW07XG59XG5cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0uYnV0dG9ucyB7XG4gIG1hcmdpbi10b3A6IEBhdHRhY2hlZE9mZnNldDtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMGVtIEBib3JkZXJSYWRpdXM7XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSBAYm9yZGVyUmFkaXVzIDBlbTtcbn1cblxuLyogTGVmdCAvIFJpZ2h0ICovXG4udWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5idXR0b25zIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xuICBtYXJnaW4tbGVmdDogQGF0dGFjaGVkT2Zmc2V0O1xuICBib3JkZXItcmFkaXVzOiAwZW0gQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDBlbTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiBAYXR0YWNoZWRPZmZzZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSBAYm9yZGVyUmFkaXVzIDBlbSAwZW07XG59XG4udWlbY2xhc3MqPVwibGVmdCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiBAYXR0YWNoZWRPZmZzZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gQGJvcmRlclJhZGl1cyAwZW07XG59XG5cbi51aVtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXS5idXR0b25zIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogQGF0dGFjaGVkT2Zmc2V0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDBlbSAwZW0gQGJvcmRlclJhZGl1cztcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBhdHRhY2hlZFwiXS5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogQGF0dGFjaGVkT2Zmc2V0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDBlbSAwZW0gMGVtO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGF0dGFjaGVkXCJdLmJ1dHRvbnMgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IEBhdHRhY2hlZE9mZnNldDtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwZW0gQGJvcmRlclJhZGl1cztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZsdWlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbHVpZC5idXR0b25zLFxuLnVpLmZsdWlkLmJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmZsdWlkLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udWkudHdvLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS50d28uYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogNTAlO1xufVxuXG4udWkudGhyZWUuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLnRocmVlLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDMzLjMzMyU7XG59XG5cbi51aS5mb3VyLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5mb3VyLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnVpLmZpdmUuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmZpdmUuYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogMjAlO1xufVxuXG4udWkuc2l4LmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5zaXguYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogMTYuNjY2JTtcbn1cblxuLnVpLnNldmVuLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5zZXZlbi5idXR0b25zID4gLmJ1dHRvbiB7XG4gIHdpZHRoOiAxNC4yODUlO1xufVxuXG4udWkuZWlnaHQuYnV0dG9ucyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLmVpZ2h0LmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDEyLjUwMCU7XG59XG5cbi51aS5uaW5lLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5uaW5lLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDExLjExJTtcbn1cblxuLnVpLnRlbi5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkudGVuLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDEwJTtcbn1cblxuLnVpLmVsZXZlbi5idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkuZWxldmVuLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgd2lkdGg6IDkuMDklO1xufVxuXG4udWkudHdlbHZlLmJ1dHRvbnMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS50d2VsdmUuYnV0dG9ucyA+IC5idXR0b24ge1xuICB3aWR0aDogOC4zMzMzJTtcbn1cblxuLyogRmx1aWQgVmVydGljYWwgQnV0dG9ucyAqL1xuLnVpLmZsdWlkLnZlcnRpY2FsLmJ1dHRvbnMsXG4udWkuZmx1aWQudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogYXV0bztcbn1cblxuLnVpLnR3by52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogNTAlO1xufVxuLnVpLnRocmVlLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAzMy4zMzMlO1xufVxuLnVpLmZvdXIudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDI1JTtcbn1cbi51aS5maXZlLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAyMCU7XG59XG4udWkuc2l4LnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAxNi42NjYlO1xufVxuLnVpLnNldmVuLnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAxNC4yODUlO1xufVxuLnVpLmVpZ2h0LnZlcnRpY2FsLmJ1dHRvbnMgPiAuYnV0dG9uIHtcbiAgaGVpZ2h0OiAxMi41MDAlO1xufVxuLnVpLm5pbmUudmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDExLjExJTtcbn1cbi51aS50ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDEwJTtcbn1cbi51aS5lbGV2ZW4udmVydGljYWwuYnV0dG9ucyA+IC5idXR0b24ge1xuICBoZWlnaHQ6IDkuMDklO1xufVxuLnVpLnR3ZWx2ZS52ZXJ0aWNhbC5idXR0b25zID4gLmJ1dHRvbiB7XG4gIGhlaWdodDogOC4zMzMzJTtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyotLS0gQmxhY2sgLS0tKi9cbi51aS5ibGFjay5idXR0b25zIC5idXR0b24sXG4udWkuYmxhY2suYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrO1xuICBjb2xvcjogQGJsYWNrVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGJsYWNrVGV4dFNoYWRvdztcbiAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG59XG4udWkuYmxhY2suYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJsYWNrLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibGFja0hvdmVyO1xuICBjb2xvcjogQGJsYWNrVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGJsYWNrVGV4dFNoYWRvdztcbn1cbi51aS5ibGFjay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmxhY2suYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrRm9jdXM7XG4gIGNvbG9yOiBAYmxhY2tUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAYmxhY2tUZXh0U2hhZG93O1xufVxuLnVpLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmxhY2suYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibGFja0Rvd247XG4gIGNvbG9yOiBAYmxhY2tUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAYmxhY2tUZXh0U2hhZG93O1xufVxuLnVpLmJsYWNrLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkuYmxhY2suYWN0aXZlLmJ1dHRvbixcbi51aS5ibGFjay5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrQWN0aXZlO1xuICBjb2xvcjogQGJsYWNrVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGJsYWNrVGV4dFNoYWRvdztcbn1cblxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5ibGFjay5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuYmxhY2suYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQm9yZGVyU2l6ZSBAYmxhY2sgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBibGFjayAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5ibGFjay5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAYmxhY2tIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGJsYWNrSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ibGFjay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMuYmxhY2suYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQGJsYWNrRm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBibGFja0hvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5ibGFjay5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQGJsYWNrQWN0aXZlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAYmxhY2tEb3duICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYmxhY2suYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5ibGFjay5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQGJsYWNrRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGJsYWNrRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMuYmxhY2suYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC1AYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZTtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQHNvbGlkQm9yZGVyQ29sb3IgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodEJsYWNrVGV4dENvbG9yO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRCbGFja0hvdmVyO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRCbGFja0ZvY3VzO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodEJsYWNrQWN0aXZlO1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodEJsYWNrRG93bjtcbn1cblxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEJveFNoYWRvdyAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJsYWNrLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodEJsYWNrSG92ZXIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRCbGFja0ZvY3VzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRCbGFjayAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmxhY2suYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibGFjay5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRCbGFja0FjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYmxhY2suYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibGFjay5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmJsYWNrLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodEJsYWNrRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIEdyZXkgLS0tKi9cbi51aS5ncmV5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5ncmV5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmV5O1xuICBjb2xvcjogQGdyZXlUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAZ3JleVRleHRTaGFkb3c7XG4gIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xufVxuLnVpLmdyZXkuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkuZ3JleS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuZ3JleS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JleUhvdmVyO1xuICBjb2xvcjogQGdyZXlUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAZ3JleVRleHRTaGFkb3c7XG59XG4udWkuZ3JleS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuZ3JleS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JleUZvY3VzO1xuICBjb2xvcjogQGdyZXlUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAZ3JleVRleHRTaGFkb3c7XG59XG4udWkuZ3JleS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmdyZXkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmV5RG93bjtcbiAgY29sb3I6IEBncmV5VGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGdyZXlUZXh0U2hhZG93O1xufVxuLnVpLmdyZXkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5ncmV5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLmdyZXkuYWN0aXZlLmJ1dHRvbixcbi51aS5ncmV5LmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JleUFjdGl2ZTtcbiAgY29sb3I6IEBncmV5VGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGdyZXlUZXh0U2hhZG93O1xufVxuXG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmdyZXkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmdyZXkuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQm9yZGVyU2l6ZSBAZ3JleSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGdyZXkgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5ncmV5LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBncmV5SG92ZXIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBncmV5SG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5ncmV5LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBncmV5Rm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBncmV5SG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ncmV5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuZ3JleS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQGdyZXlBY3RpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBncmV5RG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5ncmV5LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAZ3JleURvd24gaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBncmV5RG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMuZ3JleS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLUBiYXNpY0NvbG9yZWRCb3JkZXJTaXplO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQHNvbGlkQm9yZGVyQ29sb3IgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRHcmV5VGV4dENvbG9yO1xufVxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0R3JleUhvdmVyO1xufVxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0R3JleUZvY3VzO1xufVxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmV5LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRHcmV5QWN0aXZlO1xufVxuLnVpLmludmVydGVkLmdyZXkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRHcmV5RG93bjtcbn1cblxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEJveFNoYWRvdyAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodEdyZXlIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodEdyZXlGb2N1cyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0R3JleSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmV5LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JleS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRHcmV5QWN0aXZlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZXkuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0R3JleURvd24gaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG5cbi8qLS0tIEJyb3duIC0tLSovXG4udWkuYnJvd24uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJyb3duLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBicm93bjtcbiAgY29sb3I6IEBicm93blRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBicm93blRleHRTaGFkb3c7XG4gIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xufVxuLnVpLmJyb3duLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xufVxuLnVpLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5icm93bi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJvd25Ib3ZlcjtcbiAgY29sb3I6IEBicm93blRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBicm93blRleHRTaGFkb3c7XG59XG4udWkuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJyb3duLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBicm93bkZvY3VzO1xuICBjb2xvcjogQGJyb3duVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGJyb3duVGV4dFNoYWRvdztcbn1cbi51aS5icm93bi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJyb3duLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJvd25Eb3duO1xuICBjb2xvcjogQGJyb3duVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGJyb3duVGV4dFNoYWRvdztcbn1cbi51aS5icm93bi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLmJyb3duLmFjdGl2ZS5idXR0b24sXG4udWkuYnJvd24uYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBicm93bkFjdGl2ZTtcbiAgY29sb3I6IEBicm93blRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBicm93blRleHRTaGFkb3c7XG59XG5cbi8qIEJhc2ljICovXG4udWkuYmFzaWMuYnJvd24uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0JvcmRlclNpemUgQGJyb3duIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAYnJvd24gIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5icm93bi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuYnJvd24uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQGJyb3duSG92ZXIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBicm93bkhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYnJvd24uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBicm93bkZvY3VzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAYnJvd25Ib3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuYnJvd24uYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBicm93bkFjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGJyb3duRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuYnJvd24uYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBicm93bkRvd24gaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBicm93bkRvd24gIWltcG9ydGFudDtcbn1cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLmJyb3duLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtQGJhc2ljQ29sb3JlZEJvcmRlclNpemU7XG59XG5cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodEJyb3duIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRCcm93bjtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodEJyb3duVGV4dENvbG9yO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRCcm93bkhvdmVyO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRCcm93bkZvY3VzO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYnJvd24uYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodEJyb3duQWN0aXZlO1xufVxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodEJyb3duRG93bjtcbn1cblxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEJveFNoYWRvdyAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJyb3duLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodEJyb3duSG92ZXIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodEJyb3duICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodEJyb3duRm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodEJyb3duICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5icm93bi5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodEJyb3duQWN0aXZlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRCcm93biAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmJyb3duLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYnJvd24uYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5icm93bi5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRCcm93bkRvd24gaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodEJyb3duICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIEJsdWUgLS0tKi9cbi51aS5ibHVlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5ibHVlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibHVlO1xuICBjb2xvcjogQGJsdWVUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAYmx1ZVRleHRTaGFkb3c7XG4gIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xufVxuLnVpLmJsdWUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkuYmx1ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmx1ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZUhvdmVyO1xuICBjb2xvcjogQGJsdWVUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAYmx1ZVRleHRTaGFkb3c7XG59XG4udWkuYmx1ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmx1ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZUZvY3VzO1xuICBjb2xvcjogQGJsdWVUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAYmx1ZVRleHRTaGFkb3c7XG59XG4udWkuYmx1ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJsdWUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibHVlRG93bjtcbiAgY29sb3I6IEBibHVlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGJsdWVUZXh0U2hhZG93O1xufVxuLnVpLmJsdWUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5ibHVlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLmJsdWUuYWN0aXZlLmJ1dHRvbixcbi51aS5ibHVlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZUFjdGl2ZTtcbiAgY29sb3I6IEBibHVlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGJsdWVUZXh0U2hhZG93O1xufVxuXG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmJsdWUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmJsdWUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQm9yZGVyU2l6ZSBAYmx1ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGJsdWUgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBibHVlSG92ZXIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBibHVlSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBibHVlRm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBibHVlSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ibHVlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuYmx1ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQGJsdWVBY3RpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBibHVlRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5ibHVlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAYmx1ZURvd24gaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBibHVlRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMuYmx1ZS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLUBiYXNpY0NvbG9yZWRCb3JkZXJTaXplO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0Qmx1ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0Qmx1ZTtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRCbHVlVGV4dENvbG9yO1xufVxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0Qmx1ZUhvdmVyO1xufVxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0Qmx1ZUZvY3VzO1xufVxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibHVlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRCbHVlQWN0aXZlO1xufVxuLnVpLmludmVydGVkLmJsdWUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRCbHVlRG93bjtcbn1cblxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEJveFNoYWRvdyAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodEJsdWVIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0Qmx1ZSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRCbHVlRm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodEJsdWUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuYmx1ZS5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0Qmx1ZUFjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0Qmx1ZSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmJsdWUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ibHVlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRCbHVlRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0Qmx1ZSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBHcmVlbiAtLS0qL1xuLnVpLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5ncmVlbi5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JlZW47XG4gIGNvbG9yOiBAZ3JlZW5UZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAZ3JlZW5UZXh0U2hhZG93O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbn1cbi51aS5ncmVlbi5idXR0b24ge1xuICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbn1cbi51aS5ncmVlbi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuZ3JlZW4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGdyZWVuSG92ZXI7XG4gIGNvbG9yOiBAZ3JlZW5UZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAZ3JlZW5UZXh0U2hhZG93O1xufVxuLnVpLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5ncmVlbi5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JlZW5Gb2N1cztcbiAgY29sb3I6IEBncmVlblRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBncmVlblRleHRTaGFkb3c7XG59XG4udWkuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5ncmVlbi5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGdyZWVuRG93bjtcbiAgY29sb3I6IEBncmVlblRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBncmVlblRleHRTaGFkb3c7XG59XG4udWkuZ3JlZW4uYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5ncmVlbi5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5ncmVlbi5hY3RpdmUuYnV0dG9uLFxuLnVpLmdyZWVuLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JlZW5BY3RpdmU7XG4gIGNvbG9yOiBAZ3JlZW5UZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAZ3JlZW5UZXh0U2hhZG93O1xufVxuXG5cbi8qIEJhc2ljICovXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0JvcmRlclNpemUgQGdyZWVuIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAZ3JlZW4gIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5ncmVlbi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQGdyZWVuSG92ZXIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBncmVlbkhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBncmVlbkZvY3VzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAZ3JlZW5Ib3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMuZ3JlZW4uYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBncmVlbkFjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGdyZWVuRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMuZ3JlZW4uYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBncmVlbkRvd24gaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBncmVlbkRvd24gIWltcG9ydGFudDtcbn1cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLmdyZWVuLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtQGJhc2ljQ29sb3JlZEJvcmRlclNpemU7XG59XG5cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodEdyZWVuIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRHcmVlbjtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBncmVlblRleHRDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0R3JlZW5Ib3Zlcjtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0R3JlZW5Gb2N1cztcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZWVuLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRHcmVlbkFjdGl2ZTtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRHcmVlbkRvd247XG59XG5cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogQGJhc2ljSW52ZXJ0ZWRCb3hTaGFkb3cgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5ncmVlbi5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRHcmVlbkhvdmVyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRHcmVlbiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRHcmVlbkZvY3VzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRHcmVlbiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmdyZWVuLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRHcmVlbkFjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0R3JlZW4gIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLmdyZWVuLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0R3JlZW5Eb3duIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRHcmVlbiAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBPcmFuZ2UgLS0tKi9cbi51aS5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLm9yYW5nZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb3JhbmdlO1xuICBjb2xvcjogQG9yYW5nZVRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBvcmFuZ2VUZXh0U2hhZG93O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbn1cbi51aS5vcmFuZ2UuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG9yYW5nZUhvdmVyO1xuICBjb2xvcjogQG9yYW5nZVRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBvcmFuZ2VUZXh0U2hhZG93O1xufVxuLnVpLm9yYW5nZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkub3JhbmdlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBvcmFuZ2VGb2N1cztcbiAgY29sb3I6IEBvcmFuZ2VUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAb3JhbmdlVGV4dFNoYWRvdztcbn1cbi51aS5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBvcmFuZ2VEb3duO1xuICBjb2xvcjogQG9yYW5nZVRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBvcmFuZ2VUZXh0U2hhZG93O1xufVxuLnVpLm9yYW5nZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLm9yYW5nZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5vcmFuZ2UuYWN0aXZlLmJ1dHRvbixcbi51aS5vcmFuZ2UuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBvcmFuZ2VBY3RpdmU7XG4gIGNvbG9yOiBAb3JhbmdlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQG9yYW5nZVRleHRTaGFkb3c7XG59XG5cbi8qIEJhc2ljICovXG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQm9yZGVyU2l6ZSBAb3JhbmdlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAb3JhbmdlICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQG9yYW5nZUhvdmVyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAb3JhbmdlSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAb3JhbmdlRm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBvcmFuZ2VIb3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLm9yYW5nZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLm9yYW5nZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQG9yYW5nZUFjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQG9yYW5nZURvd24gIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBvcmFuZ2VEb3duIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAb3JhbmdlRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMub3JhbmdlLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtQGJhc2ljQ29sb3JlZEJvcmRlclNpemU7XG59XG5cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0T3JhbmdlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRPcmFuZ2U7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodE9yYW5nZVRleHRDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRPcmFuZ2VIb3Zlcjtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9yYW5nZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRPcmFuZ2VGb2N1cztcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodE9yYW5nZUFjdGl2ZTtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodE9yYW5nZURvd247XG59XG5cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogQGJhc2ljSW52ZXJ0ZWRCb3hTaGFkb3cgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRPcmFuZ2VIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0T3JhbmdlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9yYW5nZS5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodE9yYW5nZUZvY3VzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRPcmFuZ2UgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0T3JhbmdlQWN0aXZlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRPcmFuZ2UgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vcmFuZ2UuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0T3JhbmdlRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0T3JhbmdlICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIFBpbmsgLS0tKi9cbi51aS5waW5rLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5waW5rLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwaW5rO1xuICBjb2xvcjogQHBpbmtUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcGlua1RleHRTaGFkb3c7XG4gIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xufVxuLnVpLnBpbmsuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkucGluay5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucGluay5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGlua0hvdmVyO1xuICBjb2xvcjogQHBpbmtUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcGlua1RleHRTaGFkb3c7XG59XG4udWkucGluay5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkucGluay5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGlua0ZvY3VzO1xuICBjb2xvcjogQHBpbmtUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcGlua1RleHRTaGFkb3c7XG59XG4udWkucGluay5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnBpbmsuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwaW5rRG93bjtcbiAgY29sb3I6IEBwaW5rVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHBpbmtUZXh0U2hhZG93O1xufVxuLnVpLnBpbmsuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5waW5rLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnBpbmsuYWN0aXZlLmJ1dHRvbixcbi51aS5waW5rLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGlua0FjdGl2ZTtcbiAgY29sb3I6IEBwaW5rVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHBpbmtUZXh0U2hhZG93O1xufVxuXG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnBpbmsuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQm9yZGVyU2l6ZSBAcGluayBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHBpbmsgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5waW5rLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBwaW5rSG92ZXIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBwaW5rSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5waW5rLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBwaW5rRm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBwaW5rSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5waW5rLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMucGluay5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQHBpbmtBY3RpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBwaW5rRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5waW5rLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAcGlua0Rvd24gaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBwaW5rRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMucGluay5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLUBiYXNpY0NvbG9yZWRCb3JkZXJTaXplO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0UGluayBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0UGluaztcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRQaW5rVGV4dENvbG9yO1xufVxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0UGlua0hvdmVyO1xufVxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0UGlua0ZvY3VzO1xufVxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5waW5rLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRQaW5rQWN0aXZlO1xufVxuLnVpLmludmVydGVkLnBpbmsuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRQaW5rRG93bjtcbn1cblxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEJveFNoYWRvdyAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFBpbmtIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0UGluayAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRQaW5rRm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFBpbmsgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5waW5rLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucGluay5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0UGlua0FjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0UGluayAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnBpbmsuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5waW5rLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucGluay5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRQaW5rRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0UGluayAhaW1wb3J0YW50O1xufVxuXG5cbi8qLS0tIFZpb2xldCAtLS0qL1xuLnVpLnZpb2xldC5idXR0b25zIC5idXR0b24sXG4udWkudmlvbGV0LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB2aW9sZXQ7XG4gIGNvbG9yOiBAdmlvbGV0VGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHZpb2xldFRleHRTaGFkb3c7XG4gIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xufVxuLnVpLnZpb2xldC5idXR0b24ge1xuICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbn1cbi51aS52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnZpb2xldC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdmlvbGV0SG92ZXI7XG4gIGNvbG9yOiBAdmlvbGV0VGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHZpb2xldFRleHRTaGFkb3c7XG59XG4udWkudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS52aW9sZXQuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHZpb2xldEZvY3VzO1xuICBjb2xvcjogQHZpb2xldFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEB2aW9sZXRUZXh0U2hhZG93O1xufVxuLnVpLnZpb2xldC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnZpb2xldC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHZpb2xldERvd247XG4gIGNvbG9yOiBAdmlvbGV0VGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHZpb2xldFRleHRTaGFkb3c7XG59XG4udWkudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnZpb2xldC5hY3RpdmUuYnV0dG9uLFxuLnVpLnZpb2xldC5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHZpb2xldEFjdGl2ZTtcbiAgY29sb3I6IEB2aW9sZXRUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAdmlvbGV0VGV4dFNoYWRvdztcbn1cblxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy52aW9sZXQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmJhc2ljLnZpb2xldC5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNCb3JkZXJTaXplIEB2aW9sZXQgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB2aW9sZXQgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnZpb2xldC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAdmlvbGV0SG92ZXIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB2aW9sZXRIb3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnZpb2xldC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEB2aW9sZXRGb2N1cyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHZpb2xldEhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMudmlvbGV0LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuYmFzaWMudmlvbGV0LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAdmlvbGV0QWN0aXZlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAdmlvbGV0RG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnZpb2xldC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnZpb2xldC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQHZpb2xldERvd24gaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB2aW9sZXREb3duICFpbXBvcnRhbnQ7XG59XG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy52aW9sZXQuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC1AYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZTtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRWaW9sZXQgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFZpb2xldDtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0VmlvbGV0VGV4dENvbG9yO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodFZpb2xldEhvdmVyO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodFZpb2xldEZvY3VzO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0VmlvbGV0QWN0aXZlO1xufVxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0VmlvbGV0RG93bjtcbn1cblxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEJveFNoYWRvdyAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC52aW9sZXQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFZpb2xldEhvdmVyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRWaW9sZXQgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0VmlvbGV0Rm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFZpb2xldCAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5iYXNpYy5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRWaW9sZXRBY3RpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFZpb2xldCAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnZpb2xldC5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRWaW9sZXREb3duIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRWaW9sZXQgIWltcG9ydGFudDtcbn1cblxuLyotLS0gUHVycGxlIC0tLSovXG4udWkucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5wdXJwbGUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHB1cnBsZTtcbiAgY29sb3I6IEBwdXJwbGVUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcHVycGxlVGV4dFNoYWRvdztcbiAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG59XG4udWkucHVycGxlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xufVxuLnVpLnB1cnBsZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkucHVycGxlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwdXJwbGVIb3ZlcjtcbiAgY29sb3I6IEBwdXJwbGVUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcHVycGxlVGV4dFNoYWRvdztcbn1cbi51aS5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnB1cnBsZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlRm9jdXM7XG4gIGNvbG9yOiBAcHVycGxlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHB1cnBsZVRleHRTaGFkb3c7XG59XG4udWkucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlRG93bjtcbiAgY29sb3I6IEBwdXJwbGVUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcHVycGxlVGV4dFNoYWRvdztcbn1cbi51aS5wdXJwbGUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5wdXJwbGUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkucHVycGxlLmFjdGl2ZS5idXR0b24sXG4udWkucHVycGxlLmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlQWN0aXZlO1xuICBjb2xvcjogQHB1cnBsZVRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBwdXJwbGVUZXh0U2hhZG93O1xufVxuXG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnB1cnBsZS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0JvcmRlclNpemUgQHB1cnBsZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHB1cnBsZSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnB1cnBsZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBwdXJwbGVIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHB1cnBsZUhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQHB1cnBsZUZvY3VzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcHVycGxlSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5wdXJwbGUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5wdXJwbGUuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBwdXJwbGVBY3RpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBwdXJwbGVEb3duICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAcHVycGxlRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHB1cnBsZURvd24gIWltcG9ydGFudDtcbn1cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnB1cnBsZS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLUBiYXNpY0NvbG9yZWRCb3JkZXJTaXplO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFB1cnBsZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0UHVycGxlO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRQdXJwbGVUZXh0Q29sb3I7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0UHVycGxlSG92ZXI7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0UHVycGxlRm9jdXM7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRQdXJwbGVBY3RpdmU7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRQdXJwbGVEb3duO1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0ludmVydGVkQm94U2hhZG93ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnB1cnBsZS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0UHVycGxlSG92ZXIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFB1cnBsZSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wdXJwbGUuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRQdXJwbGVGb2N1cyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0UHVycGxlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFB1cnBsZUFjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0UHVycGxlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHVycGxlLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFB1cnBsZURvd24gaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFB1cnBsZSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBSZWQgLS0tKi9cbi51aS5yZWQuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnJlZC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmVkO1xuICBjb2xvcjogQHJlZFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEByZWRUZXh0U2hhZG93O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBAY29sb3JlZEJhY2tncm91bmRJbWFnZTtcbn1cbi51aS5yZWQuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkucmVkLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5yZWQuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHJlZEhvdmVyO1xuICBjb2xvcjogQHJlZFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEByZWRUZXh0U2hhZG93O1xufVxuLnVpLnJlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkucmVkLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IEByZWRGb2N1cztcbiAgY29sb3I6IEByZWRUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcmVkVGV4dFNoYWRvdztcbn1cbi51aS5yZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5yZWQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEByZWREb3duO1xuICBjb2xvcjogQHJlZFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEByZWRUZXh0U2hhZG93O1xufVxuLnVpLnJlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnJlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSxcbi51aS5yZWQuYWN0aXZlLmJ1dHRvbixcbi51aS5yZWQuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEByZWRBY3RpdmU7XG4gIGNvbG9yOiBAcmVkVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHJlZFRleHRTaGFkb3c7XG59XG5cbi8qIEJhc2ljICovXG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5yZWQuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQm9yZGVyU2l6ZSBAcmVkIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcmVkICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucmVkLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5yZWQuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQHJlZEhvdmVyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcmVkSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5yZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnJlZC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAcmVkRm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEByZWRIb3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnJlZC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnJlZC5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQHJlZEFjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHJlZERvd24gIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5yZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5yZWQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEByZWREb3duIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcmVkRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMucmVkLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtQGJhc2ljQ29sb3JlZEJvcmRlclNpemU7XG59XG5cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0UmVkIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRSZWQ7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnJlZC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFJlZFRleHRDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnJlZC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRSZWRIb3Zlcjtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnJlZC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRSZWRGb2N1cztcbn1cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5yZWQuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodFJlZEFjdGl2ZTtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodFJlZERvd247XG59XG5cbi8qIEludmVydGVkIEJhc2ljICovXG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogQGJhc2ljSW52ZXJ0ZWRCb3hTaGFkb3cgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucmVkLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9uOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRSZWRIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0UmVkICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQucmVkLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnJlZC5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFJlZEZvY3VzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRSZWQgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0UmVkQWN0aXZlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRSZWQgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5yZWQuYmFzaWMuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0UmVkRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0UmVkICFpbXBvcnRhbnQ7XG59XG5cblxuLyotLS0gVGVhbCAtLS0qL1xuLnVpLnRlYWwuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnRlYWwuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRlYWw7XG4gIGNvbG9yOiBAdGVhbFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEB0ZWFsVGV4dFNoYWRvdztcbiAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG59XG4udWkudGVhbC5idXR0b24ge1xuICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbn1cbi51aS50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS50ZWFsLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0ZWFsSG92ZXI7XG4gIGNvbG9yOiBAdGVhbFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEB0ZWFsVGV4dFNoYWRvdztcbn1cbi51aS50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS50ZWFsLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0ZWFsRm9jdXM7XG4gIGNvbG9yOiBAdGVhbFRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEB0ZWFsVGV4dFNoYWRvdztcbn1cbi51aS50ZWFsLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkudGVhbC5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRlYWxEb3duO1xuICBjb2xvcjogQHRlYWxUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAdGVhbFRleHRTaGFkb3c7XG59XG4udWkudGVhbC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlYWwuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkudGVhbC5hY3RpdmUuYnV0dG9uLFxuLnVpLnRlYWwuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0ZWFsQWN0aXZlO1xuICBjb2xvcjogQHRlYWxUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAdGVhbFRleHRTaGFkb3c7XG59XG5cbi8qIEJhc2ljICovXG4udWkuYmFzaWMudGVhbC5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMudGVhbC5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNCb3JkZXJTaXplIEB0ZWFsIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAdGVhbCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnRlYWwuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQHRlYWxIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHRlYWxIb3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnRlYWwuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQHRlYWxGb2N1cyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHRlYWxIb3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnRlYWwuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy50ZWFsLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAdGVhbEFjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHRlYWxEb3duICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMudGVhbC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnRlYWwuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEB0ZWFsRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHRlYWxEb3duICFpbXBvcnRhbnQ7XG59XG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy50ZWFsLmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtQGJhc2ljQ29sb3JlZEJvcmRlclNpemU7XG59XG5cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRUZWFsIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRUZWFsO1xufVxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFRlYWxUZXh0Q29sb3I7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRUZWFsSG92ZXI7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRUZWFsRm9jdXM7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnRlYWwuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodFRlYWxBY3RpdmU7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodFRlYWxEb3duO1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYmFzaWMuYnV0dG9uLFxuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0ludmVydGVkQm94U2hhZG93ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0VGVhbEhvdmVyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRUZWFsICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b246Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFRlYWxGb2N1cyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0VGVhbCAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnRlYWwuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC50ZWFsLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRUZWFsQWN0aXZlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRUZWFsICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5iYXNpYy5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnRlYWwuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC50ZWFsLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFRlYWxEb3duIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRUZWFsICFpbXBvcnRhbnQ7XG59XG5cblxuLyotLS0gT2xpdmUgLS0tKi9cbi51aS5vbGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkub2xpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG9saXZlO1xuICBjb2xvcjogQG9saXZlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQG9saXZlVGV4dFNoYWRvdztcbiAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG59XG4udWkub2xpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLm9saXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBvbGl2ZUhvdmVyO1xuICBjb2xvcjogQG9saXZlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQG9saXZlVGV4dFNoYWRvdztcbn1cbi51aS5vbGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkub2xpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG9saXZlRm9jdXM7XG4gIGNvbG9yOiBAb2xpdmVUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAb2xpdmVUZXh0U2hhZG93O1xufVxuLnVpLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkub2xpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBvbGl2ZURvd247XG4gIGNvbG9yOiBAb2xpdmVUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAb2xpdmVUZXh0U2hhZG93O1xufVxuLnVpLm9saXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkub2xpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkub2xpdmUuYWN0aXZlLmJ1dHRvbixcbi51aS5vbGl2ZS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG9saXZlQWN0aXZlO1xuICBjb2xvcjogQG9saXZlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQG9saXZlVGV4dFNoYWRvdztcbn1cblxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5vbGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMub2xpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQm9yZGVyU2l6ZSBAb2xpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBvbGl2ZSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5vbGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAb2xpdmVIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQG9saXZlSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5vbGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuYmFzaWMub2xpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQG9saXZlRm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBvbGl2ZUhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5vbGl2ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQG9saXZlQWN0aXZlIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAb2xpdmVEb3duICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5vbGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQG9saXZlRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQG9saXZlRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMub2xpdmUuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC1AYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZTtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0T2xpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodE9saXZlO1xufVxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0T2xpdmVUZXh0Q29sb3I7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodE9saXZlSG92ZXI7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodE9saXZlRm9jdXM7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vbGl2ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0T2xpdmVBY3RpdmU7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0T2xpdmVEb3duO1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5iYXNpYy5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0ludmVydGVkQm94U2hhZG93ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYnV0dG9ucyAuYmFzaWMuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0T2xpdmVIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0T2xpdmUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0T2xpdmVGb2N1cyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0T2xpdmUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5iYXNpYy5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLm9saXZlLmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0T2xpdmVBY3RpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodE9saXZlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5vbGl2ZS5idXR0b25zIC5iYXNpYy5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLm9saXZlLmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodE9saXZlRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0T2xpdmUgIWltcG9ydGFudDtcbn1cblxuLyotLS0gWWVsbG93IC0tLSovXG4udWkueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS55ZWxsb3cuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHllbGxvdztcbiAgY29sb3I6IEB5ZWxsb3dUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAeWVsbG93VGV4dFNoYWRvdztcbiAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG59XG4udWkueWVsbG93LmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xufVxuLnVpLnllbGxvdy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkueWVsbG93LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB5ZWxsb3dIb3ZlcjtcbiAgY29sb3I6IEB5ZWxsb3dUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAeWVsbG93VGV4dFNoYWRvdztcbn1cbi51aS55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnllbGxvdy5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAeWVsbG93Rm9jdXM7XG4gIGNvbG9yOiBAeWVsbG93VGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHllbGxvd1RleHRTaGFkb3c7XG59XG4udWkueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkueWVsbG93LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAeWVsbG93RG93bjtcbiAgY29sb3I6IEB5ZWxsb3dUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAeWVsbG93VGV4dFNoYWRvdztcbn1cbi51aS55ZWxsb3cuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS55ZWxsb3cuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkueWVsbG93LmFjdGl2ZS5idXR0b24sXG4udWkueWVsbG93LmJ1dHRvbiAuYWN0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAeWVsbG93QWN0aXZlO1xuICBjb2xvcjogQHllbGxvd1RleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEB5ZWxsb3dUZXh0U2hhZG93O1xufVxuXG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnllbGxvdy5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0JvcmRlclNpemUgQHllbGxvdyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHllbGxvdyAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnllbGxvdy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEB5ZWxsb3dIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHllbGxvd0hvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQHllbGxvd0ZvY3VzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAeWVsbG93SG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy55ZWxsb3cuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy55ZWxsb3cuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEB5ZWxsb3dBY3RpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB5ZWxsb3dEb3duICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMueWVsbG93LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAeWVsbG93RG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHllbGxvd0Rvd24gIWltcG9ydGFudDtcbn1cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnllbGxvdy5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLUBiYXNpY0NvbG9yZWRCb3JkZXJTaXplO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFllbGxvdyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0WWVsbG93O1xufVxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbi5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRZZWxsb3dUZXh0Q29sb3I7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0WWVsbG93SG92ZXI7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0WWVsbG93Rm9jdXM7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRZZWxsb3dBY3RpdmU7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRZZWxsb3dEb3duO1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0ludmVydGVkQm94U2hhZG93ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnllbGxvdy5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0WWVsbG93SG92ZXIgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFllbGxvdyAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnllbGxvdy5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC55ZWxsb3cuYmFzaWMuYnV0dG9uOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRZZWxsb3dGb2N1cyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0WWVsbG93ICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmFjdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFllbGxvd0FjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0WWVsbG93ICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQueWVsbG93LmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFllbGxvd0Rvd24gaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFllbGxvdyAhaW1wb3J0YW50O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFByaW1hcnlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyotLS0gU3RhbmRhcmQgLS0tKi9cbi51aS5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5wcmltYXJ5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcmltYXJ5Q29sb3I7XG4gIGNvbG9yOiBAcHJpbWFyeVRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBwcmltYXJ5VGV4dFNoYWRvdztcbiAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG59XG4udWkucHJpbWFyeS5idXR0b24ge1xuICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbn1cbi51aS5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5wcmltYXJ5LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcmltYXJ5Q29sb3JIb3ZlcjtcbiAgY29sb3I6IEBwcmltYXJ5VGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHByaW1hcnlUZXh0U2hhZG93O1xufVxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnByaW1hcnkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHByaW1hcnlDb2xvckZvY3VzO1xuICBjb2xvcjogQHByaW1hcnlUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcHJpbWFyeVRleHRTaGFkb3c7XG59XG4udWkucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcmltYXJ5Q29sb3JEb3duO1xuICBjb2xvcjogQHByaW1hcnlUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcHJpbWFyeVRleHRTaGFkb3c7XG59XG4udWkucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLnByaW1hcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkucHJpbWFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnByaW1hcnkuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcmltYXJ5Q29sb3JBY3RpdmU7XG4gIGNvbG9yOiBAcHJpbWFyeVRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBwcmltYXJ5VGV4dFNoYWRvdztcbn1cblxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0JvcmRlclNpemUgQHByaW1hcnlDb2xvciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHByaW1hcnlDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQHByaW1hcnlDb2xvckhvdmVyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcHJpbWFyeUNvbG9ySG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5wcmltYXJ5LmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBwcmltYXJ5Q29sb3JGb2N1cyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHByaW1hcnlDb2xvckhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnByaW1hcnkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBwcmltYXJ5Q29sb3JBY3RpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBwcmltYXJ5Q29sb3JEb3duICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucHJpbWFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnByaW1hcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBwcmltYXJ5Q29sb3JEb3duIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcHJpbWFyeUNvbG9yRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMucHJpbWFyeS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLUBiYXNpY0NvbG9yZWRCb3JkZXJTaXplO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0UHJpbWFyeUNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRQcmltYXJ5Q29sb3I7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uLmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0UHJpbWFyeVRleHRDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodFByaW1hcnlDb2xvckhvdmVyO1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnByaW1hcnkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0UHJpbWFyeUNvbG9yRm9jdXM7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmludmVydGVkLnByaW1hcnkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodFByaW1hcnlDb2xvckFjdGl2ZTtcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0UHJpbWFyeUNvbG9yRG93bjtcbn1cblxuLyogSW52ZXJ0ZWQgQmFzaWMgKi9cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBAYmFzaWNJbnZlcnRlZEJveFNoYWRvdyAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b246aG92ZXIge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFByaW1hcnlDb2xvckhvdmVyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRQcmltYXJ5Q29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0UHJpbWFyeUNvbG9yRm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFByaW1hcnlDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJhc2ljLmFjdGl2ZS5idXR0b24sXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5hY3RpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRQcmltYXJ5Q29sb3JBY3RpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFByaW1hcnlDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnByaW1hcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5wcmltYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQucHJpbWFyeS5iYXNpYy5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGludmVydGVkQm9yZGVyU2l6ZSBAbGlnaHRQcmltYXJ5Q29sb3JEb3duIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRQcmltYXJ5Q29sb3IgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTZWNvbmRhcnlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogU3RhbmRhcmQgKi9cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnNlY29uZGFyeS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2Vjb25kYXJ5Q29sb3I7XG4gIGNvbG9yOiBAc2Vjb25kYXJ5VGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHNlY29uZGFyeVRleHRTaGFkb3c7XG4gIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xufVxuLnVpLnNlY29uZGFyeS5idXR0b24ge1xuICBib3gtc2hhZG93OiBAY29sb3JlZEJveFNoYWRvdztcbn1cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2Vjb25kYXJ5Q29sb3JIb3ZlcjtcbiAgY29sb3I6IEBzZWNvbmRhcnlUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAc2Vjb25kYXJ5VGV4dFNoYWRvdztcbn1cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2Vjb25kYXJ5Q29sb3JGb2N1cztcbiAgY29sb3I6IEBzZWNvbmRhcnlUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAc2Vjb25kYXJ5VGV4dFNoYWRvdztcbn1cbi51aS5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5zZWNvbmRhcnkuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBzZWNvbmRhcnlDb2xvckRvd247XG4gIGNvbG9yOiBAc2Vjb25kYXJ5VGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHNlY29uZGFyeVRleHRTaGFkb3c7XG59XG4udWkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkuc2Vjb25kYXJ5LmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLnNlY29uZGFyeS5hY3RpdmUuYnV0dG9uLFxuLnVpLnNlY29uZGFyeS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHNlY29uZGFyeUNvbG9yQWN0aXZlO1xuICBjb2xvcjogQHNlY29uZGFyeVRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBzZWNvbmRhcnlUZXh0U2hhZG93O1xufVxuXG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMuc2Vjb25kYXJ5LmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0JvcmRlclNpemUgQHNlY29uZGFyeUNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAc2Vjb25kYXJ5Q29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAc2Vjb25kYXJ5Q29sb3JIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHNlY29uZGFyeUNvbG9ySG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAc2Vjb25kYXJ5Q29sb3JGb2N1cyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHNlY29uZGFyeUNvbG9ySG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5zZWNvbmRhcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5zZWNvbmRhcnkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBzZWNvbmRhcnlDb2xvckFjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHNlY29uZGFyeUNvbG9yRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmJhc2ljLnNlY29uZGFyeS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQHNlY29uZGFyeUNvbG9yRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHNlY29uZGFyeUNvbG9yRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJ1dHRvbnM6bm90KC52ZXJ0aWNhbCkgPiAuYmFzaWMucHJpbWFyeS5idXR0b246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tbGVmdDogLUBiYXNpY0NvbG9yZWRCb3JkZXJTaXplO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFNlY29uZGFyeUNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbGlnaHRTZWNvbmRhcnlDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b24uYWN0aXZlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0U2Vjb25kYXJ5VGV4dENvbG9yO1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodFNlY29uZGFyeUNvbG9ySG92ZXI7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0U2Vjb25kYXJ5Q29sb3JGb2N1cztcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYWN0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodFNlY29uZGFyeUNvbG9yQWN0aXZlO1xufVxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0U2Vjb25kYXJ5Q29sb3JEb3duO1xufVxuXG4vKiBJbnZlcnRlZCBCYXNpYyAqL1xuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5idXR0b24sXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0ludmVydGVkQm94U2hhZG93ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5idXR0b25zIC5iYXNpYy5idXR0b246aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0U2Vjb25kYXJ5Q29sb3JIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0U2Vjb25kYXJ5Q29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmludmVydGVkLnNlY29uZGFyeS5iYXNpYy5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbjpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0U2Vjb25kYXJ5Q29sb3JGb2N1cyBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0U2Vjb25kYXJ5Q29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYnV0dG9ucyAuYmFzaWMuYWN0aXZlLmJ1dHRvbixcbi51aS5pbnZlcnRlZC5zZWNvbmRhcnkuYmFzaWMuYWN0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBpbnZlcnRlZEJvcmRlclNpemUgQGxpZ2h0U2Vjb25kYXJ5Q29sb3JBY3RpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBsaWdodFNlY29uZGFyeUNvbG9yICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJ1dHRvbnMgLmJhc2ljLmJ1dHRvbjphY3RpdmUsXG4udWkuaW52ZXJ0ZWQuc2Vjb25kYXJ5LmJhc2ljLmJ1dHRvbjphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAaW52ZXJ0ZWRCb3JkZXJTaXplIEBsaWdodFNlY29uZGFyeUNvbG9yRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGxpZ2h0U2Vjb25kYXJ5Q29sb3IgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS1cbiAgICBQb3NpdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFN0YW5kYXJkICovXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uLFxuLnVpLnBvc2l0aXZlLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwb3NpdGl2ZUNvbG9yO1xuICBjb2xvcjogQHBvc2l0aXZlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHBvc2l0aXZlVGV4dFNoYWRvdztcbiAgYmFja2dyb3VuZC1pbWFnZTogQGNvbG9yZWRCYWNrZ3JvdW5kSW1hZ2U7XG59XG4udWkucG9zaXRpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogQGNvbG9yZWRCb3hTaGFkb3c7XG59XG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmhvdmVyLFxuLnVpLnBvc2l0aXZlLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwb3NpdGl2ZUNvbG9ySG92ZXI7XG4gIGNvbG9yOiBAcG9zaXRpdmVUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcG9zaXRpdmVUZXh0U2hhZG93O1xufVxuLnVpLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5wb3NpdGl2ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9zaXRpdmVDb2xvckZvY3VzO1xuICBjb2xvcjogQHBvc2l0aXZlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHBvc2l0aXZlVGV4dFNoYWRvdztcbn1cbi51aS5wb3NpdGl2ZS5idXR0b25zIC5idXR0b246YWN0aXZlLFxuLnVpLnBvc2l0aXZlLmJ1dHRvbjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9zaXRpdmVDb2xvckRvd247XG4gIGNvbG9yOiBAcG9zaXRpdmVUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcG9zaXRpdmVUZXh0U2hhZG93O1xufVxuLnVpLnBvc2l0aXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b24sXG4udWkucG9zaXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbjphY3RpdmUsXG4udWkucG9zaXRpdmUuYWN0aXZlLmJ1dHRvbixcbi51aS5wb3NpdGl2ZS5idXR0b24gLmFjdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBvc2l0aXZlQ29sb3JBY3RpdmU7XG4gIGNvbG9yOiBAcG9zaXRpdmVUZXh0Q29sb3I7XG4gIHRleHQtc2hhZG93OiBAcG9zaXRpdmVUZXh0U2hhZG93O1xufVxuXG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b24ge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNCb3JkZXJTaXplIEBwb3NpdGl2ZUNvbG9yIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcG9zaXRpdmVDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAcG9zaXRpdmVDb2xvckhvdmVyIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcG9zaXRpdmVDb2xvckhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmZvY3VzLFxuLnVpLmJhc2ljLnBvc2l0aXZlLmJ1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBwb3NpdGl2ZUNvbG9yRm9jdXMgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBwb3NpdGl2ZUNvbG9ySG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLmJhc2ljLnBvc2l0aXZlLmFjdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAcG9zaXRpdmVDb2xvckFjdGl2ZSBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHBvc2l0aXZlQ29sb3JEb3duICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucG9zaXRpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5iYXNpYy5wb3NpdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQHBvc2l0aXZlQ29sb3JEb3duIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcG9zaXRpdmVDb2xvckRvd24gIWltcG9ydGFudDtcbn1cbi51aS5idXR0b25zOm5vdCgudmVydGljYWwpID4gLmJhc2ljLnByaW1hcnkuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IC1AYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS1cbiAgICAgTmVnYXRpdmVcbi0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTdGFuZGFyZCAqL1xuLnVpLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbixcbi51aS5uZWdhdGl2ZS5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmVnYXRpdmVDb2xvcjtcbiAgY29sb3I6IEBuZWdhdGl2ZVRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBuZWdhdGl2ZVRleHRTaGFkb3c7XG4gIGJhY2tncm91bmQtaW1hZ2U6IEBjb2xvcmVkQmFja2dyb3VuZEltYWdlO1xufVxuLnVpLm5lZ2F0aXZlLmJ1dHRvbiB7XG4gIGJveC1zaGFkb3c6IEBjb2xvcmVkQm94U2hhZG93O1xufVxuLnVpLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbjpob3Zlcixcbi51aS5uZWdhdGl2ZS5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmVnYXRpdmVDb2xvckhvdmVyO1xuICBjb2xvcjogQG5lZ2F0aXZlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQG5lZ2F0aXZlVGV4dFNoYWRvdztcbn1cbi51aS5uZWdhdGl2ZS5idXR0b25zIC5idXR0b246Zm9jdXMsXG4udWkubmVnYXRpdmUuYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG5lZ2F0aXZlQ29sb3JGb2N1cztcbiAgY29sb3I6IEBuZWdhdGl2ZVRleHRDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBuZWdhdGl2ZVRleHRTaGFkb3c7XG59XG4udWkubmVnYXRpdmUuYnV0dG9ucyAuYnV0dG9uOmFjdGl2ZSxcbi51aS5uZWdhdGl2ZS5idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG5lZ2F0aXZlQ29sb3JEb3duO1xuICBjb2xvcjogQG5lZ2F0aXZlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQG5lZ2F0aXZlVGV4dFNoYWRvdztcbn1cbi51aS5uZWdhdGl2ZS5idXR0b25zIC5hY3RpdmUuYnV0dG9uLFxuLnVpLm5lZ2F0aXZlLmJ1dHRvbnMgLmFjdGl2ZS5idXR0b246YWN0aXZlLFxuLnVpLm5lZ2F0aXZlLmFjdGl2ZS5idXR0b24sXG4udWkubmVnYXRpdmUuYnV0dG9uIC5hY3RpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBuZWdhdGl2ZUNvbG9yQWN0aXZlO1xuICBjb2xvcjogQG5lZ2F0aXZlVGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQG5lZ2F0aXZlVGV4dFNoYWRvdztcbn1cblxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b25zIC5idXR0b24sXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQm9yZGVyU2l6ZSBAbmVnYXRpdmVDb2xvciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQG5lZ2F0aXZlQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b25zIC5idXR0b246aG92ZXIsXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQG5lZ2F0aXZlQ29sb3JIb3ZlciBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQG5lZ2F0aXZlQ29sb3JIb3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbjpmb2N1cyxcbi51aS5iYXNpYy5uZWdhdGl2ZS5idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCBAYmFzaWNDb2xvcmVkQm9yZGVyU2l6ZSBAbmVnYXRpdmVDb2xvckZvY3VzIGluc2V0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbmVnYXRpdmVDb2xvckhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9ucyAuYWN0aXZlLmJ1dHRvbixcbi51aS5iYXNpYy5uZWdhdGl2ZS5hY3RpdmUuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggQGJhc2ljQ29sb3JlZEJvcmRlclNpemUgQG5lZ2F0aXZlQ29sb3JBY3RpdmUgaW5zZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBuZWdhdGl2ZUNvbG9yRG93biAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLm5lZ2F0aXZlLmJ1dHRvbnMgLmJ1dHRvbjphY3RpdmUsXG4udWkuYmFzaWMubmVnYXRpdmUuYnV0dG9uOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IEBiYXNpY0NvbG9yZWRCb3JkZXJTaXplIEBuZWdhdGl2ZUNvbG9yRG93biBpbnNldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQG5lZ2F0aXZlQ29sb3JEb3duICFpbXBvcnRhbnQ7XG59XG4udWkuYnV0dG9uczpub3QoLnZlcnRpY2FsKSA+IC5iYXNpYy5wcmltYXJ5LmJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAtQGJhc2ljQ29sb3JlZEJvcmRlclNpemU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBHcm91cHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5idXR0b25zIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZvbnQtc2l6ZTogMGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbjogQHZlcnRpY2FsTWFyZ2luIEBob3Jpem9udGFsTWFyZ2luIDBlbSAwZW07XG59XG4udWkuYnV0dG9uczpub3QoLmJhc2ljKTpub3QoLmludmVydGVkKSB7XG4gIGJveC1zaGFkb3c6IEBncm91cEJveFNoYWRvdztcbn1cblxuLyogQ2xlYXJmaXggKi9cbi51aS5idXR0b25zOmFmdGVyIHtcbiAgY29udGVudDogXCIuXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qIFN0YW5kYXJkIEdyb3VwICovXG4udWkuYnV0dG9ucyAuYnV0dG9uIHtcbiAgZmxleDogMSAwIGF1dG87XG4gIG1hcmdpbjogMGVtO1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIG1hcmdpbjogQGdyb3VwQnV0dG9uT2Zmc2V0O1xufVxuLnVpLmJ1dHRvbnMgPiAudWkuYnV0dG9uOm5vdCguYmFzaWMpOm5vdCguaW52ZXJ0ZWQpLFxuLnVpLmJ1dHRvbnM6bm90KC5iYXNpYyk6bm90KC5pbnZlcnRlZCkgPiAuYnV0dG9uIHtcbiAgYm94LXNoYWRvdzogQGdyb3VwQnV0dG9uQm94U2hhZG93O1xufVxuXG4udWkuYnV0dG9ucyAuYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG59XG4udWkuYnV0dG9ucyAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG59XG5cbi8qIFZlcnRpY2FsICBTdHlsZSAqL1xuLnVpLnZlcnRpY2FsLmJ1dHRvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IEB2ZXJ0aWNhbEdyb3VwT2Zmc2V0O1xuICBib3gtc2hhZG93OiBAdmVydGljYWxCb3hTaGFkb3c7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cbi51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbn1cbi51aS52ZXJ0aWNhbC5idXR0b25zIC5idXR0b246bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG59XG4udWkudmVydGljYWwuYnV0dG9ucyAuYnV0dG9uOm9ubHktY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBDb250YWluZXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGUgICAgOiAnZWxlbWVudCc7XG5AZWxlbWVudCA6ICdjb250YWluZXInO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250YWluZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEFsbCBTaXplcyAqL1xuLnVpLmNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IEBtYXhXaWR0aCAhaW1wb3J0YW50O1xufVxuXG4vKiBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgLnVpLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IEBtb2JpbGVXaWR0aCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiBAbW9iaWxlR3V0dGVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBAbW9iaWxlR3V0dGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogQG1vYmlsZUdyaWRXaWR0aCAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogQG1vYmlsZVJlbGF4ZWRHcmlkV2lkdGggIWltcG9ydGFudDtcbiAgfVxuICAudWkudmVyeS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogQG1vYmlsZVZlcnlSZWxheGVkR3JpZFdpZHRoICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogVGFibGV0ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgLnVpLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IEB0YWJsZXRXaWR0aDtcbiAgICBtYXJnaW4tbGVmdDogQHRhYmxldEd1dHRlciAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogQHRhYmxldEd1dHRlciAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IEB0YWJsZXRHcmlkV2lkdGggIWltcG9ydGFudDtcbiAgfVxuICAudWkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IEB0YWJsZXRSZWxheGVkR3JpZFdpZHRoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnZlcnkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IEB0YWJsZXRWZXJ5UmVsYXhlZEdyaWRXaWR0aCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFNtYWxsIE1vbml0b3IgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0U21hbGxNb25pdG9yKSB7XG4gIC51aS5jb250YWluZXIge1xuICAgIHdpZHRoOiBAY29tcHV0ZXJXaWR0aDtcbiAgICBtYXJnaW4tbGVmdDogQGNvbXB1dGVyR3V0dGVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBAY29tcHV0ZXJHdXR0ZXIgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBAY29tcHV0ZXJHcmlkV2lkdGggIWltcG9ydGFudDtcbiAgfVxuICAudWkucmVsYXhlZC5ncmlkLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IEBjb21wdXRlclJlbGF4ZWRHcmlkV2lkdGggIWltcG9ydGFudDtcbiAgfVxuICAudWkudmVyeS5yZWxheGVkLmdyaWQuY29udGFpbmVyIHtcbiAgICB3aWR0aDogQGNvbXB1dGVyVmVyeVJlbGF4ZWRHcmlkV2lkdGggIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBMYXJnZSBNb25pdG9yICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBsYXJnZU1vbml0b3JCcmVha3BvaW50KSB7XG4gIC51aS5jb250YWluZXIge1xuICAgIHdpZHRoOiBAbGFyZ2VNb25pdG9yV2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IEBsYXJnZU1vbml0b3JHdXR0ZXIgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IEBsYXJnZU1vbml0b3JHdXR0ZXIgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBAbGFyZ2VNb25pdG9yR3JpZFdpZHRoICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBAbGFyZ2VNb25pdG9yUmVsYXhlZEdyaWRXaWR0aCAhaW1wb3J0YW50O1xuICB9XG4gIC51aS52ZXJ5LnJlbGF4ZWQuZ3JpZC5jb250YWluZXIge1xuICAgIHdpZHRoOiBAbGFyZ2VNb25pdG9yVmVyeVJlbGF4ZWRHcmlkV2lkdGggIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qIFRleHQgQ29udGFpbmVyICovXG4udWkudGV4dC5jb250YWluZXIge1xuICBmb250LWZhbWlseTogQHRleHRGb250RmFtaWx5O1xuICBtYXgtd2lkdGg6IEB0ZXh0V2lkdGggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IEB0ZXh0TGluZUhlaWdodDtcbn1cblxuLnVpLnRleHQuY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiBAdGV4dFNpemU7XG59XG5cbi8qIEZsdWlkICovXG4udWkuZmx1aWQuY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLmNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnVpLmp1c3RpZmllZC5jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBoeXBoZW5zOiBhdXRvO1xufVxuXG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIERpdmlkZXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGUgICAgOiAnZWxlbWVudCc7XG5AZWxlbWVudCA6ICdkaXZpZGVyJztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBEaXZpZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZGl2aWRlciB7XG4gIG1hcmdpbjogQG1hcmdpbjtcblxuICBsaW5lLWhlaWdodDogMTtcbiAgaGVpZ2h0OiAwZW07XG5cbiAgZm9udC13ZWlnaHQ6IEBmb250V2VpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogQHRleHRUcmFuc2Zvcm07XG4gIGxldHRlci1zcGFjaW5nOiBAbGV0dGVyU3BhY2luZztcbiAgY29sb3I6IEBjb2xvcjtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBCYXNpY1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRpdmlkZXI6bm90KC52ZXJ0aWNhbCk6bm90KC5ob3Jpem9udGFsKSB7XG4gIGJvcmRlci10b3A6IEBzaGFkb3dXaWR0aCBzb2xpZCBAc2hhZG93Q29sb3I7XG4gIGJvcmRlci1ib3R0b206IEBoaWdobGlnaHRXaWR0aCBzb2xpZCBAaGlnaGxpZ2h0Q29sb3I7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDb3VwbGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogQWxsb3cgZGl2aWRlciBiZXR3ZWVuIGVhY2ggY29sdW1uIHJvdyAqL1xuLnVpLmdyaWQgPiAuY29sdW1uICsgLmRpdmlkZXIsXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uICsgLmRpdmlkZXIge1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBIb3Jpem9udGFsXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IEBob3Jpem9udGFsTWFyZ2luO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOmJlZm9yZSxcbi51aS5ob3Jpem9udGFsLmRpdmlkZXI6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVpLmhvcml6b250YWwuZGl2aWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBAaG9yaXpvbnRhbERpdmlkZXJNYXJnaW4gdG9wIDUwJTtcbn1cbi51aS5ob3Jpem9udGFsLmRpdmlkZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IEBob3Jpem9udGFsRGl2aWRlck1hcmdpbiB0b3AgNTAlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgVmVydGljYWxcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS52ZXJ0aWNhbC5kaXZpZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuXG4gIG1hcmdpbjogMHJlbTtcbiAgcGFkZGluZzogMGVtO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA1MCU7XG5cbiAgbGluZS1oZWlnaHQ6IDBlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi51aS52ZXJ0aWNhbC5kaXZpZGVyOmJlZm9yZSxcbi51aS52ZXJ0aWNhbC5kaXZpZGVyOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIGNvbnRlbnQ6ICcnO1xuICB6LWluZGV4OiAzO1xuXG4gIGJvcmRlci1sZWZ0OiBAc2hhZG93V2lkdGggc29saWQgQHNoYWRvd0NvbG9yO1xuICBib3JkZXItcmlnaHQ6IEBoaWdobGlnaHRXaWR0aCBzb2xpZCBAaGlnaGxpZ2h0Q29sb3I7XG5cbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IEB2ZXJ0aWNhbERpdmlkZXJIZWlnaHQ7XG59XG5cbi51aS52ZXJ0aWNhbC5kaXZpZGVyOmJlZm9yZSB7XG4gIHRvcDogLTEwMCU7XG59XG4udWkudmVydGljYWwuZGl2aWRlcjphZnRlciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwcHg7XG59XG5cbi8qIEluc2lkZSBncmlkICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuXG4gIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcixcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogQGhvcml6b250YWxNYXJnaW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6YmVmb3JlLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjpiZWZvcmUsXG4gIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjphZnRlcixcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG5cbiAgLnVpLnN0YWNrYWJsZS5ncmlkIC51aS52ZXJ0aWNhbC5kaXZpZGVyOmJlZm9yZSxcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBAaG9yaXpvbnRhbERpdmlkZXJNYXJnaW4gdG9wIDUwJTtcbiAgfVxuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6YWZ0ZXIsXG4gIC51aS5ncmlkIC5zdGFja2FibGUucm93IC51aS52ZXJ0aWNhbC5kaXZpZGVyOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IEBob3Jpem9udGFsRGl2aWRlck1hcmdpbiB0b3AgNTAlO1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXZpZGVyID4gLmljb24ge1xuICBtYXJnaW46IEBkaXZpZGVySWNvbk1hcmdpbjtcbiAgZm9udC1zaXplOiBAZGl2aWRlckljb25TaXplO1xuICBoZWlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgSGlkZGVuXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaGlkZGVuLmRpdmlkZXIge1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4udWkuaGlkZGVuLmRpdmlkZXI6YmVmb3JlLFxuLnVpLmhpZGRlbi5kaXZpZGVyOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZGl2aWRlci5pbnZlcnRlZCxcbi51aS52ZXJ0aWNhbC5pbnZlcnRlZC5kaXZpZGVyLFxuLnVpLmhvcml6b250YWwuaW52ZXJ0ZWQuZGl2aWRlciB7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG59XG4udWkuZGl2aWRlci5pbnZlcnRlZCxcbi51aS5kaXZpZGVyLmludmVydGVkOmFmdGVyLFxuLnVpLmRpdmlkZXIuaW52ZXJ0ZWQ6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogQGludmVydGVkU2hhZG93Q29sb3IgIWltcG9ydGFudDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IEBpbnZlcnRlZFNoYWRvd0NvbG9yICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IEBpbnZlcnRlZEhpZ2hsaWdodENvbG9yICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogQGludmVydGVkSGlnaGxpZ2h0Q29sb3IgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEZpdHRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZpdHRlZC5kaXZpZGVyIHtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDbGVhcmluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNsZWFyaW5nLmRpdmlkZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFNlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zZWN0aW9uLmRpdmlkZXIge1xuICBtYXJnaW4tdG9wOiBAc2VjdGlvbk1hcmdpbjtcbiAgbWFyZ2luLWJvdHRvbTogQHNlY3Rpb25NYXJnaW47XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXZpZGVyIHtcbiAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuXG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLnVpLmhvcml6b250YWwuZGl2aWRlcjpiZWZvcmUsXG4udWkuaG9yaXpvbnRhbC5kaXZpZGVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQmFBQUFBQUNDQVlBQUFDdVRIdUtBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlGcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TlMxak1ERTBJRGM1TGpFMU1UUTRNU3dnTWpBeE15OHdNeTh4TXkweE1qb3dPVG94TlNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElDaFhhVzVrYjNkektTSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEbzFPVGhCUkRZNE9VTkRNVFl4TVVVME9VRTNOVVZHT0VKRE16TXpNakUyTnlJZ2VHMXdUVTA2Ukc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvMU9UaEJSRFk0UVVORE1UWXhNVVUwT1VFM05VVkdPRUpETXpNek1qRTJOeUkrSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pVNU9FRkVOamczUTBNeE5qRXhSVFE1UVRjMVJVWTRRa016TXpNeU1UWTNJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalU1T0VGRU5qZzRRME14TmpFeFJUUTVRVGMxUlVZNFFrTXpNek15TVRZM0lpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCtWVTUxM2dBQUFEVkpSRUZVZU5yczBERU5BQ0FRQkRCSVdMR0JKUWJ5L21VY0puNXNKWFFtT1FNQUFBQUFBSnF0KzJwckFBQUFBQUNnMnhkZ0FOazZCRVZ1Smd5TUFBQUFBRWxGVGtTdVFtQ0MnKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogKEB0YWJsZXRCcmVha3BvaW50IC0gMXB4KSkge1xuICAudWkuc3RhY2thYmxlLmdyaWQgLnVpLnZlcnRpY2FsLmRpdmlkZXI6YmVmb3JlLFxuICAudWkuZ3JpZCAuc3RhY2thYmxlLnJvdyAudWkudmVydGljYWwuZGl2aWRlcjpiZWZvcmUsXG4gIC51aS5zdGFja2FibGUuZ3JpZCAudWkudmVydGljYWwuZGl2aWRlcjphZnRlcixcbiAgLnVpLmdyaWQgLnN0YWNrYWJsZS5yb3cgLnVpLnZlcnRpY2FsLmRpdmlkZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUJhQUFBQUFDQ0FZQUFBQ3VUSHVLQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5RnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5TMWpNREUwSURjNUxqRTFNVFE0TVN3Z01qQXhNeTh3TXk4eE15MHhNam93T1RveE5TQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJQ2hYYVc1a2IzZHpLU0lnZUcxd1RVMDZTVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8xT1RoQlJEWTRPVU5ETVRZeE1VVTBPVUUzTlVWR09FSkRNek16TWpFMk55SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEbzFPVGhCUkRZNFFVTkRNVFl4TVVVME9VRTNOVVZHT0VKRE16TXpNakUyTnlJK0lEeDRiWEJOVFRwRVpYSnBkbVZrUm5KdmJTQnpkRkpsWmpwcGJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qVTVPRUZFTmpnM1EwTXhOakV4UlRRNVFUYzFSVVk0UWtNek16TXlNVFkzSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pVNU9FRkVOamc0UTBNeE5qRXhSVFE1UVRjMVJVWTRRa016TXpNeU1UWTNJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrVlU1MTNnQUFBRFZKUkVGVWVOcnMwREVOQUNBUUJEQklXTEdCSlFieS9tVWNKbjVzSlhRbU9RTUFBQUFBQUpxdCsycHJBQUFBQUFDZzJ4ZGdBTms2QkVWdUpneU1BQUFBQUVsRlRrU3VRbUNDJyk7XG4gIH1cbn0iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBGbGFnXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGUgICAgOiAnZWxlbWVudCc7XG5AZWxlbWVudCA6ICdmbGFnJztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgRmxhZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaS5mbGFnOm5vdCguaWNvbikge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgd2lkdGg6IEB3aWR0aDtcbiAgaGVpZ2h0OiBAaGVpZ2h0O1xuXG4gIGxpbmUtaGVpZ2h0OiBAaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogQHZlcnRpY2FsQWxpZ247XG4gIG1hcmdpbjogMGVtIEBtYXJnaW4gMGVtIDBlbTtcblxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG5cbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBTcHJpdGUgKi9cbmkuZmxhZzpub3QoLmljb24pOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogJyc7XG4gIGJhY2tncm91bmQ6IHVybChAc3ByaXRlUGF0aCkgbm8tcmVwZWF0IC0xMDhweCAtMTk3NnB4O1xuICB3aWR0aDogQHdpZHRoO1xuICBoZWlnaHQ6IEBoZWlnaHQ7XG59XG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qIEZsYWcgU3ByaXRlIEJhc2VkIE9uIGh0dHA6Ly93d3cuZmFtZmFtZmFtLmNvbS9sYWIvaWNvbnMvZmxhZ3MvICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmkuZmxhZy5hZDpiZWZvcmUsXG5pLmZsYWcuYW5kb3JyYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4O1xufVxuaS5mbGFnLmFlOmJlZm9yZSxcbmkuZmxhZy51bml0ZWQuYXJhYi5lbWlyYXRlczpiZWZvcmUsXG5pLmZsYWcudWFlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMjZweDtcbn1cbmkuZmxhZy5hZjpiZWZvcmUsXG5pLmZsYWcuYWZnaGFuaXN0YW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC01MnB4O1xufVxuaS5mbGFnLmFnOmJlZm9yZSxcbmkuZmxhZy5hbnRpZ3VhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNzhweDtcbn1cbmkuZmxhZy5haTpiZWZvcmUsXG5pLmZsYWcuYW5ndWlsbGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMDRweDtcbn1cbmkuZmxhZy5hbDpiZWZvcmUsXG5pLmZsYWcuYWxiYW5pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEzMHB4O1xufVxuaS5mbGFnLmFtOmJlZm9yZSxcbmkuZmxhZy5hcm1lbmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTU2cHg7XG59XG5pLmZsYWcuYW46YmVmb3JlLFxuaS5mbGFnLm5ldGhlcmxhbmRzLmFudGlsbGVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTgycHg7XG59XG5pLmZsYWcuYW86YmVmb3JlLFxuaS5mbGFnLmFuZ29sYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTIwOHB4O1xufVxuaS5mbGFnLmFyOmJlZm9yZSxcbmkuZmxhZy5hcmdlbnRpbmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0yMzRweDtcbn1cbmkuZmxhZy5hczpiZWZvcmUsXG5pLmZsYWcuYW1lcmljYW4uc2Ftb2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0yNjBweDtcbn1cbmkuZmxhZy5hdDpiZWZvcmUsXG5pLmZsYWcuYXVzdHJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTI4NnB4O1xufVxuaS5mbGFnLmF1OmJlZm9yZSxcbmkuZmxhZy5hdXN0cmFsaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0zMTJweDtcbn1cbmkuZmxhZy5hdzpiZWZvcmUsXG5pLmZsYWcuYXJ1YmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0zMzhweDtcbn1cbmkuZmxhZy5heDpiZWZvcmUsXG5pLmZsYWcuYWxhbmQuaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTM2NHB4O1xufVxuaS5mbGFnLmF6OmJlZm9yZSxcbmkuZmxhZy5hemVyYmFpamFuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzkwcHg7XG59XG5pLmZsYWcuYmE6YmVmb3JlLFxuaS5mbGFnLmJvc25pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTQxNnB4O1xufVxuaS5mbGFnLmJiOmJlZm9yZSxcbmkuZmxhZy5iYXJiYWRvczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTQ0MnB4O1xufVxuaS5mbGFnLmJkOmJlZm9yZSxcbmkuZmxhZy5iYW5nbGFkZXNoOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDY4cHg7XG59XG5pLmZsYWcuYmU6YmVmb3JlLFxuaS5mbGFnLmJlbGdpdW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC00OTRweDtcbn1cbmkuZmxhZy5iZjpiZWZvcmUsXG5pLmZsYWcuYnVya2luYS5mYXNvOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNTIwcHg7XG59XG5pLmZsYWcuYmc6YmVmb3JlLFxuaS5mbGFnLmJ1bGdhcmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNTQ2cHg7XG59XG5pLmZsYWcuYmg6YmVmb3JlLFxuaS5mbGFnLmJhaHJhaW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC01NzJweDtcbn1cbmkuZmxhZy5iaTpiZWZvcmUsXG5pLmZsYWcuYnVydW5kaTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTU5OHB4O1xufVxuaS5mbGFnLmJqOmJlZm9yZSxcbmkuZmxhZy5iZW5pbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTYyNHB4O1xufVxuaS5mbGFnLmJtOmJlZm9yZSxcbmkuZmxhZy5iZXJtdWRhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNjUwcHg7XG59XG5pLmZsYWcuYm46YmVmb3JlLFxuaS5mbGFnLmJydW5laTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTY3NnB4O1xufVxuaS5mbGFnLmJvOmJlZm9yZSxcbmkuZmxhZy5ib2xpdmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNzAycHg7XG59XG5pLmZsYWcuYnI6YmVmb3JlLFxuaS5mbGFnLmJyYXppbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTcyOHB4O1xufVxuaS5mbGFnLmJzOmJlZm9yZSxcbmkuZmxhZy5iYWhhbWFzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNzU0cHg7XG59XG5pLmZsYWcuYnQ6YmVmb3JlLFxuaS5mbGFnLmJodXRhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTc4MHB4O1xufVxuaS5mbGFnLmJ2OmJlZm9yZSxcbmkuZmxhZy5ib3V2ZXQuaXNsYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtODA2cHg7XG59XG5pLmZsYWcuYnc6YmVmb3JlLFxuaS5mbGFnLmJvdHN3YW5hOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtODMycHg7XG59XG5pLmZsYWcuYnk6YmVmb3JlLFxuaS5mbGFnLmJlbGFydXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC04NThweDtcbn1cbmkuZmxhZy5iejpiZWZvcmUsXG5pLmZsYWcuYmVsaXplOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtODg0cHg7XG59XG5pLmZsYWcuY2E6YmVmb3JlLFxuaS5mbGFnLmNhbmFkYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTkxMHB4O1xufVxuaS5mbGFnLmNjOmJlZm9yZSxcbmkuZmxhZy5jb2Nvcy5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtOTYycHg7XG59XG5pLmZsYWcuY2Q6YmVmb3JlLFxuaS5mbGFnLmNvbmdvOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtOTg4cHg7XG59XG5pLmZsYWcuY2Y6YmVmb3JlLFxuaS5mbGFnLmNlbnRyYWwuYWZyaWNhbi5yZXB1YmxpYzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEwMTRweDtcbn1cbmkuZmxhZy5jZzpiZWZvcmUsXG5pLmZsYWcuY29uZ28uYnJhenphdmlsbGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMDQwcHg7XG59XG5pLmZsYWcuY2g6YmVmb3JlLFxuaS5mbGFnLnN3aXR6ZXJsYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTA2NnB4O1xufVxuaS5mbGFnLmNpOmJlZm9yZSxcbmkuZmxhZy5jb3RlLmRpdm9pcmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMDkycHg7XG59XG5pLmZsYWcuY2s6YmVmb3JlLFxuaS5mbGFnLmNvb2suaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTExMThweDtcbn1cbmkuZmxhZy5jbDpiZWZvcmUsXG5pLmZsYWcuY2hpbGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMTQ0cHg7XG59XG5pLmZsYWcuY206YmVmb3JlLFxuaS5mbGFnLmNhbWVyb29uOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTE3MHB4O1xufVxuaS5mbGFnLmNuOmJlZm9yZSxcbmkuZmxhZy5jaGluYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTExOTZweDtcbn1cbmkuZmxhZy5jbzpiZWZvcmUsXG5pLmZsYWcuY29sb21iaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMjIycHg7XG59XG5pLmZsYWcuY3I6YmVmb3JlLFxuaS5mbGFnLmNvc3RhLnJpY2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMjQ4cHg7XG59XG5pLmZsYWcuY3M6YmVmb3JlLFxuaS5mbGFnLnNlcmJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEyNzRweDtcbn1cbmkuZmxhZy5jdTpiZWZvcmUsXG5pLmZsYWcuY3ViYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEzMDBweDtcbn1cbmkuZmxhZy5jdjpiZWZvcmUsXG5pLmZsYWcuY2FwZS52ZXJkZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEzMjZweDtcbn1cbmkuZmxhZy5jeDpiZWZvcmUsXG5pLmZsYWcuY2hyaXN0bWFzLmlzbGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTEzNTJweDtcbn1cbmkuZmxhZy5jeTpiZWZvcmUsXG5pLmZsYWcuY3lwcnVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTM3OHB4O1xufVxuaS5mbGFnLmN6OmJlZm9yZSxcbmkuZmxhZy5jemVjaC5yZXB1YmxpYzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE0MDRweDtcbn1cbmkuZmxhZy5kZTpiZWZvcmUsXG5pLmZsYWcuZ2VybWFueTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE0MzBweDtcbn1cbmkuZmxhZy5kajpiZWZvcmUsXG5pLmZsYWcuZGppYm91dGk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNDU2cHg7XG59XG5pLmZsYWcuZGs6YmVmb3JlLFxuaS5mbGFnLmRlbm1hcms6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNDgycHg7XG59XG5pLmZsYWcuZG06YmVmb3JlLFxuaS5mbGFnLmRvbWluaWNhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTUwOHB4O1xufVxuaS5mbGFnLmRvOmJlZm9yZSxcbmkuZmxhZy5kb21pbmljYW4ucmVwdWJsaWM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNTM0cHg7XG59XG5pLmZsYWcuZHo6YmVmb3JlLFxuaS5mbGFnLmFsZ2VyaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNTYwcHg7XG59XG5pLmZsYWcuZWM6YmVmb3JlLFxuaS5mbGFnLmVjdWFkb3I6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNTg2cHg7XG59XG5pLmZsYWcuZWU6YmVmb3JlLFxuaS5mbGFnLmVzdG9uaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNjEycHg7XG59XG5pLmZsYWcuZWc6YmVmb3JlLFxuaS5mbGFnLmVneXB0OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTYzOHB4O1xufVxuaS5mbGFnLmVoOmJlZm9yZSxcbmkuZmxhZy53ZXN0ZXJuLnNhaGFyYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE2NjRweDtcbn1cbmkuZmxhZy5nYi5lbmc6YmVmb3JlLFxuaS5mbGFnLmVuZ2xhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNjkwcHg7XG59XG5pLmZsYWcuZXI6YmVmb3JlLFxuaS5mbGFnLmVyaXRyZWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNzE2cHg7XG59XG5pLmZsYWcuZXM6YmVmb3JlLFxuaS5mbGFnLnNwYWluOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMTc0MnB4O1xufVxuaS5mbGFnLmV0OmJlZm9yZSxcbmkuZmxhZy5ldGhpb3BpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE3NjhweDtcbn1cbmkuZmxhZy5ldTpiZWZvcmUsXG5pLmZsYWcuZXVyb3BlYW4udW5pb246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNzk0cHg7XG59XG5pLmZsYWcuZmk6YmVmb3JlLFxuaS5mbGFnLmZpbmxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xODQ2cHg7XG59XG5pLmZsYWcuZmo6YmVmb3JlLFxuaS5mbGFnLmZpamk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xODcycHg7XG59XG5pLmZsYWcuZms6YmVmb3JlLFxuaS5mbGFnLmZhbGtsYW5kLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xODk4cHg7XG59XG5pLmZsYWcuZm06YmVmb3JlLFxuaS5mbGFnLm1pY3JvbmVzaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xOTI0cHg7XG59XG5pLmZsYWcuZm86YmVmb3JlLFxuaS5mbGFnLmZhcm9lLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xOTUwcHg7XG59XG5pLmZsYWcuZnI6YmVmb3JlLFxuaS5mbGFnLmZyYW5jZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTE5NzZweDtcbn1cbmkuZmxhZy5nYTpiZWZvcmUsXG5pLmZsYWcuZ2Fib246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggMHB4O1xufVxuaS5mbGFnLmdiOmJlZm9yZSxcbmkuZmxhZy51azpiZWZvcmUsXG5pLmZsYWcudW5pdGVkLmtpbmdkb206YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTI2cHg7XG59XG5pLmZsYWcuZ2Q6YmVmb3JlLFxuaS5mbGFnLmdyZW5hZGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTUycHg7XG59XG5pLmZsYWcuZ2U6YmVmb3JlLFxuaS5mbGFnLmdlb3JnaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTc4cHg7XG59XG5pLmZsYWcuZ2Y6YmVmb3JlLFxuaS5mbGFnLmZyZW5jaC5ndWlhbmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEwNHB4O1xufVxuaS5mbGFnLmdoOmJlZm9yZSxcbmkuZmxhZy5naGFuYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTMwcHg7XG59XG5pLmZsYWcuZ2k6YmVmb3JlLFxuaS5mbGFnLmdpYnJhbHRhcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTU2cHg7XG59XG5pLmZsYWcuZ2w6YmVmb3JlLFxuaS5mbGFnLmdyZWVubGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTgycHg7XG59XG5pLmZsYWcuZ206YmVmb3JlLFxuaS5mbGFnLmdhbWJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMjA4cHg7XG59XG5pLmZsYWcuZ246YmVmb3JlLFxuaS5mbGFnLmd1aW5lYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMjM0cHg7XG59XG5pLmZsYWcuZ3A6YmVmb3JlLFxuaS5mbGFnLmd1YWRlbG91cGU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTI2MHB4O1xufVxuaS5mbGFnLmdxOmJlZm9yZSxcbmkuZmxhZy5lcXVhdG9yaWFsLmd1aW5lYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMjg2cHg7XG59XG5pLmZsYWcuZ3I6YmVmb3JlLFxuaS5mbGFnLmdyZWVjZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMzEycHg7XG59XG5pLmZsYWcuZ3M6YmVmb3JlLFxuaS5mbGFnLnNhbmR3aWNoLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTMzOHB4O1xufVxuaS5mbGFnLmd0OmJlZm9yZSxcbmkuZmxhZy5ndWF0ZW1hbGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTM2NHB4O1xufVxuaS5mbGFnLmd1OmJlZm9yZSxcbmkuZmxhZy5ndWFtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0zOTBweDtcbn1cbmkuZmxhZy5ndzpiZWZvcmUsXG5pLmZsYWcuZ3VpbmVhLWJpc3NhdTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNDE2cHg7XG59XG5pLmZsYWcuZ3k6YmVmb3JlLFxuaS5mbGFnLmd1eWFuYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNDQycHg7XG59XG5pLmZsYWcuaGs6YmVmb3JlLFxuaS5mbGFnLmhvbmcua29uZzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNDY4cHg7XG59XG5pLmZsYWcuaG06YmVmb3JlLFxuaS5mbGFnLmhlYXJkLmlzbGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNDk0cHg7XG59XG5pLmZsYWcuaG46YmVmb3JlLFxuaS5mbGFnLmhvbmR1cmFzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC01MjBweDtcbn1cbmkuZmxhZy5ocjpiZWZvcmUsXG5pLmZsYWcuY3JvYXRpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNTQ2cHg7XG59XG5pLmZsYWcuaHQ6YmVmb3JlLFxuaS5mbGFnLmhhaXRpOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC01NzJweDtcbn1cbmkuZmxhZy5odTpiZWZvcmUsXG5pLmZsYWcuaHVuZ2FyeTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNTk4cHg7XG59XG5pLmZsYWcuaWQ6YmVmb3JlLFxuaS5mbGFnLmluZG9uZXNpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNjI0cHg7XG59XG5pLmZsYWcuaWU6YmVmb3JlLFxuaS5mbGFnLmlyZWxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTY1MHB4O1xufVxuaS5mbGFnLmlsOmJlZm9yZSxcbmkuZmxhZy5pc3JhZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTY3NnB4O1xufVxuaS5mbGFnLmluOmJlZm9yZSxcbmkuZmxhZy5pbmRpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNzAycHg7XG59XG5pLmZsYWcuaW86YmVmb3JlLFxuaS5mbGFnLmluZGlhbi5vY2Vhbi50ZXJyaXRvcnk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTcyOHB4O1xufVxuaS5mbGFnLmlxOmJlZm9yZSxcbmkuZmxhZy5pcmFxOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC03NTRweDtcbn1cbmkuZmxhZy5pcjpiZWZvcmUsXG5pLmZsYWcuaXJhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtNzgwcHg7XG59XG5pLmZsYWcuaXM6YmVmb3JlLFxuaS5mbGFnLmljZWxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTgwNnB4O1xufVxuaS5mbGFnLml0OmJlZm9yZSxcbmkuZmxhZy5pdGFseTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtODMycHg7XG59XG5pLmZsYWcuam06YmVmb3JlLFxuaS5mbGFnLmphbWFpY2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTg1OHB4O1xufVxuaS5mbGFnLmpvOmJlZm9yZSxcbmkuZmxhZy5qb3JkYW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTg4NHB4O1xufVxuaS5mbGFnLmpwOmJlZm9yZSxcbmkuZmxhZy5qYXBhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtOTEwcHg7XG59XG5pLmZsYWcua2U6YmVmb3JlLFxuaS5mbGFnLmtlbnlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC05MzZweDtcbn1cbmkuZmxhZy5rZzpiZWZvcmUsXG5pLmZsYWcua3lyZ3l6c3RhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtOTYycHg7XG59XG5pLmZsYWcua2g6YmVmb3JlLFxuaS5mbGFnLmNhbWJvZGlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC05ODhweDtcbn1cbmkuZmxhZy5raTpiZWZvcmUsXG5pLmZsYWcua2lyaWJhdGk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEwMTRweDtcbn1cbmkuZmxhZy5rbTpiZWZvcmUsXG5pLmZsYWcuY29tb3JvczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTA0MHB4O1xufVxuaS5mbGFnLmtuOmJlZm9yZSxcbmkuZmxhZy5zYWludC5raXR0cy5hbmQubmV2aXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEwNjZweDtcbn1cbmkuZmxhZy5rcDpiZWZvcmUsXG5pLmZsYWcubm9ydGgua29yZWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEwOTJweDtcbn1cbmkuZmxhZy5rcjpiZWZvcmUsXG5pLmZsYWcuc291dGgua29yZWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTExMThweDtcbn1cbmkuZmxhZy5rdzpiZWZvcmUsXG5pLmZsYWcua3V3YWl0OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMTQ0cHg7XG59XG5pLmZsYWcua3k6YmVmb3JlLFxuaS5mbGFnLmNheW1hbi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMTcwcHg7XG59XG5pLmZsYWcua3o6YmVmb3JlLFxuaS5mbGFnLmthemFraHN0YW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTExOTZweDtcbn1cbmkuZmxhZy5sYTpiZWZvcmUsXG5pLmZsYWcubGFvczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTIyMnB4O1xufVxuaS5mbGFnLmxiOmJlZm9yZSxcbmkuZmxhZy5sZWJhbm9uOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMjQ4cHg7XG59XG5pLmZsYWcubGM6YmVmb3JlLFxuaS5mbGFnLnNhaW50Lmx1Y2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMjc0cHg7XG59XG5pLmZsYWcubGk6YmVmb3JlLFxuaS5mbGFnLmxpZWNodGVuc3RlaW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEzMDBweDtcbn1cbmkuZmxhZy5sazpiZWZvcmUsXG5pLmZsYWcuc3JpLmxhbmthOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xMzI2cHg7XG59XG5pLmZsYWcubHI6YmVmb3JlLFxuaS5mbGFnLmxpYmVyaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTEzNTJweDtcbn1cbmkuZmxhZy5sczpiZWZvcmUsXG5pLmZsYWcubGVzb3RobzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTM3OHB4O1xufVxuaS5mbGFnLmx0OmJlZm9yZSxcbmkuZmxhZy5saXRodWFuaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE0MDRweDtcbn1cbmkuZmxhZy5sdTpiZWZvcmUsXG5pLmZsYWcubHV4ZW1ib3VyZzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTQzMHB4O1xufVxuaS5mbGFnLmx2OmJlZm9yZSxcbmkuZmxhZy5sYXR2aWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE0NTZweDtcbn1cbmkuZmxhZy5seTpiZWZvcmUsXG5pLmZsYWcubGlieWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE0ODJweDtcbn1cbmkuZmxhZy5tYTpiZWZvcmUsXG5pLmZsYWcubW9yb2NjbzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTUwOHB4O1xufVxuaS5mbGFnLm1jOmJlZm9yZSxcbmkuZmxhZy5tb25hY286YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE1MzRweDtcbn1cbmkuZmxhZy5tZDpiZWZvcmUsXG5pLmZsYWcubW9sZG92YTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTU2MHB4O1xufVxuaS5mbGFnLm1lOmJlZm9yZSxcbmkuZmxhZy5tb250ZW5lZ3JvOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xNTg2cHg7XG59XG5pLmZsYWcubWc6YmVmb3JlLFxuaS5mbGFnLm1hZGFnYXNjYXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE2MTNweDtcbn1cbmkuZmxhZy5taDpiZWZvcmUsXG5pLmZsYWcubWFyc2hhbGwuaXNsYW5kczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTYzOXB4O1xufVxuaS5mbGFnLm1rOmJlZm9yZSxcbmkuZmxhZy5tYWNlZG9uaWE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE2NjVweDtcbn1cbmkuZmxhZy5tbDpiZWZvcmUsXG5pLmZsYWcubWFsaTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTY5MXB4O1xufVxuaS5mbGFnLm1tOmJlZm9yZSxcbmkuZmxhZy5teWFubWFyOmJlZm9yZSxcbmkuZmxhZy5idXJtYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzNweCAtMTgyMXB4O1xufVxuaS5mbGFnLm1uOmJlZm9yZSxcbmkuZmxhZy5tb25nb2xpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTc0M3B4O1xufVxuaS5mbGFnLm1vOmJlZm9yZSxcbmkuZmxhZy5tYWNhdTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTc2OXB4O1xufVxuaS5mbGFnLm1wOmJlZm9yZSxcbmkuZmxhZy5ub3J0aGVybi5tYXJpYW5hLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE3OTVweDtcbn1cbmkuZmxhZy5tcTpiZWZvcmUsXG5pLmZsYWcubWFydGluaXF1ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTgyMXB4O1xufVxuaS5mbGFnLm1yOmJlZm9yZSxcbmkuZmxhZy5tYXVyaXRhbmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xODQ3cHg7XG59XG5pLmZsYWcubXM6YmVmb3JlLFxuaS5mbGFnLm1vbnRzZXJyYXQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE4NzNweDtcbn1cbmkuZmxhZy5tdDpiZWZvcmUsXG5pLmZsYWcubWFsdGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2cHggLTE4OTlweDtcbn1cbmkuZmxhZy5tdTpiZWZvcmUsXG5pLmZsYWcubWF1cml0aXVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xOTI1cHg7XG59XG5pLmZsYWcubXY6YmVmb3JlLFxuaS5mbGFnLm1hbGRpdmVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNnB4IC0xOTUxcHg7XG59XG5pLmZsYWcubXc6YmVmb3JlLFxuaS5mbGFnLm1hbGF3aTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzZweCAtMTk3N3B4O1xufVxuaS5mbGFnLm14OmJlZm9yZSxcbmkuZmxhZy5tZXhpY286YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggMHB4O1xufVxuaS5mbGFnLm15OmJlZm9yZSxcbmkuZmxhZy5tYWxheXNpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMjZweDtcbn1cbmkuZmxhZy5tejpiZWZvcmUsXG5pLmZsYWcubW96YW1iaXF1ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNTJweDtcbn1cbmkuZmxhZy5uYTpiZWZvcmUsXG5pLmZsYWcubmFtaWJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNzhweDtcbn1cbmkuZmxhZy5uYzpiZWZvcmUsXG5pLmZsYWcubmV3LmNhbGVkb25pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTA0cHg7XG59XG5pLmZsYWcubmU6YmVmb3JlLFxuaS5mbGFnLm5pZ2VyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMzBweDtcbn1cbmkuZmxhZy5uZjpiZWZvcmUsXG5pLmZsYWcubm9yZm9say5pc2xhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE1NnB4O1xufVxuaS5mbGFnLm5nOmJlZm9yZSxcbmkuZmxhZy5uaWdlcmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xODJweDtcbn1cbmkuZmxhZy5uaTpiZWZvcmUsXG5pLmZsYWcubmljYXJhZ3VhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0yMDhweDtcbn1cbmkuZmxhZy5ubDpiZWZvcmUsXG5pLmZsYWcubmV0aGVybGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTIzNHB4O1xufVxuaS5mbGFnLm5vOmJlZm9yZSxcbmkuZmxhZy5ub3J3YXk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTI2MHB4O1xufVxuaS5mbGFnLm5wOmJlZm9yZSxcbmkuZmxhZy5uZXBhbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMjg2cHg7XG59XG5pLmZsYWcubnI6YmVmb3JlLFxuaS5mbGFnLm5hdXJ1OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0zMTJweDtcbn1cbmkuZmxhZy5udTpiZWZvcmUsXG5pLmZsYWcubml1ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMzM4cHg7XG59XG5pLmZsYWcubno6YmVmb3JlLFxuaS5mbGFnLm5ldy56ZWFsYW5kOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0zNjRweDtcbn1cbmkuZmxhZy5vbTpiZWZvcmUsXG5pLmZsYWcub21hbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMzkwcHg7XG59XG5pLmZsYWcucGE6YmVmb3JlLFxuaS5mbGFnLnBhbmFtYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNDE2cHg7XG59XG5pLmZsYWcucGU6YmVmb3JlLFxuaS5mbGFnLnBlcnU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTQ0MnB4O1xufVxuaS5mbGFnLnBmOmJlZm9yZSxcbmkuZmxhZy5mcmVuY2gucG9seW5lc2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC00NjhweDtcbn1cbmkuZmxhZy5wZzpiZWZvcmUsXG5pLmZsYWcubmV3Lmd1aW5lYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNDk0cHg7XG59XG5pLmZsYWcucGg6YmVmb3JlLFxuaS5mbGFnLnBoaWxpcHBpbmVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC01MjBweDtcbn1cbmkuZmxhZy5wazpiZWZvcmUsXG5pLmZsYWcucGFraXN0YW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTU0NnB4O1xufVxuaS5mbGFnLnBsOmJlZm9yZSxcbmkuZmxhZy5wb2xhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTU3MnB4O1xufVxuaS5mbGFnLnBtOmJlZm9yZSxcbmkuZmxhZy5zYWludC5waWVycmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTU5OHB4O1xufVxuaS5mbGFnLnBuOmJlZm9yZSxcbmkuZmxhZy5waXRjYWlybi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC02MjRweDtcbn1cbmkuZmxhZy5wcjpiZWZvcmUsXG5pLmZsYWcucHVlcnRvLnJpY286YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTY1MHB4O1xufVxuaS5mbGFnLnBzOmJlZm9yZSxcbmkuZmxhZy5wYWxlc3RpbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTY3NnB4O1xufVxuaS5mbGFnLnB0OmJlZm9yZSxcbmkuZmxhZy5wb3J0dWdhbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNzAycHg7XG59XG5pLmZsYWcucHc6YmVmb3JlLFxuaS5mbGFnLnBhbGF1OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC03MjhweDtcbn1cbmkuZmxhZy5weTpiZWZvcmUsXG5pLmZsYWcucGFyYWd1YXk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTc1NHB4O1xufVxuaS5mbGFnLnFhOmJlZm9yZSxcbmkuZmxhZy5xYXRhcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtNzgwcHg7XG59XG5pLmZsYWcucmU6YmVmb3JlLFxuaS5mbGFnLnJldW5pb246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTgwNnB4O1xufVxuaS5mbGFnLnJvOmJlZm9yZSxcbmkuZmxhZy5yb21hbmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC04MzJweDtcbn1cbmkuZmxhZy5yczpiZWZvcmUsXG5pLmZsYWcuc2VyYmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC04NThweDtcbn1cbmkuZmxhZy5ydTpiZWZvcmUsXG5pLmZsYWcucnVzc2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC04ODRweDtcbn1cbmkuZmxhZy5ydzpiZWZvcmUsXG5pLmZsYWcucndhbmRhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC05MTBweDtcbn1cbmkuZmxhZy5zYTpiZWZvcmUsXG5pLmZsYWcuc2F1ZGkuYXJhYmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC05MzZweDtcbn1cbmkuZmxhZy5zYjpiZWZvcmUsXG5pLmZsYWcuc29sb21vbi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC05NjJweDtcbn1cbmkuZmxhZy5zYzpiZWZvcmUsXG5pLmZsYWcuc2V5Y2hlbGxlczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtOTg4cHg7XG59XG5pLmZsYWcuZ2Iuc2N0OmJlZm9yZSxcbmkuZmxhZy5zY290bGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTAxNHB4O1xufVxuaS5mbGFnLnNkOmJlZm9yZSxcbmkuZmxhZy5zdWRhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTA0MHB4O1xufVxuaS5mbGFnLnNlOmJlZm9yZSxcbmkuZmxhZy5zd2VkZW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTEwNjZweDtcbn1cbmkuZmxhZy5zZzpiZWZvcmUsXG5pLmZsYWcuc2luZ2Fwb3JlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMDkycHg7XG59XG5pLmZsYWcuc2g6YmVmb3JlLFxuaS5mbGFnLnNhaW50LmhlbGVuYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTExOHB4O1xufVxuaS5mbGFnLnNpOmJlZm9yZSxcbmkuZmxhZy5zbG92ZW5pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTE0NHB4O1xufVxuaS5mbGFnLnNqOmJlZm9yZSxcbmkuZmxhZy5zdmFsYmFyZDpiZWZvcmUsXG5pLmZsYWcuamFuLm1heWVuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMTcwcHg7XG59XG5pLmZsYWcuc2s6YmVmb3JlLFxuaS5mbGFnLnNsb3Zha2lhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMTk2cHg7XG59XG5pLmZsYWcuc2w6YmVmb3JlLFxuaS5mbGFnLnNpZXJyYS5sZW9uZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTIyMnB4O1xufVxuaS5mbGFnLnNtOmJlZm9yZSxcbmkuZmxhZy5zYW4ubWFyaW5vOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xMjQ4cHg7XG59XG5pLmZsYWcuc246YmVmb3JlLFxuaS5mbGFnLnNlbmVnYWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTEyNzRweDtcbn1cbmkuZmxhZy5zbzpiZWZvcmUsXG5pLmZsYWcuc29tYWxpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTMwMHB4O1xufVxuaS5mbGFnLnNyOmJlZm9yZSxcbmkuZmxhZy5zdXJpbmFtZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTMyNnB4O1xufVxuaS5mbGFnLnN0OmJlZm9yZSxcbmkuZmxhZy5zYW8udG9tZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTM1MnB4O1xufVxuaS5mbGFnLnN2OmJlZm9yZSxcbmkuZmxhZy5lbC5zYWx2YWRvcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTM3OHB4O1xufVxuaS5mbGFnLnN5OmJlZm9yZSxcbmkuZmxhZy5zeXJpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTQwNHB4O1xufVxuaS5mbGFnLnN6OmJlZm9yZSxcbmkuZmxhZy5zd2F6aWxhbmQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE0MzBweDtcbn1cbmkuZmxhZy50YzpiZWZvcmUsXG5pLmZsYWcuY2FpY29zLmlzbGFuZHM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE0NTZweDtcbn1cbmkuZmxhZy50ZDpiZWZvcmUsXG5pLmZsYWcuY2hhZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTQ4MnB4O1xufVxuaS5mbGFnLnRmOmJlZm9yZSxcbmkuZmxhZy5mcmVuY2gudGVycml0b3JpZXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE1MDhweDtcbn1cbmkuZmxhZy50ZzpiZWZvcmUsXG5pLmZsYWcudG9nbzpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTUzNHB4O1xufVxuaS5mbGFnLnRoOmJlZm9yZSxcbmkuZmxhZy50aGFpbGFuZDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTU2MHB4O1xufVxuaS5mbGFnLnRqOmJlZm9yZSxcbmkuZmxhZy50YWppa2lzdGFuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xNTg2cHg7XG59XG5pLmZsYWcudGs6YmVmb3JlLFxuaS5mbGFnLnRva2VsYXU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE2MTJweDtcbn1cbmkuZmxhZy50bDpiZWZvcmUsXG5pLmZsYWcudGltb3JsZXN0ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTYzOHB4O1xufVxuaS5mbGFnLnRtOmJlZm9yZSxcbmkuZmxhZy50dXJrbWVuaXN0YW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE2NjRweDtcbn1cbmkuZmxhZy50bjpiZWZvcmUsXG5pLmZsYWcudHVuaXNpYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTY5MHB4O1xufVxuaS5mbGFnLnRvOmJlZm9yZSxcbmkuZmxhZy50b25nYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTcxNnB4O1xufVxuaS5mbGFnLnRyOmJlZm9yZSxcbmkuZmxhZy50dXJrZXk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE3NDJweDtcbn1cbmkuZmxhZy50dDpiZWZvcmUsXG5pLmZsYWcudHJpbmlkYWQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE3NjhweDtcbn1cbmkuZmxhZy50djpiZWZvcmUsXG5pLmZsYWcudHV2YWx1OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xNzk0cHg7XG59XG5pLmZsYWcudHc6YmVmb3JlLFxuaS5mbGFnLnRhaXdhbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTgyMHB4O1xufVxuaS5mbGFnLnR6OmJlZm9yZSxcbmkuZmxhZy50YW56YW5pYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTg0NnB4O1xufVxuaS5mbGFnLnVhOmJlZm9yZSxcbmkuZmxhZy51a3JhaW5lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xODcycHg7XG59XG5pLmZsYWcudWc6YmVmb3JlLFxuaS5mbGFnLnVnYW5kYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTg5OHB4O1xufVxuaS5mbGFnLnVtOmJlZm9yZSxcbmkuZmxhZy51cy5taW5vci5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4IC0xOTI0cHg7XG59XG5pLmZsYWcudXM6YmVmb3JlLFxuaS5mbGFnLmFtZXJpY2E6YmVmb3JlLFxuaS5mbGFnLnVuaXRlZC5zdGF0ZXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggLTE5NTBweDtcbn1cbmkuZmxhZy51eTpiZWZvcmUsXG5pLmZsYWcudXJ1Z3VheTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAtMTk3NnB4O1xufVxuaS5mbGFnLnV6OmJlZm9yZSxcbmkuZmxhZy51emJla2lzdGFuOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAwcHg7XG59XG5pLmZsYWcudmE6YmVmb3JlLFxuaS5mbGFnLnZhdGljYW4uY2l0eTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTI2cHg7XG59XG5pLmZsYWcudmM6YmVmb3JlLFxuaS5mbGFnLnNhaW50LnZpbmNlbnQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC01MnB4O1xufVxuaS5mbGFnLnZlOmJlZm9yZSxcbmkuZmxhZy52ZW5lenVlbGE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC03OHB4O1xufVxuaS5mbGFnLnZnOmJlZm9yZSxcbmkuZmxhZy5icml0aXNoLnZpcmdpbi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMTA0cHg7XG59XG5pLmZsYWcudmk6YmVmb3JlLFxuaS5mbGFnLnVzLnZpcmdpbi5pc2xhbmRzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMTMwcHg7XG59XG5pLmZsYWcudm46YmVmb3JlLFxuaS5mbGFnLnZpZXRuYW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0xNTZweDtcbn1cbmkuZmxhZy52dTpiZWZvcmUsXG5pLmZsYWcudmFudWF0dTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTE4MnB4O1xufVxuaS5mbGFnLmdiLndsczpiZWZvcmUsXG5pLmZsYWcud2FsZXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yMDhweDtcbn1cbmkuZmxhZy53ZjpiZWZvcmUsXG5pLmZsYWcud2FsbGlzLmFuZC5mdXR1bmE6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yMzRweDtcbn1cbmkuZmxhZy53czpiZWZvcmUsXG5pLmZsYWcuc2Ftb2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yNjBweDtcbn1cbmkuZmxhZy55ZTpiZWZvcmUsXG5pLmZsYWcueWVtZW46YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0yODZweDtcbn1cbmkuZmxhZy55dDpiZWZvcmUsXG5pLmZsYWcubWF5b3R0ZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTMxMnB4O1xufVxuaS5mbGFnLnphOmJlZm9yZSxcbmkuZmxhZy5zb3V0aC5hZnJpY2E6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwOHB4IC0zMzhweDtcbn1cbmkuZmxhZy56bTpiZWZvcmUsXG5pLmZsYWcuemFtYmlhOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMzY0cHg7XG59XG5pLmZsYWcuenc6YmVmb3JlLFxuaS5mbGFnLnppbWJhYndlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDhweCAtMzkwcHg7XG59XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBIZWFkZXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdlbGVtZW50JztcbkBlbGVtZW50IDogJ2hlYWRlcic7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgSGVhZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBTdGFuZGFyZCAqL1xuLnVpLmhlYWRlciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiBAbWFyZ2luO1xuICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbiAgZm9udC1mYW1pbHk6IEBmb250RmFtaWx5O1xuICBmb250LXdlaWdodDogQGZvbnRXZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IEB0ZXh0VHJhbnNmb3JtO1xuICBjb2xvcjogQHRleHRDb2xvcjtcbn1cblxuLnVpLmhlYWRlcjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IEBmaXJzdE1hcmdpbjtcbn1cbi51aS5oZWFkZXI6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IEBsYXN0TWFyZ2luO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTdWIgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBAbm9ybWFsO1xuICBwYWRkaW5nOiAwZW07XG4gIG1hcmdpbjogQHN1YkhlYWRlck1hcmdpbjtcbiAgZm9udC1zaXplOiBAc3ViSGVhZGVyRm9udFNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAc3ViSGVhZGVyTGluZUhlaWdodDtcbiAgY29sb3I6IEBzdWJIZWFkZXJDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSWNvblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmhlYWRlciA+IC5pY29uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgb3BhY2l0eTogQGljb25PcGFjaXR5O1xuICBmb250LXNpemU6IEBpY29uU2l6ZTtcbiAgcGFkZGluZy10b3A6IEBpY29uT2Zmc2V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogQGljb25BbGlnbm1lbnQ7XG59XG5cbi8qIFdpdGggVGV4dCBOb2RlICovXG4udWkuaGVhZGVyIC5pY29uOm9ubHktY2hpbGQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDBlbTtcbiAgbWFyZ2luLXJpZ2h0OiBAaWNvbk1hcmdpbjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEltYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5oZWFkZXIgPiAuaW1hZ2U6bm90KC5pY29uKSxcbi51aS5oZWFkZXIgPiBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IEBpbWFnZU9mZnNldDtcbiAgd2lkdGg6IEBpbWFnZVdpZHRoO1xuICBoZWlnaHQ6IEBpbWFnZUhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IEBpbWFnZUFsaWdubWVudDtcbn1cbi51aS5oZWFkZXIgPiAuaW1hZ2U6bm90KC5pY29uKTpvbmx5LWNoaWxkLFxuLnVpLmhlYWRlciA+IGltZzpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiBAaW1hZ2VNYXJnaW47XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmhlYWRlciAuY29udGVudCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IEBjb250ZW50QWxpZ25tZW50O1xufVxuXG4vKiBBZnRlciBJbWFnZSAqL1xuLnVpLmhlYWRlciA+IGltZyArIC5jb250ZW50LFxuLnVpLmhlYWRlciA+IC5pbWFnZSArIC5jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiBAaW1hZ2VNYXJnaW47XG4gIHZlcnRpY2FsLWFsaWduOiBAY29udGVudEltYWdlQWxpZ25tZW50O1xufVxuXG4vKiBBZnRlciBJY29uICovXG4udWkuaGVhZGVyID4gLmljb24gKyAuY29udGVudCB7XG4gIHBhZGRpbmctbGVmdDogQGljb25NYXJnaW47XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBAY29udGVudEljb25BbGlnbm1lbnQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuIExvb3NlIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaGVhZGVyIC51aS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogQGxhYmVsU2l6ZTtcbiAgbWFyZ2luLWxlZnQ6IEBsYWJlbERpc3RhbmNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogQGxhYmVsVmVydGljYWxBbGlnbjtcbn1cblxuLyogUG9zaXRpb25pbmcgKi9cbi51aS5oZWFkZXIgKyBwIHtcbiAgbWFyZ2luLXRvcDogQG5leHRQYXJhZ3JhcGhEaXN0YW5jZTtcbn1cblxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLSovXG5cbmgxLnVpLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogQGgxO1xufVxuaDIudWkuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAaDI7XG59XG5oMy51aS5oZWFkZXIge1xuICBmb250LXNpemU6IEBoMztcbn1cbmg0LnVpLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogQGg0O1xufVxuaDUudWkuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAaDU7XG59XG5cblxuLyogU3ViIEhlYWRlciAqL1xuaDEudWkuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAaDFTdWJIZWFkZXJGb250U2l6ZTtcbn1cbmgyLnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogQGgyU3ViSGVhZGVyRm9udFNpemU7XG59XG5oMy51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IEBoM1N1YkhlYWRlckZvbnRTaXplO1xufVxuaDQudWkuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAaDRTdWJIZWFkZXJGb250U2l6ZTtcbn1cbmg1LnVpLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogQGg1U3ViSGVhZGVyRm9udFNpemU7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuIENvbnRlbnQgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmh1Z2UuaGVhZGVyIHtcbiAgbWluLWhlaWdodDogMWVtO1xuICBmb250LXNpemU6IEBodWdlRm9udFNpemU7XG59XG4udWkubGFyZ2UuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAbGFyZ2VGb250U2l6ZTtcbn1cbi51aS5tZWRpdW0uaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAbWVkaXVtRm9udFNpemU7XG59XG4udWkuc21hbGwuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAc21hbGxGb250U2l6ZTtcbn1cbi51aS50aW55LmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogQHRpbnlGb250U2l6ZTtcbn1cblxuLyogU3ViIEhlYWRlciAqL1xuLnVpLmh1Z2UuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAaHVnZVN1YkhlYWRlckZvbnRTaXplO1xufVxuLnVpLmxhcmdlLmhlYWRlciAuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogQGh1Z2VTdWJIZWFkZXJGb250U2l6ZTtcbn1cbi51aS5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IEBzdWJIZWFkZXJGb250U2l6ZTtcbn1cbi51aS5zbWFsbC5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IEBzbWFsbFN1YkhlYWRlckZvbnRTaXplO1xufVxuLnVpLnRpbnkuaGVhZGVyIC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAdGlueVN1YkhlYWRlckZvbnRTaXplO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTdWIgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnN1Yi5oZWFkZXIge1xuICBwYWRkaW5nOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IEBzdWJIZWFkaW5nRGlzdGFuY2U7XG4gIGZvbnQtd2VpZ2h0OiBAc3ViSGVhZGluZ0ZvbnRXZWlnaHQ7XG4gIGZvbnQtc2l6ZTogQHN1YkhlYWRpbmdGb250U2l6ZTtcbiAgdGV4dC10cmFuc2Zvcm06IEBzdWJIZWFkaW5nVGV4dFRyYW5zZm9ybTtcbiAgY29sb3I6IEBzdWJIZWFkaW5nQ29sb3I7XG59XG5cbi51aS5zbWFsbC5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAc21hbGxTdWJIZWFkaW5nU2l6ZTtcbn1cbi51aS5zdWIuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAc3ViSGVhZGluZ0ZvbnRTaXplO1xufVxuLnVpLmxhcmdlLnN1Yi5oZWFkZXIge1xuICBmb250LXNpemU6IEBsYXJnZVN1YkhlYWRpbmdTaXplO1xufVxuLnVpLmh1Z2Uuc3ViLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogQGh1Z2VTdWJIZWFkaW5nU2l6ZTtcbn1cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pY29uLmhlYWRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IEBpY29uSGVhZGVyVG9wTWFyZ2luIDBlbSBAaWNvbkhlYWRlckJvdHRvbU1hcmdpbjtcbn1cbi51aS5pY29uLmhlYWRlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwcHg7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51aS5pY29uLmhlYWRlcjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IEBpY29uSGVhZGVyRmlyc3RNYXJnaW47XG59XG4udWkuaWNvbi5oZWFkZXIgLmljb24ge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwZW07XG4gIGZvbnQtc2l6ZTogQGljb25IZWFkZXJTaXplO1xuICBtYXJnaW46IDBlbSBhdXRvIEBpY29uSGVhZGVyTWFyZ2luO1xuICBvcGFjaXR5OiBAaWNvbkhlYWRlck9wYWNpdHk7XG59XG4udWkuaWNvbi5oZWFkZXIgLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMGVtO1xufVxuLnVpLmljb24uaGVhZGVyIC5jaXJjdWxhci5pY29uIHtcbiAgZm9udC1zaXplOiBAY2lyY3VsYXJIZWFkZXJJY29uU2l6ZTtcbn1cbi51aS5pY29uLmhlYWRlciAuc3F1YXJlLmljb24ge1xuICBmb250LXNpemU6IEBzcXVhcmVIZWFkZXJJY29uU2l6ZTtcbn1cbi51aS5ibG9jay5pY29uLmhlYWRlciAuaWNvbiB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi51aS5pY29uLmhlYWRlci5hbGlnbmVkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5kaXNhYmxlZC5oZWFkZXIge1xuICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmludmVydGVkLmhlYWRlciB7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBjb2xvcjogQGludmVydGVkU3ViSGVhZGVyQ29sb3I7XG59XG4udWkuaW52ZXJ0ZWQuYXR0YWNoZWQuaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkQXR0YWNoZWRCYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnVpLmludmVydGVkLmJsb2NrLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZEJsb2NrQmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5pbnZlcnRlZC5ibG9jay5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLSBSZWQgLS0tKi9cbi51aS5yZWQuaGVhZGVyIHtcbiAgY29sb3I6IEByZWQgIWltcG9ydGFudDtcbn1cbmEudWkucmVkLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiBAcmVkSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5yZWQuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogQGRpdmlkZWRDb2xvcmVkQm9yZGVyV2lkdGggc29saWQgQHJlZDtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5yZWQuaGVhZGVyIHtcbiAgY29sb3I6IEBsaWdodFJlZCAhaW1wb3J0YW50O1xufVxuYS51aS5pbnZlcnRlZC5yZWQuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEBsaWdodFJlZEhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIE9yYW5nZSAtLS0qL1xuLnVpLm9yYW5nZS5oZWFkZXIge1xuICBjb2xvcjogQG9yYW5nZSAhaW1wb3J0YW50O1xufVxuYS51aS5vcmFuZ2UuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEBvcmFuZ2VIb3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLm9yYW5nZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiBAZGl2aWRlZENvbG9yZWRCb3JkZXJXaWR0aCBzb2xpZCBAb3JhbmdlO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5vcmFuZ2UuaGVhZGVyIHtcbiAgY29sb3I6IEBsaWdodE9yYW5nZSAhaW1wb3J0YW50O1xufVxuYS51aS5pbnZlcnRlZC5vcmFuZ2UuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEBsaWdodE9yYW5nZUhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIE9saXZlIC0tLSovXG4udWkub2xpdmUuaGVhZGVyIHtcbiAgY29sb3I6IEBvbGl2ZSAhaW1wb3J0YW50O1xufVxuYS51aS5vbGl2ZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogQG9saXZlSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS5vbGl2ZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiBAZGl2aWRlZENvbG9yZWRCb3JkZXJXaWR0aCBzb2xpZCBAb2xpdmU7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLm9saXZlLmhlYWRlciB7XG4gIGNvbG9yOiBAbGlnaHRPbGl2ZSAhaW1wb3J0YW50O1xufVxuYS51aS5pbnZlcnRlZC5vbGl2ZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogQGxpZ2h0T2xpdmVIb3ZlciAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBZZWxsb3cgLS0tKi9cbi51aS55ZWxsb3cuaGVhZGVyIHtcbiAgY29sb3I6IEB5ZWxsb3cgIWltcG9ydGFudDtcbn1cbmEudWkueWVsbG93LmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiBAeWVsbG93SG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS55ZWxsb3cuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogQGRpdmlkZWRDb2xvcmVkQm9yZGVyV2lkdGggc29saWQgQHllbGxvdztcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQueWVsbG93LmhlYWRlciB7XG4gIGNvbG9yOiBAbGlnaHRZZWxsb3cgIWltcG9ydGFudDtcbn1cbmEudWkuaW52ZXJ0ZWQueWVsbG93LmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiBAbGlnaHRZZWxsb3dIb3ZlciAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBHcmVlbiAtLS0qL1xuLnVpLmdyZWVuLmhlYWRlciB7XG4gIGNvbG9yOiBAZ3JlZW4gIWltcG9ydGFudDtcbn1cbmEudWkuZ3JlZW4uaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEBncmVlbkhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JlZW4uZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogQGRpdmlkZWRDb2xvcmVkQm9yZGVyV2lkdGggc29saWQgQGdyZWVuO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5ncmVlbi5oZWFkZXIge1xuICBjb2xvcjogQGxpZ2h0R3JlZW4gIWltcG9ydGFudDtcbn1cbmEudWkuaW52ZXJ0ZWQuZ3JlZW4uaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEBsaWdodEdyZWVuSG92ZXIgIWltcG9ydGFudDtcbn1cblxuLyotLS0gVGVhbCAtLS0qL1xuLnVpLnRlYWwuaGVhZGVyIHtcbiAgY29sb3I6IEB0ZWFsICFpbXBvcnRhbnQ7XG59XG5hLnVpLnRlYWwuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEB0ZWFsSG92ZXIgIWltcG9ydGFudDtcbn1cbi51aS50ZWFsLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IEBkaXZpZGVkQ29sb3JlZEJvcmRlcldpZHRoIHNvbGlkIEB0ZWFsO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC50ZWFsLmhlYWRlciB7XG4gIGNvbG9yOiBAbGlnaHRUZWFsICFpbXBvcnRhbnQ7XG59XG5hLnVpLmludmVydGVkLnRlYWwuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEBsaWdodFRlYWxIb3ZlciAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBCbHVlIC0tLSovXG4udWkuYmx1ZS5oZWFkZXIge1xuICBjb2xvcjogQGJsdWUgIWltcG9ydGFudDtcbn1cbmEudWkuYmx1ZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogQGJsdWVIb3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLmJsdWUuZGl2aWRpbmcuaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogQGRpdmlkZWRDb2xvcmVkQm9yZGVyV2lkdGggc29saWQgQGJsdWU7XG59XG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmJsdWUuaGVhZGVyIHtcbiAgY29sb3I6IEBsaWdodEJsdWUgIWltcG9ydGFudDtcbn1cbmEudWkuaW52ZXJ0ZWQuYmx1ZS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogQGxpZ2h0Qmx1ZUhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIFZpb2xldCAtLS0qL1xuLnVpLnZpb2xldC5oZWFkZXIge1xuICBjb2xvcjogQHZpb2xldCAhaW1wb3J0YW50O1xufVxuYS51aS52aW9sZXQuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEB2aW9sZXRIb3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLnZpb2xldC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiBAZGl2aWRlZENvbG9yZWRCb3JkZXJXaWR0aCBzb2xpZCBAdmlvbGV0O1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC52aW9sZXQuaGVhZGVyIHtcbiAgY29sb3I6IEBsaWdodFZpb2xldCAhaW1wb3J0YW50O1xufVxuYS51aS5pbnZlcnRlZC52aW9sZXQuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEBsaWdodFZpb2xldEhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIFB1cnBsZSAtLS0qL1xuLnVpLnB1cnBsZS5oZWFkZXIge1xuICBjb2xvcjogQHB1cnBsZSAhaW1wb3J0YW50O1xufVxuYS51aS5wdXJwbGUuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEBwdXJwbGVIb3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLnB1cnBsZS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiBAZGl2aWRlZENvbG9yZWRCb3JkZXJXaWR0aCBzb2xpZCBAcHVycGxlO1xufVxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5wdXJwbGUuaGVhZGVyIHtcbiAgY29sb3I6IEBsaWdodFB1cnBsZSAhaW1wb3J0YW50O1xufVxuYS51aS5pbnZlcnRlZC5wdXJwbGUuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEBsaWdodFB1cnBsZUhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIFBpbmsgLS0tKi9cbi51aS5waW5rLmhlYWRlciB7XG4gIGNvbG9yOiBAcGluayAhaW1wb3J0YW50O1xufVxuYS51aS5waW5rLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiBAcGlua0hvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkucGluay5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiBAZGl2aWRlZENvbG9yZWRCb3JkZXJXaWR0aCBzb2xpZCBAcGluaztcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQucGluay5oZWFkZXIge1xuICBjb2xvcjogQGxpZ2h0UGluayAhaW1wb3J0YW50O1xufVxuYS51aS5pbnZlcnRlZC5waW5rLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiBAbGlnaHRQaW5rSG92ZXIgIWltcG9ydGFudDtcbn1cblxuLyotLS0gQnJvd24gLS0tKi9cbi51aS5icm93bi5oZWFkZXIge1xuICBjb2xvcjogQGJyb3duICFpbXBvcnRhbnQ7XG59XG5hLnVpLmJyb3duLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiBAYnJvd25Ib3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLmJyb3duLmRpdmlkaW5nLmhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IEBkaXZpZGVkQ29sb3JlZEJvcmRlcldpZHRoIHNvbGlkIEBicm93bjtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuYnJvd24uaGVhZGVyIHtcbiAgY29sb3I6IEBsaWdodEJyb3duICFpbXBvcnRhbnQ7XG59XG5hLnVpLmludmVydGVkLmJyb3duLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiBAbGlnaHRCcm93bkhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIEdyZXkgLS0tKi9cbi51aS5ncmV5LmhlYWRlciB7XG4gIGNvbG9yOiBAZ3JleSAhaW1wb3J0YW50O1xufVxuYS51aS5ncmV5LmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiBAZ3JleUhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JleS5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiBAZGl2aWRlZENvbG9yZWRCb3JkZXJXaWR0aCBzb2xpZCBAZ3JleTtcbn1cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQuZ3JleS5oZWFkZXIge1xuICBjb2xvcjogQGxpZ2h0R3JleSAhaW1wb3J0YW50O1xufVxuYS51aS5pbnZlcnRlZC5ncmV5LmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiBAbGlnaHRHcmV5SG92ZXIgIWltcG9ydGFudDtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBbGlnbmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sZWZ0LmFsaWduZWQuaGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi51aS5yaWdodC5hbGlnbmVkLmhlYWRlciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnVpLmNlbnRlcmVkLmhlYWRlcixcbi51aS5jZW50ZXIuYWxpZ25lZC5oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udWkuanVzdGlmaWVkLmhlYWRlciB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG4udWkuanVzdGlmaWVkLmhlYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGbG9hdGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbG9hdGVkLmhlYWRlcixcbi51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uaGVhZGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLXJpZ2h0OiBAZmxvYXRlZE1hcmdpbjtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmhlYWRlciB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogMGVtO1xuICBtYXJnaW4tbGVmdDogQGZsb2F0ZWRNYXJnaW47XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEZpdHRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZml0dGVkLmhlYWRlciB7XG4gIHBhZGRpbmc6IDBlbTtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIERpdmlkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXZpZGluZy5oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogQGRpdmlkZWRCb3JkZXJQYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiBAZGl2aWRlZEJvcmRlcjtcbn1cbi51aS5kaXZpZGluZy5oZWFkZXIgLnN1Yi5oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogQGRpdmlkZWRTdWJIZWFkZXJQYWRkaW5nO1xufVxuLnVpLmRpdmlkaW5nLmhlYWRlciAuaWNvbiB7XG4gIG1hcmdpbi1ib3R0b206IEBkaXZpZGVkSWNvblBhZGRpbmc7XG59XG5cbi51aS5pbnZlcnRlZC5kaXZpZGluZy5oZWFkZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBAaW52ZXJ0ZWREaXZpZGVkQm9yZGVyQ29sb3I7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEJsb2NrXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5ibG9jay5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiBAYmxvY2tCYWNrZ3JvdW5kO1xuICBwYWRkaW5nOiBAYmxvY2tWZXJ0aWNhbFBhZGRpbmcgQGJsb2NrSG9yaXpvbnRhbFBhZGRpbmc7XG4gIGJveC1zaGFkb3c6IEBibG9ja0JveFNoYWRvdztcbiAgYm9yZGVyOiBAYmxvY2tCb3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEBibG9ja0JvcmRlclJhZGl1cztcbn1cblxuLnVpLnRpbnkuYmxvY2suaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAdGlueUJsb2NrO1xufVxuLnVpLnNtYWxsLmJsb2NrLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogQHNtYWxsQmxvY2s7XG59XG4udWkuYmxvY2suaGVhZGVyOm5vdChoMSk6bm90KGgyKTpub3QoaDMpOm5vdChoNCk6bm90KGg1KTpub3QoaDYpIHtcbiAgZm9udC1zaXplOiBAbWVkaXVtQmxvY2s7XG59XG4udWkubGFyZ2UuYmxvY2suaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAbGFyZ2VCbG9jaztcbn1cbi51aS5odWdlLmJsb2NrLmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogQGh1Z2VCbG9jaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQXR0YWNoZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmF0dGFjaGVkLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6IEBhdHRhY2hlZEJhY2tncm91bmQ7XG4gIHBhZGRpbmc6IEBhdHRhY2hlZFZlcnRpY2FsUGFkZGluZyBAYXR0YWNoZWRIb3Jpem9udGFsUGFkZGluZztcbiAgbWFyZ2luLWxlZnQ6IEBhdHRhY2hlZE9mZnNldDtcbiAgbWFyZ2luLXJpZ2h0OiBAYXR0YWNoZWRPZmZzZXQ7XG4gIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJveFNoYWRvdztcbiAgYm9yZGVyOiBAYXR0YWNoZWRCb3JkZXI7XG59XG4udWkuYXR0YWNoZWQuYmxvY2suaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogQGJsb2NrQmFja2dyb3VuZDtcbn1cblxuLnVpLmF0dGFjaGVkOm5vdCgudG9wKTpub3QoLmJvdHRvbSkuaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cbi51aS50b3AuYXR0YWNoZWQuaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICBib3JkZXItcmFkaXVzOiBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgQGF0dGFjaGVkQm9yZGVyUmFkaXVzIDBlbSAwZW07XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgQGF0dGFjaGVkQm9yZGVyUmFkaXVzO1xufVxuXG4vKiBBdHRhY2hlZCBTaXplcyAqL1xuLnVpLnRpbnkuYXR0YWNoZWQuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAdGlueUF0dGFjaGVkU2l6ZTtcbn1cbi51aS5zbWFsbC5hdHRhY2hlZC5oZWFkZXIge1xuICBmb250LXNpemU6IEBzbWFsbEF0dGFjaGVkU2l6ZTtcbn1cbi51aS5hdHRhY2hlZC5oZWFkZXI6bm90KGgxKTpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpOm5vdChoNikge1xuICBmb250LXNpemU6IEBtZWRpdW1BdHRhY2hlZFNpemU7XG59XG4udWkubGFyZ2UuYXR0YWNoZWQuaGVhZGVyIHtcbiAgZm9udC1zaXplOiBAbGFyZ2VBdHRhY2hlZFNpemU7XG59XG4udWkuaHVnZS5hdHRhY2hlZC5oZWFkZXIge1xuICBmb250LXNpemU6IEBodWdlQXR0YWNoZWRTaXplO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5oZWFkZXI6bm90KGgxKTpub3QoaDIpOm5vdChoMyk6bm90KGg0KTpub3QoaDUpOm5vdChoNikge1xuICBmb250LXNpemU6IEBtZWRpdW1Gb250U2l6ZTtcbn1cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyohXG4gKiAjIFNlbWFudGljIFVJIC0gSWNvblxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ2VsZW1lbnQnO1xuQGVsZW1lbnQgOiAnaWNvbic7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIEljb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ljb25zJztcbiAgc3JjOiBAZmFsbGJhY2tTUkM7XG4gIHNyYzogQHNyYztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogQG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmkuaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3BhY2l0eTogQG9wYWNpdHk7XG5cbiAgbWFyZ2luOiAwZW0gQGRpc3RhbmNlRnJvbVRleHQgMGVtIDBlbTtcblxuICB3aWR0aDogQHdpZHRoO1xuICBoZWlnaHQ6IEBoZWlnaHQ7XG5cbiAgZm9udC1mYW1pbHk6ICdJY29ucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IEBub3JtYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIHNwZWFrOiBub25lO1xuICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbmkuaWNvbjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBMb2FkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG5pLmljb24ubG9hZGluZyB7XG4gIGhlaWdodDogMWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYW5pbWF0aW9uOiBpY29uLWxvYWRpbmcgQGxvYWRpbmdEdXJhdGlvbiBsaW5lYXIgaW5maW5pdGU7XG59XG5Aa2V5ZnJhbWVzIGljb24tbG9hZGluZyB7XG4gZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gfVxuIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmkuaWNvbi5ob3ZlciB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuaS5pY29uLmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuaS5lbXBoYXNpemVkLmljb24ge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbmkuZGlzYWJsZWQuaWNvbiB7XG4gIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHkgIWltcG9ydGFudDtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGaXR0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuaS5maXR0ZWQuaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIExpbmtcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuaS5saW5rLmljb24sIGkubGluay5pY29ucyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogQGxpbmtPcGFjaXR5O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IEBkZWZhdWx0RHVyYXRpb24gQGRlZmF1bHRFYXNpbmc7XG59XG5pLmxpbmsuaWNvbjpob3ZlciwgaS5saW5rLmljb25zOmhvdmVyIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIENpcmN1bGFyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmkuY2lyY3VsYXIuaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMGVtICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG5cbiAgcGFkZGluZzogQGNpcmN1bGFyUGFkZGluZyAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBAY2lyY3VsYXJTaGFkb3c7XG5cbiAgd2lkdGg6IEBjaXJjdWxhclNpemUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBAY2lyY3VsYXJTaXplICFpbXBvcnRhbnQ7XG59XG5pLmNpcmN1bGFyLmludmVydGVkLmljb24ge1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRmxpcHBlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5pLmZsaXBwZWQuaWNvbixcbmkuaG9yaXpvbnRhbGx5LmZsaXBwZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuaS52ZXJ0aWNhbGx5LmZsaXBwZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFJvdGF0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuaS5yb3RhdGVkLmljb24sXG5pLnJpZ2h0LnJvdGF0ZWQuaWNvbixcbmkuY2xvY2t3aXNlLnJvdGF0ZWQuaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuaS5sZWZ0LnJvdGF0ZWQuaWNvbixcbmkuY291bnRlcmNsb2Nrd2lzZS5yb3RhdGVkLmljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJvcmRlcmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmkuYm9yZGVyZWQuaWNvbiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgd2lkdGg6IEBib3JkZXJlZFNpemU7XG4gIGhlaWdodDogQGJvcmRlcmVkU2l6ZTtcbiAgcGFkZGluZzogQGJvcmRlcmVkVmVydGljYWxQYWRkaW5nIEBib3JkZXJlZEhvcml6b250YWxQYWRkaW5nICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IEBib3JkZXJlZFNoYWRvdztcbn1cbmkuYm9yZGVyZWQuaW52ZXJ0ZWQuaWNvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJbnZlcnRlZCBTaGFwZXMgKi9cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibGFjayAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbmkuaW52ZXJ0ZWQuaWNvbiB7XG4gIGNvbG9yOiBAd2hpdGU7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFJlZCAqL1xuaS5yZWQuaWNvbiB7XG4gIGNvbG9yOiBAcmVkICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLnJlZC5pY29uIHtcbiAgY29sb3I6IEBsaWdodFJlZCAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5yZWQuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIucmVkLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmVkICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogT3JhbmdlICovXG5pLm9yYW5nZS5pY29uIHtcbiAgY29sb3I6IEBvcmFuZ2UgIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQub3JhbmdlLmljb24ge1xuICBjb2xvcjogQGxpZ2h0T3JhbmdlICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLm9yYW5nZS5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5vcmFuZ2UuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBvcmFuZ2UgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBZZWxsb3cgKi9cbmkueWVsbG93Lmljb24ge1xuICBjb2xvcjogQHllbGxvdyAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC55ZWxsb3cuaWNvbiB7XG4gIGNvbG9yOiBAbGlnaHRZZWxsb3cgIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQueWVsbG93Lmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnllbGxvdy5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHllbGxvdyAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIE9saXZlICovXG5pLm9saXZlLmljb24ge1xuICBjb2xvcjogQG9saXZlICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLm9saXZlLmljb24ge1xuICBjb2xvcjogQGxpZ2h0T2xpdmUgIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQub2xpdmUuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIub2xpdmUuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBvbGl2ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIEdyZWVuICovXG5pLmdyZWVuLmljb24ge1xuICBjb2xvcjogQGdyZWVuICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmdyZWVuLmljb24ge1xuICBjb2xvcjogQGxpZ2h0R3JlZW4gIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQuZ3JlZW4uaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIuZ3JlZW4uaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmVlbiAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRlYWwgKi9cbmkudGVhbC5pY29uIHtcbiAgY29sb3I6IEB0ZWFsICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLnRlYWwuaWNvbiB7XG4gIGNvbG9yOiBAbGlnaHRUZWFsICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLnRlYWwuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIudGVhbC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRlYWwgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBCbHVlICovXG5pLmJsdWUuaWNvbiB7XG4gIGNvbG9yOiBAYmx1ZSAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ibHVlLmljb24ge1xuICBjb2xvcjogQGxpZ2h0Qmx1ZSAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ibHVlLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmJsdWUuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibHVlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogVmlvbGV0ICovXG5pLnZpb2xldC5pY29uIHtcbiAgY29sb3I6IEB2aW9sZXQgIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQudmlvbGV0Lmljb24ge1xuICBjb2xvcjogQGxpZ2h0VmlvbGV0ICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLnZpb2xldC5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci52aW9sZXQuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB2aW9sZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBQdXJwbGUgKi9cbmkucHVycGxlLmljb24ge1xuICBjb2xvcjogQHB1cnBsZSAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5wdXJwbGUuaWNvbiB7XG4gIGNvbG9yOiBAbGlnaHRQdXJwbGUgIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQuYm9yZGVyZWQucHVycGxlLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLnB1cnBsZS5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHB1cnBsZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBpbmsgKi9cbmkucGluay5pY29uIHtcbiAgY29sb3I6IEBwaW5rICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLnBpbmsuaWNvbiB7XG4gIGNvbG9yOiBAbGlnaHRQaW5rICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLnBpbmsuaWNvbixcbmkuaW52ZXJ0ZWQuY2lyY3VsYXIucGluay5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBpbmsgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBCcm93biAqL1xuaS5icm93bi5pY29uIHtcbiAgY29sb3I6IEBicm93biAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5icm93bi5pY29uIHtcbiAgY29sb3I6IEBsaWdodEJyb3duICFpbXBvcnRhbnQ7XG59XG5pLmludmVydGVkLmJvcmRlcmVkLmJyb3duLmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmJyb3duLmljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJvd24gIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmV5ICovXG5pLmdyZXkuaWNvbiB7XG4gIGNvbG9yOiBAZ3JleSAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ncmV5Lmljb24ge1xuICBjb2xvcjogQGxpZ2h0R3JleSAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ncmV5Lmljb24sXG5pLmludmVydGVkLmNpcmN1bGFyLmdyZXkuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmV5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogQmxhY2sgKi9cbmkuYmxhY2suaWNvbiB7XG4gIGNvbG9yOiBAYmxhY2sgIWltcG9ydGFudDtcbn1cbmkuaW52ZXJ0ZWQuYmxhY2suaWNvbiB7XG4gIGNvbG9yOiBAbGlnaHRCbGFjayAhaW1wb3J0YW50O1xufVxuaS5pbnZlcnRlZC5ib3JkZXJlZC5ibGFjay5pY29uLFxuaS5pbnZlcnRlZC5jaXJjdWxhci5ibGFjay5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmkubWluaS5pY29uLFxuaS5taW5pLmljb25zIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogQG1pbmk7XG59XG5pLnRpbnkuaWNvbixcbmkudGlueS5pY29ucyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IEB0aW55O1xufVxuaS5zbWFsbC5pY29uLFxuaS5zbWFsbC5pY29ucyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IEBzbWFsbDtcbn1cbmkuaWNvbixcbmkuaWNvbnMge1xuICBmb250LXNpemU6IEBtZWRpdW07XG59XG5pLmxhcmdlLmljb24sXG5pLmxhcmdlLmljb25zIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogQGxhcmdlO1xufVxuaS5iaWcuaWNvbixcbmkuYmlnLmljb25zIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogQGJpZztcbn1cbmkuaHVnZS5pY29uLFxuaS5odWdlLmljb25zIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogQGh1Z2U7XG59XG5pLm1hc3NpdmUuaWNvbixcbmkubWFzc2l2ZS5pY29ucyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IEBtYXNzaXZlO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgR3JvdXBzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5pLmljb25zIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG5pLmljb25zIC5pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgbWFyZ2luOiAwZW07XG4gIG1hcmdpbjogMDtcbn1cblxuaS5pY29ucyAuaWNvbjpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiBAZGlzdGFuY2VGcm9tVGV4dDtcbn1cblxuLyogQ29ybmVyIEljb24gKi9cbmkuaWNvbnMgLmNvcm5lci5pY29uIHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtc2l6ZTogQGNvcm5lckljb25TaXplO1xuICB0ZXh0LXNoYWRvdzogQGNvcm5lckljb25TaGFkb3c7XG59XG5pLmljb25zIC50b3AucmlnaHQuY29ybmVyLmljb24ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IGF1dG87XG59XG5pLmljb25zIC50b3AubGVmdC5jb3JuZXIuaWNvbiB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbn1cbmkuaWNvbnMgLmJvdHRvbS5sZWZ0LmNvcm5lci5pY29uIHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuaS5pY29ucyAuYm90dG9tLnJpZ2h0LmNvcm5lci5pY29uIHtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG5pLmljb25zIC5pbnZlcnRlZC5jb3JuZXIuaWNvbiB7XG4gIHRleHQtc2hhZG93OiBAY29ybmVySWNvbkludmVydGVkU2hhZG93O1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKlxuICogRm9udCBBd2Vzb21lIDUuMC44IGJ5IEBmb250YXdlc29tZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKEljb25zOiBDQyBCWSA0LjAgTGljZW5zZSwgRm9udHM6IFNJTCBPRkwgMS4xIExpY2Vuc2UsIENTUzogTUlUIExpY2Vuc2UpXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuU2VtYW50aWMtVUkgaW50ZWdyYXRpb24gb2YgZm9udC1hd2Vzb21lIDpcblxuLy8vY2xhc3MgbmFtZXMgYXJlIHNlcGFyYXRlZFxuaS5pY29uLmNpcmNsZSA9PiBpLmljb24uY2lyY2xlXG5pLmljb24uY2lyY2xlLW8gPT4gaS5pY29uLmNpcmNsZS5vdXRsaW5lXG5cbi8vYWJicmV2aWF0aW9uIGFyZSByZXBsYWNlZCBieSBmdWxsIGxldHRlcnM6XG5pLmljb24uZWxsaXBzaXMtaCA9PiBpLmljb24uZWxsaXBzaXMuaG9yaXpvbnRhbFxuaS5pY29uLmVsbGlwc2lzLXYgPT4gaS5pY29uLmVsbGlwc2lzLnZlcnRpY2FsXG4uYWxwaGEgPT4gLmkuaWNvbi5hbHBoYWJldFxuLmFzYyA9PiAuaS5pY29uLmFzY2VuZGluZ1xuLmRlc2MgPT4gLmkuaWNvbi5kZXNjZW5kaW5nXG4uYWx0ID0+LmFsdGVybmF0ZVxuXG5BU0NJSSBvcmRlciBpcyBjb25zZXJ2ZWQgZm9yIGVhc2llciBtYWludGVuYW5jZS5cblxuSWNvbnMgdGhhdCBvbmx5IGhhdmUgb25lIHN0eWxlICdvdXRsaW5lJywgJ3NxdWFyZScgZXRjIGRvIG5vdCByZXF1aXJlIHRoaXMgY2xhc3NcbmZvciBpbnN0YW5jZSBgbGVtb24gaWNvbmAgbm90IGBsZW1vbiBvdXRsaW5lIGljb25gIHNpbmNlIHRoZXJlIGlzIG9ubHkgb25lIGxlbW9uXG5cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEljb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBEZXByZWNhdGVkICpJbi9PdXQgTmFtaW5nIENvbmZsaWN0KSAqL1xuaS5pY29uLmxpbmtlZGluLmluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGUxXCI7IH1cbmkuaWNvbi56b29tLmluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDBlXCI7IH1cbmkuaWNvbi56b29tLm91dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAxMFwiOyB9XG5pLmljb24uc2lnbi5pbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmNlwiOyB9XG5pLmljb24uaW4uY2FydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxOFwiOyB9XG5pLmljb24ubG9nLm91dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmNVwiOyB9XG5pLmljb24uc2lnbi5vdXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZjVcIjsgfVxuXG4vKiBJY29ucyAqL1xuaS5pY29uLlxcMzUgMDBweDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2ZVwiOyB9XG5pLmljb24uYWNjZXNzaWJsZS5pY29uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzY4XCI7IH1cbmkuaWNvbi5hY2N1c29mdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM2OVwiOyB9XG5pLmljb24uYWRkcmVzcy5ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmI5XCI7IH1cbmkuaWNvbi5hZGRyZXNzLmNhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYmJcIjsgfVxuaS5pY29uLmFkanVzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA0MlwiOyB9XG5pLmljb24uYWRuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTcwXCI7IH1cbmkuaWNvbi5hZHZlcnNhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM2YVwiOyB9XG5pLmljb24uYWZmaWxpYXRldGhlbWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNmJcIjsgfVxuaS5pY29uLmFsZ29saWE6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNmNcIjsgfVxuaS5pY29uLmFsaWduLmNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAzN1wiOyB9XG5pLmljb24uYWxpZ24uanVzdGlmeTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAzOVwiOyB9XG5pLmljb24uYWxpZ24ubGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAzNlwiOyB9XG5pLmljb24uYWxpZ24ucmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMzhcIjsgfVxuaS5pY29uLmFtYXpvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3MFwiOyB9XG5pLmljb24uYW1hem9uLnBheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQyY1wiOyB9XG5pLmljb24uYW1idWxhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGY5XCI7IH1cbmkuaWNvbi5hbWVyaWNhbi5zaWduLmxhbmd1YWdlLmludGVycHJldGluZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhM1wiOyB9XG5pLmljb24uYW1pbGlhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzZkXCI7IH1cbmkuaWNvbi5hbmNob3I6YmVmb3JlIHsgY29udGVudDogXCJcXGYxM2RcIjsgfVxuaS5pY29uLmFuZHJvaWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2JcIjsgfVxuaS5pY29uLmFuZ2VsbGlzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwOVwiOyB9XG5pLmljb24uYW5nbGUuZG91YmxlLmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDNcIjsgfVxuaS5pY29uLmFuZ2xlLmRvdWJsZS5sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTAwXCI7IH1cbmkuaWNvbi5hbmdsZS5kb3VibGUucmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDFcIjsgfVxuaS5pY29uLmFuZ2xlLmRvdWJsZS51cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwMlwiOyB9XG5pLmljb24uYW5nbGUuZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwN1wiOyB9XG5pLmljb24uYW5nbGUubGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwNFwiOyB9XG5pLmljb24uYW5nbGUucmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDVcIjsgfVxuaS5pY29uLmFuZ2xlLnVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA2XCI7IH1cbmkuaWNvbi5hbmdyeWNyZWF0aXZlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzZlXCI7IH1cbmkuaWNvbi5hbmd1bGFyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDIwXCI7IH1cbmkuaWNvbi5hcHAuc3RvcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNmZcIjsgfVxuaS5pY29uLmFwcC5zdG9yZS5pb3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNzBcIjsgfVxuaS5pY29uLmFwcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzcxXCI7IH1cbmkuaWNvbi5hcHBsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3OVwiOyB9XG5pLmljb24uYXBwbGUucGF5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDE1XCI7IH1cbmkuaWNvbi5hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTg3XCI7IH1cbmkuaWNvbi5hcnJvdy5hbHRlcm5hdGUuY2lyY2xlLmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYzNThcIjsgfVxuaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUubGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM1OVwiOyB9XG5pLmljb24uYXJyb3cuYWx0ZXJuYXRlLmNpcmNsZS5yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM1YVwiOyB9XG5pLmljb24uYXJyb3cuYWx0ZXJuYXRlLmNpcmNsZS51cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM1YlwiOyB9XG5pLmljb24uYXJyb3cuY2lyY2xlLmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYwYWJcIjsgfVxuaS5pY29uLmFycm93LmNpcmNsZS5sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGE4XCI7IH1cbmkuaWNvbi5hcnJvdy5jaXJjbGUucmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYTlcIjsgfVxuaS5pY29uLmFycm93LmNpcmNsZS51cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBhYVwiOyB9XG5pLmljb24uYXJyb3cuZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA2M1wiOyB9XG5pLmljb24uYXJyb3cubGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA2MFwiOyB9XG5pLmljb24uYXJyb3cucmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNjFcIjsgfVxuaS5pY29uLmFycm93LnVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDYyXCI7IH1cbmkuaWNvbi5hcnJvd3MuYWx0ZXJuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGIyXCI7IH1cbmkuaWNvbi5hcnJvd3MuYWx0ZXJuYXRlLmhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMzdcIjsgfVxuaS5pY29uLmFycm93cy5hbHRlcm5hdGUudmVydGljYWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMzhcIjsgfVxuaS5pY29uLmFzc2lzdGl2ZS5saXN0ZW5pbmcuc3lzdGVtczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhMlwiOyB9XG5pLmljb24uYXN0ZXJpc2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNjlcIjsgfVxuaS5pY29uLmFzeW1tZXRyaWs6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNzJcIjsgfVxuaS5pY29uLmF0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWZhXCI7IH1cbmkuaWNvbi5hdWRpYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzczXCI7IH1cbmkuaWNvbi5hdWRpby5kZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI5ZVwiOyB9XG5pLmljb24uYXV0b3ByZWZpeGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDFjXCI7IH1cbmkuaWNvbi5hdmlhbmV4OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzc0XCI7IH1cbmkuaWNvbi5hdmlhdG86YmVmb3JlIHsgY29udGVudDogXCJcXGY0MjFcIjsgfVxuaS5pY29uLmF3czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM3NVwiOyB9XG5pLmljb24uYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNGFcIjsgfVxuaS5pY29uLmJhbGFuY2Uuc2NhbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNGVcIjsgfVxuaS5pY29uLmJhbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA1ZVwiOyB9XG5pLmljb24uYmFuZC5haWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NjJcIjsgfVxuaS5pY29uLmJhbmRjYW1wOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmQ1XCI7IH1cbmkuaWNvbi5iYXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDJhXCI7IH1cbmkuaWNvbi5iYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGM5XCI7IH1cbmkuaWNvbi5iYXNlYmFsbC5iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDMzXCI7IH1cbmkuaWNvbi5iYXNrZXRiYWxsLmJhbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MzRcIjsgfVxuaS5pY29uLmJhdGg6YmVmb3JlIHsgY29udGVudDogXCJcXGYyY2RcIjsgfVxuaS5pY29uLmJhdHRlcnkuZW1wdHk6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNDRcIjsgfVxuaS5pY29uLmJhdHRlcnkuZnVsbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0MFwiOyB9XG5pLmljb24uYmF0dGVyeS5oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQyXCI7IH1cbmkuaWNvbi5iYXR0ZXJ5LnF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNDNcIjsgfVxuaS5pY29uLmJhdHRlcnkudGhyZWUucXVhcnRlcnM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNDFcIjsgfVxuaS5pY29uLmJlZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzNlwiOyB9XG5pLmljb24uYmVlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBmY1wiOyB9XG5pLmljb24uYmVoYW5jZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiNFwiOyB9XG5pLmljb24uYmVoYW5jZS5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjVcIjsgfVxuaS5pY29uLmJlbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZjNcIjsgfVxuaS5pY29uLmJlbGwuc2xhc2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjZcIjsgfVxuaS5pY29uLmJpY3ljbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDZcIjsgfVxuaS5pY29uLmJpbW9iamVjdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM3OFwiOyB9XG5pLmljb24uYmlub2N1bGFyczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlNVwiOyB9XG5pLmljb24uYmlydGhkYXkuY2FrZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmZFwiOyB9XG5pLmljb24uYml0YnVja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTcxXCI7IH1cbmkuaWNvbi5iaXRjb2luOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzc5XCI7IH1cbmkuaWNvbi5iaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzdhXCI7IH1cbmkuaWNvbi5ibGFjay50aWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyN2VcIjsgfVxuaS5pY29uLmJsYWNrYmVycnk6YmVmb3JlIHsgY29udGVudDogXCJcXGYzN2JcIjsgfVxuaS5pY29uLmJsaW5kOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjlkXCI7IH1cbmkuaWNvbi5ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzdjXCI7IH1cbmkuaWNvbi5ibG9nZ2VyLmI6YmVmb3JlIHsgY29udGVudDogXCJcXGYzN2RcIjsgfVxuaS5pY29uLmJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI5M1wiOyB9XG5pLmljb24uYmx1ZXRvb3RoLmI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOTRcIjsgfVxuaS5pY29uLmJvbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMzJcIjsgfVxuaS5pY29uLmJvbHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZTdcIjsgfVxuaS5pY29uLmJvbWI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTJcIjsgfVxuaS5pY29uLmJvb2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMmRcIjsgfVxuaS5pY29uLmJvb2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDJlXCI7IH1cbmkuaWNvbi5ib3dsaW5nLmJhbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MzZcIjsgfVxuaS5pY29uLmJveDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ2NlwiOyB9XG5pLmljb24uYm94ZXM6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NjhcIjsgfVxuaS5pY29uLmJyYWlsbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYTFcIjsgfVxuaS5pY29uLmJyaWVmY2FzZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBiMVwiOyB9XG5pLmljb24uYnRjOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTVhXCI7IH1cbmkuaWNvbi5idWc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODhcIjsgfVxuaS5pY29uLmJ1aWxkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWFkXCI7IH1cbmkuaWNvbi5idWxsaG9ybjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBhMVwiOyB9XG5pLmljb24uYnVsbHNleWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDBcIjsgfVxuaS5pY29uLmJ1cm9tb2JlbGV4cGVydGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzN2ZcIjsgfVxuaS5pY29uLmJ1czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwN1wiOyB9XG5pLmljb24uYnV5c2VsbGFkczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwZFwiOyB9XG5pLmljb24uY2FsY3VsYXRvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlY1wiOyB9XG5pLmljb24uY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzNcIjsgfVxuaS5pY29uLmNhbGVuZGFyLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3M1wiOyB9XG5pLmljb24uY2FsZW5kYXIuY2hlY2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNzRcIjsgfVxuaS5pY29uLmNhbGVuZGFyLm1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjcyXCI7IH1cbmkuaWNvbi5jYWxlbmRhci5wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjcxXCI7IH1cbmkuaWNvbi5jYWxlbmRhci50aW1lczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3M1wiOyB9XG5pLmljb24uY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDMwXCI7IH1cbmkuaWNvbi5jYW1lcmEucmV0cm86YmVmb3JlIHsgY29udGVudDogXCJcXGYwODNcIjsgfVxuaS5pY29uLmNhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiOVwiOyB9XG5pLmljb24uY2FyZXQuZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkN1wiOyB9XG5pLmljb24uY2FyZXQubGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkOVwiOyB9XG5pLmljb24uY2FyZXQucmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZGFcIjsgfVxuaS5pY29uLmNhcmV0LnNxdWFyZS5kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTUwXCI7IH1cbmkuaWNvbi5jYXJldC5zcXVhcmUubGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5MVwiOyB9XG5pLmljb24uY2FyZXQuc3F1YXJlLnJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTUyXCI7IH1cbmkuaWNvbi5jYXJldC5zcXVhcmUudXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTFcIjsgfVxuaS5pY29uLmNhcmV0LnVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGQ4XCI7IH1cbmkuaWNvbi5jYXJ0LmFycm93LmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYyMThcIjsgfVxuaS5pY29uLmNhcnQucGx1czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxN1wiOyB9XG5pLmljb24uY2MuYW1hem9uLnBheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQyZFwiOyB9XG5pLmljb24uY2MuYW1leDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmM1wiOyB9XG5pLmljb24uY2MuYXBwbGUucGF5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDE2XCI7IH1cbmkuaWNvbi5jYy5kaW5lcnMuY2x1YjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0Y1wiOyB9XG5pLmljb24uY2MuZGlzY292ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjJcIjsgfVxuaS5pY29uLmNjLmpjYjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0YlwiOyB9XG5pLmljb24uY2MubWFzdGVyY2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmMVwiOyB9XG5pLmljb24uY2MucGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWY0XCI7IH1cbmkuaWNvbi5jYy5zdHJpcGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjVcIjsgfVxuaS5pY29uLmNjLnZpc2E6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjBcIjsgfVxuaS5pY29uLmNlbnRlcmNvZGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzODBcIjsgfVxuaS5pY29uLmNlcnRpZmljYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGEzXCI7IH1cbmkuaWNvbi5jaGFydC5hcmVhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWZlXCI7IH1cbmkuaWNvbi5jaGFydC5iYXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYwODBcIjsgfVxuaS5pY29uLmNoYXJ0LmxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDFcIjsgfVxuaS5pY29uLmNoYXJ0LnBpZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwMFwiOyB9XG5pLmljb24uY2hlY2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMGNcIjsgfVxuaS5pY29uLmNoZWNrLmNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA1OFwiOyB9XG5pLmljb24uY2hlY2suc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTRhXCI7IH1cbmkuaWNvbi5jaGVzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQzOVwiOyB9XG5pLmljb24uY2hlc3MuYmlzaG9wOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDNhXCI7IH1cbmkuaWNvbi5jaGVzcy5ib2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQzY1wiOyB9XG5pLmljb24uY2hlc3Mua2luZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQzZlwiOyB9XG5pLmljb24uY2hlc3Mua25pZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDQxXCI7IH1cbmkuaWNvbi5jaGVzcy5wYXduOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDQzXCI7IH1cbmkuaWNvbi5jaGVzcy5xdWVlbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ0NVwiOyB9XG5pLmljb24uY2hlc3Mucm9vazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ0N1wiOyB9XG5pLmljb24uY2hldnJvbi5jaXJjbGUuZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzYVwiOyB9XG5pLmljb24uY2hldnJvbi5jaXJjbGUubGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzN1wiOyB9XG5pLmljb24uY2hldnJvbi5jaXJjbGUucmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzhcIjsgfVxuaS5pY29uLmNoZXZyb24uY2lyY2xlLnVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTM5XCI7IH1cbmkuaWNvbi5jaGV2cm9uLmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYwNzhcIjsgfVxuaS5pY29uLmNoZXZyb24ubGVmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA1M1wiOyB9XG5pLmljb24uY2hldnJvbi5yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA1NFwiOyB9XG5pLmljb24uY2hldnJvbi51cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3N1wiOyB9XG5pLmljb24uY2hpbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWVcIjsgfVxuaS5pY29uLmNocm9tZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2OFwiOyB9XG5pLmljb24uY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTExXCI7IH1cbmkuaWNvbi5jaXJjbGUubm90Y2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2VcIjsgfVxuaS5pY29uLmNsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMyOFwiOyB9XG5pLmljb24uY2xpcGJvYXJkLmNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDZjXCI7IH1cbmkuaWNvbi5jbGlwYm9hcmQubGlzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ2ZFwiOyB9XG5pLmljb24uY2xvY2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMTdcIjsgfVxuaS5pY29uLmNsb25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjRkXCI7IH1cbmkuaWNvbi5jbG9zZWQuY2FwdGlvbmluZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwYVwiOyB9XG5pLmljb24uY2xvdWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYzJcIjsgfVxuaS5pY29uLmNsb3Vkc2NhbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzODNcIjsgfVxuaS5pY29uLmNsb3Vkc21pdGg6YmVmb3JlIHsgY29udGVudDogXCJcXGYzODRcIjsgfVxuaS5pY29uLmNsb3VkdmVyc2lmeTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4NVwiOyB9XG5pLmljb24uY29kZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyMVwiOyB9XG5pLmljb24uY29kZS5icmFuY2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjZcIjsgfVxuaS5pY29uLmNvZGVwZW46YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2JcIjsgfVxuaS5pY29uLmNvZGllcGllOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjg0XCI7IH1cbmkuaWNvbi5jb2ZmZWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZjRcIjsgfVxuaS5pY29uLmNvZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAxM1wiOyB9XG5pLmljb24uY29nczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA4NVwiOyB9XG5pLmljb24uY29sdW1uczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkYlwiOyB9XG5pLmljb24uY29tbWVudDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3NVwiOyB9XG5pLmljb24uY29tbWVudC5hbHRlcm5hdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyN2FcIjsgfVxuaS5pY29uLmNvbW1lbnRzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDg2XCI7IH1cbmkuaWNvbi5jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTRlXCI7IH1cbmkuaWNvbi5jb21wcmVzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA2NlwiOyB9XG5pLmljb24uY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGVcIjsgfVxuaS5pY29uLmNvbnRhbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2ZFwiOyB9XG5pLmljb24uY29weTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjNVwiOyB9XG5pLmljb24uY29weXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWY5XCI7IH1cbmkuaWNvbi5jcGFuZWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYzODhcIjsgfVxuaS5pY29uLmNyZWF0aXZlLmNvbW1vbnM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNWVcIjsgfVxuaS5pY29uLmNyZWRpdC5jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDlkXCI7IH1cbmkuaWNvbi5jcm9wOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTI1XCI7IH1cbmkuaWNvbi5jcm9zc2hhaXJzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDViXCI7IH1cbmkuaWNvbi5jc3MzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTNjXCI7IH1cbmkuaWNvbi5jc3MzLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4YlwiOyB9XG5pLmljb24uY3ViZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiMlwiOyB9XG5pLmljb24uY3ViZXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjNcIjsgfVxuaS5pY29uLmN1dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjNFwiOyB9XG5pLmljb24uY3V0dGxlZmlzaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4Y1wiOyB9XG5pLmljb24uZC5hbmQuZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4ZFwiOyB9XG5pLmljb24uZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTBcIjsgfVxuaS5pY29uLmRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWMwXCI7IH1cbmkuaWNvbi5kZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmE0XCI7IH1cbmkuaWNvbi5kZWxpY2lvdXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTVcIjsgfVxuaS5pY29uLmRlcGxveWRvZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4ZVwiOyB9XG5pLmljb24uZGVza3BybzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4ZlwiOyB9XG5pLmljb24uZGVza3RvcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwOFwiOyB9XG5pLmljb24uZGV2aWFudGFydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiZFwiOyB9XG5pLmljb24uZGlnZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFhNlwiOyB9XG5pLmljb24uZGlnaXRhbC5vY2VhbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM5MVwiOyB9XG5pLmljb24uZGlzY29yZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM5MlwiOyB9XG5pLmljb24uZGlzY291cnNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzkzXCI7IH1cbmkuaWNvbi5kbmE6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NzFcIjsgfVxuaS5pY29uLmRvY2h1YjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM5NFwiOyB9XG5pLmljb24uZG9ja2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzk1XCI7IH1cbmkuaWNvbi5kb2xsYXIuc2lnbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1NVwiOyB9XG5pLmljb24uZG9sbHk6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NzJcIjsgfVxuaS5pY29uLmRvbGx5LmZsYXRiZWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NzRcIjsgfVxuaS5pY29uLmRvdC5jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTJcIjsgfVxuaS5pY29uLmRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDE5XCI7IH1cbmkuaWNvbi5kcmFmdDJkaWdpdGFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzk2XCI7IH1cbmkuaWNvbi5kcmliYmJsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE3ZFwiOyB9XG5pLmljb24uZHJpYmJibGUuc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzk3XCI7IH1cbmkuaWNvbi5kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTZiXCI7IH1cbmkuaWNvbi5kcnVwYWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTlcIjsgfVxuaS5pY29uLmR5YWxvZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM5OVwiOyB9XG5pLmljb24uZWFybHliaXJkczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM5YVwiOyB9XG5pLmljb24uZWRnZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4MlwiOyB9XG5pLmljb24uZWRpdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA0NFwiOyB9XG5pLmljb24uZWplY3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNTJcIjsgfVxuaS5pY29uLmVsZW1lbnRvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQzMFwiOyB9XG5pLmljb24uZWxsaXBzaXMuaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0MVwiOyB9XG5pLmljb24uZWxsaXBzaXMudmVydGljYWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDJcIjsgfVxuaS5pY29uLmVtYmVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDIzXCI7IH1cbmkuaWNvbi5lbXBpcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDFcIjsgfVxuaS5pY29uLmVudmVsb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGUwXCI7IH1cbmkuaWNvbi5lbnZlbG9wZS5vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmI2XCI7IH1cbmkuaWNvbi5lbnZlbG9wZS5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTlcIjsgfVxuaS5pY29uLmVudmlyYTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI5OVwiOyB9XG5pLmljb24uZXJhc2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJkXCI7IH1cbmkuaWNvbi5lcmxhbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYzOWRcIjsgfVxuaS5pY29uLmV0aGVyZXVtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDJlXCI7IH1cbmkuaWNvbi5ldHN5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmQ3XCI7IH1cbmkuaWNvbi5ldXJvLnNpZ246YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTNcIjsgfVxuaS5pY29uLmV4Y2hhbmdlLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM2MlwiOyB9XG5pLmljb24uZXhjbGFtYXRpb246YmVmb3JlIHsgY29udGVudDogXCJcXGYxMmFcIjsgfVxuaS5pY29uLmV4Y2xhbWF0aW9uLmNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA2YVwiOyB9XG5pLmljb24uZXhjbGFtYXRpb24udHJpYW5nbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNzFcIjsgfVxuaS5pY29uLmV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA2NVwiOyB9XG5pLmljb24uZXhwYW5kLmFycm93cy5hbHRlcm5hdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMWVcIjsgfVxuaS5pY29uLmV4cGVkaXRlZHNzbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzZVwiOyB9XG5pLmljb24uZXh0ZXJuYWwuYWx0ZXJuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzVkXCI7IH1cbmkuaWNvbi5leHRlcm5hbC5zcXVhcmUuYWx0ZXJuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzYwXCI7IH1cbmkuaWNvbi5leWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNmVcIjsgfVxuaS5pY29uLmV5ZS5kcm9wcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWZiXCI7IH1cbmkuaWNvbi5leWUuc2xhc2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNzBcIjsgfVxuaS5pY29uLmZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDlhXCI7IH1cbmkuaWNvbi5mYWNlYm9vay5mOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzllXCI7IH1cbmkuaWNvbi5mYWNlYm9vay5tZXNzZW5nZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYzOWZcIjsgfVxuaS5pY29uLmZhY2Vib29rLnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA4MlwiOyB9XG5pLmljb24uZmFzdC5iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA0OVwiOyB9XG5pLmljb24uZmFzdC5mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDUwXCI7IH1cbmkuaWNvbi5mYXg6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWNcIjsgfVxuaS5pY29uLmZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4MlwiOyB9XG5pLmljb24uZmlnaHRlci5qZXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZmJcIjsgfVxuaS5pY29uLmZpbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWJcIjsgfVxuaS5pY29uLmZpbGUuYWx0ZXJuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTVjXCI7IH1cbmkuaWNvbi5maWxlLmFyY2hpdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzZcIjsgfVxuaS5pY29uLmZpbGUuYXVkaW86YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzdcIjsgfVxuaS5pY29uLmZpbGUuY29kZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjOVwiOyB9XG5pLmljb24uZmlsZS5leGNlbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjM1wiOyB9XG5pLmljb24uZmlsZS5pbWFnZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjNVwiOyB9XG5pLmljb24uZmlsZS5wZGY6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzFcIjsgfVxuaS5pY29uLmZpbGUucG93ZXJwb2ludDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjNFwiOyB9XG5pLmljb24uZmlsZS52aWRlbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjOFwiOyB9XG5pLmljb24uZmlsZS53b3JkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWMyXCI7IH1cbmkuaWNvbi5maWxtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDA4XCI7IH1cbmkuaWNvbi5maWx0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYjBcIjsgfVxuaS5pY29uLmZpcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNmRcIjsgfVxuaS5pY29uLmZpcmUuZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTM0XCI7IH1cbmkuaWNvbi5maXJlZm94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjY5XCI7IH1cbmkuaWNvbi5maXJzdC5haWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NzlcIjsgfVxuaS5pY29uLmZpcnN0Lm9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmIwXCI7IH1cbmkuaWNvbi5maXJzdGRyYWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2ExXCI7IH1cbmkuaWNvbi5mbGFnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDI0XCI7IH1cbmkuaWNvbi5mbGFnLmNoZWNrZXJlZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExZVwiOyB9XG5pLmljb24uZmxhc2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYzNcIjsgfVxuaS5pY29uLmZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2ZVwiOyB9XG5pLmljb24uZmxpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDRkXCI7IH1cbmkuaWNvbi5mbHk6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MTdcIjsgfVxuaS5pY29uLmZvbGRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3YlwiOyB9XG5pLmljb24uZm9sZGVyLm9wZW46YmVmb3JlIHsgY29udGVudDogXCJcXGYwN2NcIjsgfVxuaS5pY29uLmZvbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMzFcIjsgfVxuaS5pY29uLmZvbnQuYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiNFwiOyB9XG5pLmljb24uZm9udC5hd2Vzb21lLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM1Y1wiOyB9XG5pLmljb24uZm9udC5hd2Vzb21lLmZsYWc6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MjVcIjsgfVxuaS5pY29uLmZvbnRpY29uczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4MFwiOyB9XG5pLmljb24uZm9udGljb25zLmZpOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2EyXCI7IH1cbmkuaWNvbi5mb290YmFsbC5iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDRlXCI7IH1cbmkuaWNvbi5mb3J0LmF3ZXNvbWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyODZcIjsgfVxuaS5pY29uLmZvcnQuYXdlc29tZS5hbHRlcm5hdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYTNcIjsgfVxuaS5pY29uLmZvcnVtYmVlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjExXCI7IH1cbmkuaWNvbi5mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDRlXCI7IH1cbmkuaWNvbi5mb3Vyc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTgwXCI7IH1cbmkuaWNvbi5mcmVlLmNvZGUuY2FtcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJjNVwiOyB9XG5pLmljb24uZnJlZWJzZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhNFwiOyB9XG5pLmljb24uZnJvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTlcIjsgfVxuaS5pY29uLmZ1dGJvbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlM1wiOyB9XG5pLmljb24uZ2FtZXBhZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExYlwiOyB9XG5pLmljb24uZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZTNcIjsgfVxuaS5pY29uLmdlbTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhNVwiOyB9XG5pLmljb24uZ2VuZGVybGVzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyZFwiOyB9XG5pLmljb24uZ2V0LnBvY2tldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2NVwiOyB9XG5pLmljb24uZ2c6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNjBcIjsgfVxuaS5pY29uLmdnLmNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2MVwiOyB9XG5pLmljb24uZ2lmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA2YlwiOyB9XG5pLmljb24uZ2l0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQzXCI7IH1cbmkuaWNvbi5naXQuc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQyXCI7IH1cbmkuaWNvbi5naXRodWI6YmVmb3JlIHsgY29udGVudDogXCJcXGYwOWJcIjsgfVxuaS5pY29uLmdpdGh1Yi5hbHRlcm5hdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTNcIjsgfVxuaS5pY29uLmdpdGh1Yi5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwOTJcIjsgfVxuaS5pY29uLmdpdGtyYWtlbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhNlwiOyB9XG5pLmljb24uZ2l0bGFiOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjk2XCI7IH1cbmkuaWNvbi5naXR0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MjZcIjsgfVxuaS5pY29uLmdsYXNzLm1hcnRpbmk6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMDBcIjsgfVxuaS5pY29uLmdsaWRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmE1XCI7IH1cbmkuaWNvbi5nbGlkZS5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmE2XCI7IH1cbmkuaWNvbi5nbG9iZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBhY1wiOyB9XG5pLmljb24uZ29mb3JlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2E3XCI7IH1cbmkuaWNvbi5nb2xmLmJhbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NTBcIjsgfVxuaS5pY29uLmdvb2RyZWFkczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhOFwiOyB9XG5pLmljb24uZ29vZHJlYWRzLmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYTlcIjsgfVxuaS5pY29uLmdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFhMFwiOyB9XG5pLmljb24uZ29vZ2xlLmRyaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2FhXCI7IH1cbmkuaWNvbi5nb29nbGUucGxheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhYlwiOyB9XG5pLmljb24uZ29vZ2xlLnBsdXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYjNcIjsgfVxuaS5pY29uLmdvb2dsZS5wbHVzLmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZDVcIjsgfVxuaS5pY29uLmdvb2dsZS5wbHVzLnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkNFwiOyB9XG5pLmljb24uZ29vZ2xlLndhbGxldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlZVwiOyB9XG5pLmljb24uZ3JhZHVhdGlvbi5jYXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWRcIjsgfVxuaS5pY29uLmdyYXRpcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTg0XCI7IH1cbmkuaWNvbi5ncmF2OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmQ2XCI7IH1cbmkuaWNvbi5ncmlwZmlyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhY1wiOyB9XG5pLmljb24uZ3J1bnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYWRcIjsgfVxuaS5pY29uLmd1bHA6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYWVcIjsgfVxuaS5pY29uLmguc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGZkXCI7IH1cbmkuaWNvbi5oYWNrZXIubmV3czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkNFwiOyB9XG5pLmljb24uaGFja2VyLm5ld3Muc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2FmXCI7IH1cbmkuaWNvbi5oYW5kLmxpemFyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1OFwiOyB9XG5pLmljb24uaGFuZC5wYXBlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1NlwiOyB9XG5pLmljb24uaGFuZC5wZWFjZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1YlwiOyB9XG5pLmljb24uaGFuZC5wb2ludC5kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGE3XCI7IH1cbmkuaWNvbi5oYW5kLnBvaW50LmxlZnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYTVcIjsgfVxuaS5pY29uLmhhbmQucG9pbnQucmlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYTRcIjsgfVxuaS5pY29uLmhhbmQucG9pbnQudXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYTZcIjsgfVxuaS5pY29uLmhhbmQucG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1YVwiOyB9XG5pLmljb24uaGFuZC5yb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjU1XCI7IH1cbmkuaWNvbi5oYW5kLnNjaXNzb3JzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjU3XCI7IH1cbmkuaWNvbi5oYW5kLnNwb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjU5XCI7IH1cbmkuaWNvbi5oYW5kc2hha2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYjVcIjsgfVxuaS5pY29uLmhhc2h0YWc6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOTJcIjsgfVxuaS5pY29uLmhkZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBhMFwiOyB9XG5pLmljb24uaGVhZGluZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkY1wiOyB9XG5pLmljb24uaGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAyNVwiOyB9XG5pLmljb24uaGVhcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMDRcIjsgfVxuaS5pY29uLmhlYXJ0YmVhdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxZVwiOyB9XG5pLmljb24uaGlwczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ1MlwiOyB9XG5pLmljb24uaGlyZS5hLmhlbHBlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNiMFwiOyB9XG5pLmljb24uaGlzdG9yeTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkYVwiOyB9XG5pLmljb24uaG9ja2V5LnB1Y2s6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NTNcIjsgfVxuaS5pY29uLmhvbWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMTVcIjsgfVxuaS5pY29uLmhvb2xpOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDI3XCI7IH1cbmkuaWNvbi5ob3NwaXRhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBmOFwiOyB9XG5pLmljb24uaG9zcGl0YWwuc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDdlXCI7IH1cbmkuaWNvbi5ob3RqYXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYjFcIjsgfVxuaS5pY29uLmhvdXJnbGFzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1NFwiOyB9XG5pLmljb24uaG91cmdsYXNzLmVuZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1M1wiOyB9XG5pLmljb24uaG91cmdsYXNzLmhhbGY6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNTJcIjsgfVxuaS5pY29uLmhvdXJnbGFzcy5zdGFydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1MVwiOyB9XG5pLmljb24uaG91eno6YmVmb3JlIHsgY29udGVudDogXCJcXGYyN2NcIjsgfVxuaS5pY29uLmh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTNiXCI7IH1cbmkuaWNvbi5odWJzcG90OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2IyXCI7IH1cbmkuaWNvbi5pLmN1cnNvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0NlwiOyB9XG5pLmljb24uaWQuYmFkZ2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYzFcIjsgfVxuaS5pY29uLmlkLmNhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYzJcIjsgfVxuaS5pY29uLmltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDNlXCI7IH1cbmkuaWNvbi5pbWFnZXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMDJcIjsgfVxuaS5pY29uLmltZGI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZDhcIjsgfVxuaS5pY29uLmluYm94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDFjXCI7IH1cbmkuaWNvbi5pbmRlbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwM2NcIjsgfVxuaS5pY29uLmluZHVzdHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjc1XCI7IH1cbmkuaWNvbi5pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTI5XCI7IH1cbmkuaWNvbi5pbmZvLmNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA1YVwiOyB9XG5pLmljb24uaW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTZkXCI7IH1cbmkuaWNvbi5pbnRlcm5ldC5leHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2YlwiOyB9XG5pLmljb24uaW94aG9zdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwOFwiOyB9XG5pLmljb24uaXRhbGljOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDMzXCI7IH1cbmkuaWNvbi5pdHVuZXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYjRcIjsgfVxuaS5pY29uLml0dW5lcy5ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2I1XCI7IH1cbmkuaWNvbi5qZW5raW5zOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2I2XCI7IH1cbmkuaWNvbi5qb2dldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNiN1wiOyB9XG5pLmljb24uam9vbWxhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWFhXCI7IH1cbmkuaWNvbi5qczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNiOFwiOyB9XG5pLmljb24uanMuc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2I5XCI7IH1cbmkuaWNvbi5qc2ZpZGRsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjY1wiOyB9XG5pLmljb24ua2V5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDg0XCI7IH1cbmkuaWNvbi5rZXlib2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExY1wiOyB9XG5pLmljb24ua2V5Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2JhXCI7IH1cbmkuaWNvbi5raWNrc3RhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNiYlwiOyB9XG5pLmljb24ua2lja3N0YXJ0ZXIuazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNiY1wiOyB9XG5pLmljb24ua29ydnVlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDJmXCI7IH1cbmkuaWNvbi5sYW5ndWFnZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFhYlwiOyB9XG5pLmljb24ubGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA5XCI7IH1cbmkuaWNvbi5sYXJhdmVsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2JkXCI7IH1cbmkuaWNvbi5sYXN0Zm06YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDJcIjsgfVxuaS5pY29uLmxhc3RmbS5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDNcIjsgfVxuaS5pY29uLmxlYWY6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNmNcIjsgfVxuaS5pY29uLmxlYW5wdWI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTJcIjsgfVxuaS5pY29uLmxlbW9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDk0XCI7IH1cbmkuaWNvbi5sZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDFkXCI7IH1cbmkuaWNvbi5sZXZlbC5kb3duLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNiZVwiOyB9XG5pLmljb24ubGV2ZWwudXAuYWx0ZXJuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2JmXCI7IH1cbmkuaWNvbi5saWZlLnJpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxY2RcIjsgfVxuaS5pY29uLmxpZ2h0YnVsYjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBlYlwiOyB9XG5pLmljb24ubGluZWNoYXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYzBcIjsgfVxuaS5pY29uLmxpbmtpZnk6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYzFcIjsgfVxuaS5pY29uLmxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDhjXCI7IH1cbmkuaWNvbi5saW5rZWRpbi5hbHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZTFcIjsgfVxuaS5pY29uLmxpbm9kZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiOFwiOyB9XG5pLmljb24ubGludXg6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2NcIjsgfVxuaS5pY29uLmxpcmEuc2lnbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5NVwiOyB9XG5pLmljb24ubGlzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAzYVwiOyB9XG5pLmljb24ubGlzdC5hbHRlcm5hdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMjJcIjsgfVxuaS5pY29uLmxpc3Qub2w6YmVmb3JlIHsgY29udGVudDogXCJcXGYwY2JcIjsgfVxuaS5pY29uLmxpc3QudWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYwY2FcIjsgfVxuaS5pY29uLmxvY2F0aW9uLmFycm93OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTI0XCI7IH1cbmkuaWNvbi5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDIzXCI7IH1cbmkuaWNvbi5sb2NrLm9wZW46YmVmb3JlIHsgY29udGVudDogXCJcXGYzYzFcIjsgfVxuaS5pY29uLmxvbmcuYXJyb3cuYWx0ZXJuYXRlLmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYzMDlcIjsgfVxuaS5pY29uLmxvbmcuYXJyb3cuYWx0ZXJuYXRlLmxlZnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMGFcIjsgfVxuaS5pY29uLmxvbmcuYXJyb3cuYWx0ZXJuYXRlLnJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzBiXCI7IH1cbmkuaWNvbi5sb25nLmFycm93LmFsdGVybmF0ZS51cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMwY1wiOyB9XG5pLmljb24ubG93LnZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhOFwiOyB9XG5pLmljb24ubHlmdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNjM1wiOyB9XG5pLmljb24ubWFnZW50bzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNjNFwiOyB9XG5pLmljb24ubWFnaWM6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZDBcIjsgfVxuaS5pY29uLm1hZ25ldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3NlwiOyB9XG5pLmljb24ubWFsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4M1wiOyB9XG5pLmljb24ubWFwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjc5XCI7IH1cbmkuaWNvbi5tYXAubWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDQxXCI7IH1cbmkuaWNvbi5tYXAubWFya2VyLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNjNVwiOyB9XG5pLmljb24ubWFwLnBpbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3NlwiOyB9XG5pLmljb24ubWFwLnNpZ25zOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjc3XCI7IH1cbmkuaWNvbi5tYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjIyXCI7IH1cbmkuaWNvbi5tYXJzLmRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyN1wiOyB9XG5pLmljb24ubWFycy5zdHJva2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMjlcIjsgfVxuaS5pY29uLm1hcnMuc3Ryb2tlLmhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMmJcIjsgfVxuaS5pY29uLm1hcnMuc3Ryb2tlLnZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjJhXCI7IH1cbmkuaWNvbi5tYXhjZG46YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzZcIjsgfVxuaS5pY29uLm1lZGFwcHM6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYzZcIjsgfVxuaS5pY29uLm1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzYVwiOyB9XG5pLmljb24ubWVkaXVtLm06YmVmb3JlIHsgY29udGVudDogXCJcXGYzYzdcIjsgfVxuaS5pY29uLm1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBmYVwiOyB9XG5pLmljb24ubWVkcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzYzhcIjsgfVxuaS5pY29uLm1lZXR1cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJlMFwiOyB9XG5pLmljb24ubWVoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTFhXCI7IH1cbmkuaWNvbi5tZXJjdXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjIzXCI7IH1cbmkuaWNvbi5taWNyb2NoaXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZGJcIjsgfVxuaS5pY29uLm1pY3JvcGhvbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzBcIjsgfVxuaS5pY29uLm1pY3JvcGhvbmUuc2xhc2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMzFcIjsgfVxuaS5pY29uLm1pY3Jvc29mdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNjYVwiOyB9XG5pLmljb24ubWludXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNjhcIjsgfVxuaS5pY29uLm1pbnVzLmNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA1NlwiOyB9XG5pLmljb24ubWludXMuc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQ2XCI7IH1cbmkuaWNvbi5taXg6YmVmb3JlIHsgY29udGVudDogXCJcXGYzY2JcIjsgfVxuaS5pY29uLm1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjg5XCI7IH1cbmkuaWNvbi5taXp1bmk6YmVmb3JlIHsgY29udGVudDogXCJcXGYzY2NcIjsgfVxuaS5pY29uLm1vYmlsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwYlwiOyB9XG5pLmljb24ubW9iaWxlLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNjZFwiOyB9XG5pLmljb24ubW9keDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4NVwiOyB9XG5pLmljb24ubW9uZXJvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2QwXCI7IH1cbmkuaWNvbi5tb25leS5iaWxsLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNkMVwiOyB9XG5pLmljb24ubW9vbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4NlwiOyB9XG5pLmljb24ubW90b3JjeWNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxY1wiOyB9XG5pLmljb24ubW91c2UucG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0NVwiOyB9XG5pLmljb24ubXVzaWM6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMDFcIjsgfVxuaS5pY29uLm5hcHN0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZDJcIjsgfVxuaS5pY29uLm5ldXRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyY1wiOyB9XG5pLmljb24ubmV3c3BhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVhXCI7IH1cbmkuaWNvbi5uaW50ZW5kby5zd2l0Y2g6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MThcIjsgfVxuaS5pY29uLm5vZGU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MTlcIjsgfVxuaS5pY29uLm5vZGUuanM6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZDNcIjsgfVxuaS5pY29uLm5wbTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNkNFwiOyB9XG5pLmljb24ubnM4OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2Q1XCI7IH1cbmkuaWNvbi5udXRyaXRpb25peDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNkNlwiOyB9XG5pLmljb24ub2JqZWN0Lmdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQ3XCI7IH1cbmkuaWNvbi5vYmplY3QudW5ncm91cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0OFwiOyB9XG5pLmljb24ub2Rub2tsYXNzbmlraTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2M1wiOyB9XG5pLmljb24ub2Rub2tsYXNzbmlraS5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNjRcIjsgfVxuaS5pY29uLm9wZW5jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjNkXCI7IH1cbmkuaWNvbi5vcGVuaWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWJcIjsgfVxuaS5pY29uLm9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjZhXCI7IH1cbmkuaWNvbi5vcHRpbi5tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjNjXCI7IH1cbmkuaWNvbi5vc2k6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MWFcIjsgfVxuaS5pY29uLm91dGRlbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwM2JcIjsgfVxuaS5pY29uLnBhZ2U0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2Q3XCI7IH1cbmkuaWNvbi5wYWdlbGluZXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOGNcIjsgfVxuaS5pY29uLnBhaW50LmJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWZjXCI7IH1cbmkuaWNvbi5wYWxmZWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZDhcIjsgfVxuaS5pY29uLnBhbGxldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ4MlwiOyB9XG5pLmljb24ucGFwZXIucGxhbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDhcIjsgfVxuaS5pY29uLnBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjNlwiOyB9XG5pLmljb24ucGFyYWdyYXBoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRkXCI7IH1cbmkuaWNvbi5wYXN0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBlYVwiOyB9XG5pLmljb24ucGF0cmVvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNkOVwiOyB9XG5pLmljb24ucGF1c2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNGNcIjsgfVxuaS5pY29uLnBhdXNlLmNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4YlwiOyB9XG5pLmljb24ucGF3OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWIwXCI7IH1cbmkuaWNvbi5wYXlwYWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZWRcIjsgfVxuaS5pY29uLnBlbi5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNGJcIjsgfVxuaS5pY29uLnBlbmNpbC5hbHRlcm5hdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzMDNcIjsgfVxuaS5pY29uLnBlcmNlbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOTVcIjsgfVxuaS5pY29uLnBlcmlzY29wZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNkYVwiOyB9XG5pLmljb24ucGhhYnJpY2F0b3I6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZGJcIjsgfVxuaS5pY29uLnBob2VuaXguZnJhbWV3b3JrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2RjXCI7IH1cbmkuaWNvbi5waG9uZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA5NVwiOyB9XG5pLmljb24ucGhvbmUuc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDk4XCI7IH1cbmkuaWNvbi5waG9uZS52b2x1bWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYTBcIjsgfVxuaS5pY29uLnBocDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ1N1wiOyB9XG5pLmljb24ucGllZC5waXBlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhZVwiOyB9XG5pLmljb24ucGllZC5waXBlci5hbHRlcm5hdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYThcIjsgfVxuaS5pY29uLnBpZWQucGlwZXIucHA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTdcIjsgfVxuaS5pY29uLnBpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDg0XCI7IH1cbmkuaWNvbi5waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZDJcIjsgfVxuaS5pY29uLnBpbnRlcmVzdC5wOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjMxXCI7IH1cbmkuaWNvbi5waW50ZXJlc3Quc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGQzXCI7IH1cbmkuaWNvbi5wbGFuZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3MlwiOyB9XG5pLmljb24ucGxheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA0YlwiOyB9XG5pLmljb24ucGxheS5jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNDRcIjsgfVxuaS5pY29uLnBsYXlzdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2RmXCI7IH1cbmkuaWNvbi5wbHVnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU2XCI7IH1cbmkuaWNvbi5wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDY3XCI7IH1cbmkuaWNvbi5wbHVzLmNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA1NVwiOyB9XG5pLmljb24ucGx1cy5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZmVcIjsgfVxuaS5pY29uLnBvZGNhc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYyY2VcIjsgfVxuaS5pY29uLnBvdW5kLnNpZ246YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTRcIjsgfVxuaS5pY29uLnBvd2VyLm9mZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAxMVwiOyB9XG5pLmljb24ucHJpbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMmZcIjsgfVxuaS5pY29uLnByb2R1Y3QuaHVudDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4OFwiOyB9XG5pLmljb24ucHVzaGVkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2UxXCI7IH1cbmkuaWNvbi5wdXp6bGUucGllY2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMmVcIjsgfVxuaS5pY29uLnB5dGhvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNlMlwiOyB9XG5pLmljb24ucXE6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDZcIjsgfVxuaS5pY29uLnFyY29kZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAyOVwiOyB9XG5pLmljb24ucXVlc3Rpb246YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjhcIjsgfVxuaS5pY29uLnF1ZXN0aW9uLmNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA1OVwiOyB9XG5pLmljb24ucXVpZGRpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDU4XCI7IH1cbmkuaWNvbi5xdWluc2NhcGU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NTlcIjsgfVxuaS5pY29uLnF1b3JhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmM0XCI7IH1cbmkuaWNvbi5xdW90ZS5sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTBkXCI7IH1cbmkuaWNvbi5xdW90ZS5yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwZVwiOyB9XG5pLmljb24ucmFuZG9tOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDc0XCI7IH1cbmkuaWNvbi5yYXZlbHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmQ5XCI7IH1cbmkuaWNvbi5yZWFjdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQxYlwiOyB9XG5pLmljb24ucmViZWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDBcIjsgfVxuaS5pY29uLnJlY3ljbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYjhcIjsgfVxuaS5pY29uLnJlZHJpdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2UzXCI7IH1cbmkuaWNvbi5yZWRkaXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTFcIjsgfVxuaS5pY29uLnJlZGRpdC5hbGllbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4MVwiOyB9XG5pLmljb24ucmVkZGl0LnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFhMlwiOyB9XG5pLmljb24ucmVkbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAxZVwiOyB9XG5pLmljb24ucmVkby5hbHRlcm5hdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZjlcIjsgfVxuaS5pY29uLnJlZ2lzdGVyZWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNWRcIjsgfVxuaS5pY29uLnJlbmRhY3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZTRcIjsgfVxuaS5pY29uLnJlbnJlbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4YlwiOyB9XG5pLmljb24ucmVwbHk6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZTVcIjsgfVxuaS5pY29uLnJlcGx5LmFsbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyMlwiOyB9XG5pLmljb24ucmVwbHlkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2U2XCI7IH1cbmkuaWNvbi5yZXNvbHZpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZTdcIjsgfVxuaS5pY29uLnJldHdlZXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNzlcIjsgfVxuaS5pY29uLnJvYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMThcIjsgfVxuaS5pY29uLnJvY2tldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzNVwiOyB9XG5pLmljb24ucm9ja2V0Y2hhdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNlOFwiOyB9XG5pLmljb24ucm9ja3JtczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNlOVwiOyB9XG5pLmljb24ucnNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDllXCI7IH1cbmkuaWNvbi5yc3Muc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQzXCI7IH1cbmkuaWNvbi5ydWJsZS5zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU4XCI7IH1cbmkuaWNvbi5ydXBlZS5zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU2XCI7IH1cbmkuaWNvbi5zYWZhcmk6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNjdcIjsgfVxuaS5pY29uLnNhc3M6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MWVcIjsgfVxuaS5pY29uLnNhdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYzdcIjsgfVxuaS5pY29uLnNjaGxpeDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNlYVwiOyB9XG5pLmljb24uc2NyaWJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjhhXCI7IH1cbmkuaWNvbi5zZWFyY2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMDJcIjsgfVxuaS5pY29uLnNlYXJjaC5taW51czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAxMFwiOyB9XG5pLmljb24uc2VhcmNoLnBsdXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMGVcIjsgfVxuaS5pY29uLnNlYXJjaGVuZ2luOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2ViXCI7IH1cbmkuaWNvbi5zZWxsY2FzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkYVwiOyB9XG5pLmljb24uc2VsbHN5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjEzXCI7IH1cbmkuaWNvbi5zZXJ2ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMzNcIjsgfVxuaS5pY29uLnNlcnZpY2VzdGFjazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNlY1wiOyB9XG5pLmljb24uc2hhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNjRcIjsgfVxuaS5pY29uLnNoYXJlLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlMFwiOyB9XG5pLmljb24uc2hhcmUuYWx0ZXJuYXRlLnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlMVwiOyB9XG5pLmljb24uc2hhcmUuc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTRkXCI7IH1cbmkuaWNvbi5zaGVrZWwuc2lnbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwYlwiOyB9XG5pLmljb24uc2hpZWxkLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNlZFwiOyB9XG5pLmljb24uc2hpcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxYVwiOyB9XG5pLmljb24uc2hpcHBpbmcuZmFzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ4YlwiOyB9XG5pLmljb24uc2hpcnRzaW5idWxrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjE0XCI7IH1cbmkuaWNvbi5zaG9wcGluZy5iYWc6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOTBcIjsgfVxuaS5pY29uLnNob3BwaW5nLmJhc2tldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI5MVwiOyB9XG5pLmljb24uc2hvcHBpbmcuY2FydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3YVwiOyB9XG5pLmljb24uc2hvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmNjXCI7IH1cbmkuaWNvbi5zaWduLmxhbmd1YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmE3XCI7IH1cbmkuaWNvbi5zaWduYWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMTJcIjsgfVxuaS5pY29uLnNpbXBseWJ1aWx0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjE1XCI7IH1cbmkuaWNvbi5zaXN0cml4OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2VlXCI7IH1cbmkuaWNvbi5zaXRlbWFwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGU4XCI7IH1cbmkuaWNvbi5za3lhdGxhczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxNlwiOyB9XG5pLmljb24uc2t5cGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2VcIjsgfVxuaS5pY29uLnNsYWNrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTk4XCI7IH1cbmkuaWNvbi5zbGFjay5oYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2VmXCI7IH1cbmkuaWNvbi5zbGlkZXJzLmhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZGVcIjsgfVxuaS5pY29uLnNsaWRlc2hhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTdcIjsgfVxuaS5pY29uLnNtaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE4XCI7IH1cbmkuaWNvbi5zbmFwY2hhdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhYlwiOyB9XG5pLmljb24uc25hcGNoYXQuZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYWNcIjsgfVxuaS5pY29uLnNuYXBjaGF0LnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhZFwiOyB9XG5pLmljb24uc25vd2ZsYWtlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH1cbmkuaWNvbi5zb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGRjXCI7IH1cbmkuaWNvbi5zb3J0LmFscGhhYmV0LmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWRcIjsgfVxuaS5pY29uLnNvcnQuYWxwaGFiZXQudXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWVcIjsgfVxuaS5pY29uLnNvcnQuYW1vdW50LmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjBcIjsgfVxuaS5pY29uLnNvcnQuYW1vdW50LnVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTYxXCI7IH1cbmkuaWNvbi5zb3J0LmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYwZGRcIjsgfVxuaS5pY29uLnNvcnQubnVtZXJpYy5kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTYyXCI7IH1cbmkuaWNvbi5zb3J0Lm51bWVyaWMudXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjNcIjsgfVxuaS5pY29uLnNvcnQudXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZGVcIjsgfVxuaS5pY29uLnNvdW5kY2xvdWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYmVcIjsgfVxuaS5pY29uLnNwYWNlLnNodXR0bGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTdcIjsgfVxuaS5pY29uLnNwZWFrYXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZjNcIjsgfVxuaS5pY29uLnNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTBcIjsgfVxuaS5pY29uLnNwb3RpZnk6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYmNcIjsgfVxuaS5pY29uLnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjOFwiOyB9XG5pLmljb24uc3F1YXJlLmZ1bGw6YmVmb3JlIHsgY29udGVudDogXCJcXGY0NWNcIjsgfVxuaS5pY29uLnN0YWNrLmV4Y2hhbmdlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMThkXCI7IH1cbmkuaWNvbi5zdGFjay5vdmVyZmxvdzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2Y1wiOyB9XG5pLmljb24uc3RhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAwNVwiOyB9XG5pLmljb24uc3Rhci5oYWxmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDg5XCI7IH1cbmkuaWNvbi5zdGF5bGlua2VkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2Y1XCI7IH1cbmkuaWNvbi5zdGVhbTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiNlwiOyB9XG5pLmljb24uc3RlYW0uc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWI3XCI7IH1cbmkuaWNvbi5zdGVhbS5zeW1ib2w6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZjZcIjsgfVxuaS5pY29uLnN0ZXAuYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNDhcIjsgfVxuaS5pY29uLnN0ZXAuZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA1MVwiOyB9XG5pLmljb24uc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZjFcIjsgfVxuaS5pY29uLnN0aWNrZXIubXVsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNmN1wiOyB9XG5pLmljb24uc3RpY2t5Lm5vdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNDlcIjsgfVxuaS5pY29uLnN0b3A6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNGRcIjsgfVxuaS5pY29uLnN0b3AuY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjhkXCI7IH1cbmkuaWNvbi5zdG9wd2F0Y2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZjJcIjsgfVxuaS5pY29uLnN0cmF2YTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQyOFwiOyB9XG5pLmljb24uc3RyZWV0LnZpZXc6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMWRcIjsgfVxuaS5pY29uLnN0cmlrZXRocm91Z2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYwY2NcIjsgfVxuaS5pY29uLnN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQyOVwiOyB9XG5pLmljb24uc3RyaXBlLnM6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MmFcIjsgfVxuaS5pY29uLnN0dWRpb3ZpbmFyaTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNmOFwiOyB9XG5pLmljb24uc3R1bWJsZXVwb246YmVmb3JlIHsgY29udGVudDogXCJcXGYxYTRcIjsgfVxuaS5pY29uLnN0dW1ibGV1cG9uLmNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFhM1wiOyB9XG5pLmljb24uc3Vic2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJjXCI7IH1cbmkuaWNvbi5zdWJ3YXk6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMzlcIjsgfVxuaS5pY29uLnN1aXRjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGYyXCI7IH1cbmkuaWNvbi5zdW46YmVmb3JlIHsgY29udGVudDogXCJcXGYxODVcIjsgfVxuaS5pY29uLnN1cGVycG93ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRkXCI7IH1cbmkuaWNvbi5zdXBlcnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyYlwiOyB9XG5pLmljb24uc3VwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2Y5XCI7IH1cbmkuaWNvbi5zeW5jOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDIxXCI7IH1cbmkuaWNvbi5zeW5jLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmMVwiOyB9XG5pLmljb24uc3lyaW5nZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ4ZVwiOyB9XG5pLmljb24udGFibGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwY2VcIjsgfVxuaS5pY29uLnRhYmxlLnRlbm5pczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ1ZFwiOyB9XG5pLmljb24udGFibGV0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTBhXCI7IH1cbmkuaWNvbi50YWJsZXQuYWx0ZXJuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2ZhXCI7IH1cbmkuaWNvbi50YWNob21ldGVyLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNmZFwiOyB9XG5pLmljb24udGFnOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDJiXCI7IH1cbmkuaWNvbi50YWdzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDJjXCI7IH1cbmkuaWNvbi50YXNrczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBhZVwiOyB9XG5pLmljb24udGF4aTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiYVwiOyB9XG5pLmljb24udGVsZWdyYW06YmVmb3JlIHsgY29udGVudDogXCJcXGYyYzZcIjsgfVxuaS5pY29uLnRlbGVncmFtLnBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2ZlXCI7IH1cbmkuaWNvbi50ZW5jZW50LndlaWJvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQ1XCI7IH1cbmkuaWNvbi50ZXJtaW5hbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyMFwiOyB9XG5pLmljb24udGV4dC5oZWlnaHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMzRcIjsgfVxuaS5pY29uLnRleHQud2lkdGg6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMzVcIjsgfVxuaS5pY29uLnRoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDBhXCI7IH1cbmkuaWNvbi50aC5sYXJnZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAwOVwiOyB9XG5pLmljb24udGgubGlzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAwYlwiOyB9XG5pLmljb24udGhlbWVpc2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmIyXCI7IH1cbmkuaWNvbi50aGVybW9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ5MVwiOyB9XG5pLmljb24udGhlcm1vbWV0ZXIuZW1wdHk6YmVmb3JlIHsgY29udGVudDogXCJcXGYyY2JcIjsgfVxuaS5pY29uLnRoZXJtb21ldGVyLmZ1bGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYzdcIjsgfVxuaS5pY29uLnRoZXJtb21ldGVyLmhhbGY6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYzlcIjsgfVxuaS5pY29uLnRoZXJtb21ldGVyLnF1YXJ0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyY2FcIjsgfVxuaS5pY29uLnRoZXJtb21ldGVyLnRocmVlLnF1YXJ0ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmM4XCI7IH1cbmkuaWNvbi50aHVtYnMuZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2NVwiOyB9XG5pLmljb24udGh1bWJzLnVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTY0XCI7IH1cbmkuaWNvbi50aHVtYnRhY2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYwOGRcIjsgfVxuaS5pY29uLnRpY2tldC5hbHRlcm5hdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZmZcIjsgfVxuaS5pY29uLnRpbWVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDBkXCI7IH1cbmkuaWNvbi50aW1lcy5jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNTdcIjsgfVxuaS5pY29uLnRpbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNDNcIjsgfVxuaS5pY29uLnRvZ2dsZS5vZmY6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMDRcIjsgfVxuaS5pY29uLnRvZ2dsZS5vbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwNVwiOyB9XG5pLmljb24udHJhZGVtYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjVjXCI7IH1cbmkuaWNvbi50cmFpbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzOFwiOyB9XG5pLmljb24udHJhbnNnZW5kZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMjRcIjsgfVxuaS5pY29uLnRyYW5zZ2VuZGVyLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyNVwiOyB9XG5pLmljb24udHJhc2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjhcIjsgfVxuaS5pY29uLnRyYXNoLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJlZFwiOyB9XG5pLmljb24udHJlZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFiYlwiOyB9XG5pLmljb24udHJlbGxvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTgxXCI7IH1cbmkuaWNvbi50cmlwYWR2aXNvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2MlwiOyB9XG5pLmljb24udHJvcGh5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDkxXCI7IH1cbmkuaWNvbi50cnVjazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkMVwiOyB9XG5pLmljb24udHR5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU0XCI7IH1cbmkuaWNvbi50dW1ibHI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzNcIjsgfVxuaS5pY29uLnR1bWJsci5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNzRcIjsgfVxuaS5pY29uLnR2OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjZjXCI7IH1cbmkuaWNvbi50d2l0Y2g6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZThcIjsgfVxuaS5pY29uLnR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYwOTlcIjsgfVxuaS5pY29uLnR3aXR0ZXIuc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDgxXCI7IH1cbmkuaWNvbi50eXBvMzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQyYlwiOyB9XG5pLmljb24udWJlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQwMlwiOyB9XG5pLmljb24udWlraXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MDNcIjsgfVxuaS5pY29uLnVtYnJlbGxhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGU5XCI7IH1cbmkuaWNvbi51bmRlcmxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwY2RcIjsgfVxuaS5pY29uLnVuZG86YmVmb3JlIHsgY29udGVudDogXCJcXGYwZTJcIjsgfVxuaS5pY29uLnVuZG8uYWx0ZXJuYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmVhXCI7IH1cbmkuaWNvbi51bmlyZWdpc3RyeTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQwNFwiOyB9XG5pLmljb24udW5pdmVyc2FsLmFjY2VzczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI5YVwiOyB9XG5pLmljb24udW5pdmVyc2l0eTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5Y1wiOyB9XG5pLmljb24udW5saW5rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTI3XCI7IH1cbmkuaWNvbi51bmxvY2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYwOWNcIjsgfVxuaS5pY29uLnVubG9jay5hbHRlcm5hdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxM2VcIjsgfVxuaS5pY29uLnVudGFwcGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MDVcIjsgfVxuaS5pY29uLnVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA5M1wiOyB9XG5pLmljb24udXNiOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjg3XCI7IH1cbmkuaWNvbi51c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDA3XCI7IH1cbmkuaWNvbi51c2VyLmNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiZFwiOyB9XG5pLmljb24udXNlci5tZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBmMFwiOyB9XG5pLmljb24udXNlci5wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjM0XCI7IH1cbmkuaWNvbi51c2VyLnNlY3JldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxYlwiOyB9XG5pLmljb24udXNlci50aW1lczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzNVwiOyB9XG5pLmljb24udXNlcnM6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYzBcIjsgfVxuaS5pY29uLnVzc3VubmFoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDA3XCI7IH1cbmkuaWNvbi51dGVuc2lsLnNwb29uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmU1XCI7IH1cbmkuaWNvbi51dGVuc2lsczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJlN1wiOyB9XG5pLmljb24udmFhZGluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDA4XCI7IH1cbmkuaWNvbi52ZW51czpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyMVwiOyB9XG5pLmljb24udmVudXMuZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjI2XCI7IH1cbmkuaWNvbi52ZW51cy5tYXJzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjI4XCI7IH1cbmkuaWNvbi52aWFjb2luOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjM3XCI7IH1cbmkuaWNvbi52aWFkZW86YmVmb3JlIHsgY29udGVudDogXCJcXGYyYTlcIjsgfVxuaS5pY29uLnZpYWRlby5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYWFcIjsgfVxuaS5pY29uLnZpYmVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDA5XCI7IH1cbmkuaWNvbi52aWRlbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAzZFwiOyB9XG5pLmljb24udmltZW86YmVmb3JlIHsgY29udGVudDogXCJcXGY0MGFcIjsgfVxuaS5pY29uLnZpbWVvLnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5NFwiOyB9XG5pLmljb24udmltZW8udjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3ZFwiOyB9XG5pLmljb24udmluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjYVwiOyB9XG5pLmljb24udms6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODlcIjsgfVxuaS5pY29uLnZudjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQwYlwiOyB9XG5pLmljb24udm9sbGV5YmFsbC5iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDVmXCI7IH1cbmkuaWNvbi52b2x1bWUuZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAyN1wiOyB9XG5pLmljb24udm9sdW1lLm9mZjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAyNlwiOyB9XG5pLmljb24udm9sdW1lLnVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDI4XCI7IH1cbmkuaWNvbi52dWVqczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQxZlwiOyB9XG5pLmljb24ud2FyZWhvdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDk0XCI7IH1cbmkuaWNvbi53ZWlibzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4YVwiOyB9XG5pLmljb24ud2VpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDk2XCI7IH1cbmkuaWNvbi53ZWl4aW46YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDdcIjsgfVxuaS5pY29uLndoYXRzYXBwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjMyXCI7IH1cbmkuaWNvbi53aGF0c2FwcC5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MGNcIjsgfVxuaS5pY29uLndoZWVsY2hhaXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTNcIjsgfVxuaS5pY29uLndobWNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDBkXCI7IH1cbmkuaWNvbi53aWZpOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWViXCI7IH1cbmkuaWNvbi53aWtpcGVkaWEudzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2NlwiOyB9XG5pLmljb24ud2luZG93LmNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDEwXCI7IH1cbmkuaWNvbi53aW5kb3cubWF4aW1pemU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZDBcIjsgfVxuaS5pY29uLndpbmRvdy5taW5pbWl6ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkMVwiOyB9XG5pLmljb24ud2luZG93LnJlc3RvcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZDJcIjsgfVxuaS5pY29uLndpbmRvd3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxN2FcIjsgfVxuaS5pY29uLndvbi5zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU5XCI7IH1cbmkuaWNvbi53b3JkcHJlc3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWFcIjsgfVxuaS5pY29uLndvcmRwcmVzcy5zaW1wbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MTFcIjsgfVxuaS5pY29uLndwYmVnaW5uZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOTdcIjsgfVxuaS5pY29uLndwZXhwbG9yZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZGVcIjsgfVxuaS5pY29uLndwZm9ybXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOThcIjsgfVxuaS5pY29uLndyZW5jaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBhZFwiOyB9XG5pLmljb24ueGJveDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQxMlwiOyB9XG5pLmljb24ueGluZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2OFwiOyB9XG5pLmljb24ueGluZy5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjlcIjsgfVxuaS5pY29uLnkuY29tYmluYXRvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzYlwiOyB9XG5pLmljb24ueWFob286YmVmb3JlIHsgY29udGVudDogXCJcXGYxOWVcIjsgfVxuaS5pY29uLnlhbmRleDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQxM1wiOyB9XG5pLmljb24ueWFuZGV4LmludGVybmF0aW9uYWw6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MTRcIjsgfVxuaS5pY29uLnllbHA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTlcIjsgfVxuaS5pY29uLnllbi5zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cbmkuaWNvbi55b2FzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiMVwiOyB9XG5pLmljb24ueW91dHViZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2N1wiOyB9XG5pLmljb24ueW91dHViZS5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGY0MzFcIjsgfVxuXG4vKiBBbGlhc2VzICovXG5pLmljb24uY2hlc3Mucm9jazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQ0N1wiOyB9XG5pLmljb24ub3JkZXJlZC5saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGNiXCI7IH1cbmkuaWNvbi51bm9yZGVyZWQubGlzdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjYVwiOyB9XG5pLmljb24udXNlci5kb2N0b3I6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZjBcIjsgfVxuaS5pY29uLnNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNlZFwiOyB9XG5pLmljb24ucHV6emxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTJlXCI7IH1cbmkuaWNvbi5jcmVkaXQuY2FyZC5hbWF6b24ucGF5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDJkXCI7IH1cbmkuaWNvbi5jcmVkaXQuY2FyZC5hbWVyaWNhbi5leHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYzXCI7IH1cbmkuaWNvbi5jcmVkaXQuY2FyZC5kaW5lcnMuY2x1YjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0Y1wiOyB9XG5pLmljb24uY3JlZGl0LmNhcmQuZGlzY292ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjJcIjsgfVxuaS5pY29uLmNyZWRpdC5jYXJkLmpjYjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0YlwiOyB9XG5pLmljb24uY3JlZGl0LmNhcmQubWFzdGVyY2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmMVwiOyB9XG5pLmljb24uY3JlZGl0LmNhcmQucGF5cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWY0XCI7IH1cbmkuaWNvbi5jcmVkaXQuY2FyZC5zdHJpcGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjVcIjsgfVxuaS5pY29uLmNyZWRpdC5jYXJkLnZpc2E6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjBcIjsgfVxuaS5pY29uLmFkZC5jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNTVcIjsgfVxuaS5pY29uLmFkZC5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZmVcIjsgfVxuaS5pY29uLmFkZC50by5jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3MVwiOyB9XG5pLmljb24uYWRkLnRvLmNhcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTdcIjsgfVxuaS5pY29uLmFkZC51c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjM0XCI7IH1cbmkuaWNvbi5hZGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNjdcIjsgfVxuaS5pY29uLmFsYXJtLm11dGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjZcIjsgfVxuaS5pY29uLmFsYXJtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGYzXCI7IH1cbmkuaWNvbi5hbGQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYTJcIjsgfVxuaS5pY29uLmFsczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhMlwiOyB9XG5pLmljb24uYW1lcmljYW4uZXhwcmVzcy5jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYzXCI7IH1cbmkuaWNvbi5hbWVyaWNhbi5leHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYzXCI7IH1cbmkuaWNvbi5hbWV4OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYzXCI7IH1cbmkuaWNvbi5hbm5vdW5jZW1lbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYTFcIjsgfVxuaS5pY29uLmFyZWEuY2hhcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZmVcIjsgfVxuaS5pY29uLmFyZWEuZ3JhcGg6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZmVcIjsgfVxuaS5pY29uLmFycm93LmRvd24uY2FydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIxOFwiOyB9XG5pLmljb24uYXNleHVhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyZFwiOyB9XG5pLmljb24uYXNsLmludGVycHJldGluZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhM1wiOyB9XG5pLmljb24uYXNsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmEzXCI7IH1cbmkuaWNvbi5hc3Npc3RpdmUubGlzdGVuaW5nLmRldmljZXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYTJcIjsgfVxuaS5pY29uLmF0dGFjaDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjNlwiOyB9XG5pLmljb24uYXR0ZW50aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDZhXCI7IH1cbmkuaWNvbi5iYWxhbmNlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjRlXCI7IH1cbmkuaWNvbi5iYXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZmNcIjsgfVxuaS5pY29uLmJhdGh0dWI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyY2RcIjsgfVxuaS5pY29uLmJhdHRlcnkuZm91cjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0MFwiOyB9XG5pLmljb24uYmF0dGVyeS5oaWdoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQxXCI7IH1cbmkuaWNvbi5iYXR0ZXJ5LmxvdzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0M1wiOyB9XG5pLmljb24uYmF0dGVyeS5tZWRpdW06YmVmb3JlIHsgY29udGVudDogXCJcXGYyNDJcIjsgfVxuaS5pY29uLmJhdHRlcnkub25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQzXCI7IH1cbmkuaWNvbi5iYXR0ZXJ5LnRocmVlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQxXCI7IH1cbmkuaWNvbi5iYXR0ZXJ5LnR3bzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0MlwiOyB9XG5pLmljb24uYmF0dGVyeS56ZXJvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQ0XCI7IH1cbmkuaWNvbi5iaXJ0aGRheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmZFwiOyB9XG5pLmljb24uYmxvY2subGF5b3V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDA5XCI7IH1cbmkuaWNvbi5ibHVldG9vdGguYWx0ZXJuYXRpdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOTRcIjsgfVxuaS5pY29uLmJyb2tlbi5jaGFpbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyN1wiOyB9XG5pLmljb24uYnJvd3NlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAyMlwiOyB9XG5pLmljb24uY2FsbC5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwOThcIjsgfVxuaS5pY29uLmNhbGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYwOTVcIjsgfVxuaS5pY29uLmNhbmNlbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAwZFwiOyB9XG5pLmljb24uY2FydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3YVwiOyB9XG5pLmljb24uY2M6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGFcIjsgfVxuaS5pY29uLmNoYWluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGMxXCI7IH1cbmkuaWNvbi5jaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDc1XCI7IH1cbmkuaWNvbi5jaGVja2VkLmNhbGVuZGFyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjc0XCI7IH1cbmkuaWNvbi5jaGVja21hcms6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMGNcIjsgfVxuaS5pY29uLmNpcmNsZS5ub3RjaGVkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWNlXCI7IH1cbmkuaWNvbi5jbG9zZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAwZFwiOyB9XG5pLmljb24uY255OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cbmkuaWNvbi5jb2NrdGFpbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAwMFwiOyB9XG5pLmljb24uY29tbWVudGluZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3YVwiOyB9XG5pLmljb24uY29tcHV0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDhcIjsgfVxuaS5pY29uLmNvbmZpZ3VyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBhZFwiOyB9XG5pLmljb24uY29udGVudDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjOVwiOyB9XG5pLmljb24uZGVhZm5lc3M6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYTRcIjsgfVxuaS5pY29uLmRlbGV0ZS5jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3M1wiOyB9XG5pLmljb24uZGVsZXRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDBkXCI7IH1cbmkuaWNvbi5kZXRlY3RpdmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMWJcIjsgfVxuaS5pY29uLmRpbmVycy5jbHViLmNhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNGNcIjsgfVxuaS5pY29uLmRpbmVycy5jbHViOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjRjXCI7IH1cbmkuaWNvbi5kaXNjb3Zlci5jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYyXCI7IH1cbmkuaWNvbi5kaXNjb3ZlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmMlwiOyB9XG5pLmljb24uZGlzY3Vzc2lvbnM6YmVmb3JlIHsgY29udGVudDogXCJcXGYwODZcIjsgfVxuaS5pY29uLmRvY3RvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBmMFwiOyB9XG5pLmljb24uZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU1XCI7IH1cbmkuaWNvbi5kb250OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDVlXCI7IH1cbmkuaWNvbi5kcmliYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTdkXCI7IH1cbmkuaWNvbi5kcml2ZXJzLmxpY2Vuc2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYzJcIjsgfVxuaS5pY29uLmRyb3Bkb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGQ3XCI7IH1cbmkuaWNvbi5lZXJjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRhXCI7IH1cbmkuaWNvbi5lbWVyZ2VuY3k6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZjlcIjsgfVxuaS5pY29uLmVudmlyYS5nYWxsZXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjk5XCI7IH1cbmkuaWNvbi5lcmFzZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyZFwiOyB9XG5pLmljb24uZXVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTUzXCI7IH1cbmkuaWNvbi5ldXJvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTUzXCI7IH1cbmkuaWNvbi5leWVkcm9wcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWZiXCI7IH1cbmkuaWNvbi5mYTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiNFwiOyB9XG5pLmljb24uZmFjdG9yeTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3NVwiOyB9XG5pLmljb24uZmF2b3JpdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMDVcIjsgfVxuaS5pY29uLmZlZWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwOWVcIjsgfVxuaS5pY29uLmZlbWFsZS5ob21vc2V4dWFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjI2XCI7IH1cbmkuaWNvbi5maWxlLnRleHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWNcIjsgfVxuaS5pY29uLmZpbmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTVcIjsgfVxuaS5pY29uLmZpcnN0LmFpZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBmYVwiOyB9XG5pLmljb24uZml2ZS5odW5kcmVkLnBpeGVsczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2ZVwiOyB9XG5pLmljb24uZm9yazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyNlwiOyB9XG5pLmljb24uZ2FtZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExYlwiOyB9XG5pLmljb24uZ2F5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjI3XCI7IH1cbmkuaWNvbi5nYnA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTRcIjsgfVxuaS5pY29uLmdpdHRpcDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE4NFwiOyB9XG5pLmljb24uZ29vZ2xlLnBsdXMuY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmIzXCI7IH1cbmkuaWNvbi5nb29nbGUucGx1cy5vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiM1wiOyB9XG5pLmljb24uZ3JhYjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1NVwiOyB9XG5pLmljb24uZ3JhZHVhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5ZFwiOyB9XG5pLmljb24uZ3JpZC5sYXlvdXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMGFcIjsgfVxuaS5pY29uLmdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGMwXCI7IH1cbmkuaWNvbi5oOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGZkXCI7IH1cbmkuaWNvbi5oYW5kLnZpY3Rvcnk6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNWJcIjsgfVxuaS5pY29uLmhhbmRpY2FwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTkzXCI7IH1cbmkuaWNvbi5oYXJkLm9mLmhlYXJpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYTRcIjsgfVxuaS5pY29uLmhlYWRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkY1wiOyB9XG5pLmljb24uaGVscC5jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNTlcIjsgfVxuaS5pY29uLmhlbHA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjhcIjsgfVxuaS5pY29uLmhldGVyb3NleHVhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyOFwiOyB9XG5pLmljb24uaGlkZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3MFwiOyB9XG5pLmljb24uaG90ZWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMzZcIjsgfVxuaS5pY29uLmhvdXJnbGFzcy5mb3VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjU0XCI7IH1cbmkuaWNvbi5ob3VyZ2xhc3MuZnVsbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1NFwiOyB9XG5pLmljb24uaG91cmdsYXNzLm9uZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1MVwiOyB9XG5pLmljb24uaG91cmdsYXNzLnRocmVlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjUzXCI7IH1cbmkuaWNvbi5ob3VyZ2xhc3MudHdvOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjUyXCI7IH1cbmkuaWNvbi5pZGVhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGViXCI7IH1cbmkuaWNvbi5pbHM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGJcIjsgfVxuaS5pY29uLmluLWNhcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMThcIjsgfVxuaS5pY29uLmlucjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1NlwiOyB9XG5pLmljb24uaW50ZXJnZW5kZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMjRcIjsgfVxuaS5pY29uLmludGVyc2V4OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjI0XCI7IH1cbmkuaWNvbi5qYXBhbi5jcmVkaXQuYnVyZWF1LmNhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNGJcIjsgfVxuaS5pY29uLmphcGFuLmNyZWRpdC5idXJlYXU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNGJcIjsgfVxuaS5pY29uLmpjYjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0YlwiOyB9XG5pLmljb24uanB5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cbmkuaWNvbi5rcnc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTlcIjsgfVxuaS5pY29uLmxhYjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjM1wiOyB9XG5pLmljb24ubGF3OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjRlXCI7IH1cbmkuaWNvbi5sZWdhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBlM1wiOyB9XG5pLmljb24ubGVzYmlhbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyNlwiOyB9XG5pLmljb24ubGlnaHRuaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGU3XCI7IH1cbmkuaWNvbi5saWtlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDA0XCI7IH1cbmkuaWNvbi5saW5lLmdyYXBoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjAxXCI7IH1cbmkuaWNvbi5saW5rZWRpbi5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwOGNcIjsgfVxuaS5pY29uLmxpbmtpZnk6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYzFcIjsgfVxuaS5pY29uLmxpcmE6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTVcIjsgfVxuaS5pY29uLmxpc3QubGF5b3V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDBiXCI7IH1cbmkuaWNvbi5tYWduaWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDBlXCI7IH1cbmkuaWNvbi5tYWlsLmZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNjRcIjsgfVxuaS5pY29uLm1haWwuc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTk5XCI7IH1cbmkuaWNvbi5tYWlsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGUwXCI7IH1cbmkuaWNvbi5tYWxlLmhvbW9zZXh1YWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMjdcIjsgfVxuaS5pY29uLm1hbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyMlwiOyB9XG5pLmljb24ubWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDQxXCI7IH1cbmkuaWNvbi5tYXJzLmFsdGVybmF0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyOVwiOyB9XG5pLmljb24ubWFycy5ob3Jpem9udGFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjJiXCI7IH1cbmkuaWNvbi5tYXJzLnZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjJhXCI7IH1cbmkuaWNvbi5tYXN0ZXJjYXJkLmNhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjFcIjsgfVxuaS5pY29uLm1hc3RlcmNhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZjFcIjsgfVxuaS5pY29uLm1pY3Jvc29mdC5lZGdlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjgyXCI7IH1cbmkuaWNvbi5taWxpdGFyeTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBmYlwiOyB9XG5pLmljb24ubXMuZWRnZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4MlwiOyB9XG5pLmljb24ubXV0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzMVwiOyB9XG5pLmljb24ubmV3LnBpZWQucGlwZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYWVcIjsgfVxuaS5pY29uLm5vbi5iaW5hcnkudHJhbnNnZW5kZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMjNcIjsgfVxuaS5pY29uLm51bWJlcmVkLmxpc3Q6YmVmb3JlIHsgY29udGVudDogXCJcXGYwY2JcIjsgfVxuaS5pY29uLm9wdGlubW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzY1wiOyB9XG5pLmljb24ub3B0aW9uczpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkZVwiOyB9XG5pLmljb24ub3RoZXIuZ2VuZGVyLmhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMmJcIjsgfVxuaS5pY29uLm90aGVyLmdlbmRlci52ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIyYVwiOyB9XG5pLmljb24ub3RoZXIuZ2VuZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjI5XCI7IH1cbmkuaWNvbi5wYXltZW50OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDlkXCI7IH1cbmkuaWNvbi5wYXlwYWwuY2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmNFwiOyB9XG5pLmljb24ucGVuY2lsLnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0YlwiOyB9XG5pLmljb24ucGhvdG86YmVmb3JlIHsgY29udGVudDogXCJcXGYwMzBcIjsgfVxuaS5pY29uLnBpY3R1cmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwM2VcIjsgfVxuaS5pY29uLnBpZS5jaGFydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwMFwiOyB9XG5pLmljb24ucGllLmdyYXBoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjAwXCI7IH1cbmkuaWNvbi5waWVkLnBpcGVyLmhhdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhZVwiOyB9XG5pLmljb24ucGluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDhkXCI7IH1cbmkuaWNvbi5wbHVzLmNhcnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMTdcIjsgfVxuaS5pY29uLnBvY2tldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2NVwiOyB9XG5pLmljb24ucG9pbnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNDFcIjsgfVxuaS5pY29uLnBvaW50aW5nLmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYwYTdcIjsgfVxuaS5pY29uLnBvaW50aW5nLmxlZnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYTVcIjsgfVxuaS5pY29uLnBvaW50aW5nLnJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGE0XCI7IH1cbmkuaWNvbi5wb2ludGluZy51cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBhNlwiOyB9XG5pLmljb24ucG91bmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTRcIjsgfVxuaS5pY29uLnBvd2VyLmNvcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZTZcIjsgfVxuaS5pY29uLnBvd2VyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDExXCI7IH1cbmkuaWNvbi5wcml2YWN5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDg0XCI7IH1cbmkuaWNvbi5yLmNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1ZFwiOyB9XG5pLmljb24ucmFpbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBlOVwiOyB9XG5pLmljb24ucmVjb3JkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDNkXCI7IH1cbmkuaWNvbi5yZWZyZXNoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDIxXCI7IH1cbmkuaWNvbi5yZW1vdmUuY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDU3XCI7IH1cbmkuaWNvbi5yZW1vdmUuZnJvbS5jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3MlwiOyB9XG5pLmljb24ucmVtb3ZlLnVzZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMzVcIjsgfVxuaS5pY29uLnJlbW92ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAwZFwiOyB9XG5pLmljb24ucmVwZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDFlXCI7IH1cbmkuaWNvbi5ybWI6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTdcIjsgfVxuaS5pY29uLnJvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1OFwiOyB9XG5pLmljb24ucnViOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU4XCI7IH1cbmkuaWNvbi5ydWJsZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1OFwiOyB9XG5pLmljb24ucnVwZWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNTZcIjsgfVxuaS5pY29uLnMxNTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJjZFwiOyB9XG5pLmljb24uc2VsZWN0ZWQucmFkaW86YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTJcIjsgfVxuaS5pY29uLnNlbmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZDhcIjsgfVxuaS5pY29uLnNldHRpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMTNcIjsgfVxuaS5pY29uLnNldHRpbmdzOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDg1XCI7IH1cbmkuaWNvbi5zaGVrZWw6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMGJcIjsgfVxuaS5pY29uLnNoZXFlbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwYlwiOyB9XG5pLmljb24uc2hpcHBpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZDFcIjsgfVxuaS5pY29uLnNob3A6YmVmb3JlIHsgY29udGVudDogXCJcXGYwN2FcIjsgfVxuaS5pY29uLnNodWZmbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNzRcIjsgfVxuaS5pY29uLnNodXRkb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDExXCI7IH1cbmkuaWNvbi5zaWRlYmFyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGM5XCI7IH1cbmkuaWNvbi5zaWduaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmE3XCI7IH1cbmkuaWNvbi5zaWdudXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNDRcIjsgfVxuaS5pY29uLnNsaWRlcnM6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZGVcIjsgfVxuaS5pY29uLnNvY2NlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlM1wiOyB9XG5pLmljb24uc29ydC5hbHBoYWJldC5hc2NlbmRpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWRcIjsgfVxuaS5pY29uLnNvcnQuYWxwaGFiZXQuZGVzY2VuZGluZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1ZVwiOyB9XG5pLmljb24uc29ydC5hc2NlbmRpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZGVcIjsgfVxuaS5pY29uLnNvcnQuY29udGVudC5hc2NlbmRpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjBcIjsgfVxuaS5pY29uLnNvcnQuY29udGVudC5kZXNjZW5kaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTYxXCI7IH1cbmkuaWNvbi5zb3J0LmRlc2NlbmRpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZGRcIjsgfVxuaS5pY29uLnNvcnQubnVtZXJpYy5hc2NlbmRpbmc6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNjJcIjsgfVxuaS5pY29uLnNvcnQubnVtZXJpYy5kZXNjZW5kaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTYzXCI7IH1cbmkuaWNvbi5zb3VuZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAyNVwiOyB9XG5pLmljb24uc3B5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjFiXCI7IH1cbmkuaWNvbi5zdHJpcGUuY2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmNVwiOyB9XG5pLmljb24uc3R1ZGVudDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5ZFwiOyB9XG5pLmljb24udGFsazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI3YVwiOyB9XG5pLmljb24udGFyZ2V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQwXCI7IH1cbmkuaWNvbi50ZWxldHlwZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlNFwiOyB9XG5pLmljb24udGVsZXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI2Y1wiOyB9XG5pLmljb24udGV4dC5jdXJzb3I6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNDZcIjsgfVxuaS5pY29uLnRleHQudGVsZXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWU0XCI7IH1cbmkuaWNvbi50aGVtZS5pc2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmIyXCI7IH1cbmkuaWNvbi50aGVtZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA0M1wiOyB9XG5pLmljb24udGhlcm1vbWV0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYzdcIjsgfVxuaS5pY29uLnRodW1iLnRhY2s6YmVmb3JlIHsgY29udGVudDogXCJcXGYwOGRcIjsgfVxuaS5pY29uLnRpbWU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMTdcIjsgfVxuaS5pY29uLnRtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjVjXCI7IH1cbmkuaWNvbi50b2dnbGUuZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1MFwiOyB9XG5pLmljb24udG9nZ2xlLmxlZnQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYxOTFcIjsgfVxuaS5pY29uLnRvZ2dsZS5yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1MlwiOyB9XG5pLmljb24udG9nZ2xlLnVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTUxXCI7IH1cbmkuaWNvbi50cmFuc2xhdGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWJcIjsgfVxuaS5pY29uLnRyYXZlbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBiMVwiOyB9XG5pLmljb24udHJlYXRtZW50OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGYxXCI7IH1cbmkuaWNvbi50cmlhbmdsZS5kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGQ3XCI7IH1cbmkuaWNvbi50cmlhbmdsZS5sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGQ5XCI7IH1cbmkuaWNvbi50cmlhbmdsZS5yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkYVwiOyB9XG5pLmljb24udHJpYW5nbGUudXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZDhcIjsgfVxuaS5pY29uLnRyeTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5NVwiOyB9XG5pLmljb24udW5oaWRlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDZlXCI7IH1cbmkuaWNvbi51bmxpbmtpZnk6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjdcIjsgfVxuaS5pY29uLnVubXV0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzMFwiOyB9XG5pLmljb24udXNkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU1XCI7IH1cbmkuaWNvbi51c2VyLmNhbmNlbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzNVwiOyB9XG5pLmljb24udXNlci5jbG9zZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzNVwiOyB9XG5pLmljb24udXNlci5kZWxldGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyMzVcIjsgfVxuaS5pY29uLnVzZXIueDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzNVwiOyB9XG5pLmljb24udmNhcmQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYmJcIjsgfVxuaS5pY29uLnZpZGVvLmNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAzZFwiOyB9XG5pLmljb24udmlkZW8ucGxheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0NFwiOyB9XG5pLmljb24udmlzYS5jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYwXCI7IH1cbmkuaWNvbi52aXNhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWYwXCI7IH1cbmkuaWNvbi52b2x1bWUuY29udHJvbC5waG9uZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJhMFwiOyB9XG5pLmljb24ud2FpdDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAxN1wiOyB9XG5pLmljb24ud2FybmluZy5jaXJjbGU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNmFcIjsgfVxuaS5pY29uLndhcm5pbmcuc2lnbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3MVwiOyB9XG5pLmljb24ud2FybmluZzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyYVwiOyB9XG5pLmljb24ud2VjaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWQ3XCI7IH1cbmkuaWNvbi53aS1maTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlYlwiOyB9XG5pLmljb24ud2lraXBlZGlhOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjY2XCI7IH1cbmkuaWNvbi53aW5uZXI6YmVmb3JlIHsgY29udGVudDogXCJcXGYwOTFcIjsgfVxuaS5pY29uLndpemFyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkMFwiOyB9XG5pLmljb24ud29tYW46YmVmb3JlIHsgY29udGVudDogXCJcXGYyMjFcIjsgfVxuaS5pY29uLndvbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1OVwiOyB9XG5pLmljb24ud29yZHByZXNzLmJlZ2lubmVyOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjk3XCI7IH1cbmkuaWNvbi53b3JkcHJlc3MuZm9ybXM6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOThcIjsgfVxuaS5pY29uLndvcmxkOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGFjXCI7IH1cbmkuaWNvbi53cml0ZS5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNGJcIjsgfVxuaS5pY29uLng6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMGRcIjsgfVxuaS5pY29uLnljOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjNiXCI7IH1cbmkuaWNvbi55Y29tYmluYXRvcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIzYlwiOyB9XG5pLmljb24ueWVuOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTU3XCI7IH1cbmkuaWNvbi56aXA6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODdcIjsgfVxuaS5pY29uLnpvb20taW46YmVmb3JlIHsgY29udGVudDogXCJcXGYwMGVcIjsgfVxuaS5pY29uLnpvb20tb3V0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDEwXCI7IH1cbmkuaWNvbi56b29tOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDBlXCI7IH1cbmkuaWNvbi5iaXRidWNrZXQuc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTcxXCI7IH1cbmkuaWNvbi5jaGVja21hcmsuYm94OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTRhXCI7IH1cbmkuaWNvbi5jaXJjbGUudGhpbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExMVwiOyB9XG5pLmljb24uY2xvdWQuZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYzODFcIjsgfVxuaS5pY29uLmNsb3VkLnVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM4MlwiOyB9XG5pLmljb24uY29tcG9zZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMwM1wiOyB9XG5pLmljb24uY29udmVyc2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDg2XCI7IH1cbmkuaWNvbi5jcmVkaXQuY2FyZC5hbHRlcm5hdGl2ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA5ZFwiOyB9XG5pLmljb24uY3VycmVuY3k6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZDFcIjsgfVxuaS5pY29uLmRhc2hib2FyZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNmZFwiOyB9XG5pLmljb24uZGlhbW9uZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhNVwiOyB9XG5pLmljb24uZGlzazpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBhMFwiOyB9XG5pLmljb24uZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNjJcIjsgfVxuaS5pY29uLmV4dGVybmFsLnNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTRkXCI7IH1cbmkuaWNvbi5leHRlcm5hbC5zcXVhcmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNjBcIjsgfVxuaS5pY29uLmV4dGVybmFsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzVkXCI7IH1cbmkuaWNvbi5mYWNlYm9vay5vZmZpY2lhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA4MlwiOyB9XG5pLmljb24uZm9vZDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJlN1wiOyB9XG5pLmljb24uaG91cmdsYXNzLnplcm86YmVmb3JlIHsgY29udGVudDogXCJcXGYyNTNcIjsgfVxuaS5pY29uLmxldmVsLmRvd246YmVmb3JlIHsgY29udGVudDogXCJcXGYzYmVcIjsgfVxuaS5pY29uLmxldmVsLnVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmM2JmXCI7IH1cbmkuaWNvbi5sb2dvdXQ6YmVmb3JlIHsgY29udGVudDogXCJcXGYyZjVcIjsgfVxuaS5pY29uLm1lYW5wYXRoOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGM4XCI7IH1cbmkuaWNvbi5tb25leTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNkMVwiOyB9XG5pLmljb24ubW92ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBiMlwiOyB9XG5pLmljb24ucGVuY2lsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzAzXCI7IH1cbmkuaWNvbi5wcm90ZWN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDIzXCI7IH1cbmkuaWNvbi5yYWRpbzpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5MlwiOyB9XG5pLmljb24ucmVtb3ZlLmJvb2ttYXJrOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDJlXCI7IH1cbmkuaWNvbi5yZXNpemUuaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMzN1wiOyB9XG5pLmljb24ucmVzaXplLnZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzM4XCI7IH1cbmkuaWNvbi5zaWduLWluOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmY2XCI7IH1cbmkuaWNvbi5zaWduLW91dDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJmNVwiOyB9XG5pLmljb24uc3Bvb246YmVmb3JlIHsgY29udGVudDogXCJcXGYyZTVcIjsgfVxuaS5pY29uLnN0YXIuaGFsZi5lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA4OVwiOyB9XG5pLmljb24uc3Rhci5oYWxmLmZ1bGw6YmVmb3JlIHsgY29udGVudDogXCJcXGYwODlcIjsgfVxuaS5pY29uLnRpY2tldDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNmZlwiOyB9XG5pLmljb24udGltZXMucmVjdGFuZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmNDEwXCI7IH1cbmkuaWNvbi53cml0ZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjMwM1wiOyB9XG5pLmljb24ueW91dHViZS5wbGF5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTY3XCI7IH1cblxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgIE91dGxpbmUgSWNvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIE91dGxpbmUgSWNvbiAqL1xuLmxvYWRPdXRsaW5lSWNvbnMoKSB3aGVuIChAaW1wb3J0T3V0bGluZUljb25zKSB7XG4gIC8qIExvYWQgJiBEZWZpbmUgSWNvbiBGb250ICovXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBAb3V0bGluZUZvbnROYW1lO1xuICAgIHNyYzogQG91dGxpbmVGYWxsYmFja1NSQztcbiAgICBzcmM6IEBvdXRsaW5lU3JjO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogQG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cbiAgaS5pY29uLm91dGxpbmUge1xuICAgIGZvbnQtZmFtaWx5OiBAb3V0bGluZUZvbnROYW1lO1xuICB9XG4gIC8qIEljb24gRGVmaW5pdGlvbnMgKi9cbiAgaS5pY29uLmFkZHJlc3MuYm9vay5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmI5XCI7IH1cbiAgaS5pY29uLmFkZHJlc3MuY2FyZC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmJiXCI7IH1cbiAgaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUuZG93bi5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzU4XCI7IH1cbiAgaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUubGVmdC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzU5XCI7IH1cbiAgaS5pY29uLmFycm93LmFsdGVybmF0ZS5jaXJjbGUucmlnaHQub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjM1YVwiOyB9XG4gIGkuaWNvbi5hcnJvdy5hbHRlcm5hdGUuY2lyY2xlLnVwLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzNWJcIjsgfVxuICBpLmljb24uYmVsbC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGYzXCI7IH1cbiAgaS5pY29uLmJlbGwuc2xhc2gub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmNlwiOyB9XG4gIGkuaWNvbi5ib29rbWFyay5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDJlXCI7IH1cbiAgaS5pY29uLmJ1aWxkaW5nLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYWRcIjsgfVxuICBpLmljb24uY2FsZW5kYXIub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEzM1wiOyB9XG4gIGkuaWNvbi5jYWxlbmRhci5hbHRlcm5hdGUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3M1wiOyB9XG4gIGkuaWNvbi5jYWxlbmRhci5jaGVjay5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjc0XCI7IH1cbiAgaS5pY29uLmNhbGVuZGFyLm1pbnVzLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNzJcIjsgfVxuICBpLmljb24uY2FsZW5kYXIucGx1cy5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjcxXCI7IH1cbiAgaS5pY29uLmNhbGVuZGFyLnRpbWVzLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNzNcIjsgfVxuICBpLmljb24uY2FyZXQuc3F1YXJlLmRvd24ub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE1MFwiOyB9XG4gIGkuaWNvbi5jYXJldC5zcXVhcmUubGVmdC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTkxXCI7IH1cbiAgaS5pY29uLmNhcmV0LnNxdWFyZS5yaWdodC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTUyXCI7IH1cbiAgaS5pY29uLmNhcmV0LnNxdWFyZS51cC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTUxXCI7IH1cbiAgaS5pY29uLmNoYXJ0LmJhci5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDgwXCI7IH1cbiAgaS5pY29uLmNoZWNrLmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDU4XCI7IH1cbiAgaS5pY29uLmNoZWNrLnNxdWFyZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTRhXCI7IH1cbiAgaS5pY29uLmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTExXCI7IH1cbiAgaS5pY29uLmNsaXBib2FyZC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzI4XCI7IH1cbiAgaS5pY29uLmNsb2NrLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMTdcIjsgfVxuICBpLmljb24uY2xvbmUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI0ZFwiOyB9XG4gIGkuaWNvbi5jbG9zZWQuY2FwdGlvbmluZy5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjBhXCI7IH1cbiAgaS5pY29uLmNvbW1lbnQub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA3NVwiOyB9XG4gIGkuaWNvbi5jb21tZW50LmFsdGVybmF0ZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjdhXCI7IH1cbiAgaS5pY29uLmNvbW1lbnRzLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwODZcIjsgfVxuICBpLmljb24uY29tcGFzcy5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTRlXCI7IH1cbiAgaS5pY29uLmNvcHkub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjNVwiOyB9XG4gIGkuaWNvbi5jb3B5cmlnaHQub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFmOVwiOyB9XG4gIGkuaWNvbi5jcmVkaXQuY2FyZC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDlkXCI7IH1cbiAgaS5pY29uLmRvdC5jaXJjbGUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE5MlwiOyB9XG4gIGkuaWNvbi5lZGl0Lm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNDRcIjsgfVxuICBpLmljb24uZW52ZWxvcGUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBlMFwiOyB9XG4gIGkuaWNvbi5lbnZlbG9wZS5vcGVuLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyYjZcIjsgfVxuICBpLmljb24uZXllLnNsYXNoLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNzBcIjsgfVxuICBpLmljb24uZmlsZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTViXCI7IH1cbiAgaS5pY29uLmZpbGUuYWx0ZXJuYXRlLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxNWNcIjsgfVxuICBpLmljb24uZmlsZS5hcmNoaXZlLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzZcIjsgfVxuICBpLmljb24uZmlsZS5hdWRpby5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWM3XCI7IH1cbiAgaS5pY29uLmZpbGUuY29kZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWM5XCI7IH1cbiAgaS5pY29uLmZpbGUuZXhjZWwub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjM1wiOyB9XG4gIGkuaWNvbi5maWxlLmltYWdlLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzVcIjsgfVxuICBpLmljb24uZmlsZS5wZGYub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjMVwiOyB9XG4gIGkuaWNvbi5maWxlLnBvd2VycG9pbnQub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjNFwiOyB9XG4gIGkuaWNvbi5maWxlLnZpZGVvLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzhcIjsgfVxuICBpLmljb24uZmlsZS53b3JkLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxYzJcIjsgfVxuICBpLmljb24uZmxhZy5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDI0XCI7IH1cbiAgaS5pY29uLmZvbGRlci5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDdiXCI7IH1cbiAgaS5pY29uLmZvbGRlci5vcGVuLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwN2NcIjsgfVxuICBpLmljb24uZnJvd24ub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExOVwiOyB9XG4gIGkuaWNvbi5mdXRib2wub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlM1wiOyB9XG4gIGkuaWNvbi5nZW0ub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjNhNVwiOyB9XG4gIGkuaWNvbi5oYW5kLmxpemFyZC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjU4XCI7IH1cbiAgaS5pY29uLmhhbmQucGFwZXIub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1NlwiOyB9XG4gIGkuaWNvbi5oYW5kLnBlYWNlLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNWJcIjsgfVxuICBpLmljb24uaGFuZC5wb2ludC5kb3duLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYTdcIjsgfVxuICBpLmljb24uaGFuZC5wb2ludC5sZWZ0Lm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwYTVcIjsgfVxuICBpLmljb24uaGFuZC5wb2ludC5yaWdodC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGE0XCI7IH1cbiAgaS5pY29uLmhhbmQucG9pbnQudXAub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBhNlwiOyB9XG4gIGkuaWNvbi5oYW5kLnBvaW50ZXIub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1YVwiOyB9XG4gIGkuaWNvbi5oYW5kLnJvY2sub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1NVwiOyB9XG4gIGkuaWNvbi5oYW5kLnNjaXNzb3JzLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNTdcIjsgfVxuICBpLmljb24uaGFuZC5zcG9jay5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjU5XCI7IH1cbiAgaS5pY29uLmhhbmRzaGFrZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmI1XCI7IH1cbiAgaS5pY29uLmhkZC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGEwXCI7IH1cbiAgaS5pY29uLmhlYXJ0Lm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMDRcIjsgfVxuICBpLmljb24uaG9zcGl0YWwub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBmOFwiOyB9XG4gIGkuaWNvbi5ob3VyZ2xhc3Mub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI1NFwiOyB9XG4gIGkuaWNvbi5pZC5iYWRnZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmMxXCI7IH1cbiAgaS5pY29uLmlkLmNhcmQub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJjMlwiOyB9XG4gIGkuaWNvbi5pbWFnZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDNlXCI7IH1cbiAgaS5pY29uLmltYWdlcy5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMzAyXCI7IH1cbiAgaS5pY29uLmtleWJvYXJkLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMWNcIjsgfVxuICBpLmljb24ubGVtb24ub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA5NFwiOyB9XG4gIGkuaWNvbi5saWZlLnJpbmcub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFjZFwiOyB9XG4gIGkuaWNvbi5saWdodGJ1bGIub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBlYlwiOyB9XG4gIGkuaWNvbi5saXN0LmFsdGVybmF0ZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDIyXCI7IH1cbiAgaS5pY29uLm1hcC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjc5XCI7IH1cbiAgaS5pY29uLm1laC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTFhXCI7IH1cbiAgaS5pY29uLm1pbnVzLnNxdWFyZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQ2XCI7IH1cbiAgaS5pY29uLm1vbmV5LmJpbGwuYWx0ZXJuYXRlLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYzZDFcIjsgfVxuICBpLmljb24ubW9vbi5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTg2XCI7IH1cbiAgaS5pY29uLm5ld3NwYXBlci5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWVhXCI7IH1cbiAgaS5pY29uLm9iamVjdC5ncm91cC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQ3XCI7IH1cbiAgaS5pY29uLm9iamVjdC51bmdyb3VwLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyNDhcIjsgfVxuICBpLmljb24ucGFwZXIucGxhbmUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFkOFwiOyB9XG4gIGkuaWNvbi5wYXVzZS5jaXJjbGUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjI4YlwiOyB9XG4gIGkuaWNvbi5wbGF5LmNpcmNsZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTQ0XCI7IH1cbiAgaS5pY29uLnBsdXMuc3F1YXJlLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwZmVcIjsgfVxuICBpLmljb24ucXVlc3Rpb24uY2lyY2xlLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwNTlcIjsgfVxuICBpLmljb24ucmVnaXN0ZXJlZC5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjVkXCI7IH1cbiAgaS5pY29uLnNhdmUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBjN1wiOyB9XG4gIGkuaWNvbi5zaGFyZS5zcXVhcmUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE0ZFwiOyB9XG4gIGkuaWNvbi5zbWlsZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTE4XCI7IH1cbiAgaS5pY29uLnNub3dmbGFrZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmRjXCI7IH1cbiAgaS5pY29uLnNxdWFyZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGM4XCI7IH1cbiAgaS5pY29uLnN0YXIub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAwNVwiOyB9XG4gIGkuaWNvbi5zdGFyLmhhbGYub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA4OVwiOyB9XG4gIGkuaWNvbi5zdGlja3kubm90ZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjQ5XCI7IH1cbiAgaS5pY29uLnN0b3AuY2lyY2xlLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYyOGRcIjsgfVxuICBpLmljb24uc3VuLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYxODVcIjsgfVxuICBpLmljb24udGh1bWJzLmRvd24ub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2NVwiOyB9XG4gIGkuaWNvbi50aHVtYnMudXAub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjE2NFwiOyB9XG4gIGkuaWNvbi50aW1lcy5jaXJjbGUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjA1N1wiOyB9XG4gIGkuaWNvbi50cmFzaC5hbHRlcm5hdGUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJlZFwiOyB9XG4gIGkuaWNvbi51c2VyLm91dGxpbmU6YmVmb3JlIHsgY29udGVudDogXCJcXGYwMDdcIjsgfVxuICBpLmljb24udXNlci5jaXJjbGUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJiZFwiOyB9XG4gIGkuaWNvbi53aW5kb3cuY2xvc2Uub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjQxMFwiOyB9XG4gIGkuaWNvbi53aW5kb3cubWF4aW1pemUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkMFwiOyB9XG4gIGkuaWNvbi53aW5kb3cubWluaW1pemUub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjJkMVwiOyB9XG4gIGkuaWNvbi53aW5kb3cucmVzdG9yZS5vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMmQyXCI7IH1cblxuICAvKiBPdXRsaW5lIEFsaWFzZXMgKi9cbiAgaS5pY29uLmRpc2sub3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBhMFwiOyB9XG4gIGkuaWNvbi5oZWFydC5lbXB0eSxcbiAgaS5pY29uLnN0YXIuZW1wdHkge1xuICAgIGZvbnQtZmFtaWx5OiBAb3V0bGluZUZvbnROYW1lO1xuICB9XG4gIGkuaWNvbi5oZWFydC5lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjAwNFwiOyB9XG4gIGkuaWNvbi5zdGFyLmVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDg5XCI7IH1cblxufVxuLmxvYWRPdXRsaW5lSWNvbnMoKTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQnJhbmQgSWNvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5sb2FkQnJhbmRJY29ucygpIHdoZW4gKEBpbXBvcnRCcmFuZEljb25zKSB7XG4gIC8qIExvYWQgJiBEZWZpbmUgQnJhbmQgRm9udCAqL1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogQGJyYW5kRm9udE5hbWU7XG4gICAgc3JjOiBAYnJhbmRGYWxsYmFja1NSQztcbiAgICBzcmM6IEBicmFuZFNyYztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IEBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG4gIC8qIEJyYW5kIEljb24gRm9udCBGYW1pbHkgKi9cbiAgaS5pY29uLlxcMzUgMDBweCxcbiAgaS5pY29uLmFjY2Vzc2libGUuaWNvbixcbiAgaS5pY29uLmFjY3Vzb2Z0LFxuICBpLmljb24uYWRuLFxuICBpLmljb24uYWR2ZXJzYWwsXG4gIGkuaWNvbi5hZmZpbGlhdGV0aGVtZSxcbiAgaS5pY29uLmFsZ29saWEsXG4gIGkuaWNvbi5hbWF6b24sXG4gIGkuaWNvbi5hbWF6b24ucGF5LFxuICBpLmljb24uYW1pbGlhLFxuICBpLmljb24uYW5kcm9pZCxcbiAgaS5pY29uLmFuZ2VsbGlzdCxcbiAgaS5pY29uLmFuZ3J5Y3JlYXRpdmUsXG4gIGkuaWNvbi5hbmd1bGFyLFxuICBpLmljb24uYXBwLnN0b3JlLFxuICBpLmljb24uYXBwLnN0b3JlLmlvcyxcbiAgaS5pY29uLmFwcGVyLFxuICBpLmljb24uYXBwbGUsXG4gIGkuaWNvbi5hcHBsZS5wYXksXG4gIGkuaWNvbi5hc3ltbWV0cmlrLFxuICBpLmljb24uYXVkaWJsZSxcbiAgaS5pY29uLmF1dG9wcmVmaXhlcixcbiAgaS5pY29uLmF2aWFuZXgsXG4gIGkuaWNvbi5hdmlhdG8sXG4gIGkuaWNvbi5hd3MsXG4gIGkuaWNvbi5iYW5kY2FtcCxcbiAgaS5pY29uLmJlaGFuY2UsXG4gIGkuaWNvbi5iZWhhbmNlLnNxdWFyZSxcbiAgaS5pY29uLmJpbW9iamVjdCxcbiAgaS5pY29uLmJpdGJ1Y2tldCxcbiAgaS5pY29uLmJpdGNvaW4sXG4gIGkuaWNvbi5iaXR5LFxuICBpLmljb24uYmxhY2sudGllLFxuICBpLmljb24uYmxhY2tiZXJyeSxcbiAgaS5pY29uLmJsb2dnZXIsXG4gIGkuaWNvbi5ibG9nZ2VyLmIsXG4gIGkuaWNvbi5ibHVldG9vdGgsXG4gIGkuaWNvbi5ibHVldG9vdGguYixcbiAgaS5pY29uLmJ0YyxcbiAgaS5pY29uLmJ1cm9tb2JlbGV4cGVydGUsXG4gIGkuaWNvbi5idXlzZWxsYWRzLFxuICBpLmljb24uY2MuYW1hem9uLnBheSxcbiAgaS5pY29uLmNjLmFtZXgsXG4gIGkuaWNvbi5jYy5hcHBsZS5wYXksXG4gIGkuaWNvbi5jYy5kaW5lcnMuY2x1YixcbiAgaS5pY29uLmNjLmRpc2NvdmVyLFxuICBpLmljb24uY2MuamNiLFxuICBpLmljb24uY2MubWFzdGVyY2FyZCxcbiAgaS5pY29uLmNjLnBheXBhbCxcbiAgaS5pY29uLmNjLnN0cmlwZSxcbiAgaS5pY29uLmNjLnZpc2EsXG4gIGkuaWNvbi5jZW50ZXJjb2RlLFxuICBpLmljb24uY2hyb21lLFxuICBpLmljb24uY2xvdWRzY2FsZSxcbiAgaS5pY29uLmNsb3Vkc21pdGgsXG4gIGkuaWNvbi5jbG91ZHZlcnNpZnksXG4gIGkuaWNvbi5jb2RlcGVuLFxuICBpLmljb24uY29kaWVwaWUsXG4gIGkuaWNvbi5jb25uZWN0ZGV2ZWxvcCxcbiAgaS5pY29uLmNvbnRhbyxcbiAgaS5pY29uLmNwYW5lbCxcbiAgaS5pY29uLmNyZWF0aXZlLmNvbW1vbnMsXG4gIGkuaWNvbi5jc3MzLFxuICBpLmljb24uY3NzMy5hbHRlcm5hdGUsXG4gIGkuaWNvbi5jdXR0bGVmaXNoLFxuICBpLmljb24uZC5hbmQuZCxcbiAgaS5pY29uLmRhc2hjdWJlLFxuICBpLmljb24uZGVsaWNpb3VzLFxuICBpLmljb24uZGVwbG95ZG9nLFxuICBpLmljb24uZGVza3BybyxcbiAgaS5pY29uLmRldmlhbnRhcnQsXG4gIGkuaWNvbi5kaWdnLFxuICBpLmljb24uZGlnaXRhbC5vY2VhbixcbiAgaS5pY29uLmRpc2NvcmQsXG4gIGkuaWNvbi5kaXNjb3Vyc2UsXG4gIGkuaWNvbi5kb2NodWIsXG4gIGkuaWNvbi5kb2NrZXIsXG4gIGkuaWNvbi5kcmFmdDJkaWdpdGFsLFxuICBpLmljb24uZHJpYmJibGUsXG4gIGkuaWNvbi5kcmliYmJsZS5zcXVhcmUsXG4gIGkuaWNvbi5kcm9wYm94LFxuICBpLmljb24uZHJ1cGFsLFxuICBpLmljb24uZHlhbG9nLFxuICBpLmljb24uZWFybHliaXJkcyxcbiAgaS5pY29uLmVkZ2UsXG4gIGkuaWNvbi5lbGVtZW50b3IsXG4gIGkuaWNvbi5lbWJlcixcbiAgaS5pY29uLmVtcGlyZSxcbiAgaS5pY29uLmVudmlyYSxcbiAgaS5pY29uLmVybGFuZyxcbiAgaS5pY29uLmV0aGVyZXVtLFxuICBpLmljb24uZXRzeSxcbiAgaS5pY29uLmV4cGVkaXRlZHNzbCxcbiAgaS5pY29uLmZhY2Vib29rLFxuICBpLmljb24uZmFjZWJvb2suZixcbiAgaS5pY29uLmZhY2Vib29rLm1lc3NlbmdlcixcbiAgaS5pY29uLmZhY2Vib29rLnNxdWFyZSxcbiAgaS5pY29uLmZpcmVmb3gsXG4gIGkuaWNvbi5maXJzdC5vcmRlcixcbiAgaS5pY29uLmZpcnN0ZHJhZnQsXG4gIGkuaWNvbi5mbGlja3IsXG4gIGkuaWNvbi5mbGlwYm9hcmQsXG4gIGkuaWNvbi5mbHksXG4gIGkuaWNvbi5mb250LmF3ZXNvbWUsXG4gIGkuaWNvbi5mb250LmF3ZXNvbWUuYWx0ZXJuYXRlLFxuICBpLmljb24uZm9udC5hd2Vzb21lLmZsYWcsXG4gIGkuaWNvbi5mb250aWNvbnMsXG4gIGkuaWNvbi5mb250aWNvbnMuZmksXG4gIGkuaWNvbi5mb3J0LmF3ZXNvbWUsXG4gIGkuaWNvbi5mb3J0LmF3ZXNvbWUuYWx0ZXJuYXRlLFxuICBpLmljb24uZm9ydW1iZWUsXG4gIGkuaWNvbi5mb3Vyc3F1YXJlLFxuICBpLmljb24uZnJlZS5jb2RlLmNhbXAsXG4gIGkuaWNvbi5mcmVlYnNkLFxuICBpLmljb24uZ2V0LnBvY2tldCxcbiAgaS5pY29uLmdnLFxuICBpLmljb24uZ2cuY2lyY2xlLFxuICBpLmljb24uZ2l0LFxuICBpLmljb24uZ2l0LnNxdWFyZSxcbiAgaS5pY29uLmdpdGh1YixcbiAgaS5pY29uLmdpdGh1Yi5hbHRlcm5hdGUsXG4gIGkuaWNvbi5naXRodWIuc3F1YXJlLFxuICBpLmljb24uZ2l0a3Jha2VuLFxuICBpLmljb24uZ2l0bGFiLFxuICBpLmljb24uZ2l0dGVyLFxuICBpLmljb24uZ2xpZGUsXG4gIGkuaWNvbi5nbGlkZS5nLFxuICBpLmljb24uZ29mb3JlLFxuICBpLmljb24uZ29vZHJlYWRzLFxuICBpLmljb24uZ29vZHJlYWRzLmcsXG4gIGkuaWNvbi5nb29nbGUsXG4gIGkuaWNvbi5nb29nbGUuZHJpdmUsXG4gIGkuaWNvbi5nb29nbGUucGxheSxcbiAgaS5pY29uLmdvb2dsZS5wbHVzLFxuICBpLmljb24uZ29vZ2xlLnBsdXMuZyxcbiAgaS5pY29uLmdvb2dsZS5wbHVzLnNxdWFyZSxcbiAgaS5pY29uLmdvb2dsZS53YWxsZXQsXG4gIGkuaWNvbi5ncmF0aXBheSxcbiAgaS5pY29uLmdyYXYsXG4gIGkuaWNvbi5ncmlwZmlyZSxcbiAgaS5pY29uLmdydW50LFxuICBpLmljb24uZ3VscCxcbiAgaS5pY29uLmhhY2tlci5uZXdzLFxuICBpLmljb24uaGFja2VyLm5ld3Muc3F1YXJlLFxuICBpLmljb24uaGlwcyxcbiAgaS5pY29uLmhpcmUuYS5oZWxwZXIsXG4gIGkuaWNvbi5ob29saSxcbiAgaS5pY29uLmhvdGphcixcbiAgaS5pY29uLmhvdXp6LFxuICBpLmljb24uaHRtbDUsXG4gIGkuaWNvbi5odWJzcG90LFxuICBpLmljb24uaW1kYixcbiAgaS5pY29uLmluc3RhZ3JhbSxcbiAgaS5pY29uLmludGVybmV0LmV4cGxvcmVyLFxuICBpLmljb24uaW94aG9zdCxcbiAgaS5pY29uLml0dW5lcyxcbiAgaS5pY29uLml0dW5lcy5ub3RlLFxuICBpLmljb24uamVua2lucyxcbiAgaS5pY29uLmpvZ2V0LFxuICBpLmljb24uam9vbWxhLFxuICBpLmljb24uanMsXG4gIGkuaWNvbi5qcy5zcXVhcmUsXG4gIGkuaWNvbi5qc2ZpZGRsZSxcbiAgaS5pY29uLmtleWNkbixcbiAgaS5pY29uLmtpY2tzdGFydGVyLFxuICBpLmljb24ua2lja3N0YXJ0ZXIuayxcbiAgaS5pY29uLmtvcnZ1ZSxcbiAgaS5pY29uLmxhcmF2ZWwsXG4gIGkuaWNvbi5sYXN0Zm0sXG4gIGkuaWNvbi5sYXN0Zm0uc3F1YXJlLFxuICBpLmljb24ubGVhbnB1YixcbiAgaS5pY29uLmxlc3MsXG4gIGkuaWNvbi5saW5lY2hhdCxcbiAgaS5pY29uLmxpbmtlZGluLFxuICBpLmljb24ubGlua2VkaW4uYWx0ZXJuYXRlLFxuICBpLmljb24ubGlua2VkaW4uaW4sXG4gIGkuaWNvbi5saW5vZGUsXG4gIGkuaWNvbi5saW51eCxcbiAgaS5pY29uLmx5ZnQsXG4gIGkuaWNvbi5tYWdlbnRvLFxuICBpLmljb24ubWF4Y2RuLFxuICBpLmljb24ubWVkYXBwcyxcbiAgaS5pY29uLm1lZGl1bSxcbiAgaS5pY29uLm1lZGl1bS5tLFxuICBpLmljb24ubWVkcnQsXG4gIGkuaWNvbi5tZWV0dXAsXG4gIGkuaWNvbi5taWNyb3NvZnQsXG4gIGkuaWNvbi5taXgsXG4gIGkuaWNvbi5taXhjbG91ZCxcbiAgaS5pY29uLm1penVuaSxcbiAgaS5pY29uLm1vZHgsXG4gIGkuaWNvbi5tb25lcm8sXG4gIGkuaWNvbi5uYXBzdGVyLFxuICBpLmljb24ubmludGVuZG8uc3dpdGNoLFxuICBpLmljb24ubm9kZSxcbiAgaS5pY29uLm5vZGUuanMsXG4gIGkuaWNvbi5ucG0sXG4gIGkuaWNvbi5uczgsXG4gIGkuaWNvbi5udXRyaXRpb25peCxcbiAgaS5pY29uLm9kbm9rbGFzc25pa2ksXG4gIGkuaWNvbi5vZG5va2xhc3NuaWtpLnNxdWFyZSxcbiAgaS5pY29uLm9wZW5jYXJ0LFxuICBpLmljb24ub3BlbmlkLFxuICBpLmljb24ub3BlcmEsXG4gIGkuaWNvbi5vcHRpbi5tb25zdGVyLFxuICBpLmljb24ub3NpLFxuICBpLmljb24ucGFnZTQsXG4gIGkuaWNvbi5wYWdlbGluZXMsXG4gIGkuaWNvbi5wYWxmZWQsXG4gIGkuaWNvbi5wYXRyZW9uLFxuICBpLmljb24ucGF5cGFsLFxuICBpLmljb24ucGVyaXNjb3BlLFxuICBpLmljb24ucGhhYnJpY2F0b3IsXG4gIGkuaWNvbi5waG9lbml4LmZyYW1ld29yayxcbiAgaS5pY29uLnBocCxcbiAgaS5pY29uLnBpZWQucGlwZXIsXG4gIGkuaWNvbi5waWVkLnBpcGVyLmFsdGVybmF0ZSxcbiAgaS5pY29uLnBpZWQucGlwZXIucHAsXG4gIGkuaWNvbi5waW50ZXJlc3QsXG4gIGkuaWNvbi5waW50ZXJlc3QucCxcbiAgaS5pY29uLnBpbnRlcmVzdC5zcXVhcmUsXG4gIGkuaWNvbi5wbGF5c3RhdGlvbixcbiAgaS5pY29uLnByb2R1Y3QuaHVudCxcbiAgaS5pY29uLnB1c2hlZCxcbiAgaS5pY29uLnB5dGhvbixcbiAgaS5pY29uLnFxLFxuICBpLmljb24ucXVpbnNjYXBlLFxuICBpLmljb24ucXVvcmEsXG4gIGkuaWNvbi5yYXZlbHJ5LFxuICBpLmljb24ucmVhY3QsXG4gIGkuaWNvbi5yZWJlbCxcbiAgaS5pY29uLnJlZHJpdmVyLFxuICBpLmljb24ucmVkZGl0LFxuICBpLmljb24ucmVkZGl0LmFsaWVuLFxuICBpLmljb24ucmVkZGl0LnNxdWFyZSxcbiAgaS5pY29uLnJlbmRhY3QsXG4gIGkuaWNvbi5yZW5yZW4sXG4gIGkuaWNvbi5yZXBseWQsXG4gIGkuaWNvbi5yZXNvbHZpbmcsXG4gIGkuaWNvbi5yb2NrZXRjaGF0LFxuICBpLmljb24ucm9ja3JtcyxcbiAgaS5pY29uLnNhZmFyaSxcbiAgaS5pY29uLnNhc3MsXG4gIGkuaWNvbi5zY2hsaXgsXG4gIGkuaWNvbi5zY3JpYmQsXG4gIGkuaWNvbi5zZWFyY2hlbmdpbixcbiAgaS5pY29uLnNlbGxjYXN0LFxuICBpLmljb24uc2VsbHN5LFxuICBpLmljb24uc2VydmljZXN0YWNrLFxuICBpLmljb24uc2hpcnRzaW5idWxrLFxuICBpLmljb24uc2ltcGx5YnVpbHQsXG4gIGkuaWNvbi5zaXN0cml4LFxuICBpLmljb24uc2t5YXRsYXMsXG4gIGkuaWNvbi5za3lwZSxcbiAgaS5pY29uLnNsYWNrLFxuICBpLmljb24uc2xhY2suaGFzaCxcbiAgaS5pY29uLnNsaWRlc2hhcmUsXG4gIGkuaWNvbi5zbmFwY2hhdCxcbiAgaS5pY29uLnNuYXBjaGF0Lmdob3N0LFxuICBpLmljb24uc25hcGNoYXQuc3F1YXJlLFxuICBpLmljb24uc291bmRjbG91ZCxcbiAgaS5pY29uLnNwZWFrYXAsXG4gIGkuaWNvbi5zcG90aWZ5LFxuICBpLmljb24uc3RhY2suZXhjaGFuZ2UsXG4gIGkuaWNvbi5zdGFjay5vdmVyZmxvdyxcbiAgaS5pY29uLnN0YXlsaW5rZWQsXG4gIGkuaWNvbi5zdGVhbSxcbiAgaS5pY29uLnN0ZWFtLnNxdWFyZSxcbiAgaS5pY29uLnN0ZWFtLnN5bWJvbCxcbiAgaS5pY29uLnN0aWNrZXIubXVsZSxcbiAgaS5pY29uLnN0cmF2YSxcbiAgaS5pY29uLnN0cmlwZSxcbiAgaS5pY29uLnN0cmlwZS5zLFxuICBpLmljb24uc3R1ZGlvdmluYXJpLFxuICBpLmljb24uc3R1bWJsZXVwb24sXG4gIGkuaWNvbi5zdHVtYmxldXBvbi5jaXJjbGUsXG4gIGkuaWNvbi5zdXBlcnBvd2VycyxcbiAgaS5pY29uLnN1cHBsZSxcbiAgaS5pY29uLnRlbGVncmFtLFxuICBpLmljb24udGVsZWdyYW0ucGxhbmUsXG4gIGkuaWNvbi50ZW5jZW50LndlaWJvLFxuICBpLmljb24udGhlbWVpc2xlLFxuICBpLmljb24udHJlbGxvLFxuICBpLmljb24udHJpcGFkdmlzb3IsXG4gIGkuaWNvbi50dW1ibHIsXG4gIGkuaWNvbi50dW1ibHIuc3F1YXJlLFxuICBpLmljb24udHdpdGNoLFxuICBpLmljb24udHdpdHRlcixcbiAgaS5pY29uLnR3aXR0ZXIuc3F1YXJlLFxuICBpLmljb24udHlwbzMsXG4gIGkuaWNvbi51YmVyLFxuICBpLmljb24udWlraXQsXG4gIGkuaWNvbi51bmlyZWdpc3RyeSxcbiAgaS5pY29uLnVudGFwcGQsXG4gIGkuaWNvbi51c2IsXG4gIGkuaWNvbi51c3N1bm5haCxcbiAgaS5pY29uLnZhYWRpbixcbiAgaS5pY29uLnZpYWNvaW4sXG4gIGkuaWNvbi52aWFkZW8sXG4gIGkuaWNvbi52aWFkZW8uc3F1YXJlLFxuICBpLmljb24udmliZXIsXG4gIGkuaWNvbi52aW1lbyxcbiAgaS5pY29uLnZpbWVvLnNxdWFyZSxcbiAgaS5pY29uLnZpbWVvLnYsXG4gIGkuaWNvbi52aW5lLFxuICBpLmljb24udmssXG4gIGkuaWNvbi52bnYsXG4gIGkuaWNvbi52dWVqcyxcbiAgaS5pY29uLndlY2hhdCxcbiAgaS5pY29uLndlaWJvLFxuICBpLmljb24ud2VpeGluLFxuICBpLmljb24ud2hhdHNhcHAsXG4gIGkuaWNvbi53aGF0c2FwcC5zcXVhcmUsXG4gIGkuaWNvbi53aG1jcyxcbiAgaS5pY29uLndpa2lwZWRpYS53LFxuICBpLmljb24ud2luZG93cyxcbiAgaS5pY29uLndvcmRwcmVzcyxcbiAgaS5pY29uLndvcmRwcmVzcy5zaW1wbGUsXG4gIGkuaWNvbi53cGJlZ2lubmVyLFxuICBpLmljb24ud3BleHBsb3JlcixcbiAgaS5pY29uLndwZm9ybXMsXG4gIGkuaWNvbi54Ym94LFxuICBpLmljb24ueGluZyxcbiAgaS5pY29uLnhpbmcuc3F1YXJlLFxuICBpLmljb24ueS5jb21iaW5hdG9yLFxuICBpLmljb24ueWFob28sXG4gIGkuaWNvbi55YW5kZXgsXG4gIGkuaWNvbi55YW5kZXguaW50ZXJuYXRpb25hbCxcbiAgaS5pY29uLnllbHAsXG4gIGkuaWNvbi55b2FzdCxcbiAgaS5pY29uLnlvdXR1YmUsXG4gIGkuaWNvbi55b3V0dWJlLnNxdWFyZSB7XG4gICAgZm9udC1mYW1pbHk6ICdicmFuZC1pY29ucyc7XG4gIH1cbiAgLyogQnJhbmQgSWNvbnMgSWRlYWxseSBXb3VsZCBCZSBEZWZpbmVkIEhlcmUgKi9cblxufVxuLmxvYWRCcmFuZEljb25zKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBJbWFnZVxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ2VsZW1lbnQnO1xuQGVsZW1lbnQgOiAnaW1hZ2UnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBJbWFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBsYWNlaG9sZGVyQ29sb3I7XG59XG5cbmltZy51aS5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udWkuaW1hZ2Ugc3ZnLFxuLnVpLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuaGlkZGVuLmltYWdlcyxcbi51aS5oaWRkZW4uaW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmhpZGRlbi50cmFuc2l0aW9uLmltYWdlcyxcbi51aS5oaWRkZW4udHJhbnNpdGlvbi5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuaW1hZ2VzID4gLmhpZGRlbi50cmFuc2l0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cblxuLnVpLmRpc2FibGVkLmltYWdlcyxcbi51aS5kaXNhYmxlZC5pbWFnZSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJbmxpbmVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbmxpbmUuaW1hZ2UsXG4udWkuaW5saW5lLmltYWdlIHN2Zyxcbi51aS5pbmxpbmUuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICBWZXJ0aWNhbCBBbGlnbmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRvcC5hbGlnbmVkLmltYWdlcyAuaW1hZ2UsXG4udWkudG9wLmFsaWduZWQuaW1hZ2UsXG4udWkudG9wLmFsaWduZWQuaW1hZ2Ugc3ZnLFxuLnVpLnRvcC5hbGlnbmVkLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5taWRkbGUuYWxpZ25lZC5pbWFnZXMgLmltYWdlLFxuLnVpLm1pZGRsZS5hbGlnbmVkLmltYWdlLFxuLnVpLm1pZGRsZS5hbGlnbmVkLmltYWdlIHN2Zyxcbi51aS5taWRkbGUuYWxpZ25lZC5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4udWkuYm90dG9tLmFsaWduZWQuaW1hZ2VzIC5pbWFnZSxcbi51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSxcbi51aS5ib3R0b20uYWxpZ25lZC5pbWFnZSBzdmcsXG4udWkuYm90dG9tLmFsaWduZWQuaW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFJvdW5kZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5yb3VuZGVkLmltYWdlcyAuaW1hZ2UsXG4udWkucm91bmRlZC5pbWFnZSxcbi51aS5yb3VuZGVkLmltYWdlcyAuaW1hZ2UgPiAqLFxuLnVpLnJvdW5kZWQuaW1hZ2UgPiAqIHtcbiAgYm9yZGVyLXJhZGl1czogQHJvdW5kZWRCb3JkZXJSYWRpdXM7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBCb3JkZXJlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmJvcmRlcmVkLmltYWdlcyAuaW1hZ2UsXG4udWkuYm9yZGVyZWQuaW1hZ2VzIGltZyxcbi51aS5ib3JkZXJlZC5pbWFnZXMgc3ZnLFxuLnVpLmJvcmRlcmVkLmltYWdlIGltZyxcbi51aS5ib3JkZXJlZC5pbWFnZSBzdmcsXG5pbWcudWkuYm9yZGVyZWQuaW1hZ2Uge1xuICBib3JkZXI6IEBpbWFnZUJvcmRlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENpcmN1bGFyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2lyY3VsYXIuaW1hZ2VzLFxuLnVpLmNpcmN1bGFyLmltYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnVpLmNpcmN1bGFyLmltYWdlcyAuaW1hZ2UsXG4udWkuY2lyY3VsYXIuaW1hZ2UsXG4udWkuY2lyY3VsYXIuaW1hZ2VzIC5pbWFnZSA+ICosXG4udWkuY2lyY3VsYXIuaW1hZ2UgPiAqIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbHVpZC5pbWFnZXMsXG4udWkuZmx1aWQuaW1hZ2UsXG4udWkuZmx1aWQuaW1hZ2VzIGltZyxcbi51aS5mbHVpZC5pbWFnZXMgc3ZnLFxuLnVpLmZsdWlkLmltYWdlIHN2Zyxcbi51aS5mbHVpZC5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEF2YXRhclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmF2YXRhci5pbWFnZXMgLmltYWdlLFxuLnVpLmF2YXRhci5pbWFnZXMgaW1nLFxuLnVpLmF2YXRhci5pbWFnZXMgc3ZnLFxuLnVpLmF2YXRhci5pbWFnZSBpbWcsXG4udWkuYXZhdGFyLmltYWdlIHN2Zyxcbi51aS5hdmF0YXIuaW1hZ2Uge1xuICBtYXJnaW4tcmlnaHQ6IEBhdmF0YXJNYXJnaW47XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogQGF2YXRhclNpemU7XG4gIGhlaWdodDogQGF2YXRhclNpemU7XG5cbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFNwYWNlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc3BhY2VkLmltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1sZWZ0OiBAc3BhY2VkRGlzdGFuY2U7XG4gIG1hcmdpbi1yaWdodDogQHNwYWNlZERpc3RhbmNlO1xufVxuXG4udWlbY2xhc3MqPVwibGVmdCBzcGFjZWRcIl0uaW1hZ2Uge1xuICBtYXJnaW4tbGVmdDogQHNwYWNlZERpc3RhbmNlO1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cblxuLnVpW2NsYXNzKj1cInJpZ2h0IHNwYWNlZFwiXS5pbWFnZSB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogQHNwYWNlZERpc3RhbmNlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGbG9hdGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbG9hdGVkLmltYWdlLFxuLnVpLmZsb2F0ZWQuaW1hZ2VzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogQGZsb2F0ZWRIb3Jpem9udGFsTWFyZ2luO1xuICBtYXJnaW4tYm90dG9tOiBAZmxvYXRlZFZlcnRpY2FsTWFyZ2luO1xufVxuLnVpLnJpZ2h0LmZsb2F0ZWQuaW1hZ2VzLFxuLnVpLnJpZ2h0LmZsb2F0ZWQuaW1hZ2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xuICBtYXJnaW4tYm90dG9tOiBAZmxvYXRlZFZlcnRpY2FsTWFyZ2luO1xuICBtYXJnaW4tbGVmdDogQGZsb2F0ZWRIb3Jpem9udGFsTWFyZ2luO1xufVxuXG4udWkuZmxvYXRlZC5pbWFnZXM6bGFzdC1jaGlsZCxcbi51aS5mbG9hdGVkLmltYWdlOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cblxuLnVpLmNlbnRlcmVkLmltYWdlcyxcbi51aS5jZW50ZXJlZC5pbWFnZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5taW5pLmltYWdlcyAuaW1hZ2UsXG4udWkubWluaS5pbWFnZXMgaW1nLFxuLnVpLm1pbmkuaW1hZ2VzIHN2Zyxcbi51aS5taW5pLmltYWdlIHtcbiAgd2lkdGg6IEBtaW5pV2lkdGg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiBAbWluaTtcbn1cbi51aS50aW55LmltYWdlcyAuaW1hZ2UsXG4udWkudGlueS5pbWFnZXMgaW1nLFxuLnVpLnRpbnkuaW1hZ2VzIHN2Zyxcbi51aS50aW55LmltYWdlIHtcbiAgd2lkdGg6IEB0aW55V2lkdGg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiBAdGlueTtcbn1cbi51aS5zbWFsbC5pbWFnZXMgLmltYWdlLFxuLnVpLnNtYWxsLmltYWdlcyBpbWcsXG4udWkuc21hbGwuaW1hZ2VzIHN2Zyxcbi51aS5zbWFsbC5pbWFnZSB7XG4gIHdpZHRoOiBAc21hbGxXaWR0aDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IEBzbWFsbDtcbn1cbi51aS5tZWRpdW0uaW1hZ2VzIC5pbWFnZSxcbi51aS5tZWRpdW0uaW1hZ2VzIGltZyxcbi51aS5tZWRpdW0uaW1hZ2VzIHN2Zyxcbi51aS5tZWRpdW0uaW1hZ2Uge1xuICB3aWR0aDogQG1lZGl1bVdpZHRoO1xuICBoZWlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbi51aS5sYXJnZS5pbWFnZXMgLmltYWdlLFxuLnVpLmxhcmdlLmltYWdlcyBpbWcsXG4udWkubGFyZ2UuaW1hZ2VzIHN2Zyxcbi51aS5sYXJnZS5pbWFnZSB7XG4gIHdpZHRoOiBAbGFyZ2VXaWR0aDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmb250LXNpemU6IEBsYXJnZTtcbn1cbi51aS5iaWcuaW1hZ2VzIC5pbWFnZSxcbi51aS5iaWcuaW1hZ2VzIGltZyxcbi51aS5iaWcuaW1hZ2VzIHN2Zyxcbi51aS5iaWcuaW1hZ2Uge1xuICB3aWR0aDogQGJpZ1dpZHRoO1xuICBoZWlnaHQ6IGF1dG87XG4gIGZvbnQtc2l6ZTogQGJpZztcbn1cbi51aS5odWdlLmltYWdlcyAuaW1hZ2UsXG4udWkuaHVnZS5pbWFnZXMgaW1nLFxuLnVpLmh1Z2UuaW1hZ2VzIHN2Zyxcbi51aS5odWdlLmltYWdlIHtcbiAgd2lkdGg6IEBodWdlV2lkdGg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiBAaHVnZTtcbn1cbi51aS5tYXNzaXZlLmltYWdlcyAuaW1hZ2UsXG4udWkubWFzc2l2ZS5pbWFnZXMgaW1nLFxuLnVpLm1hc3NpdmUuaW1hZ2VzIHN2Zyxcbi51aS5tYXNzaXZlLmltYWdlIHtcbiAgd2lkdGg6IEBtYXNzaXZlV2lkdGg7XG4gIGhlaWdodDogYXV0bztcbiAgZm9udC1zaXplOiBAbWFzc2l2ZTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBHcm91cHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5pbWFnZXMge1xuICBmb250LXNpemU6IDBlbTtcbiAgbWFyZ2luOiAwZW0gLUBpbWFnZUhvcml6b250YWxNYXJnaW4gMHJlbTtcbn1cblxuLnVpLmltYWdlcyAuaW1hZ2UsXG4udWkuaW1hZ2VzID4gaW1nLFxuLnVpLmltYWdlcyA+IHN2ZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwZW0gQGltYWdlSG9yaXpvbnRhbE1hcmdpbiBAaW1hZ2VWZXJ0aWNhbE1hcmdpbjtcbn1cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyohXG4gKiAjIFNlbWFudGljIFVJIC0gSW5wdXRcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGUgICAgOiAnZWxlbWVudCc7XG5AZWxlbWVudCA6ICdpbnB1dCc7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTdGFuZGFyZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIElucHV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogQG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgY29sb3I6IEBpbnB1dENvbG9yO1xufVxuLnVpLmlucHV0ID4gaW5wdXQge1xuICBtYXJnaW46IDBlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmbGV4OiAxIDAgYXV0bztcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICB0ZXh0LWFsaWduOiBAdGV4dEFsaWduO1xuICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG5cbiAgZm9udC1mYW1pbHk6IEBpbnB1dEZvbnQ7XG4gIHBhZGRpbmc6IEBwYWRkaW5nO1xuXG4gIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICBib3JkZXI6IEBib3JkZXI7XG4gIGNvbG9yOiBAaW5wdXRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG5cbiAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQbGFjZWhvbGRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogYnJvd3NlcnMgcmVxdWlyZSB0aGVzZSBydWxlcyBzZXBhcmF0ZSAqL1xuXG4udWkuaW5wdXQgPiBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBAcGxhY2Vob2xkZXJDb2xvcjtcbn1cbi51aS5pbnB1dCA+IGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBwbGFjZWhvbGRlckNvbG9yO1xufVxuLnVpLmlucHV0ID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBwbGFjZWhvbGRlckNvbG9yO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXNhYmxlZC5pbnB1dCxcbi51aS5pbnB1dDpub3QoLmRpc2FibGVkKSBpbnB1dFtkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xufVxuXG4udWkuZGlzYWJsZWQuaW5wdXQgPiBpbnB1dCxcbi51aS5pbnB1dDpub3QoLmRpc2FibGVkKSBpbnB1dFtkaXNhYmxlZF0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnB1dCA+IGlucHV0OmFjdGl2ZSxcbi51aS5pbnB1dC5kb3duIGlucHV0IHtcbiAgYm9yZGVyLWNvbG9yOiBAZG93bkJvcmRlckNvbG9yO1xuICBiYWNrZ3JvdW5kOiBAZG93bkJhY2tncm91bmQ7XG4gIGNvbG9yOiBAZG93bkNvbG9yO1xuICBib3gtc2hhZG93OiBAZG93bkJveFNoYWRvdztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIExvYWRpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sb2FkaW5nLmxvYWRpbmcuaW5wdXQgPiBpLmljb246YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcblxuICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcblxuICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG4gIGJvcmRlcjogQGxvYWRlckxpbmVXaWR0aCBzb2xpZCBAbG9hZGVyRmlsbENvbG9yO1xufVxuLnVpLmxvYWRpbmcubG9hZGluZy5pbnB1dCA+IGkuaWNvbjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG5cbiAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICB3aWR0aDogQGxvYWRlclNpemU7XG4gIGhlaWdodDogQGxvYWRlclNpemU7XG5cbiAgYW5pbWF0aW9uOiBidXR0b24tc3BpbiBAbG9hZGVyU3BlZWQgbGluZWFyO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcblxuICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG5cbiAgYm9yZGVyLWNvbG9yOiBAbG9hZGVyTGluZUNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IEBsb2FkZXJMaW5lV2lkdGg7XG5cbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnB1dC5mb2N1cyA+IGlucHV0LFxuLnVpLmlucHV0ID4gaW5wdXQ6Zm9jdXMgIHtcbiAgYm9yZGVyLWNvbG9yOiBAZm9jdXNCb3JkZXJDb2xvcjtcbiAgYmFja2dyb3VuZDogQGZvY3VzQmFja2dyb3VuZDtcbiAgY29sb3I6IEBmb2N1c0NvbG9yO1xuICBib3gtc2hhZG93OiBAZm9jdXNCb3hTaGFkb3c7XG59XG4udWkuaW5wdXQuZm9jdXMgPiBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbi51aS5pbnB1dCA+IGlucHV0OmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBwbGFjZWhvbGRlckZvY3VzQ29sb3I7XG59XG4udWkuaW5wdXQuZm9jdXMgPiBpbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi51aS5pbnB1dCA+IGlucHV0OmZvY3VzOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBwbGFjZWhvbGRlckZvY3VzQ29sb3I7XG59XG4udWkuaW5wdXQuZm9jdXMgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4udWkuaW5wdXQgPiBpbnB1dDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogQHBsYWNlaG9sZGVyRm9jdXNDb2xvcjtcbn1cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRXJyb3Jcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnB1dC5lcnJvciA+IGlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGVycm9yQmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAZXJyb3JCb3JkZXI7XG4gIGNvbG9yOiBAZXJyb3JDb2xvcjtcbiAgYm94LXNoYWRvdzogQGVycm9yQm94U2hhZG93O1xufVxuXG4vKiBFcnJvciBQbGFjZWhvbGRlciAqL1xuLnVpLmlucHV0LmVycm9yID4gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogQHBsYWNlaG9sZGVyRXJyb3JDb2xvcjtcbn1cbi51aS5pbnB1dC5lcnJvciA+IGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBwbGFjZWhvbGRlckVycm9yQ29sb3I7XG59XG4udWkuaW5wdXQuZXJyb3IgPiBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogQHBsYWNlaG9sZGVyRXJyb3JDb2xvciAhaW1wb3J0YW50O1xufVxuXG4vKiBGb2N1c2VkIEVycm9yIFBsYWNlaG9sZGVyICovXG4udWkuaW5wdXQuZXJyb3IgPiBpbnB1dDpmb2N1czo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBAcGxhY2Vob2xkZXJFcnJvckZvY3VzQ29sb3I7XG59XG4udWkuaW5wdXQuZXJyb3IgPiBpbnB1dDpmb2N1czo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBAcGxhY2Vob2xkZXJFcnJvckZvY3VzQ29sb3I7XG59XG4udWkuaW5wdXQuZXJyb3IgPiBpbnB1dDpmb2N1czotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogQHBsYWNlaG9sZGVyRXJyb3JGb2N1c0NvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFRyYW5zcGFyZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi51aS50cmFuc3BhcmVudC5pbnB1dCA+IGlucHV0IHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwZW0gIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbn1cblxuLyogVHJhbnNwYXJlbnQgSWNvbiAqL1xuLnVpLnRyYW5zcGFyZW50Lmljb24uaW5wdXQgPiBpLmljb24ge1xuICB3aWR0aDogQHRyYW5zcGFyZW50SWNvbldpZHRoO1xufVxuLnVpLnRyYW5zcGFyZW50Lmljb24uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogMGVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IEB0cmFuc3BhcmVudEljb25NYXJnaW4gIWltcG9ydGFudDtcbn1cbi51aS50cmFuc3BhcmVudFtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogQHRyYW5zcGFyZW50SWNvbk1hcmdpbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbn1cblxuLyogVHJhbnNwYXJlbnQgSW52ZXJ0ZWQgKi9cbi51aS50cmFuc3BhcmVudC5pbnZlcnRlZC5pbnB1dCB7XG4gIGNvbG9yOiBAdHJhbnNwYXJlbnRJbnZlcnRlZENvbG9yO1xufVxuLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0ID4gaW5wdXQge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0ID4gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogQHRyYW5zcGFyZW50SW52ZXJ0ZWRQbGFjZWhvbGRlckNvbG9yO1xufVxuLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0ID4gaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogQHRyYW5zcGFyZW50SW52ZXJ0ZWRQbGFjZWhvbGRlckNvbG9yO1xufVxuLnVpLnRyYW5zcGFyZW50LmludmVydGVkLmlucHV0ID4gaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEB0cmFuc3BhcmVudEludmVydGVkUGxhY2Vob2xkZXJDb2xvcjtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaWNvbi5pbnB1dCA+IGkuaWNvbiB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgbWFyZ2luOiAwZW07XG4gIGhlaWdodDogMTAwJTtcblxuICB3aWR0aDogQGljb25XaWR0aDtcbiAgb3BhY2l0eTogQGljb25PcGFjaXR5O1xuICBib3JkZXItcmFkaXVzOiAwZW0gQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDBlbTtcbiAgdHJhbnNpdGlvbjogQGljb25UcmFuc2l0aW9uO1xufVxuLnVpLmljb24uaW5wdXQgPiBpLmljb246bm90KC5saW5rKSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnVpLmljb24uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IEBpY29uTWFyZ2luICFpbXBvcnRhbnQ7XG59XG5cbi51aS5pY29uLmlucHV0ID4gaS5pY29uOmJlZm9yZSxcbi51aS5pY29uLmlucHV0ID4gaS5pY29uOmFmdGVyIHtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogQGljb25PZmZzZXQ7XG59XG4udWkuaWNvbi5pbnB1dCA+IGkubGluay5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLmljb24uaW5wdXQgPiBpLmNpcmN1bGFyLmljb24ge1xuICB0b3A6IEBjaXJjdWxhckljb25WZXJ0aWNhbE9mZnNldDtcbiAgcmlnaHQ6IEBjaXJjdWxhckljb25Ib3Jpem9udGFsT2Zmc2V0O1xufVxuXG4vKiBMZWZ0IEljb24gSW5wdXQgKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpLmljb24ge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogQGJvcmRlcldpZHRoO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDBlbSAwZW0gQGJvcmRlclJhZGl1cztcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGljb25cIl0uaW5wdXQgPiBpLmNpcmN1bGFyLmljb24ge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogQGNpcmN1bGFySWNvbkhvcml6b250YWxPZmZzZXQ7XG59XG4udWlbY2xhc3MqPVwibGVmdCBpY29uXCJdLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IEBpY29uTWFyZ2luICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IEBob3Jpem9udGFsUGFkZGluZyAhaW1wb3J0YW50O1xufVxuXG4vKiBGb2N1cyAqL1xuLnVpLmljb24uaW5wdXQgPiBpbnB1dDpmb2N1cyB+IGkuaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTGFiZWxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogQWRqYWNlbnQgTGFiZWwgKi9cbi51aS5sYWJlbGVkLmlucHV0ID4gLmxhYmVsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiBAcmVsYXRpdmVNZWRpdW07XG59XG4udWkubGFiZWxlZC5pbnB1dCA+IC5sYWJlbDpub3QoLmNvcm5lcikge1xuICBwYWRkaW5nLXRvcDogQHZlcnRpY2FsUGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206IEB2ZXJ0aWNhbFBhZGRpbmc7XG59XG5cbi8qIFJlZ3VsYXIgTGFiZWwgb24gTGVmdCAqL1xuLnVpLmxhYmVsZWQuaW5wdXQ6bm90KFtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXSkgLmxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBweDtcbn1cbi51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pIC5sYWJlbDpmaXJzdC1jaGlsZCArIGlucHV0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51aS5sYWJlbGVkLmlucHV0Om5vdChbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl0pIC5sYWJlbDpmaXJzdC1jaGlsZCArIGlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IEBmb2N1c0JvcmRlckNvbG9yO1xufVxuXG4vKiBSZWd1bGFyIExhYmVsIG9uIFJpZ2h0ICovXG4udWlbY2xhc3MqPVwicmlnaHQgbGFiZWxlZFwiXS5pbnB1dCA+IGlucHV0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBsYWJlbGVkXCJdLmlucHV0ID4gaW5wdXQgKyAubGFiZWwge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweDtcbn1cblxuLnVpW2NsYXNzKj1cInJpZ2h0IGxhYmVsZWRcIl0uaW5wdXQgPiBpbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogQGZvY3VzQm9yZGVyQ29sb3IgIWltcG9ydGFudDtcbn1cblxuLyogQ29ybmVyIExhYmVsICovXG4udWkubGFiZWxlZC5pbnB1dCAuY29ybmVyLmxhYmVsIHtcbiAgdG9wOiBAbGFiZWxDb3JuZXJUb3A7XG4gIHJpZ2h0OiBAbGFiZWxDb3JuZXJSaWdodDtcbiAgZm9udC1zaXplOiBAbGFiZWxDb3JuZXJTaXplO1xuICBib3JkZXItcmFkaXVzOiAwZW0gQGJvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuXG4vKiBTcGFjaW5nIHdpdGggY29ybmVyIGxhYmVsICovXG4udWlbY2xhc3MqPVwiY29ybmVyIGxhYmVsZWRcIl06bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKS5sYWJlbGVkLmlucHV0ID4gaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiBAbGFiZWxlZE1hcmdpbiAhaW1wb3J0YW50O1xufVxuLnVpW2NsYXNzKj1cImNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdKSA+IGlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogQGxhYmVsZWRJY29uSW5wdXRNYXJnaW4gIWltcG9ydGFudDtcbn1cbi51aVtjbGFzcyo9XCJjb3JuZXIgbGFiZWxlZFwiXS5pY29uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBjb3JuZXIgbGFiZWxlZFwiXSkgPiAuaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogQGxhYmVsZWRJY29uTWFyZ2luO1xufVxuXG4vKiBMZWZ0IExhYmVsZWQgKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmxhYmVsZWQuaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogQGxhYmVsZWRNYXJnaW4gIWltcG9ydGFudDtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQgPiBpbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogQGxhYmVsZWRJY29uSW5wdXRNYXJnaW4gIWltcG9ydGFudDtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGNvcm5lciBsYWJlbGVkXCJdLmljb24uaW5wdXQgPiAuaWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiBAbGFiZWxlZEljb25NYXJnaW47XG59XG5cbi8qIENvcm5lciBMYWJlbCBQb3NpdGlvbiAgKi9cbi51aS5pbnB1dCA+IC51aS5jb3JuZXIubGFiZWwge1xuICB0b3A6IEBib3JkZXJXaWR0aDtcbiAgcmlnaHQ6IEBib3JkZXJXaWR0aDtcbn1cbi51aS5pbnB1dCA+IC51aS5sZWZ0LmNvcm5lci5sYWJlbCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBAYm9yZGVyV2lkdGg7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBBY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9uLFxuLnVpLmFjdGlvbi5pbnB1dCA+IC5idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogMCAwIGF1dG87XG59XG4udWkuYWN0aW9uLmlucHV0ID4gLmJ1dHRvbixcbi51aS5hY3Rpb24uaW5wdXQgPiAuYnV0dG9ucyA+IC5idXR0b24ge1xuICBwYWRkaW5nLXRvcDogQHZlcnRpY2FsUGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206IEB2ZXJ0aWNhbFBhZGRpbmc7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogQnV0dG9uIG9uIFJpZ2h0ICovXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gaW5wdXQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IC5kcm9wZG93bjpub3QoOmZpcnN0LWNoaWxkKSxcbi51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiAuYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnVpLmFjdGlvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdKSA+IC5idXR0b25zOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbn1cbi51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiAuZHJvcGRvd246bGFzdC1jaGlsZCxcbi51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiAuYnV0dG9uOmxhc3QtY2hpbGQsXG4udWkuYWN0aW9uLmlucHV0Om5vdChbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0pID4gLmJ1dHRvbnM6bGFzdC1jaGlsZCA+IC5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwcHggQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDBweDtcbn1cblxuLyogSW5wdXQgRm9jdXMgKi9cbi51aS5hY3Rpb24uaW5wdXQ6bm90KFtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXSkgPiBpbnB1dDpmb2N1cyB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogQGZvY3VzQm9yZGVyQ29sb3IgIWltcG9ydGFudDtcbn1cblxuLyogQnV0dG9uIG9uIExlZnQgKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IGlucHV0IHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDBweCAhaW1wb3J0YW50O1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IC5kcm9wZG93bixcbi51aVtjbGFzcyo9XCJsZWZ0IGFjdGlvblwiXS5pbnB1dCA+IC5idXR0b24sXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiAuYnV0dG9ucyA+IC5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG59XG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiAuZHJvcGRvd246Zmlyc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwibGVmdCBhY3Rpb25cIl0uaW5wdXQgPiAuYnV0dG9uOmZpcnN0LWNoaWxkLFxuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gLmJ1dHRvbnM6Zmlyc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAwcHggMHB4IEBib3JkZXJSYWRpdXM7XG59XG4vKiBJbnB1dCBGb2N1cyAqL1xuLnVpW2NsYXNzKj1cImxlZnQgYWN0aW9uXCJdLmlucHV0ID4gaW5wdXQ6Zm9jdXMge1xuICBib3JkZXItbGVmdC1jb2xvcjogQGZvY3VzQm9yZGVyQ29sb3IgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTdGFuZGFyZCAqL1xuLnVpLmludmVydGVkLmlucHV0ID4gaW5wdXQge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbHVpZC5pbnB1dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4udWkuZmx1aWQuaW5wdXQgPiBpbnB1dCB7XG4gIHdpZHRoOiAwcHggIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWluaS5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogQHJlbGF0aXZlTWluaTtcbn1cbi51aS5zbWFsbC5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogQHJlbGF0aXZlU21hbGw7XG59XG4udWkuaW5wdXQge1xuICBmb250LXNpemU6IEByZWxhdGl2ZU1lZGl1bTtcbn1cbi51aS5sYXJnZS5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogQHJlbGF0aXZlTGFyZ2U7XG59XG4udWkuYmlnLmlucHV0IHtcbiAgZm9udC1zaXplOiBAcmVsYXRpdmVCaWc7XG59XG4udWkuaHVnZS5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogQHJlbGF0aXZlSHVnZTtcbn1cbi51aS5tYXNzaXZlLmlucHV0IHtcbiAgZm9udC1zaXplOiBAcmVsYXRpdmVNYXNzaXZlO1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBMYWJlbFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ2VsZW1lbnQnO1xuQGVsZW1lbnQgOiAnbGFiZWwnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBMYWJlbFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IEB2ZXJ0aWNhbEFsaWduO1xuXG4gIG1hcmdpbjogQHZlcnRpY2FsTWFyZ2luIEBob3Jpem9udGFsTWFyZ2luO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kQ29sb3I7XG4gIGJhY2tncm91bmQtaW1hZ2U6IEBiYWNrZ3JvdW5kSW1hZ2U7XG4gIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xuICBjb2xvcjogQGNvbG9yO1xuXG4gIHRleHQtdHJhbnNmb3JtOiBAdGV4dFRyYW5zZm9ybTtcbiAgZm9udC13ZWlnaHQ6IEBmb250V2VpZ2h0O1xuXG4gIGJvcmRlcjogQGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG5cbi51aS5sYWJlbDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG4udWkubGFiZWw6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuXG4vKiBMaW5rICovXG5hLnVpLmxhYmVsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKiBJbnNpZGUgTGluayAqL1xuLnVpLmxhYmVsID4gYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIG9wYWNpdHk6IEBsaW5rT3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogQGxpbmtUcmFuc2l0aW9uO1xufVxuLnVpLmxhYmVsID4gYTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIEltYWdlICovXG4udWkubGFiZWwgPiBpbWcge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBoZWlnaHQ6IEBpbWFnZUhlaWdodCAhaW1wb3J0YW50O1xufVxuXG4vKiBJY29uICovXG4udWkubGFiZWwgPiAuaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDBlbSBAaWNvbkRpc3RhbmNlIDBlbSAwZW07XG59XG5cbi8qIERldGFpbCAqL1xuLnVpLmxhYmVsID4gLmRldGFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgZm9udC13ZWlnaHQ6IEBkZXRhaWxGb250V2VpZ2h0O1xuICBtYXJnaW4tbGVmdDogQGRldGFpbE1hcmdpbjtcbiAgb3BhY2l0eTogQGRldGFpbE9wYWNpdHk7XG59XG4udWkubGFiZWwgPiAuZGV0YWlsIC5pY29uIHtcbiAgbWFyZ2luOiAwZW0gQGRldGFpbEljb25EaXN0YW5jZSAwZW0gMGVtO1xufVxuXG5cbi8qIFJlbW92YWJsZSBsYWJlbCAqL1xuLnVpLmxhYmVsID4gLmNsb3NlLmljb24sXG4udWkubGFiZWwgPiAuZGVsZXRlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xuICBtYXJnaW4tbGVmdDogQGRlbGV0ZU1hcmdpbjtcbiAgZm9udC1zaXplOiBAZGVsZXRlU2l6ZTtcbiAgb3BhY2l0eTogQGRlbGV0ZU9wYWNpdHk7XG4gIHRyYW5zaXRpb246IEBkZWxldGVUcmFuc2l0aW9uO1xufVxuLnVpLmxhYmVsID4gLmRlbGV0ZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgR3JvdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxhYmVscyA+IC5sYWJlbCB7XG4gIG1hcmdpbjogMGVtIEBncm91cEhvcml6b250YWxNYXJnaW4gQGdyb3VwVmVydGljYWxNYXJnaW4gMGVtO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5oZWFkZXIgPiAudWkubGFiZWwge1xuICBtYXJnaW4tdG9wOiBAbGluZUhlaWdodE9mZnNldDtcbn1cblxuXG4vKiBSZW1vdmUgYm9yZGVyIHJhZGl1cyBvbiBhdHRhY2hlZCBzZWdtZW50ICovXG4udWkuYXR0YWNoZWQuc2VnbWVudCA+IC51aS50b3AubGVmdC5hdHRhY2hlZC5sYWJlbCxcbi51aS5ib3R0b20uYXR0YWNoZWQuc2VnbWVudCA+IC51aS50b3AubGVmdC5hdHRhY2hlZC5sYWJlbCAge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpLmF0dGFjaGVkLnNlZ21lbnQgPiAudWkudG9wLnJpZ2h0LmF0dGFjaGVkLmxhYmVsLFxuLnVpLmJvdHRvbS5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLnRvcC5yaWdodC5hdHRhY2hlZC5sYWJlbCAge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbn1cbi51aS50b3AuYXR0YWNoZWQuc2VnbWVudCA+IC51aS5ib3R0b20ubGVmdC5hdHRhY2hlZC5sYWJlbCAge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLnVpLnRvcC5hdHRhY2hlZC5zZWdtZW50ID4gLnVpLmJvdHRvbS5yaWdodC5hdHRhY2hlZC5sYWJlbCAge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cblxuLyogUGFkZGluZyBvbiBuZXh0IGNvbnRlbnQgYWZ0ZXIgYSBsYWJlbCAqL1xuLnVpLnRvcC5hdHRhY2hlZC5sYWJlbDpmaXJzdC1jaGlsZCArIDpub3QoLmF0dGFjaGVkKSxcbi51aS50b3AuYXR0YWNoZWQubGFiZWwgKyBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSArICoge1xuICBtYXJnaW4tdG9wOiBAYXR0YWNoZWRTZWdtZW50UGFkZGluZyAhaW1wb3J0YW50O1xufVxuLnVpLmJvdHRvbS5hdHRhY2hlZC5sYWJlbDpmaXJzdC1jaGlsZCB+IDpsYXN0LWNoaWxkOm5vdCguYXR0YWNoZWQpIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xuICBtYXJnaW4tYm90dG9tOiBAYXR0YWNoZWRTZWdtZW50UGFkZGluZyAhaW1wb3J0YW50O1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5pbWFnZS5sYWJlbCB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICBtYXgtd2lkdGg6IDk5OTlweDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICBiYWNrZ3JvdW5kOiBAaW1hZ2VMYWJlbEJhY2tncm91bmQ7XG4gIHBhZGRpbmc6IEBpbWFnZUxhYmVsUGFkZGluZztcbiAgYm9yZGVyLXJhZGl1czogQGltYWdlTGFiZWxCb3JkZXJSYWRpdXM7XG4gIGJveC1zaGFkb3c6IEBpbWFnZUxhYmVsQm94U2hhZG93O1xufVxuXG4udWkuaW1hZ2UubGFiZWwgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gIGhlaWdodDogQGltYWdlTGFiZWxJbWFnZUhlaWdodDtcbiAgbWFyZ2luOiBAaW1hZ2VMYWJlbEltYWdlTWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiBAaW1hZ2VMYWJlbEltYWdlQm9yZGVyUmFkaXVzO1xufVxuXG4udWkuaW1hZ2UubGFiZWwgLmRldGFpbCB7XG4gIGJhY2tncm91bmQ6IEBpbWFnZUxhYmVsRGV0YWlsQmFja2dyb3VuZDtcbiAgbWFyZ2luOiBAaW1hZ2VMYWJlbERldGFpbE1hcmdpbjtcbiAgcGFkZGluZzogQGltYWdlTGFiZWxEZXRhaWxQYWRkaW5nO1xuICBib3JkZXItcmFkaXVzOiAwZW0gQGltYWdlTGFiZWxCb3JkZXJSYWRpdXMgQGltYWdlTGFiZWxCb3JkZXJSYWRpdXMgMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgIFRhZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGFnLmxhYmVscyAubGFiZWwsXG4udWkudGFnLmxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IEB0YWdIb3Jpem9udGFsUGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogQHRhZ0hvcml6b250YWxQYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IDBlbSBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMGVtO1xuICB0cmFuc2l0aW9uOiBAdGFnVHJhbnNpdGlvbjtcbn1cbi51aS50YWcubGFiZWxzIC5sYWJlbDpiZWZvcmUsXG4udWkudGFnLmxhYmVsOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSkgcm90YXRlKC00NWRlZyk7XG5cbiAgICB0b3A6IEB0YWdUcmlhbmdsZVRvcE9mZnNldDtcbiAgICByaWdodDogQHRhZ1RyaWFuZ2xlUmlnaHRPZmZzZXQ7XG4gICAgY29udGVudDogJyc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IEB0YWdUcmlhbmdsZUJhY2tncm91bmRJbWFnZTtcblxuICAgIHdpZHRoOiBAdGFnVHJpYW5nbGVTaXplO1xuICAgIGhlaWdodDogQHRhZ1RyaWFuZ2xlU2l6ZTtcbiAgICB0cmFuc2l0aW9uOiBAdGFnVHJhbnNpdGlvbjtcbn1cblxuXG4udWkudGFnLmxhYmVscyAubGFiZWw6YWZ0ZXIsXG4udWkudGFnLmxhYmVsOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IC0oQHRhZ0NpcmNsZVNpemUgLyAyKTtcblxuICBtYXJnaW4tdG9wOiAtKEB0YWdDaXJjbGVTaXplIC8gMik7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0YWdDaXJjbGVDb2xvciAhaW1wb3J0YW50O1xuICB3aWR0aDogQHRhZ0NpcmNsZVNpemU7XG4gIGhlaWdodDogQHRhZ0NpcmNsZVNpemU7XG5cbiAgYm94LXNoYWRvdzogQHRhZ0NpcmNsZUJveFNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENvcm5lciBMYWJlbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29ybmVyLmxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBlbTtcbiAgcmlnaHQ6IDBlbTtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJvcmRlci1jb2xvcjogQGJhY2tncm91bmRDb2xvcjtcblxuICB3aWR0aDogQGNvcm5lclRyaWFuZ2xlU2l6ZTtcbiAgaGVpZ2h0OiBAY29ybmVyVHJpYW5nbGVTaXplO1xuICB6LWluZGV4OiBAY29ybmVyVHJpYW5nbGVaSW5kZXg7XG4gIHRyYW5zaXRpb246IEBjb3JuZXJUcmlhbmdsZVRyYW5zaXRpb247XG59XG5cbi8qIEljb24gTGFiZWwgKi9cbi51aS5jb3JuZXIubGFiZWx7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4udWkuY29ybmVyLmxhYmVsOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICByaWdodDogMGVtO1xuICB0b3A6IDBlbTtcbiAgei1pbmRleDogLTE7XG5cbiAgd2lkdGg6IDBlbTtcbiAgaGVpZ2h0OiAwZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgYm9yZGVyLXRvcDogMGVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IEBjb3JuZXJUcmlhbmdsZVNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IEBjb3JuZXJUcmlhbmdsZVNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwZW0gc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBAY29ybmVyVHJpYW5nbGVUcmFuc2l0aW9uO1xufVxuXG4udWkuY29ybmVyLmxhYmVsIC5pY29uIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogQGNvcm5lckljb25Ub3BPZmZzZXQ7XG4gIGxlZnQ6IEBjb3JuZXJJY29uTGVmdE9mZnNldDtcbiAgZm9udC1zaXplOiBAY29ybmVySWNvblNpemU7XG4gIG1hcmdpbjogMGVtO1xufVxuXG4vKiBMZWZ0IENvcm5lciAqL1xuLnVpLmxlZnQuY29ybmVyLmxhYmVsLFxuLnVpLmxlZnQuY29ybmVyLmxhYmVsOmFmdGVyIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDBlbTtcbn1cbi51aS5sZWZ0LmNvcm5lci5sYWJlbDphZnRlciB7XG4gIGJvcmRlci10b3A6IEBjb3JuZXJUcmlhbmdsZVNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogQGNvcm5lclRyaWFuZ2xlU2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMGVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMGVtIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7XG59XG4udWkubGVmdC5jb3JuZXIubGFiZWwgLmljb24ge1xuICBsZWZ0OiAtQGNvcm5lckljb25MZWZ0T2Zmc2V0O1xufVxuXG4vKiBTZWdtZW50ICovXG4udWkuc2VnbWVudCA+IC51aS5jb3JuZXIubGFiZWwge1xuICB0b3A6IC0xcHg7XG4gIHJpZ2h0OiAtMXB4O1xufVxuLnVpLnNlZ21lbnQgPiAudWkubGVmdC5jb3JuZXIubGFiZWwge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogLTFweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgUmliYm9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5yaWJib24ubGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMGVtO1xuICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xuICBib3JkZXItcmFkaXVzOiAwZW0gQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDBlbTtcbiAgYm9yZGVyLWNvbG9yOiBAcmliYm9uU2hhZG93Q29sb3I7XG59XG5cbi51aS5yaWJib24ubGFiZWw6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuXG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwZW0gQHJpYmJvblRyaWFuZ2xlU2l6ZSBAcmliYm9uVHJpYW5nbGVTaXplIDBlbTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0O1xuXG4gIHdpZHRoOiAwZW07XG4gIGhlaWdodDogMGVtO1xufVxuLyogUG9zaXRpb25pbmcgKi9cbi51aS5yaWJib24ubGFiZWwge1xuICBsZWZ0OiBAcmliYm9uT2Zmc2V0O1xuICBtYXJnaW4tcmlnaHQ6IC1AcmliYm9uVHJpYW5nbGVTaXplO1xuICBwYWRkaW5nLWxlZnQ6IEByaWJib25EaXN0YW5jZTtcbiAgcGFkZGluZy1yaWdodDogQHJpYmJvblRyaWFuZ2xlU2l6ZTtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICBsZWZ0OiBAcmlnaHRSaWJib25PZmZzZXQ7XG4gIHBhZGRpbmctbGVmdDogQHJpYmJvblRyaWFuZ2xlU2l6ZTtcbiAgcGFkZGluZy1yaWdodDogQHJpYmJvbkRpc3RhbmNlO1xufVxuXG4vKiBSaWdodCBSaWJib24gKi9cbi51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIDBlbSAwZW0gQGJvcmRlclJhZGl1cztcbn1cbi51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWw6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMCU7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiBAcmliYm9uVHJpYW5nbGVTaXplIEByaWJib25UcmlhbmdsZVNpemUgMGVtIDBlbTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDtcbn1cblxuLyogSW5zaWRlIFRhYmxlICovXG4udWkuaW1hZ2UgPiAucmliYm9uLmxhYmVsLFxuLnVpLmNhcmQgLmltYWdlID4gLnJpYmJvbi5sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBAcmliYm9uSW1hZ2VUb3BEaXN0YW5jZTtcbn1cbi51aS5jYXJkIC5pbWFnZSA+IC51aS5yaWJib24ubGFiZWwsXG4udWkuaW1hZ2UgPiAudWkucmliYm9uLmxhYmVsIHtcbiAgbGVmdDogQHJpYmJvbkltYWdlT2Zmc2V0O1xufVxuLnVpLmNhcmQgLmltYWdlID4gLnVpW2NsYXNzKj1cInJpZ2h0IHJpYmJvblwiXS5sYWJlbCxcbi51aS5pbWFnZSA+IC51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICBsZWZ0OiBAcmlnaHRSaWJib25JbWFnZU9mZnNldDtcbiAgcGFkZGluZy1sZWZ0OiBAaG9yaXpvbnRhbFBhZGRpbmc7XG59XG5cbi8qIEluc2lkZSBUYWJsZSAqL1xuLnVpLnRhYmxlIHRkID4gLnVpLnJpYmJvbi5sYWJlbCB7XG4gIGxlZnQ6IEByaWJib25UYWJsZU9mZnNldDtcbn1cbi51aS50YWJsZSB0ZCA+IC51aVtjbGFzcyo9XCJyaWdodCByaWJib25cIl0ubGFiZWwge1xuICBsZWZ0OiBAcmlnaHRSaWJib25UYWJsZU9mZnNldDtcbiAgcGFkZGluZy1sZWZ0OiBAaG9yaXpvbnRhbFBhZGRpbmc7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBBdHRhY2hlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWlbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdLmxhYmVsLFxuLnVpLmF0dGFjaGVkLmxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwZW07XG4gIHRvcDogMGVtO1xuICBsZWZ0OiAwZW07XG5cbiAgcGFkZGluZzogQGF0dGFjaGVkVmVydGljYWxQYWRkaW5nIEBhdHRhY2hlZEhvcml6b250YWxQYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBhdHRhY2hlZENvcm5lckJvcmRlclJhZGl1cyBAYXR0YWNoZWRDb3JuZXJCb3JkZXJSYWRpdXMgMGVtIDBlbTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubGFiZWwge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMGVtO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIEBhdHRhY2hlZENvcm5lckJvcmRlclJhZGl1cyBAYXR0YWNoZWRDb3JuZXJCb3JkZXJSYWRpdXM7XG59XG5cbi51aVtjbGFzcyo9XCJ0b3AgbGVmdCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAwZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogQGF0dGFjaGVkQ29ybmVyQm9yZGVyUmFkaXVzIDBlbSBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgMGVtO1xufVxuXG4udWlbY2xhc3MqPVwidG9wIHJpZ2h0IGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgd2lkdGg6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwZW07XG4gIGJvcmRlci1yYWRpdXM6IDBlbSBAYXR0YWNoZWRDb3JuZXJCb3JkZXJSYWRpdXMgMGVtIEBhdHRhY2hlZEJvcmRlclJhZGl1cztcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gbGVmdCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIHdpZHRoOiBhdXRvO1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMGVtO1xuICBib3JkZXItcmFkaXVzOiAwZW0gQGF0dGFjaGVkQm9yZGVyUmFkaXVzIDBlbSBAYXR0YWNoZWRDb3JuZXJCb3JkZXJSYWRpdXM7XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIHJpZ2h0IGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDBlbTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDBlbTtcbiAgd2lkdGg6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IEBhdHRhY2hlZEJvcmRlclJhZGl1cyAwZW0gQGF0dGFjaGVkQ29ybmVyQm9yZGVyUmFkaXVzIDBlbTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGFiZWwuZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5hLnVpLmxhYmVscyAubGFiZWw6aG92ZXIsXG5hLnVpLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxhYmVsSG92ZXJCYWNrZ3JvdW5kQ29sb3I7XG4gIGJvcmRlci1jb2xvcjogQGxhYmVsSG92ZXJCYWNrZ3JvdW5kQ29sb3I7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogQGxhYmVsSG92ZXJCYWNrZ3JvdW5kSW1hZ2U7XG4gIGNvbG9yOiBAbGFiZWxIb3ZlclRleHRDb2xvcjtcbn1cbi51aS5sYWJlbHMgYS5sYWJlbDpob3ZlcjpiZWZvcmUsXG5hLnVpLmxhYmVsOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiBAbGFiZWxIb3ZlclRleHRDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYWN0aXZlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxhYmVsQWN0aXZlQmFja2dyb3VuZENvbG9yO1xuICBib3JkZXItY29sb3I6IEBsYWJlbEFjdGl2ZUJhY2tncm91bmRDb2xvcjtcblxuICBiYWNrZ3JvdW5kLWltYWdlOiBAbGFiZWxBY3RpdmVCYWNrZ3JvdW5kSW1hZ2U7XG4gIGNvbG9yOiBAbGFiZWxBY3RpdmVUZXh0Q29sb3I7XG59XG4udWkuYWN0aXZlLmxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsYWJlbEFjdGl2ZUJhY2tncm91bmRDb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogQGxhYmVsQWN0aXZlQmFja2dyb3VuZEltYWdlO1xuICBjb2xvcjogQGxhYmVsQWN0aXZlVGV4dENvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbmEudWkubGFiZWxzIC5hY3RpdmUubGFiZWw6aG92ZXIsXG5hLnVpLmFjdGl2ZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsYWJlbEFjdGl2ZUhvdmVyQmFja2dyb3VuZENvbG9yO1xuICBib3JkZXItY29sb3I6IEBsYWJlbEFjdGl2ZUhvdmVyQmFja2dyb3VuZENvbG9yO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IEBsYWJlbEFjdGl2ZUhvdmVyQmFja2dyb3VuZEltYWdlO1xuICBjb2xvcjogQGxhYmVsQWN0aXZlSG92ZXJUZXh0Q29sb3I7XG59XG4udWkubGFiZWxzIGEuYWN0aXZlLmxhYmVsOkFjdGl2ZUhvdmVyOmJlZm9yZSxcbmEudWkuYWN0aXZlLmxhYmVsOkFjdGl2ZUhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsYWJlbEFjdGl2ZUhvdmVyQmFja2dyb3VuZENvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBAbGFiZWxBY3RpdmVIb3ZlckJhY2tncm91bmRJbWFnZTtcbiAgY29sb3I6IEBsYWJlbEFjdGl2ZUhvdmVyVGV4dENvbG9yO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGFiZWxzLnZpc2libGUgLmxhYmVsLFxuLnVpLmxhYmVsLnZpc2libGU6bm90KC5kcm9wZG93bikge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBIaWRkZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxhYmVscy5oaWRkZW4gLmxhYmVsLFxuLnVpLmxhYmVsLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbG9yc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLSBSZWQgLS0tKi9cbi51aS5yZWQubGFiZWxzIC5sYWJlbCxcbi51aS5yZWQubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmVkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQHJlZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHJlZFRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLyogTGluayAqL1xuLnVpLnJlZC5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS5yZWQubGFiZWw6aG92ZXJ7XG4gIGJhY2tncm91bmQtY29sb3I6IEByZWRIb3ZlciAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEByZWRIb3ZlciAhaW1wb3J0YW50O1xuICBjb2xvcjogQHJlZEhvdmVyVGV4dENvbG9yICFpbXBvcnRhbnQ7XG59XG4vKiBDb3JuZXIgKi9cbi51aS5yZWQuY29ybmVyLmxhYmVsLFxuLnVpLnJlZC5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLyogUmliYm9uICovXG4udWkucmVkLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogQHJlZFJpYmJvblNoYWRvdyAhaW1wb3J0YW50O1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5yZWQubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBAYmFzaWNCYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcmVkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQHJlZCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnJlZC5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMucmVkLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcmVkSG92ZXIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAcmVkSG92ZXIgIWltcG9ydGFudDtcbn1cblxuLyotLS0gT3JhbmdlIC0tLSovXG4udWkub3JhbmdlLmxhYmVscyAubGFiZWwsXG4udWkub3JhbmdlLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG9yYW5nZSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBvcmFuZ2UgIWltcG9ydGFudDtcbiAgY29sb3I6IEBvcmFuZ2VUZXh0Q29sb3IgIWltcG9ydGFudDtcbn1cbi8qIExpbmsgKi9cbi51aS5vcmFuZ2UubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkub3JhbmdlLmxhYmVsOmhvdmVye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb3JhbmdlSG92ZXIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAb3JhbmdlSG92ZXIgIWltcG9ydGFudDtcbiAgY29sb3I6IEBvcmFuZ2VIb3ZlclRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLyogQ29ybmVyICovXG4udWkub3JhbmdlLmNvcm5lci5sYWJlbCxcbi51aS5vcmFuZ2UuY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLm9yYW5nZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6IEBvcmFuZ2VSaWJib25TaGFkb3cgIWltcG9ydGFudDtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMub3JhbmdlLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogQGJhc2ljQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQG9yYW5nZSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBvcmFuZ2UgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy5vcmFuZ2UubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLm9yYW5nZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQG9yYW5nZUhvdmVyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQG9yYW5nZUhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIFllbGxvdyAtLS0qL1xuLnVpLnllbGxvdy5sYWJlbHMgLmxhYmVsLFxuLnVpLnllbGxvdy5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB5ZWxsb3cgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAeWVsbG93ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAeWVsbG93VGV4dENvbG9yICFpbXBvcnRhbnQ7XG59XG4vKiBMaW5rICovXG4udWkueWVsbG93LmxhYmVscyAubGFiZWw6aG92ZXIsXG5hLnVpLnllbGxvdy5sYWJlbDpob3ZlcntcbiAgYmFja2dyb3VuZC1jb2xvcjogQHllbGxvd0hvdmVyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQHllbGxvd0hvdmVyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAeWVsbG93SG92ZXJUZXh0Q29sb3IgIWltcG9ydGFudDtcbn1cbi8qIENvcm5lciAqL1xuLnVpLnllbGxvdy5jb3JuZXIubGFiZWwsXG4udWkueWVsbG93LmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBSaWJib24gKi9cbi51aS55ZWxsb3cucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiBAeWVsbG93UmliYm9uU2hhZG93ICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnllbGxvdy5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IEBiYXNpY0JhY2tncm91bmQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB5ZWxsb3cgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAeWVsbG93ICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMueWVsbG93LmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS5iYXNpYy55ZWxsb3cubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbiAgY29sb3I6IEB5ZWxsb3dIb3ZlciAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEB5ZWxsb3dIb3ZlciAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBPbGl2ZSAtLS0qL1xuLnVpLm9saXZlLmxhYmVscyAubGFiZWwsXG4udWkub2xpdmUubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb2xpdmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAb2xpdmUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBvbGl2ZVRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLyogTGluayAqL1xuLnVpLm9saXZlLmxhYmVscyAubGFiZWw6aG92ZXIsXG5hLnVpLm9saXZlLmxhYmVsOmhvdmVye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb2xpdmVIb3ZlciAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBvbGl2ZUhvdmVyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAb2xpdmVIb3ZlclRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLyogQ29ybmVyICovXG4udWkub2xpdmUuY29ybmVyLmxhYmVsLFxuLnVpLm9saXZlLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBSaWJib24gKi9cbi51aS5vbGl2ZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6IEBncmVlblJpYmJvblNoYWRvdyAhaW1wb3J0YW50O1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5vbGl2ZS5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IEBiYXNpY0JhY2tncm91bmQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBvbGl2ZSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBvbGl2ZSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLm9saXZlLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS5iYXNpYy5vbGl2ZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQG9saXZlSG92ZXIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAb2xpdmVIb3ZlciAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBHcmVlbiAtLS0qL1xuLnVpLmdyZWVuLmxhYmVscyAubGFiZWwsXG4udWkuZ3JlZW4ubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JlZW4gIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAZ3JlZW4gIWltcG9ydGFudDtcbiAgY29sb3I6IEBncmVlblRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLyogTGluayAqL1xuLnVpLmdyZWVuLmxhYmVscyAubGFiZWw6aG92ZXIsXG5hLnVpLmdyZWVuLmxhYmVsOmhvdmVye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JlZW5Ib3ZlciAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBncmVlbkhvdmVyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAZ3JlZW5Ib3ZlclRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLyogQ29ybmVyICovXG4udWkuZ3JlZW4uY29ybmVyLmxhYmVsLFxuLnVpLmdyZWVuLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBSaWJib24gKi9cbi51aS5ncmVlbi5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6IEBncmVlblJpYmJvblNoYWRvdyAhaW1wb3J0YW50O1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5ncmVlbi5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IEBiYXNpY0JhY2tncm91bmQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBncmVlbiAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBncmVlbiAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmdyZWVuLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS5iYXNpYy5ncmVlbi5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQGdyZWVuSG92ZXIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAZ3JlZW5Ib3ZlciAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBUZWFsIC0tLSovXG4udWkudGVhbC5sYWJlbHMgLmxhYmVsLFxuLnVpLnRlYWwubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGVhbCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEB0ZWFsICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAdGVhbFRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLyogTGluayAqL1xuLnVpLnRlYWwubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkudGVhbC5sYWJlbDpob3ZlcntcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRlYWxIb3ZlciAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEB0ZWFsSG92ZXIgIWltcG9ydGFudDtcbiAgY29sb3I6IEB0ZWFsSG92ZXJUZXh0Q29sb3IgIWltcG9ydGFudDtcbn1cbi8qIENvcm5lciAqL1xuLnVpLnRlYWwuY29ybmVyLmxhYmVsLFxuLnVpLnRlYWwuY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnRlYWwucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiBAdGVhbFJpYmJvblNoYWRvdyAhaW1wb3J0YW50O1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy50ZWFsLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogQGJhc2ljQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHRlYWwgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAdGVhbCAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnRlYWwubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLnRlYWwubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbiAgY29sb3I6IEB0ZWFsSG92ZXIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAdGVhbEhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIEJsdWUgLS0tKi9cbi51aS5ibHVlLmxhYmVscyAubGFiZWwsXG4udWkuYmx1ZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibHVlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQGJsdWUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBibHVlVGV4dENvbG9yICFpbXBvcnRhbnQ7XG59XG4vKiBMaW5rICovXG4udWkuYmx1ZS5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS5ibHVlLmxhYmVsOmhvdmVye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZUhvdmVyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQGJsdWVIb3ZlciAhaW1wb3J0YW50O1xuICBjb2xvcjogQGJsdWVIb3ZlclRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLyogQ29ybmVyICovXG4udWkuYmx1ZS5jb3JuZXIubGFiZWwsXG4udWkuYmx1ZS5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLyogUmliYm9uICovXG4udWkuYmx1ZS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6IEBibHVlUmliYm9uU2hhZG93ICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmJsdWUubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBAYmFzaWNCYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAYmx1ZSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBibHVlICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYmx1ZS5sYWJlbHMgYS5sYWJlbDpob3ZlcixcbmEudWkuYmFzaWMuYmx1ZS5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQGJsdWVIb3ZlciAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBibHVlSG92ZXIgIWltcG9ydGFudDtcbn1cblxuLyotLS0gVmlvbGV0IC0tLSovXG4udWkudmlvbGV0LmxhYmVscyAubGFiZWwsXG4udWkudmlvbGV0LmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHZpb2xldCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEB2aW9sZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB2aW9sZXRUZXh0Q29sb3IgIWltcG9ydGFudDtcbn1cbi8qIExpbmsgKi9cbi51aS52aW9sZXQubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkudmlvbGV0LmxhYmVsOmhvdmVye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdmlvbGV0SG92ZXIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAdmlvbGV0SG92ZXIgIWltcG9ydGFudDtcbiAgY29sb3I6IEB2aW9sZXRIb3ZlclRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLyogQ29ybmVyICovXG4udWkudmlvbGV0LmNvcm5lci5sYWJlbCxcbi51aS52aW9sZXQuY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnZpb2xldC5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6IEB2aW9sZXRSaWJib25TaGFkb3cgIWltcG9ydGFudDtcbn1cbi8qIEJhc2ljICovXG4udWkuYmFzaWMudmlvbGV0LmxhYmVsIHtcbiAgYmFja2dyb3VuZDogQGJhc2ljQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHZpb2xldCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEB2aW9sZXQgIWltcG9ydGFudDtcbn1cbi51aS5iYXNpYy52aW9sZXQubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLnZpb2xldC5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQHZpb2xldEhvdmVyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQHZpb2xldEhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIFB1cnBsZSAtLS0qL1xuLnVpLnB1cnBsZS5sYWJlbHMgLmxhYmVsLFxuLnVpLnB1cnBsZS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwdXJwbGUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAcHVycGxlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcHVycGxlVGV4dENvbG9yICFpbXBvcnRhbnQ7XG59XG4vKiBMaW5rICovXG4udWkucHVycGxlLmxhYmVscyAubGFiZWw6aG92ZXIsXG5hLnVpLnB1cnBsZS5sYWJlbDpob3ZlcntcbiAgYmFja2dyb3VuZC1jb2xvcjogQHB1cnBsZUhvdmVyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQHB1cnBsZUhvdmVyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcHVycGxlSG92ZXJUZXh0Q29sb3IgIWltcG9ydGFudDtcbn1cbi8qIENvcm5lciAqL1xuLnVpLnB1cnBsZS5jb3JuZXIubGFiZWwsXG4udWkucHVycGxlLmNvcm5lci5sYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG4vKiBSaWJib24gKi9cbi51aS5wdXJwbGUucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiBAcHVycGxlUmliYm9uU2hhZG93ICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLnB1cnBsZS5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IEBiYXNpY0JhY2tncm91bmQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBwdXJwbGUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAcHVycGxlICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMucHVycGxlLmxhYmVscyBhLmxhYmVsOmhvdmVyLFxuYS51aS5iYXNpYy5wdXJwbGUubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBwdXJwbGVIb3ZlciAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBwdXJwbGVIb3ZlciAhaW1wb3J0YW50O1xufVxuXG4vKi0tLSBQaW5rIC0tLSovXG4udWkucGluay5sYWJlbHMgLmxhYmVsLFxuLnVpLnBpbmsubGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGluayAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBwaW5rICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcGlua1RleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLyogTGluayAqL1xuLnVpLnBpbmsubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkucGluay5sYWJlbDpob3ZlcntcbiAgYmFja2dyb3VuZC1jb2xvcjogQHBpbmtIb3ZlciAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBwaW5rSG92ZXIgIWltcG9ydGFudDtcbiAgY29sb3I6IEBwaW5rSG92ZXJUZXh0Q29sb3IgIWltcG9ydGFudDtcbn1cbi8qIENvcm5lciAqL1xuLnVpLnBpbmsuY29ybmVyLmxhYmVsLFxuLnVpLnBpbmsuY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLnBpbmsucmliYm9uLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiBAcGlua1JpYmJvblNoYWRvdyAhaW1wb3J0YW50O1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5waW5rLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogQGJhc2ljQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHBpbmsgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAcGluayAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLnBpbmsubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLnBpbmsubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBwaW5rSG92ZXIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAcGlua0hvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIEJyb3duIC0tLSovXG4udWkuYnJvd24ubGFiZWxzIC5sYWJlbCxcbi51aS5icm93bi5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBicm93biAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBicm93biAhaW1wb3J0YW50O1xuICBjb2xvcjogQGJyb3duVGV4dENvbG9yICFpbXBvcnRhbnQ7XG59XG4vKiBMaW5rICovXG4udWkuYnJvd24ubGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkuYnJvd24ubGFiZWw6aG92ZXJ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBicm93bkhvdmVyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQGJyb3duSG92ZXIgIWltcG9ydGFudDtcbiAgY29sb3I6IEBicm93bkhvdmVyVGV4dENvbG9yICFpbXBvcnRhbnQ7XG59XG4vKiBDb3JuZXIgKi9cbi51aS5icm93bi5jb3JuZXIubGFiZWwsXG4udWkuYnJvd24uY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLmJyb3duLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogQGJyb3duUmliYm9uU2hhZG93ICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmJyb3duLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogQGJhc2ljQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGJyb3duICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQGJyb3duICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYnJvd24ubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLmJyb3duLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAYnJvd25Ib3ZlciAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBicm93bkhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIEdyZXkgLS0tKi9cbi51aS5ncmV5LmxhYmVscyAubGFiZWwsXG4udWkuZ3JleS5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmV5ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQGdyZXkgIWltcG9ydGFudDtcbiAgY29sb3I6IEBncmV5VGV4dENvbG9yICFpbXBvcnRhbnQ7XG59XG4vKiBMaW5rICovXG4udWkuZ3JleS5sYWJlbHMgLmxhYmVsOmhvdmVyLFxuYS51aS5ncmV5LmxhYmVsOmhvdmVye1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JleUhvdmVyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQGdyZXlIb3ZlciAhaW1wb3J0YW50O1xuICBjb2xvcjogQGdyZXlIb3ZlclRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLyogQ29ybmVyICovXG4udWkuZ3JleS5jb3JuZXIubGFiZWwsXG4udWkuZ3JleS5jb3JuZXIubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLyogUmliYm9uICovXG4udWkuZ3JleS5yaWJib24ubGFiZWwge1xuICBib3JkZXItY29sb3I6IEBicm93blJpYmJvblNoYWRvdyAhaW1wb3J0YW50O1xufVxuLyogQmFzaWMgKi9cbi51aS5iYXNpYy5ncmV5LmxhYmVsIHtcbiAgYmFja2dyb3VuZDogQGJhc2ljQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGdyZXkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAZ3JleSAhaW1wb3J0YW50O1xufVxuLnVpLmJhc2ljLmdyZXkubGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLmdyZXkubGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBncmV5SG92ZXIgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAZ3JleUhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIEJsYWNrIC0tLSovXG4udWkuYmxhY2subGFiZWxzIC5sYWJlbCxcbi51aS5ibGFjay5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibGFjayAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBibGFjayAhaW1wb3J0YW50O1xuICBjb2xvcjogQGJsYWNrVGV4dENvbG9yICFpbXBvcnRhbnQ7XG59XG4vKiBMaW5rICovXG4udWkuYmxhY2subGFiZWxzIC5sYWJlbDpob3ZlcixcbmEudWkuYmxhY2subGFiZWw6aG92ZXJ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibGFja0hvdmVyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQGJsYWNrSG92ZXIgIWltcG9ydGFudDtcbiAgY29sb3I6IEBibGFja0hvdmVyVGV4dENvbG9yICFpbXBvcnRhbnQ7XG59XG4vKiBDb3JuZXIgKi9cbi51aS5ibGFjay5jb3JuZXIubGFiZWwsXG4udWkuYmxhY2suY29ybmVyLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi8qIFJpYmJvbiAqL1xuLnVpLmJsYWNrLnJpYmJvbi5sYWJlbCB7XG4gIGJvcmRlci1jb2xvcjogQGJyb3duUmliYm9uU2hhZG93ICFpbXBvcnRhbnQ7XG59XG4vKiBCYXNpYyAqL1xuLnVpLmJhc2ljLmJsYWNrLmxhYmVsIHtcbiAgYmFja2dyb3VuZDogQGJhc2ljQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGJsYWNrICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogQGJsYWNrICFpbXBvcnRhbnQ7XG59XG4udWkuYmFzaWMuYmxhY2subGFiZWxzIGEubGFiZWw6aG92ZXIsXG5hLnVpLmJhc2ljLmJsYWNrLmxhYmVsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAYmxhY2tIb3ZlciAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBibGFja0hvdmVyICFpbXBvcnRhbnQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEJhc2ljXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5iYXNpYy5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IEBiYXNpY0JhY2tncm91bmQ7XG4gIGJvcmRlcjogQGJhc2ljQm9yZGVyO1xuICBjb2xvcjogQGJhc2ljQ29sb3I7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0JveFNoYWRvdztcbn1cblxuLyogTGluayAqL1xuYS51aS5iYXNpYy5sYWJlbDpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZDogQGJhc2ljSG92ZXJCYWNrZ3JvdW5kO1xuICBjb2xvcjogQGJhc2ljSG92ZXJDb2xvcjtcbiAgYm94LXNoYWRvdzogQGJhc2ljSG92ZXJCb3JkZXI7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0hvdmVyQm94U2hhZG93O1xufVxuXG4vKiBQb2ludGluZyAqL1xuLnVpLmJhc2ljLnBvaW50aW5nLmxhYmVsOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGFiZWwuZmx1aWQsXG4udWkuZmx1aWQubGFiZWxzID4gLmxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnZlcnRlZC5sYWJlbHMgLmxhYmVsLFxuLnVpLmludmVydGVkLmxhYmVsIHtcbiAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgSG9yaXpvbnRhbFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaG9yaXpvbnRhbC5sYWJlbHMgLmxhYmVsLFxuLnVpLmhvcml6b250YWwubGFiZWwge1xuICBtYXJnaW46IDBlbSBAaG9yaXpvbnRhbExhYmVsTWFyZ2luIDBlbSAwZW07XG5cbiAgcGFkZGluZzogQGhvcml6b250YWxMYWJlbFZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gIG1pbi13aWR0aDogQGhvcml6b250YWxMYWJlbE1pbldpZHRoO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ2lyY3VsYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNpcmN1bGFyLmxhYmVscyAubGFiZWwsXG4udWkuY2lyY3VsYXIubGFiZWwge1xuICBtaW4td2lkdGg6IEBjaXJjdWxhck1pblNpemU7XG4gIG1pbi1oZWlnaHQ6IEBjaXJjdWxhck1pblNpemU7XG5cbiAgcGFkZGluZzogQGNpcmN1bGFyUGFkZGluZyAhaW1wb3J0YW50O1xuXG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xufVxuLnVpLmVtcHR5LmNpcmN1bGFyLmxhYmVscyAubGFiZWwsXG4udWkuZW1wdHkuY2lyY3VsYXIubGFiZWwge1xuICBtaW4td2lkdGg6IDBlbTtcbiAgbWluLWhlaWdodDogMGVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogQGVtcHR5Q2lyY2xlU2l6ZTtcbiAgaGVpZ2h0OiBAZW1wdHlDaXJjbGVTaXplO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFBvaW50aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5wb2ludGluZy5sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVpLmF0dGFjaGVkLnBvaW50aW5nLmxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4udWkucG9pbnRpbmcubGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1pbWFnZTogaW5oZXJpdDtcbiAgYm9yZGVyLXdpZHRoOiBub25lO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IEBwb2ludGluZ0JvcmRlckNvbG9yO1xufVxuLyogQXJyb3cgKi9cbi51aS5wb2ludGluZy5sYWJlbDpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgei1pbmRleDogQHBvaW50aW5nVHJpYW5nbGVaSW5kZXg7XG4gIHdpZHRoOiBAcG9pbnRpbmdUcmlhbmdsZVNpemU7XG4gIGhlaWdodDogQHBvaW50aW5nVHJpYW5nbGVTaXplO1xuICB0cmFuc2l0aW9uOiBAcG9pbnRpbmdUcmlhbmdsZVRyYW5zaXRpb247XG59XG5cbi8qLS0tIEFib3ZlIC0tLSovXG4udWkucG9pbnRpbmcubGFiZWwsXG4udWlbY2xhc3MqPVwicG9pbnRpbmcgYWJvdmVcIl0ubGFiZWwge1xuICBtYXJnaW4tdG9wOiBAcG9pbnRpbmdWZXJ0aWNhbERpc3RhbmNlO1xufVxuLnVpLnBvaW50aW5nLmxhYmVsOmJlZm9yZSxcbi51aVtjbGFzcyo9XCJwb2ludGluZyBhYm92ZVwiXS5sYWJlbDpiZWZvcmUge1xuICBib3JkZXItd2lkdGg6IEBib3JkZXJXaWR0aCAwcHggMHB4IEBib3JkZXJXaWR0aDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgdG9wOiAwJTtcbiAgbGVmdDogNTAlO1xufVxuLyotLS0gQmVsb3cgLS0tKi9cbi51aVtjbGFzcyo9XCJib3R0b20gcG9pbnRpbmdcIl0ubGFiZWwsXG4udWlbY2xhc3MqPVwicG9pbnRpbmcgYmVsb3dcIl0ubGFiZWwge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IEBwb2ludGluZ1ZlcnRpY2FsRGlzdGFuY2U7XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIHBvaW50aW5nXCJdLmxhYmVsOmJlZm9yZSxcbi51aVtjbGFzcyo9XCJwb2ludGluZyBiZWxvd1wiXS5sYWJlbDpiZWZvcmUge1xuICBib3JkZXItd2lkdGg6IDBweCBAYm9yZGVyV2lkdGggQGJvcmRlcldpZHRoIDBweDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG59XG4vKi0tLSBMZWZ0IC0tLSovXG4udWlbY2xhc3MqPVwibGVmdCBwb2ludGluZ1wiXS5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWxlZnQ6IEBwb2ludGluZ0hvcml6b250YWxEaXN0YW5jZTtcbn1cbi51aVtjbGFzcyo9XCJsZWZ0IHBvaW50aW5nXCJdLmxhYmVsOmJlZm9yZSB7XG4gIGJvcmRlci13aWR0aDogMHB4IDBweCBAYm9yZGVyV2lkdGggQGJvcmRlcldpZHRoO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICBib3R0b206IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMGVtO1xufVxuLyotLS0gUmlnaHQgLS0tKi9cbi51aVtjbGFzcyo9XCJyaWdodCBwb2ludGluZ1wiXS5sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLXJpZ2h0OiBAcG9pbnRpbmdIb3Jpem9udGFsRGlzdGFuY2U7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgcG9pbnRpbmdcIl0ubGFiZWw6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiBAYm9yZGVyV2lkdGggQGJvcmRlcldpZHRoIDBweCAwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwJTtcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vKiBCYXNpYyBQb2ludGluZyAqL1xuXG4vKi0tLSBBYm92ZSAtLS0qL1xuLnVpLmJhc2ljLnBvaW50aW5nLmxhYmVsOmJlZm9yZSxcbi51aS5iYXNpY1tjbGFzcyo9XCJwb2ludGluZyBhYm92ZVwiXS5sYWJlbDpiZWZvcmUge1xuICBtYXJnaW4tdG9wOiBAYmFzaWNQb2ludGluZ1RyaWFuZ2xlT2Zmc2V0O1xufVxuLyotLS0gQmVsb3cgLS0tKi9cbi51aS5iYXNpY1tjbGFzcyo9XCJib3R0b20gcG9pbnRpbmdcIl0ubGFiZWw6YmVmb3JlLFxuLnVpLmJhc2ljW2NsYXNzKj1cInBvaW50aW5nIGJlbG93XCJdLmxhYmVsOmJlZm9yZSB7XG4gIGJvdHRvbTogYXV0bztcbiAgdG9wOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtQGJhc2ljUG9pbnRpbmdUcmlhbmdsZU9mZnNldDtcbn1cbi8qLS0tIExlZnQgLS0tKi9cbi51aS5iYXNpY1tjbGFzcyo9XCJsZWZ0IHBvaW50aW5nXCJdLmxhYmVsOmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiBAYmFzaWNQb2ludGluZ1RyaWFuZ2xlT2Zmc2V0O1xufVxuLyotLS0gUmlnaHQgLS0tKi9cbi51aS5iYXNpY1tjbGFzcyo9XCJyaWdodCBwb2ludGluZ1wiXS5sYWJlbDpiZWZvcmUge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IEBiYXNpY1BvaW50aW5nVHJpYW5nbGVPZmZzZXQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS1cbiAgIEZsb2F0aW5nIExhYmVsXG4tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZsb2F0aW5nLmxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiBAZmxvYXRpbmdaSW5kZXg7XG4gIHRvcDogQGZsb2F0aW5nVG9wT2Zmc2V0O1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIEBmbG9hdGluZ0xlZnRPZmZzZXQgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5taW5pLmxhYmVscyAubGFiZWwsXG4udWkubWluaS5sYWJlbCB7XG4gIGZvbnQtc2l6ZTogQG1pbmk7XG59XG4udWkudGlueS5sYWJlbHMgLmxhYmVsLFxuLnVpLnRpbnkubGFiZWwge1xuICBmb250LXNpemU6IEB0aW55O1xufVxuLnVpLnNtYWxsLmxhYmVscyAubGFiZWwsXG4udWkuc21hbGwubGFiZWwge1xuICBmb250LXNpemU6IEBzbWFsbDtcbn1cbi51aS5sYWJlbHMgLmxhYmVsLFxuLnVpLmxhYmVsIHtcbiAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuLnVpLmxhcmdlLmxhYmVscyAubGFiZWwsXG4udWkubGFyZ2UubGFiZWwge1xuICBmb250LXNpemU6IEBsYXJnZTtcbn1cbi51aS5iaWcubGFiZWxzIC5sYWJlbCxcbi51aS5iaWcubGFiZWwge1xuICBmb250LXNpemU6IEBiaWc7XG59XG4udWkuaHVnZS5sYWJlbHMgLmxhYmVsLFxuLnVpLmh1Z2UubGFiZWwge1xuICBmb250LXNpemU6IEBodWdlO1xufVxuLnVpLm1hc3NpdmUubGFiZWxzIC5sYWJlbCxcbi51aS5tYXNzaXZlLmxhYmVsIHtcbiAgZm9udC1zaXplOiBAbWFzc2l2ZTtcbn1cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyohXG4gKiAjIFNlbWFudGljIFVJIC0gTGlzdFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdlbGVtZW50JztcbkBlbGVtZW50IDogJ2xpc3QnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBMaXN0XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG51bC51aS5saXN0LFxub2wudWkubGlzdCxcbi51aS5saXN0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBAbGlzdFN0eWxlVHlwZTtcbiAgbWFyZ2luOiBAbWFyZ2luO1xuICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbn1cblxudWwudWkubGlzdDpmaXJzdC1jaGlsZCxcbm9sLnVpLmxpc3Q6Zmlyc3QtY2hpbGQsXG4udWkubGlzdDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgcGFkZGluZy10b3A6IDBlbTtcbn1cblxudWwudWkubGlzdDpsYXN0LWNoaWxkLFxub2wudWkubGlzdDpsYXN0LWNoaWxkLFxuLnVpLmxpc3Q6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgcGFkZGluZy1ib3R0b206IDBlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIExpc3QgSXRlbSAqL1xudWwudWkubGlzdCBsaSxcbm9sLnVpLmxpc3QgbGksXG4udWkubGlzdCA+IC5pdGVtLFxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBAbGlzdFN0eWxlVHlwZTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogQGxpc3RTdHlsZVBvc2l0aW9uO1xuXG4gIHBhZGRpbmc6IEBpdGVtUGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IEBpdGVtTGluZUhlaWdodDtcbn1cblxudWwudWkubGlzdCA+IGxpOmZpcnN0LWNoaWxkOmFmdGVyLFxub2wudWkubGlzdCA+IGxpOmZpcnN0LWNoaWxkOmFmdGVyLFxuLnVpLmxpc3QgPiAubGlzdCA+IC5pdGVtLFxuLnVpLmxpc3QgPiAuaXRlbTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG51bC51aS5saXN0IGxpOmZpcnN0LWNoaWxkLFxub2wudWkubGlzdCBsaTpmaXJzdC1jaGlsZCxcbi51aS5saXN0IC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDBlbTtcbn1cbnVsLnVpLmxpc3QgbGk6bGFzdC1jaGlsZCxcbm9sLnVpLmxpc3QgbGk6bGFzdC1jaGlsZCxcbi51aS5saXN0IC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCxcbi51aS5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwZW07XG59XG5cbi8qIENoaWxkIExpc3QgKi9cbnVsLnVpLmxpc3QgdWwsXG5vbC51aS5saXN0IG9sLFxuLnVpLmxpc3QgLmxpc3Qge1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IEBjaGlsZExpc3RQYWRkaW5nO1xufVxuXG4vKiBDaGlsZCBJdGVtICovXG51bC51aS5saXN0IHVsIGxpLFxub2wudWkubGlzdCBvbCBsaSxcbi51aS5saXN0IC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nOiBAY2hpbGRJdGVtUGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IEBjaGlsZEl0ZW1MaW5lSGVpZ2h0O1xufVxuXG5cbi8qIEljb24gKi9cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpLmljb24sXG4udWkubGlzdCA+IC5pdGVtID4gaS5pY29uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmctdG9wOiBAaWNvbk9mZnNldDtcbiAgcGFkZGluZy1yaWdodDogQGljb25EaXN0YW5jZTtcbiAgdmVydGljYWwtYWxpZ246IEBpY29uQ29udGVudFZlcnRpY2FsQWxpZ247XG4gIHRyYW5zaXRpb246IEBpY29uVHJhbnNpdGlvbjtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiBpLmljb246b25seS1jaGlsZCxcbi51aS5saXN0ID4gLml0ZW0gPiBpLmljb246b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IEBpY29uVmVydGljYWxBbGlnbjtcbn1cblxuXG4vKiBJbWFnZSAqL1xuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSxcbi51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2Uge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwZW07XG4gIHZlcnRpY2FsLWFsaWduOiBAaW1hZ2VBbGlnbjtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2U6bm90KDpvbmx5LWNoaWxkKTpub3QoaW1nKSxcbi51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2U6bm90KDpvbmx5LWNoaWxkKTpub3QoaW1nKSB7XG4gIHBhZGRpbmctcmlnaHQ6IEBpbWFnZURpc3RhbmNlO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pbWFnZSBpbWcsXG4udWkubGlzdCA+IC5pdGVtID4gLmltYWdlIGltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBAaW1hZ2VBbGlnbjtcbn1cblxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IGltZy5pbWFnZSxcbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2U6b25seS1jaGlsZCxcbi51aS5saXN0ID4gLml0ZW0gPiBpbWcuaW1hZ2UsXG4udWkubGlzdCA+IC5pdGVtID4gLmltYWdlOm9ubHktY2hpbGQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIENvbnRlbnQgKi9cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gPiAuY29udGVudCxcbi51aS5saXN0ID4gLml0ZW0gPiAuY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiBAY29udGVudExpbmVIZWlnaHQ7XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmltYWdlICsgLmNvbnRlbnQsXG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gLmljb24gKyAuY29udGVudCxcbi51aS5saXN0ID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCxcbi51aS5saXN0ID4gLml0ZW0gPiAuaWNvbiArIC5jb250ZW50IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDBlbSAwZW0gMGVtIEBjb250ZW50RGlzdGFuY2U7XG4gIHZlcnRpY2FsLWFsaWduOiBAY29udGVudFZlcnRpY2FsQWxpZ247XG59XG4udWkubGlzdCAubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlICsgLmNvbnRlbnQsXG4udWkubGlzdCA+IC5pdGVtID4gaW1nLmltYWdlICsgLmNvbnRlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5jb250ZW50ID4gLmxpc3QsXG4udWkubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQgPiAubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIHBhZGRpbmctbGVmdDogMGVtO1xufVxuXG4vKiBIZWFkZXIgKi9cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gLmhlYWRlcixcbi51aS5saXN0ID4gLml0ZW0gLmhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDBlbTtcbiAgZm9udC1mYW1pbHk6IEBpdGVtSGVhZGVyRm9udEZhbWlseTtcbiAgZm9udC13ZWlnaHQ6IEBpdGVtSGVhZGVyRm9udFdlaWdodDtcbiAgY29sb3I6IEBpdGVtSGVhZGVyQ29sb3I7XG59XG5cbi8qIERlc2NyaXB0aW9uICovXG4udWkubGlzdCAubGlzdCA+IC5pdGVtIC5kZXNjcmlwdGlvbixcbi51aS5saXN0ID4gLml0ZW0gLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiBAaXRlbURlc2NyaXB0aW9uQ29sb3I7XG59XG5cbi8qIENoaWxkIExpbmsgKi9cbi51aS5saXN0ID4gLml0ZW0gYSxcbi51aS5saXN0IC5saXN0ID4gLml0ZW0gYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogTGlua2luZyBJdGVtICovXG4udWkubGlzdCAubGlzdCA+IGEuaXRlbSxcbi51aS5saXN0ID4gYS5pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogQGl0ZW1MaW5rQ29sb3I7XG59XG4udWkubGlzdCAubGlzdCA+IGEuaXRlbTpob3Zlcixcbi51aS5saXN0ID4gYS5pdGVtOmhvdmVyIHtcbiAgY29sb3I6IEBpdGVtTGlua0hvdmVyQ29sb3I7XG59XG5cbi8qIExpbmtlZCBJdGVtIEljb25zICovXG4udWkubGlzdCAubGlzdCA+IGEuaXRlbSBpLmljb24sXG4udWkubGlzdCA+IGEuaXRlbSBpLmljb24ge1xuICBjb2xvcjogQGl0ZW1MaW5rSWNvbkNvbG9yO1xufVxuXG4vKiBIZWFkZXIgTGluayAqL1xuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBhLmhlYWRlcixcbi51aS5saXN0ID4gLml0ZW0gYS5oZWFkZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiBAaXRlbUhlYWRlckxpbmtDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBhLmhlYWRlcjpob3Zlcixcbi51aS5saXN0ID4gLml0ZW0gYS5oZWFkZXI6aG92ZXIge1xuICBjb2xvcjogQGl0ZW1IZWFkZXJMaW5rSG92ZXJDb2xvciAhaW1wb3J0YW50O1xufVxuXG4vKiBGbG9hdGVkIENvbnRlbnQgKi9cbi51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ubGlzdCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ubGlzdCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLnVpLmxpc3QgLmxpc3QgPiAuaXRlbSBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLFxuLnVpLmxpc3QgPiAuaXRlbSBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogQGxlZnRGbG9hdE1hcmdpbjtcbn1cbi51aS5saXN0IC5saXN0ID4gLml0ZW0gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0sXG4udWkubGlzdCA+IC5pdGVtIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IEByaWdodEZsb2F0TWFyZ2luO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5tZW51IC51aS5saXN0ID4gLml0ZW0sXG4udWkubWVudSAudWkubGlzdCAubGlzdCA+IC5pdGVtIHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICBsaXN0LXN0eWxlLXR5cGU6IEBsaXN0U3R5bGVUeXBlO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBAbGlzdFN0eWxlUG9zaXRpb247XG5cbiAgcGFkZGluZzogQGl0ZW1WZXJ0aWNhbFBhZGRpbmcgQGl0ZW1Ib3Jpem9udGFsUGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IEBpdGVtTGluZUhlaWdodDtcbn1cbi51aS5tZW51IC51aS5saXN0IC5saXN0ID4gLml0ZW06YmVmb3JlLFxuLnVpLm1lbnUgLnVpLmxpc3QgPiAuaXRlbTpiZWZvcmUge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4udWkubWVudSAudWkubGlzdCAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLm1lbnUgLnVpLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiAwZW07XG59XG4udWkubWVudSAudWkubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkubWVudSAudWkubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogMGVtO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBIb3Jpem9udGFsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5ob3Jpem9udGFsLmxpc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMGVtO1xufVxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogQGhvcml6b250YWxTcGFjaW5nO1xuICBmb250LXNpemU6IDFyZW07XG59XG4udWkuaG9yaXpvbnRhbC5saXN0Om5vdCguY2VsbGVkKSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IDBlbSAhaW1wb3J0YW50O1xufVxuLnVpLmhvcml6b250YWwubGlzdCAubGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMGVtO1xuICBwYWRkaW5nLWJvdHRvbTogMGVtO1xufVxuXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0gPiAuaW1hZ2UsXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0gPiAuaWNvbixcbi51aS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSA+IC5pY29uLFxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmNvbnRlbnQsXG4udWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0gPiAuY29udGVudCB7XG4gIHZlcnRpY2FsLWFsaWduOiBAaG9yaXpvbnRhbFZlcnRpY2FsQWxpZ247XG59XG5cbi8qIFBhZGRpbmcgb24gYWxsIGVsZW1lbnRzICovXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiBAaXRlbVZlcnRpY2FsUGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206IEBpdGVtVmVydGljYWxQYWRkaW5nO1xufVxuXG4vKiBIb3Jpem9udGFsIExpc3QgKi9cbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IGkuaWNvbiB7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwZW0gQGhvcml6b250YWxJY29uRGlzdGFuY2UgMGVtIDBlbTtcbn1cbi51aS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSA+IC5pY29uLFxuLnVpLmhvcml6b250YWwubGlzdCA+IC5pdGVtID4gLmljb24gKyAuY29udGVudCB7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5saXN0IC5saXN0ID4gLmRpc2FibGVkLml0ZW0sXG4udWkubGlzdCA+IC5kaXNhYmxlZC5pdGVtIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiBAZGlzYWJsZWRDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiAuZGlzYWJsZWQuaXRlbSxcbi51aS5pbnZlcnRlZC5saXN0ID4gLmRpc2FibGVkLml0ZW0ge1xuICBjb2xvcjogQGludmVydGVkRGlzYWJsZWRDb2xvciAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIgLmljb24sXG4udWkubGlzdCA+IGEuaXRlbTpob3ZlciAuaWNvbiB7XG4gIGNvbG9yOiBAaXRlbUxpbmtJY29uSG92ZXJDb2xvcjtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQubGlzdCAubGlzdCA+IGEuaXRlbSA+IC5pY29uLFxuLnVpLmludmVydGVkLmxpc3QgPiBhLml0ZW0gPiAuaWNvbiB7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRJY29uTGlua0NvbG9yO1xufVxuLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiAuaXRlbSAuaGVhZGVyLFxuLnVpLmludmVydGVkLmxpc3QgPiAuaXRlbSAuaGVhZGVyIHtcbiAgY29sb3I6IEBpbnZlcnRlZEhlYWRlckNvbG9yO1xufVxuLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiAuaXRlbSAuZGVzY3JpcHRpb24sXG4udWkuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiBAaW52ZXJ0ZWREZXNjcmlwdGlvbkNvbG9yO1xufVxuXG4vKiBJdGVtIExpbmsgKi9cbi51aS5pbnZlcnRlZC5saXN0IC5saXN0ID4gYS5pdGVtLFxuLnVpLmludmVydGVkLmxpc3QgPiBhLml0ZW0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRJdGVtTGlua0NvbG9yO1xufVxuLnVpLmludmVydGVkLmxpc3QgLmxpc3QgPiBhLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQubGlzdCA+IGEuaXRlbTpob3ZlciB7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRJdGVtTGlua0hvdmVyQ29sb3I7XG59XG5cblxuLyogTGlua2luZyBDb250ZW50ICovXG4udWkuaW52ZXJ0ZWQubGlzdCAuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IEBpbnZlcnRlZEl0ZW1MaW5rQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5saXN0IC5pdGVtIGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogQGludmVydGVkSXRlbUxpbmtIb3ZlckNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFsaWduZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxpc3RbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0gLmltYWdlLFxuLnVpLmxpc3RbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0gLmNvbnRlbnQsXG4udWkubGlzdCBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG59XG4udWkubGlzdFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSAuaW1hZ2UsXG4udWkubGlzdFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSAuY29udGVudCxcbi51aS5saXN0IFtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbn1cbi51aS5saXN0W2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdIC5pbWFnZSxcbi51aS5saXN0W2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdIC5jb250ZW50LFxuLnVpLmxpc3QgW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMaW5rXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5saW5rLmxpc3QgLml0ZW0sXG4udWkubGluay5saXN0IGEuaXRlbSxcbi51aS5saW5rLmxpc3QgLml0ZW0gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiBAbGlua0xpc3RJdGVtQ29sb3I7XG4gIHRyYW5zaXRpb246IEBsaW5rTGlzdFRyYW5zaXRpb247XG59XG4udWkubGluay5saXN0Lmxpc3QgYS5pdGVtOmhvdmVyLFxuLnVpLmxpbmsubGlzdC5saXN0IC5pdGVtIGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogQGxpbmtMaXN0SXRlbUhvdmVyQ29sb3I7XG59XG4udWkubGluay5saXN0Lmxpc3QgYS5pdGVtOmFjdGl2ZSxcbi51aS5saW5rLmxpc3QubGlzdCAuaXRlbSBhOm5vdCgudWkpOmFjdGl2ZSB7XG4gIGNvbG9yOiBAbGlua0xpc3RJdGVtRG93bkNvbG9yO1xufVxuLnVpLmxpbmsubGlzdC5saXN0IC5hY3RpdmUuaXRlbSxcbi51aS5saW5rLmxpc3QubGlzdCAuYWN0aXZlLml0ZW0gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiBAbGlua0xpc3RJdGVtQWN0aXZlQ29sb3I7XG59XG5cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubGluay5saXN0IC5pdGVtLFxuLnVpLmludmVydGVkLmxpbmsubGlzdCBhLml0ZW0sXG4udWkuaW52ZXJ0ZWQubGluay5saXN0IC5pdGVtIGE6bm90KC51aSkge1xuICBjb2xvcjogQGludmVydGVkTGlua0xpc3RJdGVtQ29sb3I7XG59XG4udWkuaW52ZXJ0ZWQubGluay5saXN0Lmxpc3QgYS5pdGVtOmhvdmVyLFxuLnVpLmludmVydGVkLmxpbmsubGlzdC5saXN0IC5pdGVtIGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogQGludmVydGVkTGlua0xpc3RJdGVtSG92ZXJDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5saW5rLmxpc3QubGlzdCBhLml0ZW06YWN0aXZlLFxuLnVpLmludmVydGVkLmxpbmsubGlzdC5saXN0IC5pdGVtIGE6bm90KC51aSk6YWN0aXZlIHtcbiAgY29sb3I6IEBpbnZlcnRlZExpbmtMaXN0SXRlbURvd25Db2xvcjtcbn1cbi51aS5pbnZlcnRlZC5saW5rLmxpc3QubGlzdCBhLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLmxpbmsubGlzdC5saXN0IC5hY3RpdmUuaXRlbSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IEBpbnZlcnRlZExpbmtMaXN0SXRlbUFjdGl2ZUNvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNlbGVjdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiBAc2VsZWN0aW9uTGlzdEJhY2tncm91bmQ7XG4gIHBhZGRpbmc6IEBzZWxlY3Rpb25MaXN0SXRlbVZlcnRpY2FsUGFkZGluZyBAc2VsZWN0aW9uTGlzdEl0ZW1Ib3Jpem9udGFsUGFkZGluZztcbiAgbWFyZ2luOiBAc2VsZWN0aW9uTGlzdEl0ZW1NYXJnaW47XG4gIGNvbG9yOiBAc2VsZWN0aW9uTGlzdENvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAc2VsZWN0aW9uTGlzdEl0ZW1Cb3JkZXJSYWRpdXM7XG4gIHRyYW5zaXRpb246IEBzZWxlY3Rpb25MaXN0VHJhbnNpdGlvbjtcbn1cbi51aS5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtOmxhc3QtY2hpbGQsXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuLnVpLnNlbGVjdGlvbi5saXN0Lmxpc3QgPiAuaXRlbTpob3Zlcixcbi51aS5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogQHNlbGVjdGlvbkxpc3RIb3ZlckJhY2tncm91bmQ7XG4gIGNvbG9yOiBAc2VsZWN0aW9uTGlzdEhvdmVyQ29sb3I7XG59XG4udWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbTphY3RpdmUsXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBAc2VsZWN0aW9uTGlzdERvd25CYWNrZ3JvdW5kO1xuICBjb2xvcjogQHNlbGVjdGlvbkxpc3REb3duQ29sb3I7XG59XG4udWkuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbS5hY3RpdmUsXG4udWkuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBAc2VsZWN0aW9uTGlzdEFjdGl2ZUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAc2VsZWN0aW9uTGlzdEFjdGl2ZUNvbG9yO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0sXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZFNlbGVjdGlvbkxpc3RCYWNrZ3JvdW5kO1xuICBjb2xvcjogQGludmVydGVkU2VsZWN0aW9uTGlzdENvbG9yO1xufVxuLnVpLmludmVydGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZFNlbGVjdGlvbkxpc3RIb3ZlckJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRTZWxlY3Rpb25MaXN0SG92ZXJDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZFNlbGVjdGlvbkxpc3REb3duQmFja2dyb3VuZDtcbiAgY29sb3I6IEBpbnZlcnRlZFNlbGVjdGlvbkxpc3REb3duQ29sb3I7XG59XG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbS5hY3RpdmUsXG4udWkuaW52ZXJ0ZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRTZWxlY3Rpb25MaXN0QWN0aXZlQmFja2dyb3VuZDtcbiAgY29sb3I6IEBpbnZlcnRlZFNlbGVjdGlvbkxpc3RBY3RpdmVDb2xvcjtcbn1cblxuLyogQ2VsbGVkIC8gRGl2aWRlZCBTZWxlY3Rpb24gTGlzdCAqL1xuLnVpLmNlbGxlZC5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmRpdmlkZWQuc2VsZWN0aW9uLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5jZWxsZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSxcbi51aS5kaXZpZGVkLnNlbGVjdGlvbi5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEFuaW1hdGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5hbmltYXRlZC5saXN0ID4gLml0ZW0ge1xuICB0cmFuc2l0aW9uOiBAYW5pbWF0ZWRMaXN0VHJhbnNpdGlvbjtcbn1cbi51aS5hbmltYXRlZC5saXN0Om5vdCguaG9yaXpvbnRhbCkgPiAuaXRlbTpob3ZlciB7XG4gIHBhZGRpbmctbGVmdDogQGFuaW1hdGVkTGlzdEluZGVudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRml0dGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udWkuZml0dGVkLmxpc3Q6bm90KC5zZWxlY3Rpb24pIC5saXN0ID4gLml0ZW0sXG4udWkuZml0dGVkLmxpc3Q6bm90KC5zZWxlY3Rpb24pID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgcGFkZGluZy1yaWdodDogMGVtO1xufVxuLnVpLmZpdHRlZC5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmZpdHRlZC5zZWxlY3Rpb24ubGlzdCA+IC5pdGVtIHtcbiAgbWFyZ2luLWxlZnQ6IC1Ac2VsZWN0aW9uTGlzdEl0ZW1Ib3Jpem9udGFsUGFkZGluZztcbiAgbWFyZ2luLXJpZ2h0OiAtQHNlbGVjdGlvbkxpc3RJdGVtSG9yaXpvbnRhbFBhZGRpbmc7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQnVsbGV0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxudWwudWkubGlzdCxcbi51aS5idWxsZXRlZC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IEBidWxsZXREaXN0YW5jZTtcbn1cbnVsLnVpLmxpc3QgbGksXG4udWkuYnVsbGV0ZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmJ1bGxldGVkLmxpc3QgPiAuaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbnVsLnVpLmxpc3QgbGk6YmVmb3JlLFxuLnVpLmJ1bGxldGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpiZWZvcmUsXG4udWkuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOmJlZm9yZSB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIGZvbnQtd2VpZ2h0OiBAbm9ybWFsO1xuICBtYXJnaW4tbGVmdDogQGJ1bGxldE9mZnNldDtcbiAgY29udGVudDogQGJ1bGxldENoYXJhY3RlcjtcbiAgb3BhY2l0eTogQGJ1bGxldE9wYWNpdHk7XG4gIGNvbG9yOiBAYnVsbGV0Q29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBAYnVsbGV0VmVydGljYWxBbGlnbjtcbn1cblxudWwudWkubGlzdCBsaTpiZWZvcmUsXG4udWkuYnVsbGV0ZWQubGlzdCAubGlzdCA+IGEuaXRlbTpiZWZvcmUsXG4udWkuYnVsbGV0ZWQubGlzdCA+IGEuaXRlbTpiZWZvcmUge1xuICBjb2xvcjogQGJ1bGxldExpbmtDb2xvcjtcbn1cblxudWwudWkubGlzdCB1bCxcbi51aS5idWxsZXRlZC5saXN0IC5saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiBAYnVsbGV0Q2hpbGREaXN0YW5jZTtcbn1cblxuLyogSG9yaXpvbnRhbCBCdWxsZXRlZCAqL1xudWwudWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0LFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG51bC51aS5ob3Jpem9udGFsLmJ1bGxldGVkLmxpc3QgbGksXG4udWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0ID4gLml0ZW0ge1xuICBtYXJnaW4tbGVmdDogQGhvcml6b250YWxCdWxsZXRTcGFjaW5nO1xufVxudWwudWkuaG9yaXpvbnRhbC5idWxsZXRlZC5saXN0IGxpOmZpcnN0LWNoaWxkLFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cbnVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCBsaTo6YmVmb3JlLFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOjpiZWZvcmUge1xuICBjb2xvcjogQGhvcml6b250YWxCdWxsZXRDb2xvcjtcbn1cbnVsLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCBsaTpmaXJzdC1jaGlsZDo6YmVmb3JlLFxuLnVpLmhvcml6b250YWwuYnVsbGV0ZWQubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBPcmRlcmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbm9sLnVpLmxpc3QsXG4udWkub3JkZXJlZC5saXN0LFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCxcbm9sLnVpLmxpc3Qgb2wge1xuICBjb3VudGVyLXJlc2V0OiBvcmRlcmVkO1xuICBtYXJnaW4tbGVmdDogQG9yZGVyZWRDb3VudERpc3RhbmNlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5vbC51aS5saXN0IGxpLFxuLnVpLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLm9yZGVyZWQubGlzdCA+IC5pdGVtIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5vbC51aS5saXN0IGxpOmJlZm9yZSxcbi51aS5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbTpiZWZvcmUsXG4udWkub3JkZXJlZC5saXN0ID4gLml0ZW06YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IC0oQG9yZGVyZWRDb3VudERpc3RhbmNlKTtcbiAgY291bnRlci1pbmNyZW1lbnQ6IEBvcmRlcmVkQ291bnROYW1lO1xuICBjb250ZW50OiBAb3JkZXJlZENvdW50Q29udGVudDtcbiAgdGV4dC1hbGlnbjogQG9yZGVyZWRDb3VudFRleHRBbGlnbjtcbiAgY29sb3I6IEBvcmRlcmVkQ291bnRDb2xvcjtcbiAgdmVydGljYWwtYWxpZ246IEBvcmRlcmVkQ291bnRWZXJ0aWNhbEFsaWduO1xuICBvcGFjaXR5OiBAb3JkZXJlZENvdW50T3BhY2l0eTtcbn1cblxub2wudWkuaW52ZXJ0ZWQubGlzdCBsaTpiZWZvcmUsXG4udWkub3JkZXJlZC5pbnZlcnRlZC5saXN0IC5saXN0ID4gLml0ZW06YmVmb3JlLFxuLnVpLm9yZGVyZWQuaW52ZXJ0ZWQubGlzdCA+IC5pdGVtOmJlZm9yZSB7XG4gIGNvbG9yOiBAb3JkZXJlZEludmVydGVkQ291bnRDb2xvcjtcbn1cblxuLyogVmFsdWUgKi9cbi51aS5vcmRlcmVkLmxpc3QgPiAubGlzdCA+IC5pdGVtW2RhdGEtdmFsdWVdLFxuLnVpLm9yZGVyZWQubGlzdCA+IC5pdGVtW2RhdGEtdmFsdWVdIHtcbiAgY29udGVudDogYXR0cihkYXRhLXZhbHVlKTtcbn1cbm9sLnVpLmxpc3QgbGlbdmFsdWVdOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGF0dHIodmFsdWUpO1xufVxuXG4vKiBDaGlsZCBMaXN0cyAqL1xub2wudWkubGlzdCBvbCxcbi51aS5vcmRlcmVkLmxpc3QgLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogQG9yZGVyZWRDaGlsZENvdW50RGlzdGFuY2U7XG59XG5vbC51aS5saXN0IG9sIGxpOmJlZm9yZSxcbi51aS5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbTpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogQG9yZGVyZWRDaGlsZENvdW50T2Zmc2V0O1xufVxuXG4vKiBIb3Jpem9udGFsIE9yZGVyZWQgKi9cbm9sLnVpLmhvcml6b250YWwubGlzdCxcbi51aS5vcmRlcmVkLmhvcml6b250YWwubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG5vbC51aS5ob3Jpem9udGFsLmxpc3QgbGk6YmVmb3JlLFxuLnVpLm9yZGVyZWQuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW06YmVmb3JlLFxuLnVpLm9yZGVyZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06YmVmb3JlIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luOiAwZW0gQGhvcml6b250YWxPcmRlcmVkQ291bnREaXN0YW5jZSAwZW0gMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEaXZpZGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXZpZGVkLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci10b3A6IEBkaXZpZGVkQm9yZGVyO1xufVxuLnVpLmRpdmlkZWQubGlzdCAubGlzdCA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogQGRpdmlkZWRDaGlsZExpc3RCb3JkZXI7XG59XG4udWkuZGl2aWRlZC5saXN0IC5pdGVtIC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItdG9wOiBAZGl2aWRlZENoaWxkSXRlbUJvcmRlcjtcbn1cbi51aS5kaXZpZGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5kaXZpZGVkLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi8qIFN1YiBNZW51ICovXG4udWkuZGl2aWRlZC5saXN0Om5vdCguaG9yaXpvbnRhbCkgLmxpc3QgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3Atd2lkdGg6IEBkaXZpZGVkQm9yZGVyV2lkdGg7XG59XG5cbi8qIERpdmlkZWQgYnVsbGV0ZWQgKi9cbi51aS5kaXZpZGVkLmJ1bGxldGVkLmxpc3Q6bm90KC5ob3Jpem9udGFsKSxcbi51aS5kaXZpZGVkLmJ1bGxldGVkLmxpc3QgLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBwYWRkaW5nLWxlZnQ6IDBlbTtcbn1cbi51aS5kaXZpZGVkLmJ1bGxldGVkLmxpc3QgPiAuaXRlbTpub3QoLmhvcml6b250YWwpIHtcbiAgcGFkZGluZy1sZWZ0OiBAYnVsbGV0RGlzdGFuY2U7XG59XG5cbi8qIERpdmlkZWQgT3JkZXJlZCAqL1xuLnVpLmRpdmlkZWQub3JkZXJlZC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cbi51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmRpdmlkZWQub3JkZXJlZC5saXN0ID4gLml0ZW0ge1xuICBwYWRkaW5nLWxlZnQ6IEBvcmRlcmVkQ291bnREaXN0YW5jZTtcbn1cbi51aS5kaXZpZGVkLm9yZGVyZWQubGlzdCAuaXRlbSAubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogMGVtO1xuICBwYWRkaW5nLWJvdHRvbTogQGl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG59XG4udWkuZGl2aWRlZC5vcmRlcmVkLmxpc3QgLml0ZW0gLmxpc3QgPiAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogQG9yZGVyZWRDaGlsZENvdW50RGlzdGFuY2U7XG59XG5cbi8qIERpdmlkZWQgU2VsZWN0aW9uICovXG4udWkuZGl2aWRlZC5zZWxlY3Rpb24ubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmRpdmlkZWQuc2VsZWN0aW9uLmxpc3QgPiAuaXRlbSB7XG4gIG1hcmdpbjogMGVtO1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG5cbi8qIERpdmlkZWQgaG9yaXpvbnRhbCAqL1xuLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbn1cbi51aS5kaXZpZGVkLmhvcml6b250YWwubGlzdCA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1sZWZ0OiBAaG9yaXpvbnRhbERpdmlkZWRTcGFjaW5nO1xufVxuLnVpLmRpdmlkZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctcmlnaHQ6IEBob3Jpem9udGFsRGl2aWRlZFNwYWNpbmc7XG59XG4udWkuZGl2aWRlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBAZGl2aWRlZEJvcmRlcjtcbiAgbWFyZ2luOiAwZW07XG4gIGxpbmUtaGVpZ2h0OiBAaG9yaXpvbnRhbERpdmlkZWRMaW5lSGVpZ2h0O1xufVxuLnVpLmhvcml6b250YWwuZGl2aWRlZC5saXN0ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi8qIEludmVydGVkICovXG4udWkuZGl2aWRlZC5pbnZlcnRlZC5saXN0ID4gLml0ZW0sXG4udWkuZGl2aWRlZC5pbnZlcnRlZC5saXN0ID4gLmxpc3QsXG4udWkuZGl2aWRlZC5pbnZlcnRlZC5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogQGRpdmlkZWRJbnZlcnRlZEJvcmRlckNvbG9yO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBDZWxsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNlbGxlZC5saXN0ID4gLml0ZW0sXG4udWkuY2VsbGVkLmxpc3QgPiAubGlzdCB7XG4gIGJvcmRlci10b3A6IEBjZWxsZWRCb3JkZXI7XG4gIHBhZGRpbmctbGVmdDogQGNlbGxlZEhvcml6b250YWxQYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiBAY2VsbGVkSG9yaXpvbnRhbFBhZGRpbmc7XG59XG4udWkuY2VsbGVkLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogQGNlbGxlZEJvcmRlcjtcbn1cblxuLyogUGFkZGluZyBvbiBhbGwgZWxlbWVudHMgKi9cbi51aS5jZWxsZWQubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkLFxuLnVpLmNlbGxlZC5saXN0ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctdG9wOiBAaXRlbVZlcnRpY2FsUGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206IEBpdGVtVmVydGljYWxQYWRkaW5nO1xufVxuXG4vKiBTdWIgTWVudSAqL1xuLnVpLmNlbGxlZC5saXN0IC5pdGVtIC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItd2lkdGg6IDBweDtcbn1cbi51aS5jZWxsZWQubGlzdCAubGlzdCA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMHB4O1xufVxuXG4vKiBDZWxsZWQgQnVsbGV0ZWQgKi9cbi51aS5jZWxsZWQuYnVsbGV0ZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG4udWkuY2VsbGVkLmJ1bGxldGVkLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5jZWxsZWQuYnVsbGV0ZWQubGlzdCA+IC5pdGVtIHtcbiAgcGFkZGluZy1sZWZ0OiAoQGJ1bGxldERpc3RhbmNlKTtcbn1cbi51aS5jZWxsZWQuYnVsbGV0ZWQubGlzdCAuaXRlbSAubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAtKEBidWxsZXREaXN0YW5jZSk7XG4gIG1hcmdpbi1yaWdodDogLShAYnVsbGV0RGlzdGFuY2UpO1xuICBwYWRkaW5nLWJvdHRvbTogQGl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG59XG5cbi8qIENlbGxlZCBPcmRlcmVkICovXG4udWkuY2VsbGVkLm9yZGVyZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG4udWkuY2VsbGVkLm9yZGVyZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmNlbGxlZC5vcmRlcmVkLmxpc3QgPiAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogQG9yZGVyZWRDb3VudERpc3RhbmNlO1xufVxuLnVpLmNlbGxlZC5vcmRlcmVkLmxpc3QgLml0ZW0gLmxpc3Qge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgcGFkZGluZy1ib3R0b206IEBpdGVtVmVydGljYWxQYWRkaW5nO1xufVxuLnVpLmNlbGxlZC5vcmRlcmVkLmxpc3QgLmxpc3QgPiAuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogQG9yZGVyZWRDaGlsZENvdW50RGlzdGFuY2U7XG59XG5cbi8qIENlbGxlZCBIb3Jpem9udGFsICovXG4udWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG4udWkuaG9yaXpvbnRhbC5jZWxsZWQubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLmhvcml6b250YWwuY2VsbGVkLmxpc3QgPiAuaXRlbSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBAY2VsbGVkQm9yZGVyO1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZy1sZWZ0OiBAaG9yaXpvbnRhbENlbGxlZFNwYWNpbmc7XG4gIHBhZGRpbmctcmlnaHQ6IEBob3Jpem9udGFsQ2VsbGVkU3BhY2luZztcblxuICBsaW5lLWhlaWdodDogQGhvcml6b250YWxDZWxsZWRMaW5lSGVpZ2h0O1xufVxuLnVpLmhvcml6b250YWwuY2VsbGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkLFxuLnVpLmhvcml6b250YWwuY2VsbGVkLmxpc3QgPiAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBAY2VsbGVkQm9yZGVyO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuLnVpLmNlbGxlZC5pbnZlcnRlZC5saXN0ID4gLml0ZW0sXG4udWkuY2VsbGVkLmludmVydGVkLmxpc3QgPiAubGlzdCB7XG4gIGJvcmRlci1jb2xvcjogQGNlbGxlZEludmVydGVkQm9yZGVyO1xufVxuLnVpLmNlbGxlZC5pbnZlcnRlZC5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5jZWxsZWQuaW52ZXJ0ZWQuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBib3JkZXItY29sb3I6IEBjZWxsZWRJbnZlcnRlZEJvcmRlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgUmVsYXhlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucmVsYXhlZC5saXN0Om5vdCguaG9yaXpvbnRhbCkgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctdG9wOiBAcmVsYXhlZEl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG59XG4udWkucmVsYXhlZC5saXN0Om5vdCguaG9yaXpvbnRhbCkgPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1ib3R0b206IEByZWxheGVkSXRlbVZlcnRpY2FsUGFkZGluZztcbn1cbi51aS5ob3Jpem9udGFsLnJlbGF4ZWQubGlzdCAubGlzdCA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnVpLmhvcml6b250YWwucmVsYXhlZC5saXN0ID4gLml0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICBwYWRkaW5nLWxlZnQ6IEByZWxheGVkSG9yaXpvbnRhbFBhZGRpbmc7XG59XG4udWkuaG9yaXpvbnRhbC5yZWxheGVkLmxpc3QgLmxpc3QgPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpLFxuLnVpLmhvcml6b250YWwucmVsYXhlZC5saXN0ID4gLml0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIHBhZGRpbmctcmlnaHQ6IEByZWxheGVkSG9yaXpvbnRhbFBhZGRpbmc7XG59XG5cbi8qIFZlcnkgUmVsYXhlZCAqL1xuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0Om5vdCguaG9yaXpvbnRhbCkgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctdG9wOiBAdmVyeVJlbGF4ZWRJdGVtVmVydGljYWxQYWRkaW5nO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5saXN0Om5vdCguaG9yaXpvbnRhbCkgPiAuaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgcGFkZGluZy1ib3R0b206IEB2ZXJ5UmVsYXhlZEl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG59XG4udWkuaG9yaXpvbnRhbFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ubGlzdCAubGlzdCA+IC5pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnVpLmhvcml6b250YWxbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmxpc3QgPiAuaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctbGVmdDogQHZlcnlSZWxheGVkSG9yaXpvbnRhbFBhZGRpbmc7XG59XG4udWkuaG9yaXpvbnRhbFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ubGlzdCAubGlzdCA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCksXG4udWkuaG9yaXpvbnRhbFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ubGlzdCA+IC5pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBwYWRkaW5nLXJpZ2h0OiBAdmVyeVJlbGF4ZWRIb3Jpem9udGFsUGFkZGluZztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWluaS5saXN0IHtcbiAgZm9udC1zaXplOiBAcmVsYXRpdmVNaW5pO1xufVxuLnVpLnRpbnkubGlzdCB7XG4gIGZvbnQtc2l6ZTogQHJlbGF0aXZlVGlueTtcbn1cbi51aS5zbWFsbC5saXN0IHtcbiAgZm9udC1zaXplOiBAcmVsYXRpdmVTbWFsbDtcbn1cbi51aS5saXN0IHtcbiAgZm9udC1zaXplOiBAcmVsYXRpdmVNZWRpdW07XG59XG4udWkubGFyZ2UubGlzdCB7XG4gIGZvbnQtc2l6ZTogQHJlbGF0aXZlTGFyZ2U7XG59XG4udWkuYmlnLmxpc3Qge1xuICBmb250LXNpemU6IEByZWxhdGl2ZUJpZztcbn1cbi51aS5odWdlLmxpc3Qge1xuICBmb250LXNpemU6IEByZWxhdGl2ZUh1Z2U7XG59XG4udWkubWFzc2l2ZS5saXN0IHtcbiAgZm9udC1zaXplOiBAcmVsYXRpdmVNYXNzaXZlO1xufVxuXG4udWkubWluaS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5taW5pLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiBAbWluaTtcbn1cbi51aS50aW55Lmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLnRpbnkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IEB0aW55O1xufVxuLnVpLnNtYWxsLmhvcml6b250YWwubGlzdCAubGlzdCA+IC5pdGVtLFxuLnVpLnNtYWxsLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiBAc21hbGw7XG59XG4udWkuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IEBtZWRpdW07XG59XG4udWkubGFyZ2UuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkubGFyZ2UuaG9yaXpvbnRhbC5saXN0ID4gLml0ZW0ge1xuICBmb250LXNpemU6IEBsYXJnZTtcbn1cbi51aS5iaWcuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuYmlnLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiBAYmlnO1xufVxuLnVpLmh1Z2UuaG9yaXpvbnRhbC5saXN0IC5saXN0ID4gLml0ZW0sXG4udWkuaHVnZS5ob3Jpem9udGFsLmxpc3QgPiAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogQGh1Z2U7XG59XG4udWkubWFzc2l2ZS5ob3Jpem9udGFsLmxpc3QgLmxpc3QgPiAuaXRlbSxcbi51aS5tYXNzaXZlLmhvcml6b250YWwubGlzdCA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiBAbWFzc2l2ZTtcbn1cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuXG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBMb2FkZXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ2VsZW1lbnQnO1xuQGVsZW1lbnQgOiAnbG9hZGVyJztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgTG9hZGVyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qIFN0YW5kYXJkIFNpemUgKi9cbi51aS5sb2FkZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogQGxvYWRlclRvcE9mZnNldDtcbiAgbGVmdDogQGxvYWRlckxlZnRPZmZzZXQ7XG4gIG1hcmdpbjogMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vKiBTdGF0aWMgU2hhcGUgKi9cbi51aS5sb2FkZXI6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiAwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBsb2FkZXJGaWxsQ29sb3I7XG59XG5cbi8qIEFjdGl2ZSBTaGFwZSAqL1xuLnVpLmxvYWRlcjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcblxuICBhbmltYXRpb246IGxvYWRlciBAbG9hZGVyU3BlZWQgbGluZWFyO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcblxuICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG5cbiAgYm9yZGVyLWNvbG9yOiBAc2hhcGVCb3JkZXJDb2xvcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiBAbG9hZGVyTGluZVdpZHRoO1xuXG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudDtcbn1cblxuLyogQWN0aXZlIEFuaW1hdGlvbiAqL1xuQGtleWZyYW1lcyBsb2FkZXIge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG4vKiBTaXplcyAqL1xuLnVpLm1pbmkubG9hZGVyOmJlZm9yZSxcbi51aS5taW5pLmxvYWRlcjphZnRlciB7XG4gIHdpZHRoOiBAbWluaTtcbiAgaGVpZ2h0OiBAbWluaTtcbiAgbWFyZ2luOiBAbWluaU9mZnNldDtcbn1cbi51aS50aW55LmxvYWRlcjpiZWZvcmUsXG4udWkudGlueS5sb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogQHRpbnk7XG4gIGhlaWdodDogQHRpbnk7XG4gIG1hcmdpbjogQHRpbnlPZmZzZXQ7XG59XG4udWkuc21hbGwubG9hZGVyOmJlZm9yZSxcbi51aS5zbWFsbC5sb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogQHNtYWxsO1xuICBoZWlnaHQ6IEBzbWFsbDtcbiAgbWFyZ2luOiBAc21hbGxPZmZzZXQ7XG59XG4udWkubG9hZGVyOmJlZm9yZSxcbi51aS5sb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogQG1lZGl1bTtcbiAgaGVpZ2h0OiBAbWVkaXVtO1xuICBtYXJnaW46IEBtZWRpdW1PZmZzZXQ7XG59XG4udWkubGFyZ2UubG9hZGVyOmJlZm9yZSxcbi51aS5sYXJnZS5sb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogQGxhcmdlO1xuICBoZWlnaHQ6IEBsYXJnZTtcbiAgbWFyZ2luOiBAbGFyZ2VPZmZzZXQ7XG59XG4udWkuYmlnLmxvYWRlcjpiZWZvcmUsXG4udWkuYmlnLmxvYWRlcjphZnRlciB7XG4gIHdpZHRoOiBAYmlnO1xuICBoZWlnaHQ6IEBiaWc7XG4gIG1hcmdpbjogQGJpZ09mZnNldDtcbn1cbi51aS5odWdlLmxvYWRlcjpiZWZvcmUsXG4udWkuaHVnZS5sb2FkZXI6YWZ0ZXIge1xuICB3aWR0aDogQGh1Z2U7XG4gIGhlaWdodDogQGh1Z2U7XG4gIG1hcmdpbjogQGh1Z2VPZmZzZXQ7XG59XG4udWkubWFzc2l2ZS5sb2FkZXI6YmVmb3JlLFxuLnVpLm1hc3NpdmUubG9hZGVyOmFmdGVyIHtcbiAgd2lkdGg6IEBtYXNzaXZlO1xuICBoZWlnaHQ6IEBtYXNzaXZlO1xuICBtYXJnaW46IEBtYXNzaXZlT2Zmc2V0O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNob3cgaW5zaWRlIGFjdGl2ZSBkaW1tZXIgKi9cbi51aS5kaW1tZXIgLmxvYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBCbGFjayBEaW1tZXIgKi9cbi51aS5kaW1tZXIgLnVpLmxvYWRlciB7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRMb2FkZXJUZXh0Q29sb3I7XG59XG4udWkuZGltbWVyIC51aS5sb2FkZXI6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBAaW52ZXJ0ZWRMb2FkZXJGaWxsQ29sb3I7XG59XG4udWkuZGltbWVyIC51aS5sb2FkZXI6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IEBpbnZlcnRlZFNoYXBlQm9yZGVyQ29sb3I7XG59XG5cbi8qIFdoaXRlIERpbW1lciAoSW52ZXJ0ZWQpICovXG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5sb2FkZXIge1xuICBjb2xvcjogQGxvYWRlclRleHRDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmxvYWRlcjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IEBsb2FkZXJGaWxsQ29sb3I7XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5sb2FkZXI6YWZ0ZXIge1xuICBib3JkZXItY29sb3I6IEBzaGFwZUJvcmRlckNvbG9yO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgVGV4dFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGV4dC5sb2FkZXIge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmluZGV0ZXJtaW5hdGUubG9hZGVyOmFmdGVyIHtcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogQGluZGV0ZXJtaW5hdGVEaXJlY3Rpb247XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogQGluZGV0ZXJtaW5hdGVTcGVlZDtcbn1cblxuLnVpLmxvYWRlci5hY3RpdmUsXG4udWkubG9hZGVyLnZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5sb2FkZXIuZGlzYWJsZWQsXG4udWkubG9hZGVyLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8qIExvYWRlciAqL1xuLnVpLmludmVydGVkLmRpbW1lciAudWkubWluaS5sb2FkZXIsXG4udWkubWluaS5sb2FkZXIge1xuICB3aWR0aDogQG1pbmk7XG4gIGhlaWdodDogQG1pbmk7XG4gIGZvbnQtc2l6ZTogQG1pbmlGb250U2l6ZTtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLnRpbnkubG9hZGVyLFxuLnVpLnRpbnkubG9hZGVyIHtcbiAgd2lkdGg6IEB0aW55O1xuICBoZWlnaHQ6IEB0aW55O1xuICBmb250LXNpemU6IEB0aW55Rm9udFNpemU7XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5zbWFsbC5sb2FkZXIsXG4udWkuc21hbGwubG9hZGVyIHtcbiAgd2lkdGg6IEBzbWFsbDtcbiAgaGVpZ2h0OiBAc21hbGw7XG4gIGZvbnQtc2l6ZTogQHNtYWxsRm9udFNpemU7XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5sb2FkZXIsXG4udWkubG9hZGVyIHtcbiAgd2lkdGg6IEBtZWRpdW07XG4gIGhlaWdodDogQG1lZGl1bTtcbiAgZm9udC1zaXplOiBAbWVkaXVtRm9udFNpemU7XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5sYXJnZS5sb2FkZXIsXG4udWkubGFyZ2UubG9hZGVyIHtcbiAgd2lkdGg6IEBsYXJnZTtcbiAgaGVpZ2h0OiBAbGFyZ2U7XG4gIGZvbnQtc2l6ZTogQGxhcmdlRm9udFNpemU7XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5iaWcubG9hZGVyLFxuLnVpLmJpZy5sb2FkZXIge1xuICB3aWR0aDogQGJpZztcbiAgaGVpZ2h0OiBAYmlnO1xuICBmb250LXNpemU6IEBiaWdGb250U2l6ZTtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgLnVpLmh1Z2UubG9hZGVyLFxuLnVpLmh1Z2UubG9hZGVyIHtcbiAgd2lkdGg6IEBodWdlO1xuICBoZWlnaHQ6IEBodWdlO1xuICBmb250LXNpemU6IEBodWdlRm9udFNpemU7XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyIC51aS5tYXNzaXZlLmxvYWRlcixcbi51aS5tYXNzaXZlLmxvYWRlciB7XG4gIHdpZHRoOiBAbWFzc2l2ZTtcbiAgaGVpZ2h0OiBAbWFzc2l2ZTtcbiAgZm9udC1zaXplOiBAbWFzc2l2ZUZvbnRTaXplO1xufVxuXG4vKiBUZXh0IExvYWRlciAqL1xuLnVpLm1pbmkudGV4dC5sb2FkZXIge1xuICBtaW4td2lkdGg6IEBtaW5pO1xuICBwYWRkaW5nLXRvcDogKEBtaW5pICsgQHRleHREaXN0YW5jZSk7XG59XG4udWkudGlueS50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogQHRpbnk7XG4gIHBhZGRpbmctdG9wOiAoQHRpbnkgKyBAdGV4dERpc3RhbmNlKTtcbn1cbi51aS5zbWFsbC50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogQHNtYWxsO1xuICBwYWRkaW5nLXRvcDogKEBzbWFsbCArIEB0ZXh0RGlzdGFuY2UpO1xufVxuLnVpLnRleHQubG9hZGVyIHtcbiAgbWluLXdpZHRoOiBAbWVkaXVtO1xuICBwYWRkaW5nLXRvcDogKEBtZWRpdW0gKyBAdGV4dERpc3RhbmNlKTtcbn1cbi51aS5sYXJnZS50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogQGxhcmdlO1xuICBwYWRkaW5nLXRvcDogKEBsYXJnZSArIEB0ZXh0RGlzdGFuY2UpO1xufVxuLnVpLmJpZy50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogQGJpZztcbiAgcGFkZGluZy10b3A6IChAYmlnICsgQHRleHREaXN0YW5jZSk7XG59XG4udWkuaHVnZS50ZXh0LmxvYWRlciB7XG4gIG1pbi13aWR0aDogQGh1Z2U7XG4gIHBhZGRpbmctdG9wOiAoQGh1Z2UgKyBAdGV4dERpc3RhbmNlKTtcbn1cbi51aS5tYXNzaXZlLnRleHQubG9hZGVyIHtcbiAgbWluLXdpZHRoOiBAbWFzc2l2ZTtcbiAgcGFkZGluZy10b3A6IChAbWFzc2l2ZSArIEB0ZXh0RGlzdGFuY2UpO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnZlcnRlZC5sb2FkZXIge1xuICBjb2xvcjogQGludmVydGVkTG9hZGVyVGV4dENvbG9yXG59XG4udWkuaW52ZXJ0ZWQubG9hZGVyOmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogQGludmVydGVkTG9hZGVyRmlsbENvbG9yO1xufVxuLnVpLmludmVydGVkLmxvYWRlcjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6IEBpbnZlcnRlZExvYWRlckxpbmVDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgSW5saW5lXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbmxpbmUubG9hZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogQGlubGluZVZlcnRpY2FsQWxpZ247XG4gIG1hcmdpbjogQGlubGluZU1hcmdpbjtcbiAgbGVmdDogMGVtO1xuICB0b3A6IDBlbTtcbiAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4udWkuaW5saW5lLmxvYWRlci5hY3RpdmUsXG4udWkuaW5saW5lLmxvYWRlci52aXNpYmxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBDZW50ZXJlZCBJbmxpbmUgKi9cbi51aS5jZW50ZXJlZC5pbmxpbmUubG9hZGVyLmFjdGl2ZSxcbi51aS5jZW50ZXJlZC5pbmxpbmUubG9hZGVyLnZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBMb2FkZXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ2VsZW1lbnQnO1xuQGVsZW1lbnQgOiAncGxhY2Vob2xkZXInO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhbmltYXRpb246IHBsYWNlaG9sZGVyU2hpbW1lciBAcGxhY2Vob2xkZXJMb2FkaW5nQW5pbWF0aW9uRHVyYXRpb24gbGluZWFyO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBAcGxhY2Vob2xkZXJMb2FkaW5nR3JhZGllbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogQHBsYWNlaG9sZGVyTG9hZGluZ0dyYWRpZW50V2lkdGggMTAwJTtcbiAgbWF4LXdpZHRoOiBAcGxhY2Vob2xkZXJNYXhXaWR0aDtcbn1cblxuQGtleWZyYW1lcyBwbGFjZWhvbGRlclNoaW1tZXJ7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtQHBsYWNlaG9sZGVyTG9hZGluZ0dyYWRpZW50V2lkdGggMFxuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IEBwbGFjZWhvbGRlckxvYWRpbmdHcmFkaWVudFdpZHRoIDBcbiAgfVxufVxuXG4udWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIge1xuICBtYXJnaW4tdG9wOiBAY29uc2VjdXRpdmVQbGFjZWhvbGRlclNwYWNpbmc7XG59XG4udWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIge1xuICBhbmltYXRpb24tZGVsYXk6IEBwbGFjZWhvbGRlckFuaW1hdGlvbkludGVydmFsO1xufVxuLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyICsgLnVpLnBsYWNlaG9sZGVyIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAoQHBsYWNlaG9sZGVyQW5pbWF0aW9uSW50ZXJ2YWwgKiAyKTtcbn1cbi51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciArIC51aS5wbGFjZWhvbGRlciB7XG4gIGFuaW1hdGlvbi1kZWxheTogKEBwbGFjZWhvbGRlckFuaW1hdGlvbkludGVydmFsICogMyk7XG59XG4udWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIgKyAudWkucGxhY2Vob2xkZXIge1xuICBhbmltYXRpb24tZGVsYXk6IChAcGxhY2Vob2xkZXJBbmltYXRpb25JbnRlcnZhbCAqIDQpO1xufVxuXG4udWkucGxhY2Vob2xkZXIsXG4udWkucGxhY2Vob2xkZXIgPiA6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXI6YWZ0ZXIsXG4udWkucGxhY2Vob2xkZXIgLmxpbmUsXG4udWkucGxhY2Vob2xkZXIgLmxpbmU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGU7XG59XG5cbi8qIEltYWdlICovXG4udWkucGxhY2Vob2xkZXIgLmltYWdlOm5vdCguaGVhZGVyKTpub3QoLnVpKSB7XG4gIGhlaWdodDogQHBsYWNlaG9sZGVySW1hZ2VIZWlnaHQ7XG59XG4udWkucGxhY2Vob2xkZXIgLnNxdWFyZS5pbWFnZTpub3QoLmhlYWRlcikge1xuICBoZWlnaHQ6IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogMS8xIGFzcGVjdCByYXRpbyAqL1xuICBwYWRkaW5nLXRvcDogMTAwJTtcbn1cbi51aS5wbGFjZWhvbGRlciAucmVjdGFuZ3VsYXIuaW1hZ2U6bm90KC5oZWFkZXIpIHtcbiAgaGVpZ2h0OiAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDQvMyBhc3BlY3QgcmF0aW8gKi9cbiAgcGFkZGluZy10b3A6IDc1JTtcbn1cblxuXG4vKiBMaW5lcyAqL1xuLnVpLnBsYWNlaG9sZGVyIC5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IEBwbGFjZWhvbGRlckxpbmVNYXJnaW47XG59XG4udWkucGxhY2Vob2xkZXIgLmxpbmU6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOmFmdGVyIHtcbiAgdG9wOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOmJlZm9yZSB7XG4gIGxlZnQ6IDBweDtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTphZnRlciB7XG4gIHJpZ2h0OiAwcHg7XG59XG5cbi8qIEFueSBMaW5lcyAqL1xuLnVpLnBsYWNlaG9sZGVyIC5saW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogQHBsYWNlaG9sZGVyTGluZUhlaWdodDtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTpiZWZvcmUsXG4udWkucGxhY2Vob2xkZXIgLmxpbmU6YWZ0ZXIge1xuICBoZWlnaHQ6IEBwbGFjZWhvbGRlckxpbmVIZWlnaHQ7XG59XG4udWkucGxhY2Vob2xkZXIgLmxpbmU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiBAcGxhY2Vob2xkZXJMaW5lSGVpZ2h0O1xufVxuXG4vKiBIZWFkZXIgSW1hZ2UgKyAyIExpbmVzICovXG4udWkucGxhY2Vob2xkZXIgLmhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogTGluZSBPdXRkZW50ICovXG4udWkucGxhY2Vob2xkZXIgLmxpbmU6bnRoLWNoaWxkKDEpOmFmdGVyIHtcbiAgd2lkdGg6IEBwbGFjZWhvbGRlckxpbmVPbmVPdXRkZW50O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOm50aC1jaGlsZCgyKTphZnRlciB7XG4gIHdpZHRoOiBAcGxhY2Vob2xkZXJMaW5lVHdvT3V0ZGVudDtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoMyk6YWZ0ZXIge1xuICB3aWR0aDogQHBsYWNlaG9sZGVyTGluZVRocmVlT3V0ZGVudDtcbn1cbi51aS5wbGFjZWhvbGRlciAubGluZTpudGgtY2hpbGQoNCk6YWZ0ZXIge1xuICB3aWR0aDogQHBsYWNlaG9sZGVyTGluZUZvdXJPdXRkZW50O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5saW5lOm50aC1jaGlsZCg1KTphZnRlciB7XG4gIHdpZHRoOiBAcGxhY2Vob2xkZXJMaW5lRml2ZU91dGRlbnQ7XG59XG5cbi8qIEhlYWRlciBMaW5lIDEgJiAyKi9cbi51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogQHBsYWNlaG9sZGVySGVhZGVyTGluZUhlaWdodDtcbn1cbi51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lOmJlZm9yZSxcbi51aS5wbGFjZWhvbGRlciAuaGVhZGVyIC5saW5lOmFmdGVyIHtcbiAgaGVpZ2h0OiBAcGxhY2Vob2xkZXJIZWFkZXJMaW5lSGVpZ2h0O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiBAcGxhY2Vob2xkZXJIZWFkZXJMaW5lSGVpZ2h0O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6YWZ0ZXIge1xuICB3aWR0aDogQHBsYWNlaG9sZGVySGVhZGVyTGluZU9uZU91dGRlbnQ7XG59XG4udWkucGxhY2Vob2xkZXIgLmhlYWRlciAubGluZTpudGgtY2hpbGQoMik6YWZ0ZXIge1xuICB3aWR0aDogQHBsYWNlaG9sZGVySGVhZGVyTGluZVR3b091dGRlbnQ7XG59XG5cbi8qIEltYWdlIEhlYWRlciAqL1xuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZS5oZWFkZXIgLmxpbmUge1xuICBtYXJnaW4tbGVmdDogQHBsYWNlaG9sZGVySW1hZ2VXaWR0aDtcbn1cbi51aS5wbGFjZWhvbGRlciAuaW1hZ2UuaGVhZGVyIC5saW5lOmJlZm9yZSB7XG4gIHdpZHRoOiBAcGxhY2Vob2xkZXJJbWFnZVRleHRJbmRlbnQ7XG59XG4udWkucGxhY2Vob2xkZXIgLmltYWdlLmhlYWRlcjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IEBwbGFjZWhvbGRlckxpbmVNYXJnaW47XG4gIGNvbnRlbnQ6ICcnO1xuICBtYXJnaW4tbGVmdDogQHBsYWNlaG9sZGVySW1hZ2VXaWR0aDtcbn1cblxuLyogU3BhY2luZyAqL1xuLnVpLnBsYWNlaG9sZGVyIC5pbWFnZSAubGluZTpmaXJzdC1jaGlsZCxcbi51aS5wbGFjZWhvbGRlciAucGFyYWdyYXBoIC5saW5lOmZpcnN0LWNoaWxkLFxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXIgLmxpbmU6Zmlyc3QtY2hpbGQge1xuICBoZWlnaHQ6IDAuMDFweDtcbn1cbi51aS5wbGFjZWhvbGRlciAuaW1hZ2U6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5wYXJhZ3JhcGg6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLFxuLnVpLnBsYWNlaG9sZGVyIC5oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlIHtcbiAgaGVpZ2h0OiBAcGxhY2Vob2xkZXJTcGFjaW5nO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIEludmVydGVkIENvbnRlbnQgTG9hZGVyICovXG4udWkuaW52ZXJ0ZWQucGxhY2Vob2xkZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBAcGxhY2Vob2xkZXJJbnZlcnRlZExvYWRpbmdHcmFkaWVudDtcbn1cbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlcixcbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciA+IDpiZWZvcmUsXG4udWkuaW52ZXJ0ZWQucGxhY2Vob2xkZXIgLmltYWdlLmhlYWRlcjphZnRlcixcbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciAubGluZSxcbi51aS5pbnZlcnRlZC5wbGFjZWhvbGRlciAubGluZTphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibGFjaztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5wbGFjZWhvbGRlciAuZnVsbC5saW5lLmxpbmUubGluZTphZnRlciB7XG4gIHdpZHRoOiBAcGxhY2Vob2xkZXJGdWxsTGluZU91dGRlbnQ7XG59XG4udWkucGxhY2Vob2xkZXIgLnZlcnkubG9uZy5saW5lLmxpbmUubGluZTphZnRlciB7XG4gIHdpZHRoOiBAcGxhY2Vob2xkZXJWZXJ5TG9uZ0xpbmVPdXRkZW50O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5sb25nLmxpbmUubGluZS5saW5lOmFmdGVyIHtcbiAgd2lkdGg6IEBwbGFjZWhvbGRlckxvbmdMaW5lT3V0ZGVudDtcbn1cbi51aS5wbGFjZWhvbGRlciAubWVkaXVtLmxpbmUubGluZS5saW5lOmFmdGVyIHtcbiAgd2lkdGg6IEBwbGFjZWhvbGRlck1lZGl1bUxpbmVPdXRkZW50O1xufVxuLnVpLnBsYWNlaG9sZGVyIC5zaG9ydC5saW5lLmxpbmUubGluZTphZnRlciB7XG4gIHdpZHRoOiBAcGxhY2Vob2xkZXJTaG9ydExpbmVPdXRkZW50O1xufVxuLnVpLnBsYWNlaG9sZGVyIC52ZXJ5LnNob3J0LmxpbmUubGluZS5saW5lOmFmdGVyIHtcbiAgd2lkdGg6IEBwbGFjZWhvbGRlclZlcnlTaG9ydExpbmVPdXRkZW50O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmx1aWQucGxhY2Vob2xkZXIge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBSYWlsXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ2VsZW1lbnQnO1xuQGVsZW1lbnQgOiAncmFpbCc7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBSYWlsc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnJhaWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMCU7XG4gIHdpZHRoOiBAd2lkdGg7XG4gIGhlaWdodDogQGhlaWdodDtcbn1cblxuLnVpLmxlZnQucmFpbCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwZW0gQHNwbGl0RGlzdGFuY2UgMGVtIDBlbTtcbiAgbWFyZ2luOiAwZW0gQHNwbGl0RGlzdGFuY2UgMGVtIDBlbTtcbn1cblxuLnVpLnJpZ2h0LnJhaWwge1xuICBsZWZ0OiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgcGFkZGluZzogMGVtIDBlbSAwZW0gQHNwbGl0RGlzdGFuY2U7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gQHNwbGl0RGlzdGFuY2U7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSW50ZXJuYWxcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sZWZ0LmludGVybmFsLnJhaWwge1xuICBsZWZ0OiAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDBlbSAwZW0gMGVtIEBzcGxpdERpc3RhbmNlO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIEBzcGxpdERpc3RhbmNlO1xufVxuXG4udWkucmlnaHQuaW50ZXJuYWwucmFpbCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwJTtcbiAgcGFkZGluZzogMGVtIEBzcGxpdERpc3RhbmNlIDBlbSAwZW07XG4gIG1hcmdpbjogMGVtIEBzcGxpdERpc3RhbmNlIDBlbSAwZW07XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIERpdmlkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZGl2aWRpbmcucmFpbCB7XG4gIHdpZHRoOiBAZGl2aWRpbmdXaWR0aDtcbn1cbi51aS5sZWZ0LmRpdmlkaW5nLnJhaWwge1xuICBwYWRkaW5nOiAwZW0gQHNwbGl0RGl2aWRpbmdEaXN0YW5jZSAwZW0gMGVtO1xuICBtYXJnaW46IDBlbSBAc3BsaXREaXZpZGluZ0Rpc3RhbmNlIDBlbSAwZW07XG4gIGJvcmRlci1yaWdodDogQGRpdmlkaW5nQm9yZGVyO1xufVxuLnVpLnJpZ2h0LmRpdmlkaW5nLnJhaWwge1xuICBib3JkZXItbGVmdDogQGRpdmlkaW5nQm9yZGVyO1xuICBwYWRkaW5nOiAwZW0gMGVtIDBlbSBAc3BsaXREaXZpZGluZ0Rpc3RhbmNlO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIEBzcGxpdERpdmlkaW5nRGlzdGFuY2U7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBEaXN0YW5jZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNsb3NlLnJhaWwge1xuICB3aWR0aDogQGNsb3NlV2lkdGg7XG59XG4udWkuY2xvc2UubGVmdC5yYWlsIHtcbiAgcGFkZGluZzogMGVtIEBzcGxpdENsb3NlRGlzdGFuY2UgMGVtIDBlbTtcbiAgbWFyZ2luOiAwZW0gQHNwbGl0Q2xvc2VEaXN0YW5jZSAwZW0gMGVtO1xufVxuLnVpLmNsb3NlLnJpZ2h0LnJhaWwge1xuICBwYWRkaW5nOiAwZW0gMGVtIDBlbSBAc3BsaXRDbG9zZURpc3RhbmNlO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIEBzcGxpdENsb3NlRGlzdGFuY2U7XG59XG5cbi51aS52ZXJ5LmNsb3NlLnJhaWwge1xuICB3aWR0aDogQHZlcnlDbG9zZVdpZHRoO1xufVxuLnVpLnZlcnkuY2xvc2UubGVmdC5yYWlsIHtcbiAgcGFkZGluZzogMGVtIEBzcGxpdFZlcnlDbG9zZURpc3RhbmNlIDBlbSAwZW07XG4gIG1hcmdpbjogMGVtIEBzcGxpdFZlcnlDbG9zZURpc3RhbmNlIDBlbSAwZW07XG59XG4udWkudmVyeS5jbG9zZS5yaWdodC5yYWlsIHtcbiAgcGFkZGluZzogMGVtIDBlbSAwZW0gQHNwbGl0VmVyeUNsb3NlRGlzdGFuY2U7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gQHNwbGl0VmVyeUNsb3NlRGlzdGFuY2U7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBBdHRhY2hlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmF0dGFjaGVkLmxlZnQucmFpbCxcbi51aS5hdHRhY2hlZC5yaWdodC5yYWlsIHtcbiAgcGFkZGluZzogMGVtO1xuICBtYXJnaW46IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaXppbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5taW5pLnJhaWwge1xuICBmb250LXNpemU6IEBtaW5pO1xufVxuLnVpLnRpbnkucmFpbCB7XG4gIGZvbnQtc2l6ZTogQHRpbnk7XG59XG4udWkuc21hbGwucmFpbCB7XG4gIGZvbnQtc2l6ZTogQHNtYWxsO1xufVxuLnVpLnJhaWwge1xuICBmb250LXNpemU6IEBtZWRpdW07XG59XG4udWkubGFyZ2UucmFpbCB7XG4gIGZvbnQtc2l6ZTogQGxhcmdlO1xufVxuLnVpLmJpZy5yYWlsIHtcbiAgZm9udC1zaXplOiBAYmlnO1xufVxuLnVpLmh1Z2UucmFpbCB7XG4gIGZvbnQtc2l6ZTogQGh1Z2U7XG59XG4udWkubWFzc2l2ZS5yYWlsIHtcbiAgZm9udC1zaXplOiBAbWFzc2l2ZTtcbn1cblxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBSZXZlYWxcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGUgICAgOiAnZWxlbWVudCc7XG5AZWxlbWVudCA6ICdyZXZlYWwnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBSZXZlYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5yZXZlYWwgIHtcbiAgZGlzcGxheTogaW5oZXJpdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMGVtICFpbXBvcnRhbnQ7XG59XG5cbi51aS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMGVtICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDBlbSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiBAdG9wWkluZGV4ICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IEB0cmFuc2l0aW9uO1xufVxuLnVpLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiBAYm90dG9tWkluZGV4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1ha2Ugc3VyZSBob3ZlcmVkIGVsZW1lbnQgaXMgb24gdG9wIG9mIG90aGVyIHJldmVhbCAqL1xuLnVpLmFjdGl2ZS5yZXZlYWwgLnZpc2libGUuY29udGVudCxcbi51aS5yZXZlYWw6aG92ZXIgLnZpc2libGUuY29udGVudCB7XG4gIHotaW5kZXg6IEBhY3RpdmVaSW5kZXggIWltcG9ydGFudDtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBTbGlkZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNsaWRlLnJldmVhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi51aS5zbGlkZS5yZXZlYWwgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgZmxvYXQ6IGxlZnQ7XG5cbiAgbWFyZ2luOiAwZW07XG4gIHRyYW5zaXRpb246IEBzbGlkZVRyYW5zaXRpb247XG59XG5cbi51aS5zbGlkZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUucmV2ZWFsID4gLmhpZGRlbi5jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnNsaWRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUuYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbi51aS5zbGlkZS5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5zbGlkZS5yaWdodC5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLnJpZ2h0LnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5yaWdodC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5zbGlkZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUucmlnaHQuYWN0aXZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCxcbi51aS5zbGlkZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpICFpbXBvcnRhbnQ7XG59XG5cbi51aS5zbGlkZS51cC5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS51cC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5zbGlkZS51cC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlLnVwLmFjdGl2ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQsXG4udWkuc2xpZGUudXAucmV2ZWFsOmhvdmVyID4gLmhpZGRlbi5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSAhaW1wb3J0YW50O1xufVxuXG4udWkuc2xpZGUuZG93bi5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGUuZG93bi5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5zbGlkZS5kb3duLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZS5kb3duLmFjdGl2ZS5yZXZlYWwgPiAuaGlkZGVuLmNvbnRlbnQsXG4udWkuc2xpZGUuZG93bi5yZXZlYWw6aG92ZXIgPiAuaGlkZGVuLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpICFpbXBvcnRhbnQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgRmFkZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZhZGUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIG9wYWNpdHk6IDE7XG59XG4udWkuZmFkZS5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5mYWRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICBvcGFjaXR5OiAwO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIE1vdmVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tb3ZlLnJldmVhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi51aS5tb3ZlLnJldmVhbCA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gIG1hcmdpbjogMGVtO1xuICB0cmFuc2l0aW9uOiBAbW92ZVRyYW5zaXRpb247XG59XG5cbi51aS5tb3ZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbn1cbi51aS5tb3ZlLnJldmVhbCA+IC5oaWRkZW4uY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuLnVpLm1vdmUuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkubW92ZS5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSAhaW1wb3J0YW50O1xufVxuLnVpLm1vdmUucmlnaHQuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkubW92ZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkubW92ZS51cC5hY3RpdmUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5tb3ZlLnVwLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpICFpbXBvcnRhbnQ7XG59XG4udWkubW92ZS5kb3duLmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLm1vdmUuZG93bi5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpICFpbXBvcnRhbnQ7XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFJvdGF0ZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnJvdGF0ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogQHRyYW5zaXRpb25EdXJhdGlvbjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG59XG5cbi51aS5yb3RhdGUucmV2ZWFsID4gLnZpc2libGUuY29udGVudCxcbi51aS5yb3RhdGUucmlnaHQucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbn1cbi51aS5yb3RhdGUuYWN0aXZlLnJldmVhbCA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkucm90YXRlLnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQsXG4udWkucm90YXRlLnJpZ2h0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJvdGF0ZS5yaWdodC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS5jb250ZW50IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoQHJvdGF0ZURlZ3JlZXMpO1xufVxuXG4udWkucm90YXRlLmxlZnQucmV2ZWFsID4gLnZpc2libGUuY29udGVudCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xufVxuLnVpLnJvdGF0ZS5sZWZ0LmFjdGl2ZS5yZXZlYWwgPiAudmlzaWJsZS5jb250ZW50LFxuLnVpLnJvdGF0ZS5sZWZ0LnJldmVhbDpob3ZlciA+IC52aXNpYmxlLmNvbnRlbnQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtQHJvdGF0ZURlZ3JlZXMpO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5kaXNhYmxlZC5yZXZlYWw6aG92ZXIgPiAudmlzaWJsZS52aXNpYmxlLmNvbnRlbnQge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xufVxuLnVpLmRpc2FibGVkLnJldmVhbDpob3ZlciA+IC5oaWRkZW4uaGlkZGVuLmNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5yZXZlYWwgPiAudWkucmliYm9uLmxhYmVsIHtcbiAgei1pbmRleDogQG92ZXJsYXlaSW5kZXg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnZpc2libGUucmV2ZWFsIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSW5zdGFudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmluc3RhbnQucmV2ZWFsID4gLmNvbnRlbnQge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcyAhaW1wb3J0YW50O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6aW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucmV2ZWFsID4gLmNvbnRlbnQge1xuICBmb250LXNpemU6IEBtZWRpdW0gIWltcG9ydGFudDtcbn1cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyohXG4gKiAjIFNlbWFudGljIFVJIC0gU2VnbWVudFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdlbGVtZW50JztcbkBlbGVtZW50IDogJ3NlZ21lbnQnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTZWdtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc2VnbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG4gIG1hcmdpbjogQG1hcmdpbjtcbiAgcGFkZGluZzogQHBhZGRpbmc7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gIGJvcmRlcjogQGJvcmRlcjtcbn1cblxuLnVpLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkuc2VnbWVudDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG5cbi8qIFZlcnRpY2FsICovXG4udWkudmVydGljYWwuc2VnbWVudCB7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgcGFkZGluZy1yaWdodDogMGVtO1xuXG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiBAYm9yZGVyV2lkdGggc29saWQgQGJvcmRlckNvbG9yO1xufVxuLnVpLnZlcnRpY2FsLnNlZ21lbnQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgTG9vc2UgQ291cGxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogSGVhZGVyICovXG4udWkuaW52ZXJ0ZWQuc2VnbWVudCA+IC51aS5oZWFkZXIge1xuICBjb2xvcjogQHdoaXRlO1xufVxuXG4vKiBMYWJlbCAqL1xuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS5zZWdtZW50ID4gW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBlbTtcbn1cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uc2VnbWVudCA+IFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubGFiZWwge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwZW07XG59XG4udWkuYXR0YWNoZWQuc2VnbWVudDpub3QoLnRvcCk6bm90KC5ib3R0b20pID4gW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5sYWJlbCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBlbTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBlbTtcbn1cbi51aS5hdHRhY2hlZC5zZWdtZW50Om5vdCgudG9wKTpub3QoLmJvdHRvbSkgPiBbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLmxhYmVsIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMGVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMGVtO1xufVxuXG4vKiBHcmlkICovXG4udWkucGFnZS5ncmlkLnNlZ21lbnQsXG4udWkuZ3JpZCA+IC5yb3cgPiAudWkuc2VnbWVudC5jb2x1bW4sXG4udWkuZ3JpZCA+IC51aS5zZWdtZW50LmNvbHVtbiB7XG4gIHBhZGRpbmctdG9wOiBAcGFnZUdyaWRNYXJnaW47XG4gIHBhZGRpbmctYm90dG9tOiBAcGFnZUdyaWRNYXJnaW47XG59XG4udWkuZ3JpZC5zZWdtZW50IHtcbiAgbWFyZ2luOiBAbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xufVxuXG4vKiBUYWJsZSAqL1xuLnVpLmJhc2ljLnRhYmxlLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgYm9yZGVyOiBAYm9yZGVyO1xuICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xufVxuLnVpW2NsYXNzKj1cInZlcnkgYmFzaWNcIl0udGFibGUuc2VnbWVudCB7XG4gIHBhZGRpbmc6IEBwYWRkaW5nO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIFBsYWNlaG9sZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gIGFuaW1hdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBhZGRpbmc6IEBwbGFjZWhvbGRlclBhZGRpbmc7XG4gIG1pbi1oZWlnaHQ6IEBwbGFjZWhvbGRlck1pbkhlaWdodDtcbiAgYmFja2dyb3VuZDogQHBsYWNlaG9sZGVyQmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAcGxhY2Vob2xkZXJCb3JkZXJDb2xvcjtcbiAgYm94LXNoYWRvdzogQHBsYWNlaG9sZGVyQm94U2hhZG93O1xufVxuXG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCAuYnV0dG9uLFxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgdGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5maWVsZCxcbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IHRleHRhcmVhLFxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgPiAudWkuaW5wdXQsXG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCAuYnV0dG9uIHtcbiAgbWF4LXdpZHRoOiBAcGxhY2Vob2xkZXJDb250ZW50TWF4V2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCAuY29sdW1uIC5idXR0b24sXG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCAuY29sdW1uIC5maWVsZCxcbi51aS5wbGFjZWhvbGRlci5zZWdtZW50IC5jb2x1bW4gdGV4dGFyZWEsXG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCAuY29sdW1uID4gLnVpLmlucHV0IHtcbiAgbWF4LXdpZHRoOiBAcGxhY2Vob2xkZXJDb250ZW50TWF4V2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi51aS5wbGFjZWhvbGRlci5zZWdtZW50ID4gLmlubGluZSAge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4udWkucGxhY2Vob2xkZXIuc2VnbWVudCA+IC5pbmxpbmUgPiAuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiBAcGxhY2Vob2xkZXJDb250ZW50SW5saW5lQnV0dG9uTWFyZ2luO1xufVxuLnVpLnBsYWNlaG9sZGVyLnNlZ21lbnQgPiAuaW5saW5lID4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBpbGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5waWxlZC5zZWdtZW50cyxcbi51aS5waWxlZC5zZWdtZW50IHtcbiAgbWFyZ2luOiBAcGlsZWRNYXJnaW4gMGVtO1xuICBib3gtc2hhZG93OiBAcGlsZWRCb3hTaGFkb3c7XG4gIHotaW5kZXg6IEBwaWxlZFpJbmRleDtcbn1cbi51aS5waWxlZC5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLnVpLnBpbGVkLnNlZ21lbnQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi51aS5waWxlZC5zZWdtZW50czphZnRlcixcbi51aS5waWxlZC5zZWdtZW50czpiZWZvcmUsXG4udWkucGlsZWQuc2VnbWVudDphZnRlcixcbi51aS5waWxlZC5zZWdtZW50OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiBAcGlsZWRCb3JkZXI7XG4gIGJveC1zaGFkb3c6IEBwaWxlZEJveFNoYWRvdztcbn1cbi51aS5waWxlZC5zZWdtZW50czpiZWZvcmUsXG4udWkucGlsZWQuc2VnbWVudDpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtQHBpbGVkRGVncmVlcyk7XG4gIHRvcDogMDtcbiAgei1pbmRleDogLTI7XG59XG4udWkucGlsZWQuc2VnbWVudHM6YWZ0ZXIsXG4udWkucGlsZWQuc2VnbWVudDphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKEBwaWxlZERlZ3JlZXMpO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4vKiBQaWxlZCBBdHRhY2hlZCAqL1xuLnVpW2NsYXNzKj1cInRvcCBhdHRhY2hlZFwiXS5waWxlZC5zZWdtZW50IHtcbiAgbWFyZ2luLXRvcDogQHBpbGVkTWFyZ2luO1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG4udWkucGlsZWQuc2VnbWVudFtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkucGlsZWQuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IEBwaWxlZE1hcmdpbjtcbn1cbi51aS5waWxlZC5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBTdGFja2VkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zdGFja2VkLnNlZ21lbnQge1xuICBwYWRkaW5nLWJvdHRvbTogQHN0YWNrZWRQYWRkaW5nO1xufVxuLnVpLnN0YWNrZWQuc2VnbWVudHM6YmVmb3JlLFxuLnVpLnN0YWNrZWQuc2VnbWVudHM6YWZ0ZXIsXG4udWkuc3RhY2tlZC5zZWdtZW50OmJlZm9yZSxcbi51aS5zdGFja2VkLnNlZ21lbnQ6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0oQHN0YWNrZWRIZWlnaHQgLyAyKTtcbiAgbGVmdDogMCU7XG5cbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBib3JkZXJDb2xvcjtcbiAgYmFja2dyb3VuZDogQHN0YWNrZWRQYWdlQmFja2dyb3VuZDtcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBAc3RhY2tlZEhlaWdodDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi51aS5zdGFja2VkLnNlZ21lbnRzOmJlZm9yZSxcbi51aS5zdGFja2VkLnNlZ21lbnQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogQWRkIGFkZGl0aW9uYWwgcGFnZSAqL1xuLnVpLnRhbGwuc3RhY2tlZC5zZWdtZW50czpiZWZvcmUsXG4udWkudGFsbC5zdGFja2VkLnNlZ21lbnQ6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvdHRvbTogMHB4O1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuLnVpLnN0YWNrZWQuaW52ZXJ0ZWQuc2VnbWVudHM6YmVmb3JlLFxuLnVpLnN0YWNrZWQuaW52ZXJ0ZWQuc2VnbWVudHM6YWZ0ZXIsXG4udWkuc3RhY2tlZC5pbnZlcnRlZC5zZWdtZW50OmJlZm9yZSxcbi51aS5zdGFja2VkLmludmVydGVkLnNlZ21lbnQ6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3VidGxlVHJhbnNwYXJlbnRCbGFjaztcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBzZWxlY3RlZEJvcmRlckNvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBQYWRkZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnBhZGRlZC5zZWdtZW50IHtcbiAgcGFkZGluZzogQHBhZGRlZFNlZ21lbnRQYWRkaW5nO1xufVxuXG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0uc2VnbWVudCB7XG4gIHBhZGRpbmc6IEB2ZXJ5UGFkZGVkU2VnbWVudFBhZGRpbmc7XG59XG5cbi8qIFBhZGRlZCB2ZXJ0aWNhbCAqL1xuLnVpLnBhZGRlZC5zZWdtZW50LnZlcnRpY2FsLnNlZ21lbnQsXG4udWlbY2xhc3MqPVwidmVyeSBwYWRkZWRcIl0udmVydGljYWwuc2VnbWVudCB7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIENvbXBhY3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbXBhY3Quc2VnbWVudCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4vKiBDb21wYWN0IEdyb3VwICovXG4udWkuY29tcGFjdC5zZWdtZW50cyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuLnVpLmNvbXBhY3Quc2VnbWVudHMgLnNlZ21lbnQsXG4udWkuc2VnbWVudHMgLmNvbXBhY3Quc2VnbWVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDEgYXV0bztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ2lyY3VsYXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNpcmN1bGFyLnNlZ21lbnQge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICBwYWRkaW5nOiBAY2lyY3VsYXJQYWRkaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBSYWlzZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnJhaXNlZC5zZWdtZW50cyxcbi51aS5yYWlzZWQuc2VnbWVudCB7XG4gIGJveC1zaGFkb3c6IEByYWlzZWRCb3hTaGFkb3c7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIEdyb3Vwc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogR3JvdXAgKi9cbi51aS5zZWdtZW50cyB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBAZ3JvdXBlZE1hcmdpbjtcbiAgYm9yZGVyOiBAZ3JvdXBlZEJvcmRlcjtcbiAgYm94LXNoYWRvdzogQGdyb3VwZWRCb3hTaGFkb3c7XG4gIGJvcmRlci1yYWRpdXM6IEBncm91cGVkQm9yZGVyUmFkaXVzO1xufVxuLnVpLnNlZ21lbnRzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLnVpLnNlZ21lbnRzOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cblxuLyogTmVzdGVkIFNlZ21lbnQgKi9cbi51aS5zZWdtZW50cyA+IC5zZWdtZW50IHtcbiAgdG9wOiAwcHg7XG4gIGJvdHRvbTogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIG1hcmdpbjogQGdyb3VwZWRTZWdtZW50TWFyZ2luO1xuICB3aWR0aDogQGdyb3VwZWRTZWdtZW50V2lkdGg7XG4gIGJveC1zaGFkb3c6IEBncm91cGVkU2VnbWVudEJveFNoYWRvdztcbiAgYm9yZGVyOiBAZ3JvdXBlZFNlZ21lbnRCb3JkZXI7XG4gIGJvcmRlci10b3A6IEBncm91cGVkU2VnbWVudERpdmlkZXI7XG59XG5cbi51aS5zZWdtZW50czpub3QoLmhvcml6b250YWwpID4gLnNlZ21lbnQ6Zmlyc3QtY2hpbGQge1xuICB0b3A6IEBhdHRhY2hlZFRvcE9mZnNldDtcbiAgYm90dG9tOiAwcHg7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgYm90dG9tOiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbiAgdG9wOiBAYXR0YWNoZWRUb3BPZmZzZXQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuXG4vKiBCb3R0b20gKi9cbi51aS5zZWdtZW50czpub3QoLmhvcml6b250YWwpID4gLnNlZ21lbnQ6bGFzdC1jaGlsZCB7XG4gIHRvcDogQGF0dGFjaGVkQm90dG9tT2Zmc2V0O1xuICBib3R0b206IDBweDtcbiAgbWFyZ2luLXRvcDogMGVtO1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJvdHRvbUJveFNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG59XG5cbi8qIE9ubHkgKi9cbi51aS5zZWdtZW50czpub3QoLmhvcml6b250YWwpID4gLnNlZ21lbnQ6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG59XG5cblxuLyogTmVzdGVkIEdyb3VwICovXG4udWkuc2VnbWVudHMgPiAudWkuc2VnbWVudHMge1xuICBib3JkZXItdG9wOiBAZ3JvdXBlZFNlZ21lbnREaXZpZGVyO1xuICBtYXJnaW46IEBuZXN0ZWRHcm91cE1hcmdpbjtcbn1cbi51aS5zZWdtZW50cyA+IC5zZWdtZW50czpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuc2VnbWVudHMgPiAuc2VnbWVudCArIC5zZWdtZW50czpub3QoLmhvcml6b250YWwpIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4vKiBIb3Jpem9udGFsIEdyb3VwICovXG4udWkuaG9yaXpvbnRhbC5zZWdtZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIHBhZGRpbmc6IDBlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG4gIG1hcmdpbjogQG1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgYm9yZGVyOiBAYm9yZGVyO1xufVxuXG4vKiBOZXN0ZWQgSG9yaXpvbnRhbCBHcm91cCAqL1xuLnVpLnNlZ21lbnRzID4gLmhvcml6b250YWwuc2VnbWVudHMge1xuICBtYXJnaW46IDBlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItdG9wOiBAZ3JvdXBlZFNlZ21lbnREaXZpZGVyO1xufVxuXG4vKiBIb3Jpem9udGFsIFNlZ21lbnQgKi9cbi51aS5ob3Jpem9udGFsLnNlZ21lbnRzID4gLnNlZ21lbnQge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgLW1zLWZsZXg6IDEgMSAwcHg7IC8qIFNvbHZlcyAjMjU1MCBNUyBGbGV4ICovXG4gIG1hcmdpbjogMGVtO1xuICBtaW4td2lkdGg6IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItbGVmdDogQGJvcmRlcldpZHRoIHNvbGlkIEBib3JkZXJDb2xvcjtcbn1cblxuLyogQm9yZGVyIEZpeGVzICovXG4udWkuc2VnbWVudHMgPiAuaG9yaXpvbnRhbC5zZWdtZW50czpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuaG9yaXpvbnRhbC5zZWdtZW50cyA+IC5zZWdtZW50OmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZGlzYWJsZWQuc2VnbWVudCB7XG4gIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG4gIGNvbG9yOiBAZGlzYWJsZWRUZXh0Q29sb3I7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBMb2FkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubG9hZGluZy5zZWdtZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbn1cbi51aS5sb2FkaW5nLnNlZ21lbnQ6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiAwJTtcbiAgbGVmdDogMCU7XG4gIGJhY2tncm91bmQ6IEBsb2FkZXJEaW1tZXJDb2xvcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgei1pbmRleDogQGxvYWRlckRpbW1lclpJbmRleDtcbn1cbi51aS5sb2FkaW5nLnNlZ21lbnQ6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuXG4gIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuXG4gIGFuaW1hdGlvbjogc2VnbWVudC1zcGluIEBsb2FkZXJTcGVlZCBsaW5lYXI7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcblxuICBib3JkZXItY29sb3I6IEBsb2FkZXJMaW5lQ29sb3IgQGxvYWRlckZpbGxDb2xvciBAbG9hZGVyRmlsbENvbG9yIEBsb2FkZXJGaWxsQ29sb3I7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogQGxvYWRlckxpbmVXaWR0aDtcblxuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHotaW5kZXg6IEBsb2FkZXJMaW5lWkluZGV4O1xufVxuXG5Aa2V5ZnJhbWVzIHNlZ21lbnQtc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBCYXNpY1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYmFzaWMuc2VnbWVudCB7XG4gIGJhY2tncm91bmQ6IEBiYXNpY0JhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IEBiYXNpY0JveFNoYWRvdztcbiAgYm9yZGVyOiBAYmFzaWNCb3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEBiYXNpY0JvcmRlclJhZGl1cztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ2xlYXJpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNsZWFyaW5nLnNlZ21lbnQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIi5cIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFJlZCAqL1xuLnVpLnJlZC5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEByZWQgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5yZWQuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEByZWQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBPcmFuZ2UgKi9cbi51aS5vcmFuZ2Uuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IEBjb2xvcmVkQm9yZGVyU2l6ZSBzb2xpZCBAb3JhbmdlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQub3JhbmdlLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb3JhbmdlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogWWVsbG93ICovXG4udWkueWVsbG93LnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiBAY29sb3JlZEJvcmRlclNpemUgc29saWQgQHllbGxvdyAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnllbGxvdy5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHllbGxvdyAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIE9saXZlICovXG4udWkub2xpdmUuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IEBjb2xvcmVkQm9yZGVyU2l6ZSBzb2xpZCBAb2xpdmUgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5vbGl2ZS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG9saXZlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogR3JlZW4gKi9cbi51aS5ncmVlbi5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEBncmVlbiAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmdyZWVuLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JlZW4gIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBUZWFsICovXG4udWkudGVhbC5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEB0ZWFsICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQudGVhbC5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRlYWwgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBCbHVlICovXG4udWkuYmx1ZS5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEBibHVlICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJsdWUgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBWaW9sZXQgKi9cbi51aS52aW9sZXQuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IEBjb2xvcmVkQm9yZGVyU2l6ZSBzb2xpZCBAdmlvbGV0ICFpbXBvcnRhbnQ7XG59XG4udWkuaW52ZXJ0ZWQudmlvbGV0LnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdmlvbGV0ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogUHVycGxlICovXG4udWkucHVycGxlLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiBAY29sb3JlZEJvcmRlclNpemUgc29saWQgQHB1cnBsZSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHB1cnBsZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBpbmsgKi9cbi51aS5waW5rLnNlZ21lbnQ6bm90KC5pbnZlcnRlZCkge1xuICBib3JkZXItdG9wOiBAY29sb3JlZEJvcmRlclNpemUgc29saWQgQHBpbmsgIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5waW5rLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGluayAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJyb3duICovXG4udWkuYnJvd24uc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IEBjb2xvcmVkQm9yZGVyU2l6ZSBzb2xpZCBAYnJvd24gIWltcG9ydGFudDtcbn1cbi51aS5pbnZlcnRlZC5icm93bi5zZWdtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJyb3duICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogR3JleSAqL1xuLnVpLmdyZXkuc2VnbWVudDpub3QoLmludmVydGVkKSB7XG4gIGJvcmRlci10b3A6IEBjb2xvcmVkQm9yZGVyU2l6ZSBzb2xpZCBAZ3JleSAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmdyZXkuc2VnbWVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmV5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogQmxhY2sgKi9cbi51aS5ibGFjay5zZWdtZW50Om5vdCguaW52ZXJ0ZWQpIHtcbiAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEBibGFjayAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLmJsYWNrLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmxhY2sgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBbGlnbmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aVtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0uc2VnbWVudCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5zZWdtZW50IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4udWlbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uc2VnbWVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRmxvYXRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmxvYXRlZC5zZWdtZW50LFxuLnVpW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXS5zZWdtZW50IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogQGZsb2F0ZWREaXN0YW5jZTtcbn1cbi51aVtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLnNlZ21lbnQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiBAZmxvYXRlZERpc3RhbmNlO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmludmVydGVkLnNlZ21lbnQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4udWkuaW52ZXJ0ZWQuc2VnbWVudCxcbi51aS5wcmltYXJ5LmludmVydGVkLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xufVxuXG4vKiBOZXN0ZWQgKi9cbi51aS5pbnZlcnRlZC5zZWdtZW50IC5zZWdtZW50IHtcbiAgY29sb3I6IEB0ZXh0Q29sb3I7XG59XG4udWkuaW52ZXJ0ZWQuc2VnbWVudCAuaW52ZXJ0ZWQuc2VnbWVudCB7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRUZXh0Q29sb3I7XG59XG5cbi8qIEF0dGFjaGVkICovXG4udWkuaW52ZXJ0ZWQuYXR0YWNoZWQuc2VnbWVudCB7XG4gIGJvcmRlci1jb2xvcjogQHNvbGlkV2hpdGVCb3JkZXJDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIEVtcGhhc2lzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNlY29uZGFyeSAqL1xuLnVpLnNlY29uZGFyeS5zZWdtZW50IHtcbiAgYmFja2dyb3VuZDogQHNlY29uZGFyeUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAc2Vjb25kYXJ5Q29sb3I7XG59XG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnNlZ21lbnQge1xuICBiYWNrZ3JvdW5kOiBAc2Vjb25kYXJ5SW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICBjb2xvcjogQHNlY29uZGFyeUludmVydGVkQ29sb3I7XG59XG5cbi8qIFRlcnRpYXJ5ICovXG4udWkudGVydGlhcnkuc2VnbWVudCB7XG4gIGJhY2tncm91bmQ6IEB0ZXJ0aWFyeUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAdGVydGlhcnlDb2xvcjtcbn1cbi51aS50ZXJ0aWFyeS5pbnZlcnRlZC5zZWdtZW50IHtcbiAgYmFja2dyb3VuZDogQHRlcnRpYXJ5SW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICBjb2xvcjogQHRlcnRpYXJ5SW52ZXJ0ZWRDb2xvcjtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE1pZGRsZSAqL1xuLnVpLmF0dGFjaGVkLnNlZ21lbnQge1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWFyZ2luOiAwZW0gQGF0dGFjaGVkSG9yaXpvbnRhbE9mZnNldDtcbiAgd2lkdGg6IEBhdHRhY2hlZFdpZHRoO1xuICBtYXgtd2lkdGg6IEBhdHRhY2hlZFdpZHRoO1xuICBib3gtc2hhZG93OiBAYXR0YWNoZWRCb3hTaGFkb3c7XG4gIGJvcmRlcjogQGF0dGFjaGVkQm9yZGVyO1xufVxuLnVpLmF0dGFjaGVkOm5vdCgubWVzc2FnZSkgKyAudWkuYXR0YWNoZWQuc2VnbWVudDpub3QoLnRvcCkge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4vKiBUb3AgKi9cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0uc2VnbWVudCB7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIHRvcDogQGF0dGFjaGVkVG9wT2Zmc2V0O1xuICBtYXJnaW4tdG9wOiBAdmVydGljYWxNYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuLnVpLnNlZ21lbnRbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4vKiBCb3R0b20gKi9cbi51aS5zZWdtZW50W2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXSB7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIHRvcDogQGF0dGFjaGVkQm90dG9tT2Zmc2V0O1xuICBtYXJnaW4tYm90dG9tOiBAdmVydGljYWxNYXJnaW47XG4gIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJvdHRvbUJveFNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG59XG4udWkuc2VnbWVudFtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFNpemVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1pbmkuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkubWluaS5zZWdtZW50IHtcbiAgZm9udC1zaXplOiBAbWluaTtcbn1cbi51aS50aW55LnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLnRpbnkuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogQHRpbnk7XG59XG4udWkuc21hbGwuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkuc21hbGwuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogQHNtYWxsO1xufVxuLnVpLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLnNlZ21lbnQge1xuICBmb250LXNpemU6IEBtZWRpdW07XG59XG4udWkubGFyZ2Uuc2VnbWVudHMgLnNlZ21lbnQsXG4udWkubGFyZ2Uuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogQGxhcmdlO1xufVxuLnVpLmJpZy5zZWdtZW50cyAuc2VnbWVudCxcbi51aS5iaWcuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogQGJpZztcbn1cbi51aS5odWdlLnNlZ21lbnRzIC5zZWdtZW50LFxuLnVpLmh1Z2Uuc2VnbWVudCB7XG4gIGZvbnQtc2l6ZTogQGh1Z2U7XG59XG4udWkubWFzc2l2ZS5zZWdtZW50cyAuc2VnbWVudCxcbi51aS5tYXNzaXZlLnNlZ21lbnQge1xuICBmb250LXNpemU6IEBtYXNzaXZlO1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBTdGVwXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RlcFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgTG9hZCBUaGVtZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuQHR5cGUgICAgOiAnZWxlbWVudCc7XG5AZWxlbWVudCA6ICdzdGVwJztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUGx1cmFsXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc3RlcHMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIG1hcmdpbjogQHN0ZXBNYXJnaW47XG4gIGJhY2tncm91bmQ6IEBzdGVwc0JhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IEBzdGVwc0JveFNoYWRvdztcbiAgbGluZS1oZWlnaHQ6IEBsaW5lSGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAc3RlcHNCb3JkZXJSYWRpdXM7XG4gIGJvcmRlcjogQHN0ZXBzQm9yZGVyO1xufVxuXG4vKiBGaXJzdCBTdGVwcyAqL1xuLnVpLnN0ZXBzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4vKiBMYXN0IFN0ZXBzICovXG4udWkuc3RlcHM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBTaW5ndWxhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLnN0ZXBzIC5zdGVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IEBqdXN0aWZ5Q29udGVudDtcblxuICBtYXJnaW46IEB2ZXJ0aWNhbE1hcmdpbiBAaG9yaXpvbnRhbE1hcmdpbjtcbiAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gIGJhY2tncm91bmQ6IEBiYWNrZ3JvdW5kO1xuICBjb2xvcjogQHRleHRDb2xvcjtcbiAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgYm9yZGVyOiBAYm9yZGVyO1xuICBib3JkZXItcmlnaHQ6IEBkaXZpZGVyO1xuICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cblxuLyogQXJyb3cgKi9cbi51aS5zdGVwcyAuc3RlcDphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgY29udGVudDogJyc7XG4gIHRvcDogQGFycm93VG9wT2Zmc2V0O1xuICByaWdodDogQGFycm93UmlnaHRPZmZzZXQ7XG4gIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBhcnJvd0JhY2tncm91bmRDb2xvcjtcbiAgd2lkdGg6IEBhcnJvd1NpemU7XG4gIGhlaWdodDogQGFycm93U2l6ZTtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IEBib3JkZXJDb2xvcjtcbiAgYm9yZGVyLXdpZHRoOiBAYXJyb3dCb3JkZXJXaWR0aDtcblxuICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLyogRmlyc3QgU3RlcCAqL1xuLnVpLnN0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gIGJvcmRlci1yYWRpdXM6IEBzdGVwc0JvcmRlclJhZGl1cyAwZW0gMGVtIEBzdGVwc0JvcmRlclJhZGl1cztcbn1cblxuLyogTGFzdCBTdGVwICovXG4udWkuc3RlcHMgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSBAc3RlcHNCb3JkZXJSYWRpdXMgQHN0ZXBzQm9yZGVyUmFkaXVzIDBlbTtcbn1cbi51aS5zdGVwcyAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cblxuLyogT25seSBTdGVwICovXG4udWkuc3RlcHMgLnN0ZXA6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IEBzdGVwc0JvcmRlclJhZGl1cztcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogVGl0bGUgKi9cbi51aS5zdGVwcyAuc3RlcCAudGl0bGUge1xuICBmb250LWZhbWlseTogQHRpdGxlRm9udEZhbWlseTtcbiAgZm9udC1zaXplOiBAdGl0bGVGb250U2l6ZTtcbiAgZm9udC13ZWlnaHQ6IEB0aXRsZUZvbnRXZWlnaHQ7XG59XG4udWkuc3RlcHMgLnN0ZXAgPiAudGl0bGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogRGVzY3JpcHRpb24gKi9cbi51aS5zdGVwcyAuc3RlcCAuZGVzY3JpcHRpb24ge1xuICBmb250LXdlaWdodDogQGRlc2NyaXB0aW9uRm9udFdlaWdodDtcbiAgZm9udC1zaXplOiBAZGVzY3JpcHRpb25Gb250U2l6ZTtcbiAgY29sb3I6IEBkZXNjcmlwdGlvbkNvbG9yO1xufVxuLnVpLnN0ZXBzIC5zdGVwID4gLmRlc2NyaXB0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkuc3RlcHMgLnN0ZXAgLnRpdGxlIH4gLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogQGRlc2NyaXB0aW9uRGlzdGFuY2U7XG59XG5cbi8qIEljb24gKi9cbi51aS5zdGVwcyAuc3RlcCA+IC5pY29uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogQGljb25TaXplO1xuICBtYXJnaW46IDBlbSBAaWNvbkRpc3RhbmNlIDBlbSAwZW07XG59XG4udWkuc3RlcHMgLnN0ZXAgPiAuaWNvbixcbi51aS5zdGVwcyAuc3RlcCA+IC5pY29uIH4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMCAxIGF1dG87XG4gIGFsaWduLXNlbGY6IEBpY29uQWxpZ247XG59XG4udWkuc3RlcHMgLnN0ZXAgPiAuaWNvbiB+IC5jb250ZW50IHtcbiAgZmxleC1ncm93OiAxIDAgYXV0bztcbn1cblxuLyogSG9yaXpvbnRhbCBJY29uICovXG4udWkuc3RlcHM6bm90KC52ZXJ0aWNhbCkgLnN0ZXAgPiAuaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKiBMaW5rICovXG4udWkuc3RlcHMgLmxpbmsuc3RlcCxcbi51aS5zdGVwcyBhLnN0ZXAge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBPcmRlcmVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkub3JkZXJlZC5zdGVwcyB7XG4gIGNvdW50ZXItcmVzZXQ6IG9yZGVyZWQ7XG59XG4udWkub3JkZXJlZC5zdGVwcyAuc3RlcDpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb250ZW50OiBjb3VudGVycyhvcmRlcmVkLCBcIi5cIik7XG4gIGFsaWduLXNlbGY6IEBpY29uQWxpZ247XG4gIG1hcmdpbi1yaWdodDogQGljb25EaXN0YW5jZTtcbiAgZm9udC1zaXplOiBAaWNvblNpemU7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBvcmRlcmVkO1xuICBmb250LWZhbWlseTogQG9yZGVyZWRGb250RmFtaWx5O1xuICBmb250LXdlaWdodDogQG9yZGVyZWRGb250V2VpZ2h0O1xufVxuXG4udWkub3JkZXJlZC5zdGVwcyAuc3RlcCA+ICoge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYWxpZ24tc2VsZjogQGljb25BbGlnbjtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgVmVydGljYWxcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS52ZXJ0aWNhbC5zdGVwcyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbi51aS52ZXJ0aWNhbC5zdGVwcyAuc3RlcCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogQHZlcnRpY2FsRGl2aWRlcjtcbn1cbi51aS52ZXJ0aWNhbC5zdGVwcyAuc3RlcDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xuICBib3JkZXItcmFkaXVzOiBAc3RlcHNCb3JkZXJSYWRpdXMgQHN0ZXBzQm9yZGVyUmFkaXVzIDBlbSAwZW07XG59XG4udWkudmVydGljYWwuc3RlcHMgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gQHN0ZXBzQm9yZGVyUmFkaXVzIEBzdGVwc0JvcmRlclJhZGl1cztcbn1cbi51aS52ZXJ0aWNhbC5zdGVwcyAuc3RlcDpvbmx5LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogQHN0ZXBzQm9yZGVyUmFkaXVzO1xufVxuXG5cbi8qIEFycm93ICovXG4udWkudmVydGljYWwuc3RlcHMgLnN0ZXA6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLnZlcnRpY2FsLnN0ZXBzIC5zdGVwOmFmdGVyIHtcbiAgdG9wOiBAdmVydGljYWxBcnJvd1RvcE9mZnNldDtcbiAgcmlnaHQ6IEB2ZXJ0aWNhbEFycm93UmlnaHRPZmZzZXQ7XG4gIGJvcmRlci13aWR0aDogQHZlcnRpY2FsQXJyb3dCb3JkZXJXaWR0aDtcbn1cblxuLnVpLnZlcnRpY2FsLnN0ZXBzIC5zdGVwOmFmdGVyIHtcbiAgZGlzcGxheTogQHZlcnRpY2FsQXJyb3dEaXNwbGF5O1xufVxuLnVpLnZlcnRpY2FsLnN0ZXBzIC5hY3RpdmUuc3RlcDphZnRlciB7XG4gIGRpc3BsYXk6IEB2ZXJ0aWNhbEFjdGl2ZUFycm93RGlzcGxheTtcbn1cbi51aS52ZXJ0aWNhbC5zdGVwcyAuc3RlcDpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgZGlzcGxheTogQHZlcnRpY2FsTGFzdEFycm93RGlzcGxheTtcbn1cbi51aS52ZXJ0aWNhbC5zdGVwcyAuYWN0aXZlLnN0ZXA6bGFzdC1jaGlsZDphZnRlciB7XG4gIGRpc3BsYXk6IEB2ZXJ0aWNhbEFjdGl2ZUxhc3RBcnJvd0Rpc3BsYXk7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS1cbiAgICBSZXNwb25zaXZlXG4tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogTW9iaWxlIChEZWZhdWx0KSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAoQGxhcmdlc3RNb2JpbGVTY3JlZW4pKSB7XG5cbiAgLnVpLnN0ZXBzOm5vdCgudW5zdGFja2FibGUpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC51aS5zdGVwczpub3QoLnVuc3RhY2thYmxlKSAuc3RlcCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gICAgcGFkZGluZzogQHZlcnRpY2FsUGFkZGluZyBAaG9yaXpvbnRhbFBhZGRpbmc7XG4gIH1cbiAgLnVpLnN0ZXBzOm5vdCgudW5zdGFja2FibGUpIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiBAc3RlcHNCb3JkZXJSYWRpdXMgQHN0ZXBzQm9yZGVyUmFkaXVzIDBlbSAwZW07XG4gIH1cbiAgLnVpLnN0ZXBzOm5vdCgudW5zdGFja2FibGUpIC5zdGVwOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gQHN0ZXBzQm9yZGVyUmFkaXVzIEBzdGVwc0JvcmRlclJhZGl1cztcbiAgfVxuXG4gIC8qIEFycm93ICovXG4gIC51aS5zdGVwczpub3QoLnVuc3RhY2thYmxlKSAuc3RlcDphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogQ29udGVudCAqL1xuICAudWkuc3RlcHM6bm90KC51bnN0YWNrYWJsZSkgLnN0ZXAgLmNvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC8qIEljb24gKi9cbiAgLnVpLnN0ZXBzOm5vdCgudW5zdGFja2FibGUpIC5zdGVwID4gLmljb24sXG4gIC51aS5vcmRlcmVkLnN0ZXBzOm5vdCgudW5zdGFja2FibGUpIC5zdGVwOmJlZm9yZSB7XG4gICAgbWFyZ2luOiAwZW0gMGVtIEBtb2JpbGVJY29uRGlzdGFuY2UgMGVtO1xuICB9XG5cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIExpbmsgSG92ZXIgKi9cbi51aS5zdGVwcyAubGluay5zdGVwOmhvdmVyOjphZnRlcixcbi51aS5zdGVwcyAubGluay5zdGVwOmhvdmVyLFxuLnVpLnN0ZXBzIGEuc3RlcDpob3Zlcjo6YWZ0ZXIsXG4udWkuc3RlcHMgYS5zdGVwOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogQGhvdmVyQmFja2dyb3VuZDtcbiAgY29sb3I6IEBob3ZlckNvbG9yO1xufVxuXG4vKiBMaW5rIERvd24gKi9cbi51aS5zdGVwcyAubGluay5zdGVwOmFjdGl2ZTo6YWZ0ZXIsXG4udWkuc3RlcHMgLmxpbmsuc3RlcDphY3RpdmUsXG4udWkuc3RlcHMgYS5zdGVwOmFjdGl2ZTo6YWZ0ZXIsXG4udWkuc3RlcHMgYS5zdGVwOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IEBkb3duQmFja2dyb3VuZDtcbiAgY29sb3I6IEBkb3duQ29sb3I7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVpLnN0ZXBzIC5zdGVwLmFjdGl2ZSB7XG4gIGN1cnNvcjogYXV0bztcbiAgYmFja2dyb3VuZDogQGFjdGl2ZUJhY2tncm91bmQ7XG59XG4udWkuc3RlcHMgLnN0ZXAuYWN0aXZlOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogQGFjdGl2ZUJhY2tncm91bmQ7XG59XG4udWkuc3RlcHMgLnN0ZXAuYWN0aXZlIC50aXRsZSB7XG4gIGNvbG9yOiBAYWN0aXZlQ29sb3I7XG59XG4udWkub3JkZXJlZC5zdGVwcyAuc3RlcC5hY3RpdmU6YmVmb3JlLFxuLnVpLnN0ZXBzIC5hY3RpdmUuc3RlcCAuaWNvbiB7XG4gIGNvbG9yOiBAYWN0aXZlSWNvbkNvbG9yO1xufVxuXG4vKiBBY3RpdmUgQXJyb3cgKi9cbi51aS5zdGVwcyAuc3RlcDphZnRlciB7XG4gIGRpc3BsYXk6IEBhcnJvd0Rpc3BsYXk7XG59XG4udWkuc3RlcHMgLmFjdGl2ZS5zdGVwOmFmdGVyIHtcbiAgZGlzcGxheTogQGFjdGl2ZUFycm93RGlzcGxheTtcbn1cbi51aS5zdGVwcyAuc3RlcDpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgZGlzcGxheTogQGxhc3RBcnJvd0Rpc3BsYXk7XG59XG4udWkuc3RlcHMgLmFjdGl2ZS5zdGVwOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBAYWN0aXZlTGFzdEFycm93RGlzcGxheTtcbn1cblxuLyogQWN0aXZlIEhvdmVyICovXG4udWkuc3RlcHMgLmxpbmsuYWN0aXZlLnN0ZXA6aG92ZXI6OmFmdGVyLFxuLnVpLnN0ZXBzIC5saW5rLmFjdGl2ZS5zdGVwOmhvdmVyLFxuLnVpLnN0ZXBzIGEuYWN0aXZlLnN0ZXA6aG92ZXI6OmFmdGVyLFxuLnVpLnN0ZXBzIGEuYWN0aXZlLnN0ZXA6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IEBhY3RpdmVIb3ZlckJhY2tncm91bmQ7XG4gIGNvbG9yOiBAYWN0aXZlSG92ZXJDb2xvcjtcbn1cblxuLyogQ29tcGxldGVkICovXG4udWkuc3RlcHMgLnN0ZXAuY29tcGxldGVkID4gLmljb246YmVmb3JlLFxuLnVpLm9yZGVyZWQuc3RlcHMgLnN0ZXAuY29tcGxldGVkOmJlZm9yZSB7XG4gIGNvbG9yOiBAY29tcGxldGVkQ29sb3I7XG59XG5cbi8qIERpc2FibGVkICovXG4udWkuc3RlcHMgLmRpc2FibGVkLnN0ZXAge1xuICBjdXJzb3I6IGF1dG87XG4gIGJhY2tncm91bmQ6IEBkaXNhYmxlZEJhY2tncm91bmQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnVpLnN0ZXBzIC5kaXNhYmxlZC5zdGVwLFxuLnVpLnN0ZXBzIC5kaXNhYmxlZC5zdGVwIC50aXRsZSxcbi51aS5zdGVwcyAuZGlzYWJsZWQuc3RlcCAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogQGRpc2FibGVkQ29sb3I7XG59XG4udWkuc3RlcHMgLmRpc2FibGVkLnN0ZXA6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBAZGlzYWJsZWRCYWNrZ3JvdW5kO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgU3RhY2thYmxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBUYWJsZXQgT3IgQmVsb3cgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcblxuLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qIFN0ZXBzICovXG4udWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwcyAuc3RlcCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gIHBhZGRpbmc6IEB2ZXJ0aWNhbFBhZGRpbmcgQGhvcml6b250YWxQYWRkaW5nO1xufVxuLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHMgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbiAgYm9yZGVyLXJhZGl1czogQHN0ZXBzQm9yZGVyUmFkaXVzIEBzdGVwc0JvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHMgLnN0ZXA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gQHN0ZXBzQm9yZGVyUmFkaXVzIEBzdGVwc0JvcmRlclJhZGl1cztcbn1cblxuLyogQXJyb3cgKi9cbi51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnN0ZXBzIC5zdGVwOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBDb250ZW50ICovXG4udWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS5zdGVwcyAuc3RlcCAuY29udGVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogSWNvbiAqL1xuLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0uc3RlcHMgLnN0ZXAgPiAuaWNvbixcbi51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLm9yZGVyZWQuc3RlcHMgLnN0ZXA6YmVmb3JlIHtcbiAgbWFyZ2luOiAwZW0gMGVtIEBtb2JpbGVJY29uRGlzdGFuY2UgMGVtO1xufVxuXG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEZsdWlkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBGbHVpZCAqL1xuLnVpLmZsdWlkLnN0ZXBzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBBdHRhY2hlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogVG9wICovXG4udWkuYXR0YWNoZWQuc3RlcHMge1xuICB3aWR0aDogQGF0dGFjaGVkV2lkdGggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW0gQGF0dGFjaGVkSG9yaXpvbnRhbE9mZnNldCBAYXR0YWNoZWRWZXJ0aWNhbE9mZnNldDtcbiAgbWF4LXdpZHRoOiBAYXR0YWNoZWRXaWR0aDtcbiAgYm9yZGVyLXJhZGl1czogQHN0ZXBzQm9yZGVyUmFkaXVzIEBzdGVwc0JvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuLnVpLmF0dGFjaGVkLnN0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogQHN0ZXBzQm9yZGVyUmFkaXVzIDBlbSAwZW0gMGVtO1xufVxuLnVpLmF0dGFjaGVkLnN0ZXBzIC5zdGVwOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gQHN0ZXBzQm9yZGVyUmFkaXVzIDBlbSAwZW07XG59XG5cbi8qIEJvdHRvbSAqL1xuLnVpLmJvdHRvbS5hdHRhY2hlZC5zdGVwcyB7XG4gIG1hcmdpbjogQGF0dGFjaGVkVmVydGljYWxPZmZzZXQgQGF0dGFjaGVkSG9yaXpvbnRhbE9mZnNldCAwZW07XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gQHN0ZXBzQm9yZGVyUmFkaXVzIEBzdGVwc0JvcmRlclJhZGl1cztcbn1cbi51aS5ib3R0b20uYXR0YWNoZWQuc3RlcHMgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIDBlbSBAc3RlcHNCb3JkZXJSYWRpdXM7XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLnN0ZXBzIC5zdGVwOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIEBzdGVwc0JvcmRlclJhZGl1cyAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEV2ZW5seSBEaXZpZGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5vbmUuc3RlcHMsXG4udWkudHdvLnN0ZXBzLFxuLnVpLnRocmVlLnN0ZXBzLFxuLnVpLmZvdXIuc3RlcHMsXG4udWkuZml2ZS5zdGVwcyxcbi51aS5zaXguc3RlcHMsXG4udWkuc2V2ZW4uc3RlcHMsXG4udWkuZWlnaHQuc3RlcHMge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5vbmUuc3RlcHMgPiAuc3RlcCxcbi51aS50d28uc3RlcHMgPiAuc3RlcCxcbi51aS50aHJlZS5zdGVwcyA+IC5zdGVwLFxuLnVpLmZvdXIuc3RlcHMgPiAuc3RlcCxcbi51aS5maXZlLnN0ZXBzID4gLnN0ZXAsXG4udWkuc2l4LnN0ZXBzID4gLnN0ZXAsXG4udWkuc2V2ZW4uc3RlcHMgPiAuc3RlcCxcbi51aS5laWdodC5zdGVwcyA+IC5zdGVwIHtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG4udWkub25lLnN0ZXBzID4gLnN0ZXAge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS50d28uc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiA1MCU7XG59XG4udWkudGhyZWUuc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiAzMy4zMzMlO1xufVxuLnVpLmZvdXIuc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiAyNSU7XG59XG4udWkuZml2ZS5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDIwJTtcbn1cbi51aS5zaXguc3RlcHMgPiAuc3RlcCB7XG4gIHdpZHRoOiAxNi42NjYlO1xufVxuLnVpLnNldmVuLnN0ZXBzID4gLnN0ZXAge1xuICB3aWR0aDogMTQuMjg1JTtcbn1cbi51aS5laWdodC5zdGVwcyA+IC5zdGVwIHtcbiAgd2lkdGg6IDEyLjUwMCU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuLnVpLm1pbmkuc3RlcHMgLnN0ZXAsXG4udWkubWluaS5zdGVwIHtcbiAgZm9udC1zaXplOiBAbWluaTtcbn1cbi51aS50aW55LnN0ZXBzIC5zdGVwLFxuLnVpLnRpbnkuc3RlcCB7XG4gIGZvbnQtc2l6ZTogQHRpbnk7XG59XG4udWkuc21hbGwuc3RlcHMgLnN0ZXAsXG4udWkuc21hbGwuc3RlcCB7XG4gIGZvbnQtc2l6ZTogQHNtYWxsO1xufVxuLnVpLnN0ZXBzIC5zdGVwLFxuLnVpLnN0ZXAge1xuICBmb250LXNpemU6IEBtZWRpdW07XG59XG4udWkubGFyZ2Uuc3RlcHMgLnN0ZXAsXG4udWkubGFyZ2Uuc3RlcCB7XG4gIGZvbnQtc2l6ZTogQGxhcmdlO1xufVxuLnVpLmJpZy5zdGVwcyAuc3RlcCxcbi51aS5iaWcuc3RlcCB7XG4gIGZvbnQtc2l6ZTogQGJpZztcbn1cbi51aS5odWdlLnN0ZXBzIC5zdGVwLFxuLnVpLmh1Z2Uuc3RlcCB7XG4gIGZvbnQtc2l6ZTogQGh1Z2U7XG59XG4udWkubWFzc2l2ZS5zdGVwcyAuc3RlcCxcbi51aS5tYXNzaXZlLnN0ZXAge1xuICBmb250LXNpemU6IEBtYXNzaXZlO1xufVxuXG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1N0ZXAnO1xuICBzcmM6XG4gICAgdXJsKGRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04OztiYXNlNjQsQUFFQUFBQU9BSUFBQXdCZ1QxTXZNajNoU1FFQUFBRHNBQUFBVm1OdFlYRFFFaG0zQUFBQlJBQUFBVXBqZG5RZ0Jrbi9sQUFBQnV3QUFBQWNabkJuYllvS2VEc0FBQWNJQUFBSmtXZGhjM0FBQUFBUUFBQUc1QUFBQUFobmJIbG0zMmNFZGdBQUFwQUFBQUMyYUdWaFpBRXJQSHNBQUFOSUFBQUFObWhvWldFSFV3Tk5BQUFEZ0FBQUFDUm9iWFI0Q3lrQUFBQUFBNlFBQUFBTWJHOWpZUUE0QUZzQUFBT3dBQUFBQ0cxaGVIQUFwZ204QUFBRHVBQUFBQ0J1WVcxbHpKMGFIQUFBQTlnQUFBTE5jRzl6ZEs2OVFKZ0FBQWFvQUFBQU8zQnlaWENTb1pyL0FBQVFuQUFBQUZZQUFRTzRBWkFBQlFBSUFub0N2QUFBQUl3Q2VnSzhBQUFCNEFBeEFRSUFBQUlBQlFNQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFVR1pGWkFCQTZBRG9BUU5TLzJvQVdnTUxBRThBQUFBQkFBQUFBQUFBQUFBQUF3QUFBQU1BQUFBY0FBRUFBQUFBQUVRQUF3QUJBQUFBSEFBRUFDZ0FBQUFHQUFRQUFRQUNBQURvQWYvL0FBQUFBT2dBLy84QUFCZ0JBQUVBQUFBQUFBQUFBQUVHQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVFBQUFBQURwQUtZQUJVQUhFQVpEd0VBQVFGQ0FBSUJBbW9BQVFBQmFnQUFBR0VVRnhRREVpc0JGQWNCQmlJbkFTWTBQd0UyTWg4QkFUWXlId0VXQTZRUC9pQVFMQkQrNmc4UFRCQXNFS1FCYmhBc0VFd1BBaFlXRVA0Z0R3OEJGaEFzRUV3UUVLVUJieEFRVEJBQUFBSC8vZit4QTE4REN3QU1BQkpBRHdBQkFRcERBQUFBQ3dCRUZSTUNFU3NCRkE0QklpNENQZ0V5SGdFRFdYTEc2TWh1Qm5xODlMcCtBVjUxeEhSMHhPckVkSFRFQUFBQUFBRUFBQUFCQUFERGVScGRYdzg4OVFBTEErZ0FBQUFBenpXWWpRQUFBQURQTldCTi8vMy9zUU9rQXdzQUFBQUlBQUlBQUFBQUFBQUFBUUFBQTFML2FnQmFBK2dBQVAvM0E2UUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBTUQ2QUFBQStnQUFBTlpBQUFBQUFBQUFEZ0FXd0FCQUFBQUF3QVdBQUVBQUFBQUFBSUFCZ0FUQUc0QUFBQXRDWkVBQUFBQUFBQUFFZ0RlQUFFQUFBQUFBQUFBTlFBQUFBRUFBQUFBQUFFQUNBQTFBQUVBQUFBQUFBSUFCd0E5QUFFQUFBQUFBQU1BQ0FCRUFBRUFBQUFBQUFRQUNBQk1BQUVBQUFBQUFBVUFDd0JVQUFFQUFBQUFBQVlBQ0FCZkFBRUFBQUFBQUFvQUt3Qm5BQUVBQUFBQUFBc0FFd0NTQUFNQUFRUUpBQUFBYWdDbEFBTUFBUVFKQUFFQUVBRVBBQU1BQVFRSkFBSUFEZ0VmQUFNQUFRUUpBQU1BRUFFdEFBTUFBUVFKQUFRQUVBRTlBQU1BQVFRSkFBVUFGZ0ZOQUFNQUFRUUpBQVlBRUFGakFBTUFBUVFKQUFvQVZnRnpBQU1BQVFRSkFBc0FKZ0hKUTI5d2VYSnBaMmgwSUNoREtTQXlNREUwSUdKNUlHOXlhV2RwYm1Gc0lHRjFkR2h2Y25NZ1FDQm1iMjUwWld4c2J5NWpiMjFtYjI1MFpXeHNiMUpsWjNWc1lYSm1iMjUwWld4c2IyWnZiblJsYkd4dlZtVnljMmx2YmlBeExqQm1iMjUwWld4c2IwZGxibVZ5WVhSbFpDQmllU0J6ZG1jeWRIUm1JR1p5YjIwZ1JtOXVkR1ZzYkc4Z2NISnZhbVZqZEM1b2RIUndPaTh2Wm05dWRHVnNiRzh1WTI5dEFFTUFid0J3QUhrQWNnQnBBR2NBYUFCMEFDQUFLQUJEQUNrQUlBQXlBREFBTVFBMEFDQUFZZ0I1QUNBQWJ3QnlBR2tBWndCcEFHNEFZUUJzQUNBQVlRQjFBSFFBYUFCdkFISUFjd0FnQUVBQUlBQm1BRzhBYmdCMEFHVUFiQUJzQUc4QUxnQmpBRzhBYlFCbUFHOEFiZ0IwQUdVQWJBQnNBRzhBVWdCbEFHY0FkUUJzQUdFQWNnQm1BRzhBYmdCMEFHVUFiQUJzQUc4QVpnQnZBRzRBZEFCbEFHd0FiQUJ2QUZZQVpRQnlBSE1BYVFCdkFHNEFJQUF4QUM0QU1BQm1BRzhBYmdCMEFHVUFiQUJzQUc4QVJ3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCekFIWUFad0F5QUhRQWRBQm1BQ0FBWmdCeUFHOEFiUUFnQUVZQWJ3QnVBSFFBWlFCc0FHd0Fid0FnQUhBQWNnQnZBR29BWlFCakFIUUFMZ0JvQUhRQWRBQndBRG9BTHdBdkFHWUFid0J1QUhRQVpRQnNBR3dBYndBdUFHTUFid0J0QUFBQUFBSUFBQUFBQUFBQUNnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdBQUFRSUJBd2xqYUdWamEyMWhjbXNHWTJseVkyeGxBQUFBQUFFQUFmLy9BQThBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRElBTWdNTC83RURDLyt4c0FBc3NDQmdaaTJ3QVN3Z1pDQ3d3RkN3QkNaYXNBUkZXMWdoSXlFYmlsZ2dzRkJRV0NHd1FGa2JJTEE0VUZnaHNEaFpXU0N3Q2tWaFpMQW9VRmdoc0FwRklMQXdVRmdoc0RCWkd5Q3d3RkJZSUdZZ2lvcGhJTEFLVUZoZ0d5Q3dJRkJZSWJBS1lCc2dzRFpRV0NHd05tQWJZRmxaV1J1d0FDdFpXU093QUZCWVpWbFpMYkFDTENCRklMQUVKV0ZrSUxBRlExQllzQVVqUXJBR0kwSWJJU0Zac0FGZ0xiQURMQ01oSXlFZ1pMRUZZa0lnc0FZalFySUtBQUlxSVNDd0JrTWdpaUNLc0FBcnNUQUZKWXBSV0dCUUcyRlNXVmdqV1NFZ3NFQlRXTEFBS3hzaHNFQlpJN0FBVUZobFdTMndCQ3l3QjBNcnNnQUNBRU5nUWkyd0JTeXdCeU5DSXlDd0FDTkNZYkNBWXJBQllMQUVLaTJ3Qml3Z0lFVWdzQUpGWTdBQlJXSmdSTEFCWUMyd0J5d2dJRVVnc0FBckk3RUNCQ1ZnSUVXS0kyRWdaQ0N3SUZCWUliQUFHN0F3VUZpd0lCdXdRRmxaSTdBQVVGaGxXYkFESlNOaFJFU3dBV0F0c0Fnc3NRVUZSYkFCWVVRdHNBa3NzQUZnSUNDd0NVTktzQUJRV0NDd0NTTkNXYkFLUTBxd0FGSllJTEFLSTBKWkxiQUtMQ0M0QkFCaUlMZ0VBR09LSTJHd0MwTmdJSXBnSUxBTEkwSWpMYkFMTEV0VVdMRUhBVVJaSkxBTlpTTjRMYkFNTEV0UldFdFRXTEVIQVVSWkd5RlpKTEFUWlNONExiQU5MTEVBREVOVldMRU1ERU93QVdGQ3NBb3JXYkFBUTdBQ0pVS3hDUUlsUXJFS0FpVkNzQUVXSXlDd0F5VlFXTEVCQUVOZ3NBUWxRb3FLSUlvalliQUpLaUVqc0FGaElJb2pZYkFKS2lFYnNRRUFRMkN3QWlWQ3NBSWxZYkFKS2lGWnNBbERSN0FLUTBkZ3NJQmlJTEFDUldPd0FVVmlZTEVBQUJNalJMQUJRN0FBUHJJQkFRRkRZRUl0c0E0c3NRQUZSVlJZQUxBTUkwSWdZTEFCWWJVTkRRRUFDd0JDUW9wZ3NRMEZLN0J0S3hzaVdTMndEeXl4QUE0ckxiQVFMTEVCRGlzdHNCRXNzUUlPS3kyd0VpeXhBdzRyTGJBVExMRUVEaXN0c0JRc3NRVU9LeTJ3RlN5eEJnNHJMYkFXTExFSERpc3RzQmNzc1FnT0t5MndHQ3l4Q1E0ckxiQVpMTEFJSzdFQUJVVlVXQUN3RENOQ0lHQ3dBV0cxRFEwQkFBc0FRa0tLWUxFTkJTdXdiU3NiSWxrdHNCb3NzUUFaS3kyd0d5eXhBUmtyTGJBY0xMRUNHU3N0c0Iwc3NRTVpLeTJ3SGl5eEJCa3JMYkFmTExFRkdTc3RzQ0Fzc1FZWkt5MndJU3l4QnhrckxiQWlMTEVJR1NzdHNDTXNzUWtaS3kyd0pDd2dQTEFCWUMyd0pTd2dZTEFOWUNCREk3QUJZRU93QWlWaHNBRmdzQ1FxSVMyd0ppeXdKU3V3SlNvdHNDY3NJQ0JISUNDd0FrVmpzQUZGWW1BallUZ2pJSXBWV0NCSElDQ3dBa1Zqc0FGRlltQWpZVGdiSVZrdHNDZ3NzUUFGUlZSWUFMQUJGckFuS3JBQkZUQWJJbGt0c0Nrc3NBZ3JzUUFGUlZSWUFMQUJGckFuS3JBQkZUQWJJbGt0c0Nvc0lEV3dBV0F0c0Nzc0FMQURSV093QVVWaXNBQXJzQUpGWTdBQlJXS3dBQ3V3QUJhMEFBQUFBQUJFUGlNNHNTb0JGU290c0N3c0lEd2dSeUN3QWtWanNBRkZZbUN3QUVOaE9DMndMU3d1Rnp3dHNDNHNJRHdnUnlDd0FrVmpzQUZGWW1Dd0FFTmhzQUZEWXpndHNDOHNzUUlBRmlVZ0xpQkhzQUFqUXJBQ0pVbUtpa2NqUnlOaElGaGlHeUZac0FFalFySXVBUUVWRkNvdHNEQXNzQUFXc0FRbHNBUWxSeU5ISTJHd0JrVXJaWW91SXlBZ1BJbzRMYkF4TExBQUZyQUVKYkFFSlNBdVJ5TkhJMkVnc0FRalFyQUdSU3Nnc0dCUVdDQ3dRRkZZc3dJZ0F5QWJzd0ltQXhwWlFrSWpJTEFJUXlDS0kwY2pSeU5oSTBaZ3NBUkRzSUJpWUNDd0FDc2dpb3BoSUxBQ1EyQmtJN0FEUTJGa1VGaXdBa05oRzdBRFEyQlpzQU1sc0lCaVlTTWdJTEFFSmlOR1lUZ2JJN0FJUTBhd0FpV3dDRU5ISTBjallXQWdzQVJEc0lCaVlDTWdzQUFySTdBRVEyQ3dBQ3V3QlNWaHNBVWxzSUJpc0FRbVlTQ3dCQ1ZnWkNPd0F5VmdaRkJZSVJzaklWa2pJQ0N3QkNZalJtRTRXUzJ3TWl5d0FCWWdJQ0N3QlNZZ0xrY2pSeU5oSXp3NExiQXpMTEFBRmlDd0NDTkNJQ0FnUmlOSHNBQXJJMkU0TGJBMExMQUFGckFESmJBQ0pVY2pSeU5oc0FCVVdDNGdQQ01oRzdBQ0piQUNKVWNqUnlOaElMQUZKYkFFSlVjalJ5TmhzQVlsc0FVbFNiQUNKV0d3QVVWakl5QllZaHNoV1dPd0FVVmlZQ011SXlBZ1BJbzRJeUZaTGJBMUxMQUFGaUN3Q0VNZ0xrY2pSeU5oSUdDd0lHQm1zSUJpSXlBZ1BJbzRMYkEyTENNZ0xrYXdBaVZHVWxnZ1BGa3VzU1lCRkNzdHNEY3NJeUF1UnJBQ0pVWlFXQ0E4V1M2eEpnRVVLeTJ3T0N3aklDNUdzQUlsUmxKWUlEeFpJeUF1UnJBQ0pVWlFXQ0E4V1M2eEpnRVVLeTJ3T1N5d01Dc2pJQzVHc0FJbFJsSllJRHhaTHJFbUFSUXJMYkE2TExBeEs0b2dJRHl3QkNOQ2lqZ2pJQzVHc0FJbFJsSllJRHhaTHJFbUFSUXJzQVJETHJBbUt5MndPeXl3QUJhd0JDV3dCQ1lnTGtjalJ5TmhzQVpGS3lNZ1BDQXVJeml4SmdFVUt5MndQQ3l4Q0FRbFFyQUFGckFFSmJBRUpTQXVSeU5ISTJFZ3NBUWpRckFHUlNzZ3NHQlFXQ0N3UUZGWXN3SWdBeUFic3dJbUF4cFpRa0lqSUVld0JFT3dnR0pnSUxBQUt5Q0tpbUVnc0FKRFlHUWpzQU5EWVdSUVdMQUNRMkVic0FORFlGbXdBeVd3Z0dKaHNBSWxSbUU0SXlBOEl6Z2JJU0FnUmlOSHNBQXJJMkU0SVZteEpnRVVLeTJ3UFN5d01Dc3VzU1lCRkNzdHNENHNzREVySVNNZ0lEeXdCQ05DSXppeEpnRVVLN0FFUXk2d0ppc3RzRDhzc0FBVklFZXdBQ05Dc2dBQkFSVVVFeTZ3TENvdHNFQXNzQUFWSUVld0FDTkNzZ0FCQVJVVUV5NndMQ290c0VFc3NRQUJGQk93TFNvdHNFSXNzQzhxTGJCRExMQUFGa1VqSUM0Z1Jvb2pZVGl4SmdFVUt5MndSQ3l3Q0NOQ3NFTXJMYkJGTExJQUFEd3JMYkJHTExJQUFUd3JMYkJITExJQkFEd3JMYkJJTExJQkFUd3JMYkJKTExJQUFEMHJMYkJLTExJQUFUMHJMYkJMTExJQkFEMHJMYkJNTExJQkFUMHJMYkJOTExJQUFEa3JMYkJPTExJQUFUa3JMYkJQTExJQkFEa3JMYkJRTExJQkFUa3JMYkJSTExJQUFEc3JMYkJTTExJQUFUc3JMYkJUTExJQkFEc3JMYkJVTExJQkFUc3JMYkJWTExJQUFENHJMYkJXTExJQUFUNHJMYkJYTExJQkFENHJMYkJZTExJQkFUNHJMYkJaTExJQUFEb3JMYkJhTExJQUFUb3JMYkJiTExJQkFEb3JMYkJjTExJQkFUb3JMYkJkTExBeUt5NnhKZ0VVS3kyd1hpeXdNaXV3TmlzdHNGOHNzRElyc0RjckxiQmdMTEFBRnJBeUs3QTRLeTJ3WVN5d015c3VzU1lCRkNzdHNHSXNzRE1yc0RZckxiQmpMTEF6SzdBM0t5MndaQ3l3TXl1d09Dc3RzR1Vzc0RRckxyRW1BUlFyTGJCbUxMQTBLN0EyS3kyd1p5eXdOQ3V3TnlzdHNHZ3NzRFFyc0RnckxiQnBMTEExS3k2eEpnRVVLeTJ3YWl5d05TdXdOaXN0c0dzc3NEVXJzRGNyTGJCc0xMQTFLN0E0S3kyd2JTd3JzQWhsc0FNa1VIaXdBUlV3TFFBQUFFdTRBTWhTV0xFQkFZNVp1UWdBQ0FCaklMQUJJMFN3QXlOd3NnUW9DVVZTUkxJS0FnY3FzUVlCUkxFa0FZaFJXTEJBaUZpeEJnTkVzU1lCaUZGWXVBUUFpRml4QmdGRVdWbFpXYmdCLzRXd0JJMnhCUUJFQUFBPSkgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybChkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUmdBQkFBQUFBQW9VQUE0QUFBQUFFUFFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQlBVeTh5QUFBQlJBQUFBRVFBQUFCV1BlRkpBV050WVhBQUFBR0lBQUFBT2dBQUFVclFFaG0zWTNaMElBQUFBY1FBQUFBVUFBQUFIQVpKLzVSbWNHZHRBQUFCMkFBQUJQa0FBQW1SaWdwNE8yZGhjM0FBQUFiVUFBQUFDQUFBQUFnQUFBQVFaMng1WmdBQUJ0d0FBQUN1QUFBQXR0OW5CSFpvWldGa0FBQUhqQUFBQURVQUFBQTJBU3M4ZTJob1pXRUFBQWZFQUFBQUlBQUFBQ1FIVXdOTmFHMTBlQUFBQitRQUFBQU1BQUFBREFzcEFBQnNiMk5oQUFBSDhBQUFBQWdBQUFBSUFEZ0FXMjFoZUhBQUFBZjRBQUFBSUFBQUFDQUFwZ204Ym1GdFpRQUFDQmdBQUFGM0FBQUN6Y3lkR2h4d2IzTjBBQUFKa0FBQUFDb0FBQUE3cnIxQW1IQnlaWEFBQUFtOEFBQUFWZ0FBQUZhU29aci9lSnhqWUdUZXdUaUJnWldCZzZtS2FROERBME1QaEdaOHdHREl5TVRBd01UQXlzeUFGUVNrdWFZd09MeGdlTUhJSFBRL2l5R0ttWnZCSHlqTUNKSURBUGU5QzJCNG5HTmdZR0JtZ0dBWkJrWUdFSEFCOGhqQmZCWUdEU0ROQnFRWkdaZ1lHRjR3L3Y4UFV2Q0NBVVJMTUVMVkF3RWpHOE9JQndCazVBYXZBQUI0bkdOZ1FBTkdERWJNM1A4M2dqQUFFTFFENFhpY25WWFpkdE5XRkpVOFpIQVNPbVNnb0E3WDNEaFE2OHFFS1Jnd2FTckZkaUVkSEFpdEJCMmtESFRrbmNjKzYydU9RcnRXSC9tMDduMDlKTFIwcmJZc2xzKytSMXRuMkRyblJod2pLbjBhaUd2VW9aS1hBNm1zUFpaSzkwbGMxM1V2ajVVTUJuRmR0aEpQU1p1b25TUkthdDNzVUM3eFdPc3FXU2RZSitQbElGWlBWWjVub0F6aUZCNWxTVVFiUkJ1cGx5Wko0b25qSjRrV1p4QWZKVWtnSmFNUXA5TElVRUkxR3NSUzFhRk02ZENyMXhOeDAwREtScU1lZFZoVTkwUEZKOGMxcDlTc0EwWXFWem5DRmV2VlJyNGJwd012ZTVERU9zR3pyWWN4SG5pc2ZwUXFrSXFSNmNnL2RrcE9sSWFCVkhIVW9WYmk2RENUWC9lUlRDck5RS2FNWWtXbDdvRzQzZjEwMnhZeFBYUTZ2aTVLbFVhcXVybk9LSnJ0MGZHb2d5Z1AyY2JwcE56UTJmYnc1UmxUVkt0ZGNiUHRRR1lOWEVySmJIU2ZSQUFkSmxMajZRRk9OWndDcVJuMVI4WFo1ODhCRXNsY2xLbzhWVEtIZWdPWk16dDdjVEh0YmllcnNuQ2tud2N5YjNaMjQ1MkhRNmRYaDMvUitoZE00Y3hIaitKaWZqNUMrbEJxZmlKT0pLVkdXTXp5cDRZZmNWY2dRcmt4aUFzWHl1QlRoRGwwUmRyWlpsM2p0VEgyaHMvNVNxbGhQUW5hNktQNGZncjlUaVFySEdkUm8vVkluTTFqMTNXdDNHZFFTN1c3RnpzeXIwT1ZJdTd2Q3d1dU0rZUVZWjRXQzFWZm52bmVCVFQvQm9obi9FRGVOSVZMKzVZcFNyUnZtNkpNdTJpS0N1MFNWS1ZkTnNVVTdZb3BwbW5QbW1LRzloMVR6TktlTXpMai84dmM1NUg3SE43eGtKdjJYZVNtZlErNWFkOUhidG9Qa0p0V0lUZHRIYmxwTHlBM3JVWnUybFdqT25ZRUdnWnBGMUlWUWRBMHN2cGgzRmFiOVVEV2pEUjhhV0R5TG1MSSt1cEVSNTIxdGNvZnhYOTE0Z3NIY21taXA3c2lGNXZpTHEvYkZqNDgzZTZyajVwRzNiRFYrTWFSOGpBZVJub2NtdEJaK2MzaHYrMU4zUzZhN2pLcU11Z0JGVXdLd0FCbDdVQUMwenJiQ2FUMW1xZjQ4Z2RnWElaNHprcER0VlNmTzRhbTcrVjVYL2V4T2ZHK3grM0dMcmRjZDNrSldkWU5jbVAyOE45U1pLcnJIK1V0clZRblI2d3JKNDlWYXhoREtyd291cjZTbEh1MHRSdS9LS215OGw2VTFzcm5rNUNiUFlNYlFsdTI3bUd3STB4cHlpVWVYbE9sS0QzVVVvNnlReXh2S2NvODRKU0xDMXFHeExnT2RROXFhOFRwb1hvWUd3c2hocUcwdlJCd1NDbGRGZCsweW5meEhxdHIyT2o0eFJYaDZYcHlFaEdmNGlyN1VmQlUxMGI5NkE3YXZHYmRNb01wVmFxbis0eFBzYS9iOWxGWmFhU09zeGUzVkFmWE5Pc2FPUlhUVCtScjRIUnZPR2pkQXoxVWZEUkJJMVUxeCtqR0tHTTBsalhsM3dSME1WWit3MmpWWXZzOTNFK2RwRldzdVV1WTdKc1Q5K0MwdS8wcSs3V2NXMGJXL2RjR3ZXM2tpcDhqTWI4dEN2dzdCMkszWkEzVU81T0JHQXZJV2RBWXhoWW1keGl1ZzIzRWJmWS9KcWYvMzRhRlJYSlhPeHE3ZWVyRDFaTlJKWGZaOHJqTFRYWloxNk0yUjlWT0d2c0lqUzBQTitiWTRYSXN0c1JnUWJiK3dmOHg3Z0YzYVZFQzRORElaWmlJMm5TaG51cmg2aDZyc1cwNFZ4SUJkczJ4NDNRQWVnQXVRZDhjdTliekNZRDEzQ1BuTHNCOWNnaDJ5Q0g0bEJ5Q3o4aTVCZkE1T1FSZmtFTXdJSWRnbDV3N0FBL0lJWGhJRHNFZU9RU1B5TmtFK0pJY2dxL0lJWWpKSVVqSXVRM3dtQnlDSitRUWZFME93VGRHcms1ay9wWUgyUUQ2enFLYlFLbWRHaHphT0dSR3JrM1krenhZOW9GRlpCOWFST3FSa2VzVDZsTWVMUFY3aTBqOXdTSlNmelJ5WTBMOWlRZEwvZGtpVW4reGlOUm54cGVaSXltdkRwN3pqZzcrQkpmcXJWNEFBQUFBQVFBQi8vOEFEM2ljWTJCa0FBTG1KVXd6R0VRWlpCd2srUmtaR0JtZEdKZ1ltYklZZ013c29HU2lpTGdJczVBMm93ZzdJNXVTT3FPYWlUMmptWkU4STVnUVkxN0MvMDlCUUVmZzN5dCtmaDhndllReEQwajY4RE9KaVFuOFUrRG5aeFFEY1FVRWxqTG1Dd0JwQmdiRy8zLy9iMlNPWitabTRHRVFjdUFIMnNibERMU0VtOEZGVkpoSkVHZ0xINk9TSHBNZG81RWNJM05rMGJFWEovTFlxdlo4MlZYSEdGZDZwS1RreUNzUXdRQUFxK1FrcUFBQWVKeGpZR1JnWUFEaXc1VlNzZkg4Tmw4WnVKbGZBRVVZenB2TzZJWFFDYjcvLy83ZnlMeUVtUnZJNVdCZ0Fva0NBRmIvREpBQUFBQjRuR05nWkdCZ0R2cWZ4UkRGL0lLQjRmOTM1aVVNUUJFVXdBd0FpNVlGcGdQb0FBQUQ2QUFBQTFrQUFBQUFBQUFBT0FCYkFBRUFBQUFEQUJZQUFRQUFBQUFBQWdBR0FCTUFiZ0FBQUMwSmtRQUFBQUI0bkhXUXkyckNRQlNHLy9IU2kwSmJXdWkyc3lwS2FieGdONElnV0hUVGJxUzRMVEhHSkJJek1oa0ZYNlB2MElmcFMvUlorcHVNcFNoTm1NeDN2amx6NW1RQVhPTWJBdm56eEpHendCbWpuQXM0UmM5eWtmN1pjb244WXJtTUt0NHNuOUMvVzY3Z0FZSGxLbTd3d1FxaWRNNW9nVS9MQWxmaTBuSUJGK0xPY3BIKzBYS0ozTE5jeHExNHRYeEM3MW11WUNKU3kxWGNpNitCV20xMUZJUkcxZ1oxMlc2Mk9uSzZsWW9xU3R4WXVtc1RLcDNLdnB5cnhQaHhyQnhQTGZjODlvTjE3T3A5dUo4bnZrNGpsY2lXMDl5cmtaLzQyalgrYkZjOTNRUnRZK1p5cnRWU0RtMkdYR20xOEQzamhNYXN1bzNHMy9Nd2dNSUtXMmhFdktvUUJoSTEyanJuTnBwb29VT2FNa015TTgrS2tNQkZUT05pelIxaHRwSXk3blBNR1NXMFBqTmlzZ09QMytXUkg1TUM3bzlaUlIrdEhzWVQwdTZNS1BPU2ZUbnM3akJyUkVxeVREZXpzOS9lVTJ4NFdwdldjTmV1UzUxMUpURThxQ0Y1SDd1MUJZMUg3MlMzWW1pN2FQRDk1LzkrQU4xZmhFc0FlSnhqWUdLQUFDNEc3SUNaZ1lHUmlaR1pNemtqTlRrN043RW9teTA1c3lnNUo1V0JBUUJFMVFaQkFBQkx1QURJVWxpeEFRR09XYmtJQUFnQVl5Q3dBU05Fc0FNamNMSUVLQWxGVWtTeUNnSUhLckVHQVVTeEpBR0lVVml3UUloWXNRWURSTEVtQVloUldMZ0VBSWhZc1FZQlJGbFpXVm00QWYrRnNBU05zUVVBUkFBQSkgZm9ybWF0KCd3b2ZmJylcbiAgO1xufVxuLnVpLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZCA+IC5pY29uOmJlZm9yZSxcbi51aS5vcmRlcmVkLnN0ZXBzIC5zdGVwLmNvbXBsZXRlZDpiZWZvcmUge1xuICBmb250LWZhbWlseTogJ1N0ZXAnO1xuICBjb250ZW50OiAnXFxlODAwJzsgLyogJ+6ggCcgKi9cbn0iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBCcmVhZGNydW1iXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ2NvbGxlY3Rpb24nO1xuQGVsZW1lbnQgOiAnYnJlYWRjcnVtYic7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBCcmVhZGNydW1iXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYnJlYWRjcnVtYiB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBAZGlzcGxheTtcbiAgbWFyZ2luOiBAdmVydGljYWxNYXJnaW4gMGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogQHZlcnRpY2FsQWxpZ247XG59XG4udWkuYnJlYWRjcnVtYjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5icmVhZGNydW1iOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogRGl2aWRlciAqL1xuLnVpLmJyZWFkY3J1bWIgLmRpdmlkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG9wYWNpdHk6IEBkaXZpZGVyT3BhY2l0eTtcbiAgbWFyZ2luOiAwZW0gQGRpdmlkZXJTcGFjaW5nIDBlbTtcblxuICBmb250LXNpemU6IEBkaXZpZGVyU2l6ZTtcbiAgY29sb3I6IEBkaXZpZGVyQ29sb3I7XG4gIHZlcnRpY2FsLWFsaWduOiBAZGl2aWRlclZlcnRpY2FsQWxpZ247XG59XG5cbi8qIExpbmsgKi9cbi51aS5icmVhZGNydW1iIGEge1xuICBjb2xvcjogQGxpbmtDb2xvcjtcbn1cbi51aS5icmVhZGNydW1iIGE6aG92ZXIge1xuICBjb2xvcjogQGxpbmtIb3ZlckNvbG9yO1xufVxuXG5cbi8qIEljb24gRGl2aWRlciAqL1xuLnVpLmJyZWFkY3J1bWIgLmljb24uZGl2aWRlciB7XG4gIGZvbnQtc2l6ZTogQGljb25EaXZpZGVyU2l6ZTtcbiAgdmVydGljYWwtYWxpZ246IEBpY29uRGl2aWRlclZlcnRpY2FsQWxpZ247XG59XG5cbi8qIFNlY3Rpb24gKi9cbi51aS5icmVhZGNydW1iIGEuc2VjdGlvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi51aS5icmVhZGNydW1iIC5zZWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IEBzZWN0aW9uTWFyZ2luO1xuICBwYWRkaW5nOiBAc2VjdGlvblBhZGRpbmc7XG59XG5cbi8qIExvb3NlIENvdXBsaW5nICovXG4udWkuYnJlYWRjcnVtYi5zZWdtZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiBAc2VnbWVudFBhZGRpbmc7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5icmVhZGNydW1iIC5hY3RpdmUuc2VjdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBAYWN0aXZlRm9udFdlaWdodDtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkubWluaS5icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiBAbWluaTtcbn1cbi51aS50aW55LmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IEB0aW55O1xufVxuLnVpLnNtYWxsLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IEBzbWFsbDtcbn1cbi51aS5icmVhZGNydW1iIHtcbiAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuLnVpLmxhcmdlLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IEBsYXJnZTtcbn1cbi51aS5iaWcuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogQGJpZztcbn1cbi51aS5odWdlLmJyZWFkY3J1bWIge1xuICBmb250LXNpemU6IEBodWdlO1xufVxuLnVpLm1hc3NpdmUuYnJlYWRjcnVtYiB7XG4gIGZvbnQtc2l6ZTogQG1hc3NpdmU7XG59XG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIEZvcm1cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGUgICAgOiAnY29sbGVjdGlvbic7XG5AZWxlbWVudCA6ICdmb3JtJztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgRWxlbWVudHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRm9ybVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZm9ybSA+IHAge1xuICBtYXJnaW46IEBwYXJhZ3JhcGhNYXJnaW47XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRmllbGRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIC5maWVsZCB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IEBmaWVsZE1hcmdpbjtcbn1cblxuLnVpLmZvcm0gLmZpZWxkOmxhc3QtY2hpbGQsXG4udWkuZm9ybSAuZmllbGRzOmxhc3QtY2hpbGQgLmZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4udWkuZm9ybSAuZmllbGRzIC5maWVsZCB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW46IDBlbTtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZvcm0gLmZpZWxkID4gbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiBAbGFiZWxNYXJnaW47XG4gIGNvbG9yOiBAbGFiZWxDb2xvcjtcbiAgZm9udC1zaXplOiBAbGFiZWxGb250U2l6ZTtcbiAgZm9udC13ZWlnaHQ6IEBsYWJlbEZvbnRXZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiBAbGFiZWxUZXh0VHJhbnNmb3JtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU3RhbmRhcmQgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi51aS5mb3JtIHRleHRhcmVhLFxuLnVpLmZvcm0gaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl0ge1xuICB3aWR0aDogQGlucHV0V2lkdGg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qIFNldCBtYXggaGVpZ2h0IG9uIHVudXN1YWwgaW5wdXQgKi9cbi51aS5mb3JtIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LFxuLnVpLmZvcm0gOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBAaW5wdXRMaW5lSGVpZ2h0O1xufVxuXG4udWkuZm9ybSBpbnB1dDpub3QoW3R5cGVdKSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInVybFwiXSB7XG4gIGZvbnQtZmFtaWx5OiBAaW5wdXRGb250O1xuICBtYXJnaW46IDBlbTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0YXAtaGlnaGxpZ2h0LWNvbG9yOiAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcblxuICBsaW5lLWhlaWdodDogQGlucHV0TGluZUhlaWdodDtcbiAgcGFkZGluZzogQGlucHV0UGFkZGluZztcbiAgZm9udC1zaXplOiBAaW5wdXRGb250U2l6ZTtcblxuICBiYWNrZ3JvdW5kOiBAaW5wdXRCYWNrZ3JvdW5kO1xuICBib3JkZXI6IEBpbnB1dEJvcmRlcjtcbiAgY29sb3I6IEBpbnB1dENvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAaW5wdXRCb3JkZXJSYWRpdXM7XG4gIGJveC1zaGFkb3c6IEBpbnB1dEJveFNoYWRvdztcbiAgdHJhbnNpdGlvbjogQGlucHV0VHJhbnNpdGlvbjtcbn1cblxuLyogVGV4dCBBcmVhICovXG4udWkuZm9ybSB0ZXh0YXJlYSB7XG4gIG1hcmdpbjogMGVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRhcC1oaWdobGlnaHQtY29sb3I6ICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuXG4gIHBhZGRpbmc6IEB0ZXh0QXJlYVBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogQHRleHRBcmVhRm9udFNpemU7XG4gIGJhY2tncm91bmQ6IEB0ZXh0QXJlYUJhY2tncm91bmQ7XG4gIGJvcmRlcjogQHRleHRBcmVhQm9yZGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBjb2xvcjogQGlucHV0Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBpbnB1dEJvcmRlclJhZGl1cztcbiAgYm94LXNoYWRvdzogQGlucHV0Qm94U2hhZG93O1xuICB0cmFuc2l0aW9uOiBAdGV4dEFyZWFUcmFuc2l0aW9uO1xuICBmb250LXNpemU6IEB0ZXh0QXJlYUZvbnRTaXplO1xuICBsaW5lLWhlaWdodDogQHRleHRBcmVhTGluZUhlaWdodDtcbiAgcmVzaXplOiBAdGV4dEFyZWFSZXNpemU7XG59XG4udWkuZm9ybSB0ZXh0YXJlYTpub3QoW3Jvd3NdKSB7XG4gIGhlaWdodDogQHRleHRBcmVhSGVpZ2h0O1xuICBtaW4taGVpZ2h0OiBAdGV4dEFyZWFNaW5IZWlnaHQ7XG4gIG1heC1oZWlnaHQ6IEB0ZXh0QXJlYU1heEhlaWdodDtcbn1cblxuLnVpLmZvcm0gdGV4dGFyZWEsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogQGNoZWNrYm94VmVydGljYWxBbGlnbjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBJbnB1dCB3LyBhdHRhY2hlZCBCdXR0b25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIGlucHV0LmF0dGFjaGVkIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBCYXNpYyBTZWxlY3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIHNlbGVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBAc2VsZWN0QmFja2dyb3VuZDtcbiAgYm9yZGVyOiBAc2VsZWN0Qm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAc2VsZWN0Qm9yZGVyUmFkaXVzO1xuICBib3gtc2hhZG93OiBAc2VsZWN0Qm94U2hhZG93O1xuICBwYWRkaW5nOiBAc2VsZWN0UGFkZGluZztcbiAgY29sb3I6IEBzZWxlY3RDb2xvcjtcbiAgdHJhbnNpdGlvbjogQHNlbGVjdFRyYW5zaXRpb247XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEcm9wZG93blxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogQmxvY2sgKi9cbi51aS5mb3JtIC5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24ge1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5mb3JtIC5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLyogSW5saW5lICovXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmlubGluZS5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24ge1xuICB3aWR0aDogYXV0bztcbn1cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IC5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbixcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiAuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBmbG9hdDogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFVJIElucHV0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBCbG9jayAqL1xuLnVpLmZvcm0gLmZpZWxkIC51aS5pbnB1dCxcbi51aS5mb3JtIC5maWVsZHMgLmZpZWxkIC51aS5pbnB1dCxcbi51aS5mb3JtIC53aWRlLmZpZWxkIC51aS5pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBJbmxpbmUgICovXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQ6bm90KC53aWRlKSAudWkuaW5wdXQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkOm5vdCgud2lkZSkgLnVpLmlucHV0IHtcbiAgd2lkdGg6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIEF1dG8gSW5wdXQgKi9cbi51aS5mb3JtIC5maWVsZHMgLmZpZWxkIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5maWVsZCAudWkuaW5wdXQgaW5wdXQge1xuICB3aWR0aDogYXV0bztcbn1cblxuLyogRnVsbCBXaWR0aCBJbnB1dCAqL1xuLnVpLmZvcm0gLnRlbi5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLm5pbmUuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC5laWdodC5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLnNldmVuLmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuc2l4LmZpZWxkcyAudWkuaW5wdXQgaW5wdXQsXG4udWkuZm9ybSAuZml2ZS5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLmZvdXIuZmllbGRzIC51aS5pbnB1dCBpbnB1dCxcbi51aS5mb3JtIC50aHJlZS5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLnR3by5maWVsZHMgLnVpLmlucHV0IGlucHV0LFxuLnVpLmZvcm0gLndpZGUuZmllbGQgLnVpLmlucHV0IGlucHV0IHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHdpZHRoOiAwcHg7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVHlwZXMgb2YgTWVzc2FnZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIC5zdWNjZXNzLm1lc3NhZ2UsXG4udWkuZm9ybSAud2FybmluZy5tZXNzYWdlLFxuLnVpLmZvcm0gLmVycm9yLm1lc3NhZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBBc3N1bXB0aW9ucyAqL1xuLnVpLmZvcm0gLm1lc3NhZ2U6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFZhbGlkYXRpb24gUHJvbXB0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZm9ybSAuZmllbGQgLnByb21wdC5sYWJlbCB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGJhY2tncm91bmQ6IEBwcm9tcHRCYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogQHByb21wdEJvcmRlciAhaW1wb3J0YW50O1xuICBjb2xvcjogQHByb21wdFRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkIC5wcm9tcHQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkIC5wcm9tcHQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IEBpbmxpbmVQcm9tcHRNYXJnaW47XG59XG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgLnByb21wdDpiZWZvcmUsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkIC5wcm9tcHQ6YmVmb3JlIHtcbiAgYm9yZGVyLXdpZHRoOiAwcHggMHB4IEBpbmxpbmVQcm9tcHRCb3JkZXJXaWR0aCBAaW5saW5lUHJvbXB0Qm9yZGVyV2lkdGg7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwZW07XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgQXV0b2ZpbGxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZvcm0gLmZpZWxkLmZpZWxkIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGwge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxMDBweCBAaW5wdXRBdXRvRmlsbEJhY2tncm91bmQgaW5zZXQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAaW5wdXRBdXRvRmlsbEJvcmRlciAhaW1wb3J0YW50O1xufVxuXG4vKiBGb2N1cyAqL1xuLnVpLmZvcm0gLmZpZWxkLmZpZWxkIGlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxMDBweCBAaW5wdXRBdXRvRmlsbEZvY3VzQmFja2dyb3VuZCBpbnNldCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IEBpbnB1dEF1dG9GaWxsRm9jdXNCb3JkZXIgIWltcG9ydGFudDtcbn1cblxuLyogRXJyb3IgKi9cbi51aS5mb3JtIC5lcnJvci5lcnJvciBpbnB1dDotd2Via2l0LWF1dG9maWxsIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMTAwcHggQGlucHV0QXV0b0ZpbGxFcnJvckJhY2tncm91bmQgaW5zZXQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiBAaW5wdXRBdXRvRmlsbEVycm9yQm9yZGVyICFpbXBvcnRhbnQ7XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBQbGFjZWhvbGRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogYnJvd3NlcnMgcmVxdWlyZSB0aGVzZSBydWxlcyBzZXBhcmF0ZSAqL1xuLnVpLmZvcm0gOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBpbnB1dFBsYWNlaG9sZGVyQ29sb3I7XG59XG4udWkuZm9ybSA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBpbnB1dFBsYWNlaG9sZGVyQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBAaW5wdXRQbGFjZWhvbGRlckNvbG9yO1xufVxuXG4udWkuZm9ybSA6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogQGlucHV0UGxhY2Vob2xkZXJGb2N1c0NvbG9yO1xufVxuLnVpLmZvcm0gOmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBAaW5wdXRQbGFjZWhvbGRlckZvY3VzQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIDpmb2N1czo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBAaW5wdXRQbGFjZWhvbGRlckZvY3VzQ29sb3I7XG59XG5cbi8qIEVycm9yIFBsYWNlaG9sZGVyICovXG4udWkuZm9ybSAuZXJyb3IgOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBpbnB1dEVycm9yUGxhY2Vob2xkZXJDb2xvcjtcbn1cbi51aS5mb3JtIC5lcnJvciA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IEBpbnB1dEVycm9yUGxhY2Vob2xkZXJDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmVycm9yIDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBAaW5wdXRFcnJvclBsYWNlaG9sZGVyQ29sb3I7XG59XG5cbi51aS5mb3JtIC5lcnJvciA6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogQGlucHV0RXJyb3JQbGFjZWhvbGRlckZvY3VzQ29sb3I7XG59XG4udWkuZm9ybSAuZXJyb3IgOmZvY3VzOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBAaW5wdXRFcnJvclBsYWNlaG9sZGVyRm9jdXNDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmVycm9yIDpmb2N1czo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBAaW5wdXRFcnJvclBsYWNlaG9sZGVyRm9jdXNDb2xvcjtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZvY3VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZm9ybSBpbnB1dDpub3QoW3R5cGVdKTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInRpbWVcIl06Zm9jdXMsXG4udWkuZm9ybSBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyxcbi51aS5mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuLnVpLmZvcm0gaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyB7XG4gIGNvbG9yOiBAaW5wdXRGb2N1c0NvbG9yO1xuICBib3JkZXItY29sb3I6IEBpbnB1dEZvY3VzQm9yZGVyQ29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBpbnB1dEZvY3VzQm9yZGVyUmFkaXVzO1xuICBiYWNrZ3JvdW5kOiBAaW5wdXRGb2N1c0JhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IEBpbnB1dEZvY3VzQm94U2hhZG93O1xufVxuLnVpLmZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICBjb2xvcjogQHRleHRBcmVhRm9jdXNDb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiBAdGV4dEFyZWFGb2N1c0JvcmRlckNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAdGV4dEFyZWFGb2N1c0JvcmRlclJhZGl1cztcbiAgYmFja2dyb3VuZDogQHRleHRBcmVhRm9jdXNCYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiBAdGV4dEFyZWFGb2N1c0JveFNoYWRvdztcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU3VjY2Vzc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogT24gRm9ybSAqL1xuLnVpLmZvcm0uc3VjY2VzcyAuc3VjY2Vzcy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkuZm9ybS5zdWNjZXNzIC5jb21wYWN0LnN1Y2Nlc3MubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi51aS5mb3JtLnN1Y2Nlc3MgLmljb24uc3VjY2Vzcy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBXYXJuaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBPbiBGb3JtICovXG4udWkuZm9ybS53YXJuaW5nIC53YXJuaW5nLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi51aS5mb3JtLndhcm5pbmcgLmNvbXBhY3Qud2FybmluZy5tZXNzYWdlOm5vdCg6ZW1wdHkpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmZvcm0ud2FybmluZyAuaWNvbi53YXJuaW5nLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEVycm9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBPbiBGb3JtICovXG4udWkuZm9ybS5lcnJvciAuZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnVpLmZvcm0uZXJyb3IgLmNvbXBhY3QuZXJyb3IubWVzc2FnZTpub3QoOmVtcHR5KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi51aS5mb3JtLmVycm9yIC5pY29uLmVycm9yLm1lc3NhZ2U6bm90KDplbXB0eSkge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiBPbiBGaWVsZChzKSAqL1xuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgbGFiZWwsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgbGFiZWwsXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAuaW5wdXQsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmlucHV0IHtcbiAgY29sb3I6IEBmb3JtRXJyb3JDb2xvcjtcbn1cblxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmNvcm5lci5sYWJlbCxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY29ybmVyLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiBAZm9ybUVycm9yQ29sb3I7XG4gIGNvbG9yOiBAd2hpdGU7XG59XG5cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIHRleHRhcmVhLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgc2VsZWN0LFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIGlucHV0W3R5cGU9XCJ1cmxcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgdGV4dGFyZWEsXG4udWkuZm9ybSAuZmllbGQuZXJyb3Igc2VsZWN0LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0Om5vdChbdHlwZV0pLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJmaWxlXCJdLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ1cmxcIl0ge1xuICBiYWNrZ3JvdW5kOiBAZm9ybUVycm9yQmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAZm9ybUVycm9yQm9yZGVyO1xuICBjb2xvcjogQGZvcm1FcnJvckNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAaW5wdXRFcnJvckJvcmRlclJhZGl1cztcbiAgYm94LXNoYWRvdzogQGlucHV0RXJyb3JCb3hTaGFkb3c7XG59XG4udWkuZm9ybSAuZmllbGQuZXJyb3IgdGV4dGFyZWE6Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3Igc2VsZWN0OmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0Om5vdChbdHlwZV0pOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cIm51bWJlclwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbi51aS5mb3JtIC5maWVsZC5lcnJvciBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIGlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiBAaW5wdXRFcnJvckZvY3VzQmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAaW5wdXRFcnJvckZvY3VzQm9yZGVyO1xuICBjb2xvcjogQGlucHV0RXJyb3JGb2N1c0NvbG9yO1xuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm94LXNoYWRvdzogQGlucHV0RXJyb3JGb2N1c0JveFNoYWRvdztcbn1cblxuLyogUHJlc2VydmUgTmF0aXZlIFNlbGVjdCBTdHlsaW5ncyAqL1xuLnVpLmZvcm0gLmZpZWxkLmVycm9yIHNlbGVjdCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbWVudWxpc3QtYnV0dG9uO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIERyb3Bkb3duIEVycm9yXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93bixcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5kcm9wZG93biAuaXRlbSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkuZHJvcGRvd24sXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLmRyb3Bkb3duIC50ZXh0LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IEBmb3JtRXJyb3JCYWNrZ3JvdW5kO1xuICBjb2xvcjogQGZvcm1FcnJvckNvbG9yO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biB7XG4gIGJvcmRlci1jb2xvcjogQGZvcm1FcnJvckJvcmRlciAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogQGZvcm1FcnJvckJvcmRlciAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duOmhvdmVyIC5tZW51LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogQGZvcm1FcnJvckJvcmRlcjtcbn1cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC51aS5tdWx0aXBsZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAubGFiZWwsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLnVpLm11bHRpcGxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bkVycm9yTGFiZWxCYWNrZ3JvdW5kO1xuICBjb2xvcjogQGRyb3Bkb3duRXJyb3JMYWJlbENvbG9yO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtOmhvdmVyLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biAubWVudSAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bkVycm9ySG92ZXJCYWNrZ3JvdW5kO1xufVxuXG4vKiBTZWxlY3RlZCAqL1xuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5zZWxlY3RlZC5pdGVtLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bkVycm9yU2VsZWN0ZWRCYWNrZ3JvdW5kO1xufVxuXG5cbi8qIEFjdGl2ZSAqL1xuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSxcbi51aS5mb3JtIC5maWVsZC5lcnJvciAudWkuZHJvcGRvd24gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duRXJyb3JBY3RpdmVCYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDaGVja2JveCBFcnJvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWwsXG4udWkuZm9ybSAuZmllbGQuZXJyb3IgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWwsXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAuY2hlY2tib3g6bm90KC50b2dnbGUpOm5vdCguc2xpZGVyKSAuYm94LFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIC5ib3gge1xuICBjb2xvcjogQGZvcm1FcnJvckNvbG9yO1xufVxuLnVpLmZvcm0gLmZpZWxkcy5lcnJvciAuZmllbGQgLmNoZWNrYm94Om5vdCgudG9nZ2xlKTpub3QoLnNsaWRlcikgbGFiZWw6YmVmb3JlLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIGxhYmVsOmJlZm9yZSxcbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIC5ib3g6YmVmb3JlLFxuLnVpLmZvcm0gLmZpZWxkLmVycm9yIC5jaGVja2JveDpub3QoLnRvZ2dsZSk6bm90KC5zbGlkZXIpIC5ib3g6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGZvcm1FcnJvckJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGZvcm1FcnJvckJvcmRlcjtcbn1cbi51aS5mb3JtIC5maWVsZHMuZXJyb3IgLmZpZWxkIC5jaGVja2JveCBsYWJlbDphZnRlcixcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY2hlY2tib3ggbGFiZWw6YWZ0ZXIsXG4udWkuZm9ybSAuZmllbGRzLmVycm9yIC5maWVsZCAuY2hlY2tib3ggLmJveDphZnRlcixcbi51aS5mb3JtIC5maWVsZC5lcnJvciAuY2hlY2tib3ggLmJveDphZnRlciB7XG4gIGNvbG9yOiBAZm9ybUVycm9yQ29sb3I7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZvcm0gLmRpc2FibGVkLmZpZWxkcyAuZmllbGQsXG4udWkuZm9ybSAuZGlzYWJsZWQuZmllbGQsXG4udWkuZm9ybSAuZmllbGQgOmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IEBkaXNhYmxlZE9wYWNpdHk7XG59XG4udWkuZm9ybSAuZmllbGQuZGlzYWJsZWQgPiBsYWJlbCxcbi51aS5mb3JtIC5maWVsZHMuZGlzYWJsZWQgPiBsYWJlbCB7XG4gIG9wYWNpdHk6IEBkaXNhYmxlZExhYmVsT3BhY2l0eTtcbn1cbi51aS5mb3JtIC5maWVsZC5kaXNhYmxlZCA6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBMb2FkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubG9hZGluZy5mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnVpLmxvYWRpbmcuZm9ybTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDAlO1xuICBsZWZ0OiAwJTtcbiAgYmFja2dyb3VuZDogQGxvYWRlckRpbW1lckNvbG9yO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiBAbG9hZGVyRGltbWVyWkluZGV4O1xufVxuLnVpLmxvYWRpbmcuZm9ybTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG5cbiAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICB3aWR0aDogQGxvYWRlclNpemU7XG4gIGhlaWdodDogQGxvYWRlclNpemU7XG5cbiAgYW5pbWF0aW9uOiBmb3JtLXNwaW4gQGxvYWRlclNwZWVkIGxpbmVhcjtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG5cbiAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuXG4gIGJvcmRlci1jb2xvcjogQGxvYWRlckxpbmVDb2xvciBAbG9hZGVyRmlsbENvbG9yIEBsb2FkZXJGaWxsQ29sb3IgQGxvYWRlckZpbGxDb2xvcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiBAbG9hZGVyTGluZVdpZHRoO1xuXG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgei1pbmRleDogQGxvYWRlckxpbmVaSW5kZXg7XG59XG5cbkBrZXlmcmFtZXMgZm9ybS1zcGluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgRWxlbWVudCBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBSZXF1aXJlZCBGaWVsZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkczpub3QoLmdyb3VwZWQpID4gLmZpZWxkID4gbGFiZWw6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzLmdyb3VwZWQgPiBsYWJlbDphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZCA+IGxhYmVsOmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkczpub3QoLmdyb3VwZWQpID4gLmZpZWxkID4gLmNoZWNrYm94OmFmdGVyLFxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkID4gLmNoZWNrYm94OmFmdGVyIHtcbiAgbWFyZ2luOiBAcmVxdWlyZWRNYXJnaW47XG4gIGNvbnRlbnQ6IEByZXF1aXJlZENvbnRlbnQ7XG4gIGNvbG9yOiBAcmVxdWlyZWRDb2xvcjtcbn1cblxuLnVpLmZvcm0gLnJlcXVpcmVkLmZpZWxkczpub3QoLmdyb3VwZWQpID4gLmZpZWxkID4gbGFiZWw6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzLmdyb3VwZWQgPiBsYWJlbDphZnRlcixcbi51aS5mb3JtIC5yZXF1aXJlZC5maWVsZCA+IGxhYmVsOmFmdGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGRzOm5vdCguZ3JvdXBlZCkgPiAuZmllbGQgPiAuY2hlY2tib3g6YWZ0ZXIsXG4udWkuZm9ybSAucmVxdWlyZWQuZmllbGQgPiAuY2hlY2tib3g6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDEwMCU7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgSW52ZXJ0ZWQgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQuZm9ybSBsYWJlbCxcbi51aS5mb3JtIC5pbnZlcnRlZC5zZWdtZW50IGxhYmVsLFxuLnVpLmZvcm0gLmludmVydGVkLnNlZ21lbnQgLnVpLmNoZWNrYm94IGxhYmVsLFxuLnVpLmZvcm0gLmludmVydGVkLnNlZ21lbnQgLnVpLmNoZWNrYm94IC5ib3gsXG4udWkuaW52ZXJ0ZWQuZm9ybSAudWkuY2hlY2tib3ggbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAudWkuY2hlY2tib3ggLmJveCxcbi51aS5pbnZlcnRlZC5mb3JtIC5pbmxpbmUuZmllbGRzID4gbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBsYWJlbCxcbi51aS5pbnZlcnRlZC5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IHAsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkID4gbGFiZWwsXG4udWkuaW52ZXJ0ZWQuZm9ybSAuaW5saW5lLmZpZWxkID4gcCB7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRMYWJlbENvbG9yO1xufVxuXG4vKiBJbnZlcnRlZCBGaWVsZCAqL1xuLnVpLmludmVydGVkLmZvcm0gaW5wdXQ6bm90KFt0eXBlXSksXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInRlbFwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLnVpLmludmVydGVkLmZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4udWkuaW52ZXJ0ZWQuZm9ybSBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbi51aS5pbnZlcnRlZC5mb3JtIGlucHV0W3R5cGU9XCJ1cmxcIl0ge1xuICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRJbnB1dEJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGludmVydGVkSW5wdXRCb3JkZXJDb2xvcjtcbiAgY29sb3I6IEBpbnZlcnRlZElucHV0Q29sb3I7XG4gIGJveC1zaGFkb3c6IEBpbnZlcnRlZElucHV0Qm94U2hhZG93O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgRmllbGQgR3JvdXBzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBHcm91cGVkIFZlcnRpY2FsbHkgKi9cbi51aS5mb3JtIC5ncm91cGVkLmZpZWxkcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IEBncm91cGVkTWFyZ2luO1xufVxuLnVpLmZvcm0gLmdyb3VwZWQuZmllbGRzOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi51aS5mb3JtIC5ncm91cGVkLmZpZWxkcyA+IGxhYmVsIHtcbiAgbWFyZ2luOiBAZ3JvdXBlZExhYmVsTWFyZ2luO1xuICBjb2xvcjogQGdyb3VwZWRMYWJlbENvbG9yO1xuICBmb250LXNpemU6IEBncm91cGVkTGFiZWxGb250U2l6ZTtcbiAgZm9udC13ZWlnaHQ6IEBncm91cGVkTGFiZWxGb250V2VpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogQGdyb3VwZWRMYWJlbFRleHRUcmFuc2Zvcm07XG59XG5cbi51aS5mb3JtIC5ncm91cGVkLmZpZWxkcyAuZmllbGQsXG4udWkuZm9ybSAuZ3JvdXBlZC5pbmxpbmUuZmllbGRzIC5maWVsZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IEBncm91cGVkRmllbGRNYXJnaW47XG4gIHBhZGRpbmc6IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGaWVsZHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNwbGl0IGZpZWxkcyAqL1xuLnVpLmZvcm0gLmZpZWxkcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIG1hcmdpbjogQGZpZWxkc01hcmdpbjtcbn1cbi51aS5mb3JtIC5maWVsZHMgPiAuZmllbGQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAoQGd1dHRlcldpZHRoIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAZ3V0dGVyV2lkdGggLyAyKTtcbn1cbi51aS5mb3JtIC5maWVsZHMgPiAuZmllbGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogT3RoZXIgQ29tYmluYXRpb25zICovXG4udWkuZm9ybSAudHdvLmZpZWxkcyA+IC5maWVsZHMsXG4udWkuZm9ybSAudHdvLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiBAdHdvQ29sdW1uO1xufVxuLnVpLmZvcm0gLnRocmVlLmZpZWxkcyA+IC5maWVsZHMsXG4udWkuZm9ybSAudGhyZWUuZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IEB0aHJlZUNvbHVtbjtcbn1cbi51aS5mb3JtIC5mb3VyLmZpZWxkcyA+IC5maWVsZHMsXG4udWkuZm9ybSAuZm91ci5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogQGZvdXJDb2x1bW47XG59XG4udWkuZm9ybSAuZml2ZS5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLmZpdmUuZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IEBmaXZlQ29sdW1uO1xufVxuLnVpLmZvcm0gLnNpeC5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLnNpeC5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogQHNpeENvbHVtbjtcbn1cbi51aS5mb3JtIC5zZXZlbi5maWVsZHMgPiAuZmllbGRzLFxuLnVpLmZvcm0gLnNldmVuLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiBAc2V2ZW5Db2x1bW47XG59XG4udWkuZm9ybSAuZWlnaHQuZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC5laWdodC5maWVsZHMgPiAuZmllbGQge1xuICB3aWR0aDogQGVpZ2h0Q29sdW1uO1xufVxuLnVpLmZvcm0gLm5pbmUuZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC5uaW5lLmZpZWxkcyA+IC5maWVsZCB7XG4gIHdpZHRoOiBAbmluZUNvbHVtbjtcbn1cbi51aS5mb3JtIC50ZW4uZmllbGRzID4gLmZpZWxkcyxcbi51aS5mb3JtIC50ZW4uZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IEB0ZW5Db2x1bW47XG59XG5cbi8qIFN3YXAgdG8gZnVsbCB3aWR0aCBvbiBtb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gIC51aS5mb3JtIC5maWVsZHMge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHMgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC50d28uZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkcyxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLnR3by5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC50aHJlZS5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAudGhyZWUuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZm91ci5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZm91ci5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maXZlLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZHMsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maXZlLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLnNpeC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuc2l4LmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLnNldmVuLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZHMsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5zZXZlbi5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5laWdodC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZWlnaHQuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAubmluZS5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAubmluZS5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC50ZW4uZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkcyxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLnRlbi5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQge1xuICAgIHdpZHRoOiBAb25lQ29sdW1uICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwZW0gMGVtIEByb3dEaXN0YW5jZTtcbiAgfVxufVxuXG5cbi8qIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbi51aS5mb3JtIC5maWVsZHMgLndpZGUuZmllbGQge1xuICB3aWR0aDogQG9uZVdpZGU7XG4gIHBhZGRpbmctbGVmdDogKEBndXR0ZXJXaWR0aCAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlcldpZHRoIC8gMik7XG59XG5cbi51aS5mb3JtIC5vbmUud2lkZS5maWVsZCB7XG4gIHdpZHRoOiBAb25lV2lkZSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLnR3by53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IEB0d29XaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAudGhyZWUud2lkZS5maWVsZCB7XG4gIHdpZHRoOiBAdGhyZWVXaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuZm91ci53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IEBmb3VyV2lkZSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmZpdmUud2lkZS5maWVsZCB7XG4gIHdpZHRoOiBAZml2ZVdpZGUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5zaXgud2lkZS5maWVsZCB7XG4gIHdpZHRoOiBAc2l4V2lkZSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLnNldmVuLndpZGUuZmllbGQge1xuICB3aWR0aDogQHNldmVuV2lkZSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmVpZ2h0LndpZGUuZmllbGQge1xuICB3aWR0aDogQGVpZ2h0V2lkZSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLm5pbmUud2lkZS5maWVsZCB7XG4gIHdpZHRoOiBAbmluZVdpZGUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC50ZW4ud2lkZS5maWVsZCB7XG4gIHdpZHRoOiBAdGVuV2lkZSAhaW1wb3J0YW50O1xufVxuLnVpLmZvcm0gLmVsZXZlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IEBlbGV2ZW5XaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAudHdlbHZlLndpZGUuZmllbGQge1xuICB3aWR0aDogQHR3ZWx2ZVdpZGUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC50aGlydGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IEB0aGlydGVlbldpZGUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5mb3VydGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IEBmb3VydGVlbldpZGUgIWltcG9ydGFudDtcbn1cbi51aS5mb3JtIC5maWZ0ZWVuLndpZGUuZmllbGQge1xuICB3aWR0aDogQGZpZnRlZW5XaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZm9ybSAuc2l4dGVlbi53aWRlLmZpZWxkIHtcbiAgd2lkdGg6IEBzaXh0ZWVuV2lkZSAhaW1wb3J0YW50O1xufVxuXG4vKiBTd2FwIHRvIGZ1bGwgd2lkdGggb24gbW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAudHdvLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZHMsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC50d28uZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAudGhyZWUuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkcyxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLnRocmVlLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZvdXIuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkcyxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZvdXIuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZml2ZS5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGRzLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZml2ZS5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAudHdvLndpZGUuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAudGhyZWUud2lkZS5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5mb3VyLndpZGUuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZml2ZS53aWRlLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLnNpeC53aWRlLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLnNldmVuLndpZGUuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZWlnaHQud2lkZS5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5uaW5lLndpZGUuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAudGVuLndpZGUuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAuZWxldmVuLndpZGUuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAudHdlbHZlLndpZGUuZmllbGQsXG4gIC51aS5mb3JtOm5vdCgudW5zdGFja2FibGUpIC5maWVsZHM6bm90KC51bnN0YWNrYWJsZSkgPiAudGhpcnRlZW4ud2lkZS5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5mb3VydGVlbi53aWRlLmZpZWxkLFxuICAudWkuZm9ybTpub3QoLnVuc3RhY2thYmxlKSAuZmllbGRzOm5vdCgudW5zdGFja2FibGUpID4gLmZpZnRlZW4ud2lkZS5maWVsZCxcbiAgLnVpLmZvcm06bm90KC51bnN0YWNrYWJsZSkgLmZpZWxkczpub3QoLnVuc3RhY2thYmxlKSA+IC5zaXh0ZWVuLndpZGUuZmllbGQge1xuICAgIHdpZHRoOiBAb25lQ29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmZvcm0gLmZpZWxkcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgRXF1YWwgV2lkdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5mb3JtIC5maWVsZHMgPiAuZmllbGQsXG4udWkuZm9ybSBbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZmllbGRzID4gLmZpZWxkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgSW5saW5lIEZpZWxkc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMge1xuICBtYXJnaW46IEBmaWVsZE1hcmdpbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCB7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiBAaW5saW5lRmllbGRzTWFyZ2luO1xufVxuXG4vKiBJbmxpbmUgTGFiZWwgKi9cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzID4gbGFiZWwsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBsYWJlbCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IHAsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gbGFiZWwsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGZvbnQtc2l6ZTogQGlubGluZUxhYmVsRm9udFNpemU7XG4gIGZvbnQtd2VpZ2h0OiBAaW5saW5lTGFiZWxGb250V2VpZ2h0O1xuICBjb2xvcjogQGlubGluZUxhYmVsQ29sb3I7XG4gIHRleHQtdHJhbnNmb3JtOiBAaW5saW5lTGFiZWxUZXh0VHJhbnNmb3JtO1xufVxuXG4vKiBHcm91cGVkIElubGluZSBMYWJlbCAqL1xuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgPiBsYWJlbCB7XG4gIG1hcmdpbjogQGdyb3VwZWRJbmxpbmVMYWJlbE1hcmdpbjtcbn1cblxuLyogSW5saW5lIElucHV0ICovXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkcyAuZmllbGQgPiBpbnB1dCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IHNlbGVjdCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiBpbnB1dCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiBzZWxlY3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xuXG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogQGlubGluZUlucHV0U2l6ZTtcbn1cblxuLyogTGFiZWwgKi9cbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC5maWVsZCA+IDpmaXJzdC1jaGlsZCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW46IDBlbSBAaW5saW5lTGFiZWxEaXN0YW5jZSAwZW0gMGVtO1xufVxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLmZpZWxkID4gOm9ubHktY2hpbGQsXG4udWkuZm9ybSAuaW5saW5lLmZpZWxkID4gOm9ubHktY2hpbGQge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLyogV2lkZSAqL1xuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLndpZGUuZmllbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnVpLmZvcm0gLmlubGluZS5maWVsZHMgLndpZGUuZmllbGQgPiBpbnB1dCxcbi51aS5mb3JtIC5pbmxpbmUuZmllbGRzIC53aWRlLmZpZWxkID4gc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1pbmkuZm9ybSB7XG4gIGZvbnQtc2l6ZTogQG1pbmk7XG59XG4udWkudGlueS5mb3JtIHtcbiAgZm9udC1zaXplOiBAdGlueTtcbn1cbi51aS5zbWFsbC5mb3JtIHtcbiAgZm9udC1zaXplOiBAc21hbGw7XG59XG4udWkuZm9ybSB7XG4gIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbi51aS5sYXJnZS5mb3JtIHtcbiAgZm9udC1zaXplOiBAbGFyZ2U7XG59XG4udWkuYmlnLmZvcm0ge1xuICBmb250LXNpemU6IEBiaWc7XG59XG4udWkuaHVnZS5mb3JtIHtcbiAgZm9udC1zaXplOiBAaHVnZTtcbn1cbi51aS5tYXNzaXZlLmZvcm0ge1xuICBmb250LXNpemU6IEBtYXNzaXZlO1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBHcmlkXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ2NvbGxlY3Rpb24nO1xuQGVsZW1lbnQgOiAnZ3JpZCc7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHBhZGRpbmc6IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBSZW1vdmUgR3V0dGVyc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZ3JpZCB7XG4gIG1hcmdpbi10b3A6IC0oQHJvd1NwYWNpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogLShAcm93U3BhY2luZyAvIDIpO1xuICBtYXJnaW4tbGVmdDogLShAZ3V0dGVyV2lkdGggLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiAtKEBndXR0ZXJXaWR0aCAvIDIpO1xufVxuLnVpLnJlbGF4ZWQuZ3JpZCAge1xuICBtYXJnaW4tbGVmdDogLShAcmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gIG1hcmdpbi1yaWdodDogLShAcmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG59XG4udWlbY2xhc3MqPVwidmVyeSByZWxheGVkXCJdLmdyaWQgIHtcbiAgbWFyZ2luLWxlZnQ6IC0oQHZlcnlSZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiAtKEB2ZXJ5UmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG59XG5cblxuLyogUHJlc2VydmUgUm93cyBTcGFjaW5nIG9uIENvbnNlY3V0aXZlIEdyaWRzICovXG4udWkuZ3JpZCArIC5ncmlkIHtcbiAgbWFyZ2luLXRvcDogQGNvbnNlY3V0aXZlR3JpZERpc3RhbmNlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2x1bW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFN0YW5kYXJkIDE2IGNvbHVtbiAqL1xuLnVpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICB3aWR0aDogQG9uZVdpZGU7XG4gIHBhZGRpbmctbGVmdDogKEBndXR0ZXJXaWR0aCAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlcldpZHRoIC8gMik7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi51aS5ncmlkID4gKiB7XG4gIHBhZGRpbmctbGVmdDogKEBndXR0ZXJXaWR0aCAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlcldpZHRoIC8gMik7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBSb3dzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5ncmlkID4gLnJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGluaGVyaXQ7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwcmVtO1xuICBwYWRkaW5nLXRvcDogKEByb3dTcGFjaW5nIC8gMik7XG4gIHBhZGRpbmctYm90dG9tOiAoQHJvd1NwYWNpbmcgLyAyKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ29sdW1uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBWZXJ0aWNhbCBwYWRkaW5nIHdoZW4gbm8gcm93cyAqL1xuLnVpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHBhZGRpbmctdG9wOiAoQHJvd1NwYWNpbmcgLyAyKTtcbiAgcGFkZGluZy1ib3R0b206IChAcm93U3BhY2luZyAvIDIpO1xufVxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmdyaWQgPiAucm93ID4gaW1nLFxuLnVpLmdyaWQgPiAucm93ID4gLmNvbHVtbiA+IGltZyB7XG4gIG1heC13aWR0aDogQGNvbHVtbk1heEltYWdlV2lkdGg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIExvb3NlIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIENvbGxhcHNlIE1hcmdpbiBvbiBDb25zZWN1dGl2ZSBHcmlkICovXG4udWkuZ3JpZCA+IC51aS5ncmlkOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLnVpLmdyaWQgPiAudWkuZ3JpZDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4vKiBTZWdtZW50IGluc2lkZSBBbGlnbmVkIEdyaWQgKi9cbi51aS5ncmlkIC5hbGlnbmVkLnJvdyA+IC5jb2x1bW4gPiAuc2VnbWVudDpub3QoLmNvbXBhY3QpOm5vdCguYXR0YWNoZWQpLFxuLnVpLmFsaWduZWQuZ3JpZCAuY29sdW1uID4gLnNlZ21lbnQ6bm90KC5jb21wYWN0KTpub3QoLmF0dGFjaGVkKSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiBBbGlnbiBEaXZpZGVycyB3aXRoIEd1dHRlciAqL1xuLnVpLmdyaWQgLnJvdyArIC51aS5kaXZpZGVyIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW46IChAcm93U3BhY2luZyAvIDIpIChAZ3V0dGVyV2lkdGggLyAyKTtcbn1cbi51aS5ncmlkIC5jb2x1bW4gKyAudWkudmVydGljYWwuZGl2aWRlciB7XG4gIGhlaWdodDogY2FsYyg1MCUgLSAoQHJvd1NwYWNpbmcgLyAyKSk7XG59XG5cbi8qIFJlbW92ZSBCb3JkZXIgb24gTGFzdCBIb3Jpem9udGFsIFNlZ21lbnQgKi9cbi51aS5ncmlkID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCA+IC5ob3Jpem9udGFsLnNlZ21lbnQsXG4udWkuZ3JpZCA+IC5jb2x1bW46bGFzdC1jaGlsZCA+IC5ob3Jpem9udGFsLnNlZ21lbnQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBQYWdlIEdyaWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gIC51aS5wYWdlLmdyaWQge1xuICAgIHdpZHRoOiBAbW9iaWxlV2lkdGg7XG4gICAgcGFkZGluZy1sZWZ0OiBAbW9iaWxlR3V0dGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IEBtb2JpbGVHdXR0ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gIC51aS5wYWdlLmdyaWQge1xuICAgIHdpZHRoOiBAdGFibGV0V2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IEB0YWJsZXRNYXJnaW47XG4gICAgbWFyZ2luLXJpZ2h0OiBAdGFibGV0TWFyZ2luO1xuICAgIHBhZGRpbmctbGVmdDogQHRhYmxldEd1dHRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiBAdGFibGV0R3V0dGVyO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFNtYWxsTW9uaXRvcikge1xuICAudWkucGFnZS5ncmlkIHtcbiAgICB3aWR0aDogQGNvbXB1dGVyV2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IEBjb21wdXRlck1hcmdpbjtcbiAgICBtYXJnaW4tcmlnaHQ6IEBjb21wdXRlck1hcmdpbjtcbiAgICBwYWRkaW5nLWxlZnQ6IEBjb21wdXRlckd1dHRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiBAY29tcHV0ZXJHdXR0ZXI7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGxhcmdlTW9uaXRvckJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdExhcmdlTW9uaXRvcikge1xuICAudWkucGFnZS5ncmlkIHtcbiAgICB3aWR0aDogQGxhcmdlTW9uaXRvcldpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBAbGFyZ2VNb25pdG9yTWFyZ2luO1xuICAgIG1hcmdpbi1yaWdodDogQGxhcmdlTW9uaXRvck1hcmdpbjtcbiAgICBwYWRkaW5nLWxlZnQ6IEBsYXJnZU1vbml0b3JHdXR0ZXI7XG4gICAgcGFkZGluZy1yaWdodDogQGxhcmdlTW9uaXRvckd1dHRlcjtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JCcmVha3BvaW50KSB7XG4gIC51aS5wYWdlLmdyaWQge1xuICAgIHdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JXaWR0aDtcbiAgICBtYXJnaW4tbGVmdDogQHdpZGVzY3JlZW5NYXJnaW47XG4gICAgbWFyZ2luLXJpZ2h0OiBAd2lkZXNjcmVlbk1hcmdpbjtcbiAgICBwYWRkaW5nLWxlZnQ6IEB3aWRlc2NyZWVuTW9uaXRvckd1dHRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiBAd2lkZXNjcmVlbk1vbml0b3JHdXR0ZXI7XG4gIH1cbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sdW1uIENvdW50XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEFzc3VtZSBmdWxsIHdpZHRoIHdpdGggb25lIGNvbHVtbiAqL1xuLnVpLmdyaWQgPiAuY29sdW1uOm9ubHktY2hpbGQsXG4udWkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOm9ubHktY2hpbGQge1xuICB3aWR0aDogQG9uZUNvbHVtbjtcbn1cblxuLyogR3JpZCBCYXNlZCAqL1xuLnVpW2NsYXNzKj1cIm9uZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cIm9uZSBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IEBvbmVDb2x1bW47XG59XG4udWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogQHR3b0NvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInRocmVlIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogQHRocmVlQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogQGZvdXJDb2x1bW47XG59XG4udWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiBAZml2ZUNvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiBAc2l4Q29sdW1uO1xufVxuLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiBAc2V2ZW5Db2x1bW47XG59XG4udWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IEBlaWdodENvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IEBuaW5lQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IEB0ZW5Db2x1bW47XG59XG4udWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogQGVsZXZlbkNvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiBAdHdlbHZlQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSB7XG4gIHdpZHRoOiBAdGhpcnRlZW5Db2x1bW47XG59XG4udWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJmb3VydGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IEBmb3VydGVlbkNvbHVtbjtcbn1cbi51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpIHtcbiAgd2lkdGg6IEBmaWZ0ZWVuQ29sdW1uO1xufVxuLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdykge1xuICB3aWR0aDogQHNpeHRlZW5Db2x1bW47XG59XG5cbi8qIFJvdyBCYXNlZCBPdmVycmlkZXMgKi9cbi51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiBAb25lQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogQHR3b0NvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogQHRocmVlQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IEBmb3VyQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IEBmaXZlQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogQHNpeENvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogQHNldmVuQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiBAZWlnaHRDb2x1bW4gIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogQG5pbmVDb2x1bW4gIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0ucm93ID4gLmNvbHVtbiB7XG4gIHdpZHRoOiBAdGVuQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogQGVsZXZlbkNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IEB0d2VsdmVDb2x1bW4gIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IEB0aGlydGVlbkNvbHVtbiAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLnJvdyA+IC5jb2x1bW4ge1xuICB3aWR0aDogQGZvdXJ0ZWVuQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IEBmaWZ0ZWVuQ29sdW1uICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIGNvbHVtblwiXS5yb3cgPiAuY29sdW1uIHtcbiAgd2lkdGg6IEBzaXh0ZWVuQ29sdW1uICFpbXBvcnRhbnQ7XG59XG5cbi8qIENlbGxlZCBQYWdlICovXG4udWkuY2VsbGVkLnBhZ2UuZ3JpZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENvbHVtbiBXaWR0aFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTaXppbmcgQ29tYmluYXRpb25zICovXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IEBvbmVXaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IEB0d29XaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogQHRocmVlV2lkZSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogQGZvdXJXaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiBAZml2ZVdpZGUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogQHNpeFdpZGUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlXCJdLmNvbHVtbiB7XG4gIHdpZHRoOiBAc2V2ZW5XaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogQGVpZ2h0V2lkZSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogQG5pbmVXaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IEB0ZW5XaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IEBlbGV2ZW5XaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IEB0d2VsdmVXaWRlICFpbXBvcnRhbnQ7XG59XG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogQHRoaXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IEBmb3VydGVlbldpZGUgIWltcG9ydGFudDtcbn1cbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlXCJdLmNvbHVtbixcbi51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGVcIl0uY29sdW1uIHtcbiAgd2lkdGg6IEBmaWZ0ZWVuV2lkZSAhaW1wb3J0YW50O1xufVxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGVcIl0uY29sdW1uLFxuLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZVwiXS5jb2x1bW4ge1xuICB3aWR0aDogQHNpeHRlZW5XaWRlICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIFdpZHRoIHBlciBEZXZpY2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogTW9iaWxlIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQG1vYmlsZUJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBvbmVXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdHdvV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGhyZWVXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGZvdXJXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGZpdmVXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAc2l4V2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAc2V2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBlaWdodFdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAbmluZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0ZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZWxldmVuV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHR3ZWx2ZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHRoaXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIG1vYmlsZVwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZm91cnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGZpZnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgbW9iaWxlXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBtb2JpbGVcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHNpeHRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogVGFibGV0IFNpemluZyBDb21iaW5hdGlvbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFRhYmxldFNjcmVlbikge1xuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBvbmVXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3byB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdHdvV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGhyZWVXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGZvdXJXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGZpdmVXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAc2l4V2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAc2V2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBlaWdodFdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAbmluZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0ZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZWxldmVuV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHR3ZWx2ZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHRoaXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHRhYmxldFwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZm91cnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGZpZnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgdGFibGV0XCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB0YWJsZXRcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHNpeHRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogQ29tcHV0ZXIvRGVza3RvcCBTaXppbmcgQ29tYmluYXRpb25zICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQG9uZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3byB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHR3b1dpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGhyZWVXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZm91cldpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBmaXZlV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAc2l4V2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBzZXZlbldpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZWlnaHRXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cIm5pbmUgd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAbmluZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHRlbldpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVsZXZlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGVsZXZlbldpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHR3ZWx2ZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGhpcnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGZvdXJ0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaWZ0ZWVuIHdpZGUgY29tcHV0ZXJcIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGZpZnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGNvbXB1dGVyXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBjb21wdXRlclwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAc2l4dGVlbldpZGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBMYXJnZSBNb25pdG9yIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGxhcmdlTW9uaXRvckJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdExhcmdlTW9uaXRvcil7XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJvbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cIm9uZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJvbmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQG9uZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidHdvIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0d29XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aHJlZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0aHJlZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91ciB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZm91cldpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZml2ZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBzaXhXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBzZXZlbldpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGVpZ2h0V2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwibmluZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBuaW5lV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInRlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHRlbldpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBlbGV2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdHdlbHZlV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGhpcnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIHdpZGUgbGFyZ2Ugc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBmb3VydGVlbldpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZmlmdGVlbldpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSBsYXJnZSBzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiB3aWRlIGxhcmdlIHNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAc2l4dGVlbldpZGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBXaWRlc2NyZWVuIFNpemluZyBDb21iaW5hdGlvbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwib25lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm9uZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwib25lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAb25lV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdvIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJ0d28gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0d29XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRocmVlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInRocmVlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGhyZWVXaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VyIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cImZvdXIgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBmb3VyV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwiZml2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJmaXZlIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZml2ZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwic2l4IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwic2l4IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAc2l4V2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInNldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJzZXZlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHNldmVuV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImVpZ2h0IHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlaWdodCB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGVpZ2h0V2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwibmluZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAbmluZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gLmNvbHVtbi5yb3cgPiBbY2xhc3MqPVwidGVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGVuV2lkZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5jb2x1bW4uZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBlbGV2ZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInR3ZWx2ZSB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQHR3ZWx2ZVdpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwidGhpcnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0aGlydGVlbldpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJmb3VydGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZm91cnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBmb3VydGVlbldpZGUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuZ3JpZCA+IC5jb2x1bW4ucm93ID4gW2NsYXNzKj1cImZpZnRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uLFxuICAudWkuY29sdW1uLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiB3aWRlIHdpZGVzY3JlZW5cIl0uY29sdW1uIHtcbiAgICB3aWR0aDogQGZpZnRlZW5XaWRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmdyaWQgPiAuY29sdW1uLnJvdyA+IFtjbGFzcyo9XCJzaXh0ZWVuIHdpZGUgd2lkZXNjcmVlblwiXS5jb2x1bW4sXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbixcbiAgLnVpLmNvbHVtbi5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gd2lkZSB3aWRlc2NyZWVuXCJdLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBzaXh0ZWVuV2lkZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBDZW50ZXJlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2VudGVyZWQuZ3JpZCxcbi51aS5jZW50ZXJlZC5ncmlkID4gLnJvdyxcbi51aS5ncmlkID4gLmNlbnRlcmVkLnJvdyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udWkuY2VudGVyZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5hbGlnbmVkKTpub3QoLmp1c3RpZmllZCk6bm90KC5yb3cpLFxuLnVpLmNlbnRlcmVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpub3QoLmFsaWduZWQpOm5vdCguanVzdGlmaWVkKSxcbi51aS5ncmlkIC5jZW50ZXJlZC5yb3cgPiAuY29sdW1uOm5vdCguYWxpZ25lZCk6bm90KC5qdXN0aWZpZWQpIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnVpLmdyaWQgPiAuY2VudGVyZWQuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmNlbnRlcmVkLmNvbHVtbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUmVsYXhlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucmVsYXhlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkucmVsYXhlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yZWxheGVkLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nLWxlZnQ6IChAcmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAcmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG59XG5cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ucm93ID4gLmNvbHVtbiB7XG4gIHBhZGRpbmctbGVmdDogKEB2ZXJ5UmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gIHBhZGRpbmctcmlnaHQ6IChAdmVyeVJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xufVxuXG4vKiBDb3VwbGluZyB3aXRoIFVJIERpdmlkZXIgKi9cbi51aS5yZWxheGVkLmdyaWQgLnJvdyArIC51aS5kaXZpZGVyLFxuLnVpLmdyaWQgLnJlbGF4ZWQucm93ICsgLnVpLmRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogKEByZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiAoQHJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5ncmlkIC5yb3cgKyAudWkuZGl2aWRlcixcbi51aS5ncmlkIFtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0ucm93ICsgLnVpLmRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogKEB2ZXJ5UmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gIG1hcmdpbi1yaWdodDogKEB2ZXJ5UmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFBhZGRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucGFkZGVkLmdyaWQ6bm90KC52ZXJ0aWNhbGx5KTpub3QoLmhvcml6b250YWxseSkge1xuICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xufVxuW2NsYXNzKj1cImhvcml6b250YWxseSBwYWRkZWRcIl0udWkuZ3JpZCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbn1cbltjbGFzcyo9XCJ2ZXJ0aWNhbGx5IHBhZGRlZFwiXS51aS5ncmlkIHtcbiAgbWFyZ2luLXRvcDogMGVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDBlbSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBcIkZsb2F0ZWRcIlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZ3JpZCBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdLmNvbHVtbiB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi51aS5ncmlkIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLmNvbHVtbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBEaXZpZGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkuZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uIHtcbiAgYm94LXNoYWRvdzogQGRpdmlkZWRCb3JkZXI7XG59XG5cbi8qIFN3YXAgZnJvbSBwYWRkaW5nIHRvIG1hcmdpbiBvbiBjb2x1bW5zIHRvIGhhdmUgZGl2aWRlcnMgYWxpZ24gKi9cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBtYXJnaW4tdG9wOiAoQHJvd1NwYWNpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogKEByb3dTcGFjaW5nIC8gMik7XG4gIHBhZGRpbmctdG9wOiAwcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3cge1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuXG5cbi8qIE5vIGRpdmlkZXIgb24gZmlyc3QgY29sdW1uIG9uIHJvdyAqL1xuLnVpLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuLnVpLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIE5vIHNwYWNlIG9uIHRvcCBvZiBmaXJzdCByb3cgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQgPiAuY29sdW1uIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG5cbi8qIERpdmlkZWQgUm93ICovXG4udWkuZ3JpZCA+IC5kaXZpZGVkLnJvdyA+IC5jb2x1bW4ge1xuICBib3gtc2hhZG93OiBAZGl2aWRlZEJvcmRlcjtcbn1cbi51aS5ncmlkID4gLmRpdmlkZWQucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIFZlcnRpY2FsbHkgRGl2aWRlZCAqL1xuLnVpW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDBlbTtcbiAgbGVmdDogMHB4O1xuXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSBAZ3V0dGVyV2lkdGgpO1xuICBoZWlnaHQ6IDFweDtcblxuICBtYXJnaW46IDAlIChAZ3V0dGVyV2lkdGggLyAyKTtcbiAgYm94LXNoYWRvdzogQHZlcnRpY2FsbHlEaXZpZGVkQm9yZGVyO1xufVxuXG4vKiBQYWRkZWQgSG9yaXpvbnRhbGx5IERpdmlkZWQgKi9cbltjbGFzcyo9XCJob3Jpem9udGFsbHkgcGFkZGVkXCJdLnVpLmRpdmlkZWQuZ3JpZCxcbi51aS5wYWRkZWQuZGl2aWRlZC5ncmlkOm5vdCgudmVydGljYWxseSk6bm90KC5ob3Jpem9udGFsbHkpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIEZpcnN0IFJvdyBWZXJ0aWNhbGx5IERpdmlkZWQgKi9cbi51aVtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0uZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogSW52ZXJ0ZWQgRGl2aWRlZCAqL1xuLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS5pbnZlcnRlZC5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW4ge1xuICBib3gtc2hhZG93OiBAZGl2aWRlZEludmVydGVkQm9yZGVyO1xufVxuLnVpLmludmVydGVkLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOm5vdCgucm93KTpmaXJzdC1jaGlsZCxcbi51aS5pbnZlcnRlZC5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLmludmVydGVkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXS5ncmlkID4gLnJvdzpiZWZvcmUge1xuICBib3gtc2hhZG93OiBAdmVydGljYWxseURpdmlkZWRJbnZlcnRlZEJvcmRlcjtcbn1cblxuLyogUmVsYXhlZCAqL1xuLnVpLnJlbGF4ZWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93OmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAoQHJlbGF4ZWRHdXR0ZXJXaWR0aCAvIDIpO1xuICBtYXJnaW4tcmlnaHQ6IChAcmVsYXhlZEd1dHRlcldpZHRoIC8gMik7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSBAcmVsYXhlZEd1dHRlcldpZHRoKTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl1bY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdLmdyaWQgPiAucm93OmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAoQHZlcnlSZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiAoQHZlcnlSZWxheGVkR3V0dGVyV2lkdGggLyAyKTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIEB2ZXJ5UmVsYXhlZEd1dHRlcldpZHRoKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgICBDZWxsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNlbGxlZC5ncmlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogQGNlbGxlZE1hcmdpbjtcbiAgYm94LXNoYWRvdzogQGNlbGxlZEdyaWREaXZpZGVyO1xufVxuXG4udWkuY2VsbGVkLmdyaWQgPiAucm93IHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbiAgYm94LXNoYWRvdzogQGNlbGxlZFJvd0RpdmlkZXI7XG59XG4udWkuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgYm94LXNoYWRvdzogQGNlbGxlZENvbHVtbkRpdmlkZXI7XG59XG5cbi51aS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4udWkuY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi51aS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICBwYWRkaW5nOiBAY2VsbGVkUGFkZGluZztcbn1cbi51aS5yZWxheGVkLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWkucmVsYXhlZC5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZzogQGNlbGxlZFJlbGF4ZWRQYWRkaW5nO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5jZWxsZWQuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgcGFkZGluZzogQGNlbGxlZFZlcnlSZWxheGVkUGFkZGluZztcbn1cblxuLyogSW50ZXJuYWxseSBDZWxsZWQgKi9cbi51aVtjbGFzcyo9XCJpbnRlcm5hbGx5IGNlbGxlZFwiXS5ncmlkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgbWFyZ2luOiAwZW07XG59XG4udWlbY2xhc3MqPVwiaW50ZXJuYWxseSBjZWxsZWRcIl0uZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpW2NsYXNzKj1cImludGVybmFsbHkgY2VsbGVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVmVydGljYWxseSBBbGlnbmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFRvcCBBbGlnbmVkICovXG4udWlbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLyogTWlkZGxlIEFsaWduZWQgKi9cbi51aVtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4udWlbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0uZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmNvbHVtbjpub3QoLnJvdyksXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0uY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJvdHRvbSBBbGlnbmVkICovXG4udWlbY2xhc3MqPVwiYm90dG9tIGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuLnVpW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5jb2x1bW46bm90KC5yb3cpLFxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLmNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi8qIFN0cmV0Y2hlZCAqL1xuLnVpLnN0cmV0Y2hlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuc3RyZXRjaGVkLmdyaWQgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiAuc3RyZXRjaGVkLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IC5zdHJldGNoZWQuY29sdW1uOm5vdCgucm93KSxcbi51aS5ncmlkID4gLnJvdyA+IC5zdHJldGNoZWQuY29sdW1uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnVpLnN0cmV0Y2hlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW4gPiAqLFxuLnVpLnN0cmV0Y2hlZC5ncmlkID4gLmNvbHVtbiA+ICosXG4udWkuZ3JpZCA+IC5zdHJldGNoZWQucm93ID4gLmNvbHVtbiA+ICosXG4udWkuZ3JpZCA+IC5zdHJldGNoZWQuY29sdW1uOm5vdCgucm93KSA+ICosXG4udWkuZ3JpZCA+IC5yb3cgPiAuc3RyZXRjaGVkLmNvbHVtbiA+ICoge1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBIb3Jpem9udGFsbHkgQ2VudGVyZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogTGVmdCBBbGlnbmVkICovXG4udWlbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLmdyaWQgPiAuY29sdW1uLFxuLnVpW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0ucm93ID4gLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5jb2x1bW4uY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXS5jb2x1bW4uY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYWxpZ24tc2VsZjogaW5oZXJpdDtcbn1cblxuLyogQ2VudGVyIEFsaWduZWQgKi9cbi51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5ncmlkID4gLmNvbHVtbixcbi51aVtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiBbY2xhc3MqPVwiY2VudGVyIGFsaWduZWRcIl0uY29sdW1uLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXS5jb2x1bW4uY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBpbmhlcml0O1xufVxuLnVpW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLmdyaWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogUmlnaHQgQWxpZ25lZCAqL1xuLnVpW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uZ3JpZCA+IC5jb2x1bW4sXG4udWlbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLmNvbHVtbi5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXS5jb2x1bW4uY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGFsaWduLXNlbGY6IGluaGVyaXQ7XG59XG5cbi8qIEp1c3RpZmllZCAqL1xuLnVpLmp1c3RpZmllZC5ncmlkID4gLmNvbHVtbixcbi51aS5qdXN0aWZpZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuLnVpLmdyaWQgPiAuanVzdGlmaWVkLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IC5qdXN0aWZpZWQuY29sdW1uLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5qdXN0aWZpZWQuY29sdW1uLmNvbHVtbiB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIGh5cGhlbnM6IGF1dG87XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICAgQ29sb3JlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZ3JpZCA+IC5yb3cgPiAucmVkLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5vcmFuZ2UuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnllbGxvdy5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAub2xpdmUuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmdyZWVuLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC50ZWFsLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5ibHVlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC52aW9sZXQuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnB1cnBsZS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAucGluay5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuYnJvd24uY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmdyZXkuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmJsYWNrLmNvbHVtbiB7XG4gIG1hcmdpbi10b3A6IC0oQHJvd1NwYWNpbmcgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogLShAcm93U3BhY2luZyAvIDIpO1xuICBwYWRkaW5nLXRvcDogKEByb3dTcGFjaW5nIC8gMik7XG4gIHBhZGRpbmctYm90dG9tOiAoQHJvd1NwYWNpbmcgLyAyKTtcbn1cblxuLyogUmVkICovXG4udWkuZ3JpZCA+IC5yZWQucm93LFxuLnVpLmdyaWQgPiAucmVkLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5yZWQuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHJlZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlO1xufVxuLyogT3JhbmdlICovXG4udWkuZ3JpZCA+IC5vcmFuZ2Uucm93LFxuLnVpLmdyaWQgPiAub3JhbmdlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5vcmFuZ2UuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG9yYW5nZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlO1xufVxuLyogWWVsbG93ICovXG4udWkuZ3JpZCA+IC55ZWxsb3cucm93LFxuLnVpLmdyaWQgPiAueWVsbG93LmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC55ZWxsb3cuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHllbGxvdyAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlO1xufVxuLyogT2xpdmUgKi9cbi51aS5ncmlkID4gLm9saXZlLnJvdyxcbi51aS5ncmlkID4gLm9saXZlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5vbGl2ZS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb2xpdmUgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZTtcbn1cbi8qIEdyZWVuICovXG4udWkuZ3JpZCA+IC5ncmVlbi5yb3csXG4udWkuZ3JpZCA+IC5ncmVlbi5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuZ3JlZW4uY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGdyZWVuICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGU7XG59XG4vKiBUZWFsICovXG4udWkuZ3JpZCA+IC50ZWFsLnJvdyxcbi51aS5ncmlkID4gLnRlYWwuY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLnRlYWwuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRlYWwgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZTtcbn1cbi8qIEJsdWUgKi9cbi51aS5ncmlkID4gLmJsdWUucm93LFxuLnVpLmdyaWQgPiAuYmx1ZS5jb2x1bW4sXG4udWkuZ3JpZCA+IC5yb3cgPiAuYmx1ZS5jb2x1bW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlO1xufVxuLyogVmlvbGV0ICovXG4udWkuZ3JpZCA+IC52aW9sZXQucm93LFxuLnVpLmdyaWQgPiAudmlvbGV0LmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC52aW9sZXQuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHZpb2xldCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlO1xufVxuLyogUHVycGxlICovXG4udWkuZ3JpZCA+IC5wdXJwbGUucm93LFxuLnVpLmdyaWQgPiAucHVycGxlLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5wdXJwbGUuY29sdW1uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHB1cnBsZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlO1xufVxuLyogUGluayAqL1xuLnVpLmdyaWQgPiAucGluay5yb3csXG4udWkuZ3JpZCA+IC5waW5rLmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5waW5rLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwaW5rICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGU7XG59XG4vKiBCcm93biAqL1xuLnVpLmdyaWQgPiAuYnJvd24ucm93LFxuLnVpLmdyaWQgPiAuYnJvd24uY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmJyb3duLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBicm93biAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlO1xufVxuLyogR3JleSAqL1xuLnVpLmdyaWQgPiAuZ3JleS5yb3csXG4udWkuZ3JpZCA+IC5ncmV5LmNvbHVtbixcbi51aS5ncmlkID4gLnJvdyA+IC5ncmV5LmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmV5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGU7XG59XG4vKiBCbGFjayAqL1xuLnVpLmdyaWQgPiAuYmxhY2sucm93LFxuLnVpLmdyaWQgPiAuYmxhY2suY29sdW1uLFxuLnVpLmdyaWQgPiAucm93ID4gLmJsYWNrLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibGFjayAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRXF1YWwgV2lkdGhcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4udWkuZ3JpZCA+IFtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5yb3cgPiAuY29sdW1uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbGV4LWdyb3c6IDE7XG59XG4udWlbY2xhc3MqPVwiZXF1YWwgd2lkdGhcIl0uZ3JpZCA+IC53aWRlLmNvbHVtbixcbi51aVtjbGFzcyo9XCJlcXVhbCB3aWR0aFwiXS5ncmlkID4gLnJvdyA+IC53aWRlLmNvbHVtbixcbi51aS5ncmlkID4gW2NsYXNzKj1cImVxdWFsIHdpZHRoXCJdLnJvdyA+IC53aWRlLmNvbHVtbiB7XG4gIGZsZXgtZ3JvdzogMDtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgUmV2ZXJzZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8qIE1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmdyaWQsXG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uZ3JpZCA+IC5yb3csXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuICAudWlbY2xhc3MqPVwibW9iaWxlIHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0uZ3JpZCxcbiAgLnVpLnN0YWNrYWJsZVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxuXG4gIC8qIERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLmNvbHVtbjpmaXJzdC1jaGlsZCxcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IEBkaXZpZGVkQm9yZGVyO1xuICB9XG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bGFzdC1jaGlsZCxcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSByZXZlcnNlZFwiXS5kaXZpZGVkLmdyaWQ6bm90KFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl0pID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAvKiBWZXJ0aWNhbGx5IERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cIm1vYmlsZSB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IEB2ZXJ0aWNhbGx5RGl2aWRlZEJvcmRlcjtcbiAgfVxuICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwibW9iaWxlIHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93Omxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIENlbGxlZCBSZXZlcnNlZCAqL1xuICAudWlbY2xhc3MqPVwibW9iaWxlIHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46Zmlyc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IEBjZWxsZWRDb2x1bW5EaXZpZGVyO1xuICB9XG4gIC51aVtjbGFzcyo9XCJtb2JpbGUgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8qIFRhYmxldCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkgYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZ3JpZCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5ncmlkID4gLnJvdyxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLnJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgdmVydGljYWxseSByZXZlcnNlZFwiXS5ncmlkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIH1cblxuICAvKiBEaXZpZGVkIFJldmVyc2VkICovXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBAZGl2aWRlZEJvcmRlcjtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmxhc3QtY2hpbGQsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmxhc3QtY2hpbGQge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLyogVmVydGljYWxseSBEaXZpZGVkIFJldmVyc2VkICovXG4gIC51aS5ncmlkW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXVtjbGFzcyo9XCJ0YWJsZXQgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiBAdmVydGljYWxseURpdmlkZWRCb3JkZXI7XG4gIH1cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cInRhYmxldCB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdID4gLnJvdzpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICAvKiBDZWxsZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cInRhYmxldCByZXZlcnNlZFwiXS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBAY2VsbGVkQ29sdW1uRGl2aWRlcjtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG4vKiBDb21wdXRlciAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSB7XG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciByZXZlcnNlZFwiXS5ncmlkLFxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZ3JpZCA+IC5yb3csXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLnJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICB9XG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciB2ZXJ0aWNhbGx5IHJldmVyc2VkXCJdLmdyaWQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxuXG4gIC8qIERpdmlkZWQgUmV2ZXJzZWQgKi9cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5yb3cgPiAuY29sdW1uOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBAZGl2aWRlZEJvcmRlcjtcbiAgfVxuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uZGl2aWRlZC5ncmlkOm5vdChbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdKSA+IC5jb2x1bW46bGFzdC1jaGlsZCxcbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmRpdmlkZWQuZ3JpZDpub3QoW2NsYXNzKj1cInZlcnRpY2FsbHkgZGl2aWRlZFwiXSkgPiAucm93ID4gLmNvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIFZlcnRpY2FsbHkgRGl2aWRlZCBSZXZlcnNlZCAqL1xuICAudWkuZ3JpZFtjbGFzcyo9XCJ2ZXJ0aWNhbGx5IGRpdmlkZWRcIl1bY2xhc3MqPVwiY29tcHV0ZXIgdmVydGljYWxseSByZXZlcnNlZFwiXSA+IC5yb3c6Zmlyc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiBAdmVydGljYWxseURpdmlkZWRCb3JkZXI7XG4gIH1cbiAgLnVpLmdyaWRbY2xhc3MqPVwidmVydGljYWxseSBkaXZpZGVkXCJdW2NsYXNzKj1cImNvbXB1dGVyIHZlcnRpY2FsbHkgcmV2ZXJzZWRcIl0gPiAucm93Omxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIC8qIENlbGxlZCBSZXZlcnNlZCAqL1xuICAudWlbY2xhc3MqPVwiY29tcHV0ZXIgcmV2ZXJzZWRcIl0uY2VsbGVkLmdyaWQgPiAucm93ID4gLmNvbHVtbjpmaXJzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogQGNlbGxlZENvbHVtbkRpdmlkZXI7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIHJldmVyc2VkXCJdLmNlbGxlZC5ncmlkID4gLnJvdyA+IC5jb2x1bW46bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRG91Ymxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogVGFibGV0IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFRhYmxldFNjcmVlbikge1xuICAudWkuZG91YmxpbmcuZ3JpZCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnVpLmdyaWQgPiAuZG91Ymxpbmcucm93LFxuICAudWkuZG91YmxpbmcuZ3JpZCA+IC5yb3cge1xuICAgIG1hcmdpbjogMGVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMGVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLmdyaWQgPiAuZG91Ymxpbmcucm93ID4gLmNvbHVtbixcbiAgLnVpLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IChAcm93U3BhY2luZyAvIDIpICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IChAcm93U3BhY2luZyAvIDIpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMGVtO1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInR3byBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQG9uZUNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQHR3b0NvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmb3VyIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQHR3b0NvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmaXZlIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQHRocmVlQ29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeCBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGhyZWVDb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNldmVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQGZvdXJDb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJuaW5lIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBmb3VyQ29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidGVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZml2ZUNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91YmxpbmcuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJlbGV2ZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQGZpdmVDb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBzaXhDb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidGhpcnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBzaXhDb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBzZXZlbkNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZy5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpZnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQHNldmVuQ29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91Ymxpbmcucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZWlnaHRDb2x1bW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBNb2JpbGUgT25seSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3csXG4gIC51aS5kb3VibGluZy5ncmlkID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwZW0gIWltcG9ydGFudDtcbiAgfVxuICAudWkuZ3JpZCA+IC5kb3VibGluZy5yb3cgPiAuY29sdW1uLFxuICAudWkuZG91YmxpbmcuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBwYWRkaW5nLXRvcDogKEByb3dTcGFjaW5nIC8gMikgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogKEByb3dTcGFjaW5nIC8gMikgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidHdvIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d28gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBvbmVDb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0aHJlZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwidGhyZWUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0d29Db2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZm91ciBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXIgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0d29Db2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZml2ZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZpdmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0d29Db2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwic2l4IGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJzaXggY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0d29Db2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJzZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwic2V2ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0d29Db2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJlaWdodCBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWlnaHQgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0d29Db2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwibmluZSBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cIm5pbmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLnJvdyA+IC5jb2x1bW4sXG4gIC51aVtjbGFzcyo9XCJ0ZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInRlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQHRocmVlQ29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cImVsZXZlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZWxldmVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAdGhyZWVDb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwidHdlbHZlIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0d2VsdmUgY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEB0aHJlZUNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInRoaXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5jb2x1bW46bm90KC5yb3cpLFxuICAudWkuZ3JpZCA+IFtjbGFzcyo9XCJ0aGlydGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQHRocmVlQ29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZm91cnRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cImZvdXJ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkucm93LnJvdyA+IC5jb2x1bW4ge1xuICAgIHdpZHRoOiBAZm91ckNvbHVtbiAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJmaWZ0ZWVuIGNvbHVtblwiXS5kb3VibGluZzpub3QoLnN0YWNrYWJsZSkuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWlbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmdyaWQgPiBbY2xhc3MqPVwiZmlmdGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLnJvdy5yb3cgPiAuY29sdW1uIHtcbiAgICB3aWR0aDogQGZvdXJDb2x1bW4gIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwic2l4dGVlbiBjb2x1bW5cIl0uZG91Ymxpbmc6bm90KC5zdGFja2FibGUpLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gW2NsYXNzKj1cInNpeHRlZW4gY29sdW1uXCJdLmRvdWJsaW5nOm5vdCguc3RhY2thYmxlKS5yb3cucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IEBmb3VyQ29sdW1uICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTdGFja2FibGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAudWkuc3RhY2thYmxlLmdyaWQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUuZ3JpZCA+IC5yb3cgPiAud2lkZS5jb2x1bW4sXG4gIC51aS5zdGFja2FibGUuZ3JpZCA+IC53aWRlLmNvbHVtbixcbiAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLmNvbHVtbi5ncmlkID4gLmNvbHVtbixcbiAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLmNvbHVtbi5yb3cgPiAuY29sdW1uLFxuICAudWkuc3RhY2thYmxlLmdyaWQgPiAucm93ID4gLmNvbHVtbixcbiAgLnVpLnN0YWNrYWJsZS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5ncmlkID4gLnN0YWNrYWJsZS5zdGFja2FibGUucm93ID4gLmNvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDBlbSAwZW0gIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogKEBzdGFja2FibGVSb3dTcGFjaW5nIC8gMikgKEBzdGFja2FibGVHdXR0ZXIgLyAyKSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUuZ3JpZDpub3QoLnZlcnRpY2FsbHkpID4gLnJvdyB7XG4gICAgbWFyZ2luOiAwZW07XG4gICAgcGFkZGluZzogMGVtO1xuICB9XG5cbiAgLyogQ291cGxpbmcgKi9cbiAgLnVpLmNvbnRhaW5lciA+IC51aS5zdGFja2FibGUuZ3JpZCA+IC5jb2x1bW4sXG4gIC51aS5jb250YWluZXIgPiAudWkuc3RhY2thYmxlLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qIERvbid0IHBhZCBpbnNpZGUgc2VnbWVudCBvciBuZXN0ZWQgZ3JpZCAqL1xuICAudWkuZ3JpZCAudWkuc3RhY2thYmxlLmdyaWQsXG4gIC51aS5zZWdtZW50Om5vdCgudmVydGljYWwpIC51aS5zdGFja2FibGUucGFnZS5ncmlkIHtcbiAgICBtYXJnaW4tbGVmdDogLShAc3RhY2thYmxlR3V0dGVyIC8gMikgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0oQHN0YWNrYWJsZUd1dHRlciAvIDIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvKiBEaXZpZGVkIFN0YWNrYWJsZSAqL1xuICAudWkuc3RhY2thYmxlLmRpdmlkZWQuZ3JpZCA+IC5yb3c6Zmlyc3QtY2hpbGQgPiAuY29sdW1uOmZpcnN0LWNoaWxkLFxuICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLnJvdzpmaXJzdC1jaGlsZCA+IC5jb2x1bW46Zmlyc3QtY2hpbGQsXG4gIC51aS5zdGFja2FibGUuZGl2aWRlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyk6Zmlyc3QtY2hpbGQsXG4gIC51aS5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5pbnZlcnRlZC5zdGFja2FibGUuY2VsbGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmludmVydGVkLnN0YWNrYWJsZS5kaXZpZGVkLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLmludmVydGVkLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWkuaW52ZXJ0ZWQuc3RhY2thYmxlLmRpdmlkZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uIHtcbiAgICBib3JkZXItdG9wOiBAc3RhY2thYmxlSW52ZXJ0ZWRNb2JpbGVCb3JkZXI7XG4gIH1cblxuICAudWkuc3RhY2thYmxlLmNlbGxlZC5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5zdGFja2FibGUuZGl2aWRlZDpub3QoLnZlcnRpY2FsbHkpLmdyaWQgPiAuY29sdW1uOm5vdCgucm93KSxcbiAgLnVpLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5yb3cgPiAuY29sdW1uLFxuICAudWkuc3RhY2thYmxlLmRpdmlkZWQ6bm90KC52ZXJ0aWNhbGx5KS5ncmlkID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIGJvcmRlci10b3A6IEBzdGFja2FibGVNb2JpbGVCb3JkZXI7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiBAc3RhY2thYmxlUm93U3BhY2luZyAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiBAc3RhY2thYmxlUm93U3BhY2luZyAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLnN0YWNrYWJsZS5jZWxsZWQuZ3JpZCA+IC5yb3cge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuc3RhY2thYmxlLmRpdmlkZWQ6bm90KC52ZXJ0aWNhbGx5KS5ncmlkID4gLmNvbHVtbjpub3QoLnJvdyksXG4gIC51aS5zdGFja2FibGUuZGl2aWRlZDpub3QoLnZlcnRpY2FsbHkpLmdyaWQgPiAucm93ID4gLmNvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbiAgfVxuXG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBPbmx5IChEZXZpY2UpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cblxuLyogVGhlc2UgaW5jbHVkZSBhcmJpdHJhcnkgY2xhc3MgcmVwZXRpdGlvbnMgZm9yIGZvcmNlZCBzcGVjaWZpY2l0eSAqL1xuXG4vKiBNb2JpbGUgT25seSBIaWRlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwiY29tcHV0ZXIgb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5yb3c6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJsYXJnZSBzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIndpZGVzY3JlZW4gb25seVwiXS5jb2x1bW46bm90KC5tb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIFRhYmxldCBPbmx5IEhpZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFRhYmxldFNjcmVlbikge1xuICAudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC50YWJsZXQpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0ucm93Om5vdCgudGFibGV0KSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLnRhYmxldCksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCgudGFibGV0KSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0ucm93Om5vdCgudGFibGV0KSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cImNvbXB1dGVyIG9ubHlcIl0uY29sdW1uOm5vdCgudGFibGV0KSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJjb21wdXRlciBvbmx5XCJdLmNvbHVtbjpub3QoLnRhYmxldCkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIENvbXB1dGVyIE9ubHkgSGlkZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RTbWFsbE1vbml0b3IpIHtcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAudWlbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0ucm93Om5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cImxhcmdlIHNjcmVlbiBvbmx5XCJdLmNvbHVtbjpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibGFyZ2Ugc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIExhcmdlIFNjcmVlbiBPbmx5IEhpZGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGxhcmdlTW9uaXRvckJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdExhcmdlTW9uaXRvcikge1xuICAudWlbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5jb21wdXRlciksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5yb3c6bm90KC5jb21wdXRlciksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJtb2JpbGUgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlciksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IC5yb3cgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwidGFibGV0IG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uZ3JpZC5ncmlkLmdyaWQ6bm90KC5tb2JpbGUpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwid2lkZXNjcmVlbiBvbmx5XCJdLnJvdzpub3QoLm1vYmlsZSksXG4gIC51aS5ncmlkLmdyaWQuZ3JpZCA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ3aWRlc2NyZWVuIG9ubHlcIl0uY29sdW1uOm5vdCgubW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFdpZGVzY3JlZW4gT25seSBIaWRlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgLnVpW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmdyaWQuZ3JpZC5ncmlkOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0ucm93Om5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiBbY2xhc3MqPVwibW9iaWxlIG9ubHlcIl0uY29sdW1uOm5vdCguY29tcHV0ZXIpLFxuICAudWkuZ3JpZC5ncmlkLmdyaWQgPiAucm93ID4gW2NsYXNzKj1cIm1vYmlsZSBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5ncmlkLmdyaWQuZ3JpZDpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLnJvdzpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gW2NsYXNzKj1cInRhYmxldCBvbmx5XCJdLmNvbHVtbjpub3QoLmNvbXB1dGVyKSxcbiAgLnVpLmdyaWQuZ3JpZC5ncmlkID4gLnJvdyA+IFtjbGFzcyo9XCJ0YWJsZXQgb25seVwiXS5jb2x1bW46bm90KC5jb21wdXRlcikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qXG4gKiAjIFNlbWFudGljIC0gTWVudVxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxNSBDb250cmlidXRvclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdjb2xsZWN0aW9uJztcbkBlbGVtZW50IDogJ21lbnUnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGFuZGFyZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTWVudVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IEBtYXJnaW47XG4gIGZvbnQtZmFtaWx5OiBAZm9udEZhbWlseTtcbiAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gIGZvbnQtd2VpZ2h0OiBAZm9udFdlaWdodDtcbiAgYm9yZGVyOiBAYm9yZGVyO1xuICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICBtaW4taGVpZ2h0OiBAbWluSGVpZ2h0O1xufVxuXG4udWkubWVudTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwcHg7XG4gIGNsZWFyOiBib3RoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51aS5tZW51OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMHJlbTtcbn1cbi51aS5tZW51Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTdWItTWVudVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1lbnUgLm1lbnUge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgPiAubWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEl0ZW1cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnVpLm1lbnUgLml0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICBiYWNrZ3JvdW5kOiBAaXRlbUJhY2tncm91bmQ7XG4gIHBhZGRpbmc6IEBpdGVtVmVydGljYWxQYWRkaW5nIEBpdGVtSG9yaXpvbnRhbFBhZGRpbmc7XG4gIHRleHQtdHJhbnNmb3JtOiBAaXRlbVRleHRUcmFuc2Zvcm07XG4gIGNvbG9yOiBAaXRlbVRleHRDb2xvcjtcbiAgZm9udC13ZWlnaHQ6IEBpdGVtRm9udFdlaWdodDtcbiAgdHJhbnNpdGlvbjogQGl0ZW1UcmFuc2l0aW9uO1xufVxuXG4udWkubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAwcHggMHB4IEBib3JkZXJSYWRpdXM7XG59XG5cbi8qIEJvcmRlciAqL1xuLnVpLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiAwJTtcbiAgcmlnaHQ6IDBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIHdpZHRoOiBAZGl2aWRlclNpemU7XG4gIGJhY2tncm91bmQ6IEBkaXZpZGVyQmFja2dyb3VuZDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICBUZXh0IENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tZW51IC50ZXh0Lml0ZW0gPiAqLFxuLnVpLm1lbnUgLml0ZW0gPiBhOm5vdCgudWkpLFxuLnVpLm1lbnUgLml0ZW0gPiBwOm9ubHktY2hpbGQge1xuICB1c2VyLXNlbGVjdDogdGV4dDtcbiAgbGluZS1oZWlnaHQ6IEB0ZXh0TGluZUhlaWdodDtcbn1cbi51aS5tZW51IC5pdGVtID4gcDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4udWkubWVudSAuaXRlbSA+IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25zXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudSAuaXRlbSA+IGkuaWNvbiB7XG4gIG9wYWNpdHk6IEBpY29uT3BhY2l0eTtcbiAgZmxvYXQ6IEBpY29uRmxvYXQ7XG4gIG1hcmdpbjogQGljb25NYXJnaW47XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQnV0dG9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudTpub3QoLnZlcnRpY2FsKSAuaXRlbSA+IC5idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogQGJ1dHRvbk9mZnNldDtcbiAgbWFyZ2luOiBAYnV0dG9uTWFyZ2luO1xuICBwYWRkaW5nLWJvdHRvbTogQGJ1dHRvblZlcnRpY2FsUGFkZGluZztcbiAgcGFkZGluZy10b3A6IEBidXR0b25WZXJ0aWNhbFBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogQGJ1dHRvblNpemU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLVxuIEdyaWQgLyBDb250YWluZXJcbi0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1lbnUgPiAgLmdyaWQsXG4udWkubWVudSA+IC5jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogaW5oZXJpdDtcbiAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSW5wdXRzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudSAuaXRlbSA+IC5pbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLml0ZW0gPiAuaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogQGlucHV0T2Zmc2V0O1xuICBtYXJnaW46IEBpbnB1dFZlcnRpY2FsTWFyZ2luIDBlbTtcbn1cbi51aS5tZW51IC5pdGVtID4gLmlucHV0IGlucHV0IHtcbiAgZm9udC1zaXplOiBAaW5wdXRTaXplO1xuICBwYWRkaW5nLXRvcDogQGlucHV0VmVydGljYWxQYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogQGlucHV0VmVydGljYWxQYWRkaW5nO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudSAuaGVhZGVyLml0ZW0sXG4udWkudmVydGljYWwubWVudSAuaGVhZGVyLml0ZW0ge1xuICBtYXJnaW46IDBlbTtcbiAgYmFja2dyb3VuZDogQGhlYWRlckJhY2tncm91bmQ7XG4gIHRleHQtdHJhbnNmb3JtOiBAaGVhZGVyVGV4dFRyYW5zZm9ybTtcbiAgZm9udC13ZWlnaHQ6IEBoZWFkZXJXZWlnaHQ7XG59XG5cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIG1hcmdpbjogQHZlcnRpY2FsSGVhZGVyTWFyZ2luO1xuICBmb250LXNpemU6IEB2ZXJ0aWNhbEhlYWRlckZvbnRTaXplO1xuICBmb250LXdlaWdodDogQHZlcnRpY2FsSGVhZGVyRm9udFdlaWdodDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIERyb3Bkb3duc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vKiBEcm9wZG93biBJY29uICovXG4udWkubWVudSAuaXRlbSA+IGkuZHJvcGRvd24uaWNvbiB7XG4gIHBhZGRpbmc6IDBlbTtcbiAgZmxvYXQ6IEBkcm9wZG93bkljb25GbG9hdDtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSBAZHJvcGRvd25JY29uRGlzdGFuY2U7XG59XG5cbi8qIE1lbnUgKi9cbi51aS5tZW51IC5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgbWluLXdpZHRoOiBjYWxjKDEwMCUgLSAxcHgpO1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIEBkcm9wZG93bk1lbnVCb3JkZXJSYWRpdXMgQGRyb3Bkb3duTWVudUJvcmRlclJhZGl1cztcbiAgYmFja2dyb3VuZDogQGRyb3Bkb3duQmFja2dyb3VuZDtcbiAgbWFyZ2luOiBAZHJvcGRvd25NZW51RGlzdGFuY2UgMHB4IDBweDtcbiAgYm94LXNoYWRvdzogQGRyb3Bkb3duTWVudUJveFNoYWRvdztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xufVxuXG5cbi8qIE1lbnUgSXRlbXMgKi9cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IEBkcm9wZG93bkl0ZW1Gb250U2l6ZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiBAZHJvcGRvd25JdGVtUGFkZGluZyAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBAZHJvcGRvd25JdGVtQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGRyb3Bkb3duSXRlbUNvbG9yICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBAZHJvcGRvd25JdGVtVGV4dFRyYW5zZm9ybSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogQGRyb3Bkb3duSXRlbUZvbnRXZWlnaHQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogQGRyb3Bkb3duSXRlbUJveFNoYWRvdyAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBAZHJvcGRvd25JdGVtVHJhbnNpdGlvbiAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBAZHJvcGRvd25Ib3ZlcmVkSXRlbUJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgY29sb3I6IEBkcm9wZG93bkhvdmVyZWRJdGVtQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5zZWxlY3RlZC5pdGVtIHtcbiAgYmFja2dyb3VuZDogQGRyb3Bkb3duU2VsZWN0ZWRJdGVtQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGRyb3Bkb3duU2VsZWN0ZWRJdGVtQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSA+IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IEBkcm9wZG93bkFjdGl2ZUl0ZW1CYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBAZHJvcGRvd25BY3RpdmVJdGVtRm9udFdlaWdodCAhaW1wb3J0YW50O1xuICBjb2xvcjogQGRyb3Bkb3duQWN0aXZlSXRlbUNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi51aS5tZW51IC51aS5kcm9wZG93bi5pdGVtIC5tZW51IC5pdGVtOm5vdCguZmlsdGVyZWQpIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSAuaWNvbjpub3QoLmRyb3Bkb3duKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiBAZHJvcGRvd25JdGVtSWNvbkZvbnRTaXplICFpbXBvcnRhbnQ7XG4gIGZsb2F0OiBAZHJvcGRvd25JdGVtSWNvbkZsb2F0O1xuICBtYXJnaW46IEBkcm9wZG93bkl0ZW1JY29uTWFyZ2luICFpbXBvcnRhbnQ7XG59XG5cblxuLyogU2Vjb25kYXJ5ICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLmRyb3Bkb3duLml0ZW0gPiAubWVudSxcbi51aS50ZXh0Lm1lbnUgLmRyb3Bkb3duLml0ZW0gPiAubWVudSB7XG4gIGJvcmRlci1yYWRpdXM6IEBkcm9wZG93bk1lbnVCb3JkZXJSYWRpdXM7XG4gIG1hcmdpbi10b3A6IEBzZWNvbmRhcnlEcm9wZG93bk1lbnVEaXN0YW5jZTtcbn1cblxuLyogUG9pbnRpbmcgKi9cbi51aS5tZW51IC5wb2ludGluZy5kcm9wZG93bi5pdGVtIC5tZW51IHtcbiAgbWFyZ2luLXRvcDogQHBvaW50aW5nRHJvcGRvd25NZW51RGlzdGFuY2U7XG59XG5cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQubWVudSAuc2VhcmNoLmRyb3Bkb3duLml0ZW0gPiAuc2VhcmNoLFxuLnVpLmludmVydGVkLm1lbnUgLnNlYXJjaC5kcm9wZG93bi5pdGVtID4gLnRleHQge1xuICBjb2xvcjogQGludmVydGVkU2VsZWN0aW9uRHJvcGRvd25Db2xvcjtcbn1cblxuLyogVmVydGljYWwgKi9cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtID4gLmljb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIGNvbnRlbnQ6IFwiXFxmMGRhXCI7XG4gIG1hcmdpbi1sZWZ0OiAxZW07XG59XG4udWkudmVydGljYWwubWVudSAuZHJvcGRvd24uaXRlbSAubWVudSB7XG4gIGxlZnQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSBAZHJvcGRvd25NZW51RGlzdGFuY2U7XG4gIGJveC1zaGFkb3c6IEBkcm9wZG93blZlcnRpY2FsTWVudUJveFNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogMGVtIEBkcm9wZG93bk1lbnVCb3JkZXJSYWRpdXMgQGRyb3Bkb3duTWVudUJvcmRlclJhZGl1cyBAZHJvcGRvd25NZW51Qm9yZGVyUmFkaXVzO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLml0ZW0udXB3YXJkIC5tZW51IHtcbiAgYm90dG9tOiAwO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLmRyb3Bkb3duLml0ZW06bm90KC51cHdhcmQpIC5tZW51IHtcbiAgdG9wOiAwO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLmFjdGl2ZS5kcm9wZG93bi5pdGVtIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBlbTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5hY3RpdmUuaXRlbSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEV2ZW5seSBEaXZpZGVkICovXG4udWkuaXRlbS5tZW51IC5kcm9wZG93biAubWVudSAuaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1lbnUgLml0ZW0gPiAubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBAbGFiZWxCYWNrZ3JvdW5kO1xuICBjb2xvcjogQGxhYmVsVGV4dENvbG9yO1xuICBtYXJnaW4tbGVmdDogQGxhYmVsVGV4dE1hcmdpbjtcbiAgcGFkZGluZzogQGxhYmVsVmVydGljYWxQYWRkaW5nIEBsYWJlbEhvcml6b250YWxQYWRkaW5nO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAubGFiZWwge1xuICBiYWNrZ3JvdW5kOiBAbGFiZWxCYWNrZ3JvdW5kO1xuICBjb2xvcjogQGxhYmVsVGV4dENvbG9yO1xuICBtYXJnaW4tdG9wOiBAbGFiZWxPZmZzZXQ7XG4gIG1hcmdpbi1ib3R0b206IEBsYWJlbE9mZnNldDtcbiAgcGFkZGluZzogQGxhYmVsVmVydGljYWxQYWRkaW5nIEBsYWJlbEhvcml6b250YWxQYWRkaW5nO1xufVxuLnVpLm1lbnUgLml0ZW0gPiAuZmxvYXRpbmcubGFiZWwge1xuICBwYWRkaW5nOiBAbGFiZWxWZXJ0aWNhbFBhZGRpbmcgQGxhYmVsSG9yaXpvbnRhbFBhZGRpbmc7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSW1hZ2VzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudSAuaXRlbSA+IGltZzpub3QoLnVpKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiBAaW1hZ2VNYXJnaW47XG4gIHdpZHRoOiBAaW1hZ2VXaWR0aDtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtID4gaW1nOm5vdCgudWkpOm9ubHktY2hpbGQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogQHZlcnRpY2FsSW1hZ2VXaWR0aDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBMaXN0XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBNZW51IGRpdmlkZXIgc2hvdWxkbnQgYXBwbHkgKi9cbi51aS5tZW51IC5saXN0IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaWRlYmFyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTaG93IHZlcnRpY2FsIGRpdmlkZXJzIGJlbG93IGxhc3QgKi9cblxuLnVpLnZlcnRpY2FsLnNpZGViYXIubWVudSA+IC5pdGVtOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG4udWkudmVydGljYWwuc2lkZWJhci5tZW51ID4gLml0ZW06OmJlZm9yZSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDb250YWluZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgLnVpLm1lbnUgPiAudWkuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAwZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSB7XG4gIC51aS5tZW51Om5vdCguc2Vjb25kYXJ5KTpub3QoLnRleHQpOm5vdCgudGFidWxhcik6bm90KC5ib3JkZXJsZXNzKSA+IC5jb250YWluZXIgPiAuaXRlbTpub3QoLnJpZ2h0KTpub3QoLmJvcmRlcmxlc3MpOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogQGRpdmlkZXJTaXplIHNvbGlkIEBkaXZpZGVyQmFja2dyb3VuZDtcbiAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBIb3ZlclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4udWkubGluay5tZW51IC5pdGVtOmhvdmVyLFxuLnVpLm1lbnUgLmRyb3Bkb3duLml0ZW06aG92ZXIsXG4udWkubWVudSAubGluay5pdGVtOmhvdmVyLFxuLnVpLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiBAaG92ZXJJdGVtQmFja2dyb3VuZDtcbiAgY29sb3I6IEBob3Zlckl0ZW1UZXh0Q29sb3I7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBQcmVzc2VkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubGluay5tZW51IC5pdGVtOmFjdGl2ZSxcbi51aS5tZW51IC5saW5rLml0ZW06YWN0aXZlLFxuLnVpLm1lbnUgYS5pdGVtOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IEBwcmVzc2VkSXRlbUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAcHJlc3NlZEl0ZW1UZXh0Q29sb3I7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tZW51IC5hY3RpdmUuaXRlbSAge1xuICBiYWNrZ3JvdW5kOiBAYWN0aXZlSXRlbUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAYWN0aXZlSXRlbVRleHRDb2xvcjtcbiAgZm9udC13ZWlnaHQ6IEBhY3RpdmVJdGVtRm9udFdlaWdodDtcbiAgYm94LXNoYWRvdzogQGFjdGl2ZUl0ZW1Cb3hTaGFkb3c7XG59XG4udWkubWVudSAuYWN0aXZlLml0ZW0gPiBpLmljb24ge1xuICBvcGFjaXR5OiBAYWN0aXZlSWNvbk9wYWNpdHk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgQWN0aXZlIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudSAuYWN0aXZlLml0ZW06aG92ZXIsXG4udWkudmVydGljYWwubWVudSAuYWN0aXZlLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYWN0aXZlSG92ZXJJdGVtQmFja2dyb3VuZDtcbiAgY29sb3I6IEBhY3RpdmVIb3Zlckl0ZW1Db2xvcjtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIERpc2FibGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWVudSAuaXRlbS5kaXNhYmxlZCxcbi51aS5tZW51IC5pdGVtLmRpc2FibGVkOmhvdmVyIHtcbiAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAZGlzYWJsZWRUZXh0Q29sb3IgIWltcG9ydGFudDtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLVxuRmxvYXRlZCBNZW51IC8gSXRlbVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIExlZnQgRmxvYXRlZCAqL1xuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLmxlZnQuaXRlbSxcbi51aS5tZW51Om5vdCgudmVydGljYWwpIDpub3QoLmRyb3Bkb3duKSA+IC5sZWZ0Lm1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi8qIFJpZ2h0IEZsb2F0ZWQgKi9cbi51aS5tZW51Om5vdCgudmVydGljYWwpIC5yaWdodC5pdGVtLFxuLnVpLm1lbnU6bm90KC52ZXJ0aWNhbCkgLnJpZ2h0Lm1lbnUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4vKiBTd2FwcGVkIEJvcmRlcnMgKi9cbi51aS5tZW51IC5yaWdodC5pdGVtOjpiZWZvcmUsXG4udWkubWVudSAucmlnaHQubWVudSA+IC5pdGVtOjpiZWZvcmUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgVmVydGljYWxcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS52ZXJ0aWNhbC5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6IEB2ZXJ0aWNhbEJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IEB2ZXJ0aWNhbEJveFNoYWRvdztcbn1cblxuLyotLS0gSXRlbSAtLS0qL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogQHZlcnRpY2FsSXRlbUJhY2tncm91bmQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMHB4IDBweDtcbn1cbi51aS52ZXJ0aWNhbC5tZW51ID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAwcHggQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xufVxuXG4vKi0tLSBMYWJlbCAtLS0qL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAubGFiZWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyotLS0gSWNvbiAtLS0qL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiBpLmljb24ge1xuICB3aWR0aDogQGljb25XaWR0aDtcbiAgZmxvYXQ6IEB2ZXJ0aWNhbEljb25GbG9hdDtcbiAgbWFyZ2luOiBAdmVydGljYWxJY29uTWFyZ2luO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAubGFiZWwgKyBpLmljb24ge1xuICBmbG9hdDogQGxhYmVsQW5kSWNvbkZsb2F0O1xuICBtYXJnaW46IEBsYWJlbEFuZEljb25NYXJnaW47XG59XG5cblxuLyotLS0gQm9yZGVyIC0tLSovXG4udWkudmVydGljYWwubWVudSAuaXRlbTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDAlO1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IEBkaXZpZGVyU2l6ZTtcbiAgYmFja2dyb3VuZDogQHZlcnRpY2FsRGl2aWRlckJhY2tncm91bmQ7XG59XG5cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vKi0tLSBTdWIgTWVudSAtLS0qL1xuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gPiAubWVudSB7XG4gIG1hcmdpbjogQHN1Yk1lbnVNYXJnaW47XG59XG4udWkudmVydGljYWwubWVudSAubWVudSAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IEBzdWJNZW51VmVydGljYWxQYWRkaW5nIEBzdWJNZW51SG9yaXpvbnRhbFBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogQHN1Yk1lbnVGb250U2l6ZTtcbiAgY29sb3I6IEBzdWJNZW51VGV4dENvbG9yO1xufVxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gLm1lbnUgYS5pdGVtOmhvdmVyLFxuLnVpLnZlcnRpY2FsLm1lbnUgLml0ZW0gLm1lbnUgLmxpbmsuaXRlbTpob3ZlciB7XG4gIGNvbG9yOiBAZGFya1RleHRDb2xvcjtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFZlcnRpY2FsIEFjdGl2ZSAqL1xuLnVpLnZlcnRpY2FsLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogQGFjdGl2ZUl0ZW1CYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJveC1zaGFkb3c6IEB2ZXJ0aWNhbEFjdGl2ZUJveFNoYWRvdztcbn1cbi51aS52ZXJ0aWNhbC5tZW51ID4gLmFjdGl2ZS5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDBlbSAwZW07XG59XG4udWkudmVydGljYWwubWVudSA+IC5hY3RpdmUuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG59XG4udWkudmVydGljYWwubWVudSA+IC5hY3RpdmUuaXRlbTpvbmx5LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5hY3RpdmUuaXRlbSAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi51aS52ZXJ0aWNhbC5tZW51IC5pdGVtIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBzdWJNZW51QWN0aXZlQmFja2dyb3VuZDtcbiAgZm9udC13ZWlnaHQ6IEBzdWJNZW51QWN0aXZlRm9udFdlaWdodDtcbiAgY29sb3I6IEBzdWJNZW51QWN0aXZlVGV4dENvbG9yO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgVGFidWxhclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRhYnVsYXIubWVudSB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IEB0YWJ1bGFyQmFja2dyb3VuZDtcbiAgYm9yZGVyLWJvdHRvbTogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCBAdGFidWxhckJvcmRlckNvbG9yO1xufVxuLnVpLnRhYnVsYXIuZmx1aWQubWVudSB7XG4gIHdpZHRoOiBAdGFidWxhckZsdWlkV2lkdGggIWltcG9ydGFudDtcbn1cbi51aS50YWJ1bGFyLm1lbnUgLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICBib3JkZXItbGVmdDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBAdGFidWxhck9wcG9zaXRlQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IEB0YWJ1bGFyVmVydGljYWxQYWRkaW5nIEB0YWJ1bGFySG9yaXpvbnRhbFBhZGRpbmc7XG4gIGNvbG9yOiBAdGFidWxhclRleHRDb2xvcjtcbn1cbi51aS50YWJ1bGFyLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSG92ZXIgKi9cbi51aS50YWJ1bGFyLm1lbnUgLml0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IEB0YWJ1bGFySG92ZXJlZFRleHRDb2xvcjtcbn1cblxuLyogQWN0aXZlICovXG4udWkudGFidWxhci5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IEB0YWJ1bGFyQWN0aXZlQmFja2dyb3VuZDtcbiAgY29sb3I6IEB0YWJ1bGFyQWN0aXZlQ29sb3I7XG4gIGJvcmRlci10b3Atd2lkdGg6IEB0YWJ1bGFyQm9yZGVyV2lkdGg7XG4gIGJvcmRlci1jb2xvcjogQHRhYnVsYXJCb3JkZXJDb2xvcjtcbiAgZm9udC13ZWlnaHQ6IEB0YWJ1bGFyQWN0aXZlV2VpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAtQHRhYnVsYXJCb3JkZXJXaWR0aDtcbiAgYm94LXNoYWRvdzogQHRhYnVsYXJBY3RpdmVCb3hTaGFkb3c7XG4gIGJvcmRlci1yYWRpdXM6IEB0YWJ1bGFyQm9yZGVyUmFkaXVzIEB0YWJ1bGFyQm9yZGVyUmFkaXVzIDBweCAwcHggIWltcG9ydGFudDtcbn1cblxuLyogQ291cGxpbmcgd2l0aCBzZWdtZW50IGZvciBhdHRhY2htZW50ICovXG4udWkudGFidWxhci5tZW51ICsgLmF0dGFjaGVkOm5vdCgudG9wKS5zZWdtZW50LFxuLnVpLnRhYnVsYXIubWVudSArIC5hdHRhY2hlZDpub3QoLnRvcCkuc2VnbWVudCArIC5hdHRhY2hlZDpub3QoLnRvcCkuc2VnbWVudCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnRvcC5hdHRhY2hlZC5zZWdtZW50ICsgLnVpLmJvdHRvbS50YWJ1bGFyLm1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBAdGFidWxhckZsdWlkV2lkdGg7XG4gIGxlZnQ6IC1AdGFidWxhckZsdWlkT2Zmc2V0O1xufVxuXG4vKiBCb3R0b20gVmVydGljYWwgVGFidWxhciAqL1xuLnVpLmJvdHRvbS50YWJ1bGFyLm1lbnUge1xuICBiYWNrZ3JvdW5kOiBAdGFidWxhckJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItdG9wOiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIEB0YWJ1bGFyQm9yZGVyQ29sb3I7XG59XG4udWkuYm90dG9tLnRhYnVsYXIubWVudSAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG4udWkuYm90dG9tLnRhYnVsYXIubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kOiBAdGFidWxhckFjdGl2ZUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAdGFidWxhckFjdGl2ZUNvbG9yO1xuICBib3JkZXItY29sb3I6IEB0YWJ1bGFyQm9yZGVyQ29sb3I7XG4gIG1hcmdpbjogLUB0YWJ1bGFyQm9yZGVyV2lkdGggMHB4IDBweCAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweCAwcHggQHRhYnVsYXJCb3JkZXJSYWRpdXMgQHRhYnVsYXJCb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLyogVmVydGljYWwgVGFidWxhciAoTGVmdCkgKi9cbi51aS52ZXJ0aWNhbC50YWJ1bGFyLm1lbnUge1xuICBiYWNrZ3JvdW5kOiBAdGFidWxhclZlcnRpY2FsQmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1yaWdodDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCBAdGFidWxhckJvcmRlckNvbG9yO1xufVxuLnVpLnZlcnRpY2FsLnRhYnVsYXIubWVudSAuaXRlbSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG4udWkudmVydGljYWwudGFidWxhci5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IEB0YWJ1bGFyQWN0aXZlQmFja2dyb3VuZDtcbiAgY29sb3I6IEB0YWJ1bGFyQWN0aXZlQ29sb3I7XG4gIGJvcmRlci1jb2xvcjogQHRhYnVsYXJCb3JkZXJDb2xvcjtcbiAgbWFyZ2luOiAwcHggLUB0YWJ1bGFyQm9yZGVyV2lkdGggMHB4IDBweDtcbiAgYm9yZGVyLXJhZGl1czogQHRhYnVsYXJCb3JkZXJSYWRpdXMgMHB4IDBweCBAdGFidWxhckJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4vKiBWZXJ0aWNhbCBSaWdodCBUYWJ1bGFyICovXG4udWkudmVydGljYWwucmlnaHQudGFidWxhci5tZW51IHtcbiAgYmFja2dyb3VuZDogQHRhYnVsYXJWZXJ0aWNhbEJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIEB0YWJ1bGFyQm9yZGVyQ29sb3I7XG59XG4udWkudmVydGljYWwucmlnaHQudGFidWxhci5tZW51IC5pdGVtIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiBAdGFidWxhckJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi51aS52ZXJ0aWNhbC5yaWdodC50YWJ1bGFyLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogQHRhYnVsYXJBY3RpdmVCYWNrZ3JvdW5kO1xuICBjb2xvcjogQHRhYnVsYXJBY3RpdmVDb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiBAdGFidWxhckJvcmRlckNvbG9yO1xuICBtYXJnaW46IDBweCAwcHggMHB4IC1AdGFidWxhckJvcmRlcldpZHRoO1xuICBib3JkZXItcmFkaXVzOiAwcHggQHRhYnVsYXJCb3JkZXJSYWRpdXMgQHRhYnVsYXJCb3JkZXJSYWRpdXMgMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIERyb3Bkb3duICovXG4udWkudGFidWxhci5tZW51IC5hY3RpdmUuZHJvcGRvd24uaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgYm9yZGVyLWxlZnQ6IEB0YWJ1bGFyQm9yZGVyV2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogQHRhYnVsYXJCb3JkZXJXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogQHRhYnVsYXJPcHBvc2l0ZUJvcmRlcldpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgUGFnaW5hdGlvblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnBhZ2luYXRpb24ubWVudSB7XG4gIG1hcmdpbjogMGVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi51aS5wYWdpbmF0aW9uLm1lbnUgLml0ZW06bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMGVtO1xufVxuLnVpLmNvbXBhY3QubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwZW07XG59XG4udWkucGFnaW5hdGlvbi5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLnBhZ2luYXRpb24ubWVudSAuaXRlbSB7XG4gIG1pbi13aWR0aDogQHBhZ2luYXRpb25NaW5XaWR0aDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLnBhZ2luYXRpb24ubWVudSAuaWNvbi5pdGVtIGkuaWNvbiB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVpLnBhZ2luYXRpb24ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItdG9wOiBub25lO1xuICBwYWRkaW5nLXRvcDogQGl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwYWdpbmF0aW9uQWN0aXZlQmFja2dyb3VuZDtcbiAgY29sb3I6IEBwYWdpbmF0aW9uQWN0aXZlVGV4dENvbG9yO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTZWNvbmRhcnlcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zZWNvbmRhcnkubWVudSB7XG4gIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlCYWNrZ3JvdW5kO1xuICBtYXJnaW4tbGVmdDogLUBzZWNvbmRhcnlJdGVtU3BhY2luZztcbiAgbWFyZ2luLXJpZ2h0OiAtQHNlY29uZGFyeUl0ZW1TcGFjaW5nO1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogSXRlbSAqL1xuLnVpLnNlY29uZGFyeS5tZW51IC5pdGVtIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IEBzZWNvbmRhcnlJdGVtUGFkZGluZztcbiAgbWFyZ2luOiBAc2Vjb25kYXJ5SXRlbU1hcmdpbjtcbiAgYmFja2dyb3VuZDogQHNlY29uZGFyeUl0ZW1CYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiBAc2Vjb25kYXJ5SXRlbVRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6IEBzZWNvbmRhcnlJdGVtQm9yZGVyUmFkaXVzO1xufVxuXG4vKiBObyBEaXZpZGVyICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBIZWFkZXIgKi9cbi51aS5zZWNvbmRhcnkubWVudSAuaGVhZGVyLml0ZW0ge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJvcmRlci1yaWdodDogQHNlY29uZGFyeUhlYWRlckJvcmRlcjtcbiAgYmFja2dyb3VuZDogQHNlY29uZGFyeUhlYWRlckJhY2tncm91bmQ7XG59XG5cbi8qIEltYWdlICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLml0ZW0gPiBpbWc6bm90KC51aSkge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLyogSG92ZXIgKi9cbi51aS5zZWNvbmRhcnkubWVudSAuZHJvcGRvd24uaXRlbTpob3Zlcixcbi51aS5zZWNvbmRhcnkubWVudSAubGluay5pdGVtOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5tZW51IGEuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlIb3Zlckl0ZW1CYWNrZ3JvdW5kO1xuICBjb2xvcjogQHNlY29uZGFyeUhvdmVySXRlbUNvbG9yO1xufVxuXG4vKiBBY3RpdmUgKi9cbi51aS5zZWNvbmRhcnkubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiBAc2Vjb25kYXJ5QWN0aXZlSXRlbUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAc2Vjb25kYXJ5QWN0aXZlSXRlbUNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAc2Vjb25kYXJ5SXRlbUJvcmRlclJhZGl1cztcbn1cblxuLyogQWN0aXZlIEhvdmVyICovXG4udWkuc2Vjb25kYXJ5Lm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZDogQHNlY29uZGFyeUFjdGl2ZUhvdmVySXRlbUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAc2Vjb25kYXJ5QWN0aXZlSG92ZXJJdGVtQ29sb3I7XG59XG5cblxuLyogSW52ZXJ0ZWQgKi9cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQubWVudSAubGluay5pdGVtLFxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IGEuaXRlbSB7XG4gIGNvbG9yOiBAc2Vjb25kYXJ5SW52ZXJ0ZWRDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogQHNlY29uZGFyeUludmVydGVkSG92ZXJCYWNrZ3JvdW5kO1xuICBjb2xvcjogQHNlY29uZGFyeUludmVydGVkSG92ZXJDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IEBzZWNvbmRhcnlJbnZlcnRlZEFjdGl2ZUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAc2Vjb25kYXJ5SW52ZXJ0ZWRBY3RpdmVDb2xvciAhaW1wb3J0YW50O1xufVxuXG4vKiBGaXggaXRlbSBtYXJnaW5zICovXG4udWkuc2Vjb25kYXJ5Lml0ZW0ubWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuLnVpLnNlY29uZGFyeS5pdGVtLm1lbnUgLml0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuLnVpLnNlY29uZGFyeS5hdHRhY2hlZC5tZW51IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogU3ViIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC5zZWNvbmRhcnkubWVudSAuaXRlbTpub3QoLmRyb3Bkb3duKSA+IC5tZW51IHtcbiAgbWFyZ2luOiBAc2Vjb25kYXJ5TWVudVN1Yk1lbnVNYXJnaW47XG59XG4udWkudmVydGljYWwuc2Vjb25kYXJ5Lm1lbnUgLml0ZW06bm90KC5kcm9wZG93bikgPiAubWVudSA+IC5pdGVtIHtcbiAgbWFyZ2luOiBAc2Vjb25kYXJ5TWVudVN1Yk1lbnVJdGVtTWFyZ2luO1xuICBwYWRkaW5nOiBAc2Vjb25kYXJ5TWVudVN1Yk1lbnVJdGVtUGFkZGluZztcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgU2Vjb25kYXJ5IFZlcnRpY2FsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zZWNvbmRhcnkudmVydGljYWwubWVudSA+IC5pdGVtIHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IEBzZWNvbmRhcnlWZXJ0aWNhbEl0ZW1NYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6IEBzZWNvbmRhcnlWZXJ0aWNhbEl0ZW1Cb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbn1cbi51aS5zZWNvbmRhcnkudmVydGljYWwubWVudSA+IC5oZWFkZXIuaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cblxuLyogU3ViIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC5zZWNvbmRhcnkubWVudSAuaXRlbSA+IC5tZW51IC5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEludmVydGVkICovXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIFNlY29uZGFyeSBQb2ludGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUge1xuICBtYXJnaW4tbGVmdDogMGVtO1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgYm9yZGVyLWJvdHRvbTogQHNlY29uZGFyeVBvaW50aW5nQm9yZGVyV2lkdGggc29saWQgQHNlY29uZGFyeVBvaW50aW5nQm9yZGVyQ29sb3I7XG59XG5cbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAuaXRlbSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMGVtO1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblxuICBtYXJnaW46IDBlbSAwZW0gLUBzZWNvbmRhcnlQb2ludGluZ0JvcmRlcldpZHRoO1xuICBwYWRkaW5nOiBAc2Vjb25kYXJ5UG9pbnRpbmdJdGVtVmVydGljYWxQYWRkaW5nIEBzZWNvbmRhcnlQb2ludGluZ0l0ZW1Ib3Jpem9udGFsUGFkZGluZztcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogQHNlY29uZGFyeVBvaW50aW5nQm9yZGVyV2lkdGg7XG4gIHRyYW5zaXRpb246IEBzZWNvbmRhcnlJdGVtVHJhbnNpdGlvbjtcbn1cblxuLyogSXRlbSBUeXBlcyAqL1xuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5oZWFkZXIuaXRlbSB7XG4gIGNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdIZWFkZXJDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC50ZXh0Lml0ZW0ge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLml0ZW06YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5saW5rLml0ZW06aG92ZXIsXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgYS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdIb3ZlclRleHRDb2xvcjtcbn1cblxuLyogUHJlc3NlZCAqL1xuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5kcm9wZG93bi5pdGVtOmFjdGl2ZSxcbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSAubGluay5pdGVtOmFjdGl2ZSxcbi51aS5zZWNvbmRhcnkucG9pbnRpbmcubWVudSBhLml0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogQHNlY29uZGFyeVBvaW50aW5nQm9yZGVyQ29sb3I7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBib3JkZXItY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0FjdGl2ZUJvcmRlckNvbG9yO1xuICBmb250LXdlaWdodDogQHNlY29uZGFyeVBvaW50aW5nQWN0aXZlRm9udFdlaWdodDtcbiAgY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0FjdGl2ZVRleHRDb2xvcjtcbn1cblxuLyogQWN0aXZlIEhvdmVyICovXG4udWkuc2Vjb25kYXJ5LnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdBY3RpdmVIb3ZlckJvcmRlckNvbG9yO1xuICBjb2xvcjogQHNlY29uZGFyeVBvaW50aW5nQWN0aXZlSG92ZXJUZXh0Q29sb3I7XG59XG5cbi8qIEFjdGl2ZSBEcm9wZG93biAqL1xuLnVpLnNlY29uZGFyeS5wb2ludGluZy5tZW51IC5hY3RpdmUuZHJvcGRvd24uaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogQHNlY29uZGFyeVBvaW50aW5nQWN0aXZlRHJvcGRvd25Cb3JkZXJDb2xvcjtcbn1cblxuLyogVmVydGljYWwgUG9pbnRpbmcgKi9cbi51aS5zZWNvbmRhcnkudmVydGljYWwucG9pbnRpbmcubWVudSB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDBweDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJXaWR0aDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJDb2xvcjtcbn1cbi51aS5zZWNvbmRhcnkudmVydGljYWwucG9pbnRpbmcubWVudSAuaXRlbSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAhaW1wb3J0YW50O1xuICBtYXJnaW46IEBzZWNvbmRhcnlWZXJ0aWNhbFBvaW50aW5nSXRlbU1hcmdpbjtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJXaWR0aDtcbn1cblxuLyogVmVydGljYWwgQWN0aXZlICovXG4udWkuc2Vjb25kYXJ5LnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdBY3RpdmVCb3JkZXJDb2xvcjtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSB7XG4gIGJvcmRlci1jb2xvcjogQHNlY29uZGFyeVBvaW50aW5nSW52ZXJ0ZWRCb3JkZXJDb2xvcjtcbn1cblxuLnVpLnNlY29uZGFyeS5pbnZlcnRlZC5wb2ludGluZy5tZW51IHtcbiAgYm9yZGVyLXdpZHRoOiBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJXaWR0aDtcbiAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdCb3JkZXJDb2xvcjtcbn1cbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuaXRlbSB7XG4gIGNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdJbnZlcnRlZEl0ZW1UZXh0Q29sb3I7XG59XG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgY29sb3I6IEBzZWNvbmRhcnlQb2ludGluZ0ludmVydGVkSXRlbUhlYWRlckNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8qIEhvdmVyICovXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5zZWNvbmRhcnkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSBhLml0ZW06aG92ZXIge1xuICBjb2xvcjogQHNlY29uZGFyeVBvaW50aW5nSW52ZXJ0ZWRJdGVtSG92ZXJUZXh0Q29sb3I7XG59XG5cblxuLyogQWN0aXZlICovXG4udWkuc2Vjb25kYXJ5LmludmVydGVkLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5UG9pbnRpbmdJbnZlcnRlZEFjdGl2ZUJvcmRlckNvbG9yO1xuICBjb2xvcjogQHNlY29uZGFyeVBvaW50aW5nSW52ZXJ0ZWRBY3RpdmVDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFRleHQgTWVudVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRleHQubWVudSB7XG4gIGJhY2tncm91bmQ6IG5vbmUgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuXG4gIG1hcmdpbjogQHRleHRNZW51TWFyZ2luO1xufVxuLnVpLnRleHQubWVudSAuaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBtYXJnaW46IEB0ZXh0TWVudUl0ZW1NYXJnaW47XG4gIHBhZGRpbmc6IEB0ZXh0TWVudUl0ZW1QYWRkaW5nO1xuICBmb250LXdlaWdodDogQHRleHRNZW51SXRlbUZvbnRXZWlnaHQ7XG4gIGNvbG9yOiBAdGV4dE1lbnVJdGVtQ29sb3I7XG4gIHRyYW5zaXRpb246IEB0ZXh0TWVudUl0ZW1UcmFuc2l0aW9uO1xufVxuXG4vKiBCb3JkZXIgKi9cbi51aS50ZXh0Lm1lbnUgLml0ZW06YmVmb3JlLFxuLnVpLnRleHQubWVudSAubWVudSAuaXRlbTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIEhlYWRlciAqL1xuLnVpLnRleHQubWVudSAuaGVhZGVyLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6IEB0ZXh0TWVudUhlYWRlckNvbG9yO1xuICBmb250LXNpemU6IEB0ZXh0TWVudUhlYWRlclNpemU7XG4gIHRleHQtdHJhbnNmb3JtOiBAdGV4dE1lbnVIZWFkZXJUZXh0VHJhbnNmb3JtO1xuICBmb250LXdlaWdodDogQHRleHRNZW51SGVhZGVyRm9udFdlaWdodDtcbn1cblxuLyogSW1hZ2UgKi9cbi51aS50ZXh0Lm1lbnUgLml0ZW0gPiBpbWc6bm90KC51aSkge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLyotLS0gZmx1aWQgdGV4dCAtLS0qL1xuLnVpLnRleHQuaXRlbS5tZW51IC5pdGVtIHtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi8qLS0tIHZlcnRpY2FsIHRleHQgLS0tKi9cbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUge1xuICBtYXJnaW46IEB0ZXh0VmVydGljYWxNZW51TWFyZ2luO1xufVxuLnVpLnZlcnRpY2FsLnRleHQubWVudTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDByZW07XG59XG4udWkudmVydGljYWwudGV4dC5tZW51Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xufVxuLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaXRlbSB7XG4gIG1hcmdpbjogQHRleHRWZXJ0aWNhbE1lbnVJdGVtTWFyZ2luO1xuICBwYWRkaW5nLWxlZnQ6IDBlbTtcbiAgcGFkZGluZy1yaWdodDogMGVtO1xufVxuLnVpLnZlcnRpY2FsLnRleHQubWVudSAuaXRlbSA+IGkuaWNvbiB7XG4gIGZsb2F0OiBAdGV4dFZlcnRpY2FsTWVudUljb25GbG9hdDtcbiAgbWFyZ2luOiBAaWNvbk1hcmdpbjtcbn1cbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgbWFyZ2luOiBAdGV4dFZlcnRpY2FsTWVudUhlYWRlck1hcmdpbjtcbn1cblxuLyogVmVydGljYWwgU3ViIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLml0ZW06bm90KC5kcm9wZG93bikgPiAubWVudSB7XG4gIG1hcmdpbjogQHRleHRNZW51U3ViTWVudU1hcmdpbjtcbn1cbi51aS52ZXJ0aWNhbC50ZXh0Lm1lbnUgLml0ZW06bm90KC5kcm9wZG93bikgPiAubWVudSA+IC5pdGVtIHtcbiAgbWFyZ2luOiBAdGV4dE1lbnVTdWJNZW51SXRlbU1hcmdpbjtcbiAgcGFkZGluZzogQHRleHRNZW51U3ViTWVudUl0ZW1QYWRkaW5nO1xufVxuXG4vKi0tLSBob3ZlciAtLS0qL1xuLnVpLnRleHQubWVudSAuaXRlbTpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKi0tLSBhY3RpdmUgLS0tKi9cbi51aS50ZXh0Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IEB0ZXh0TWVudUFjdGl2ZUl0ZW1Gb250V2VpZ2h0O1xuICBjb2xvcjogQHRleHRNZW51QWN0aXZlSXRlbUNvbG9yO1xufVxuXG4vKi0tLSBhY3RpdmUgaG92ZXIgLS0tKi9cbi51aS50ZXh0Lm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIERpc2FibGUgQmFyaWF0aW9ucyAqL1xuLnVpLnRleHQucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06YWZ0ZXIge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLnVpLnRleHQuYXR0YWNoZWQubWVudSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIEludmVydGVkICovXG4udWkuaW52ZXJ0ZWQudGV4dC5tZW51LFxuLnVpLmludmVydGVkLnRleHQubWVudSAuaXRlbSxcbi51aS5pbnZlcnRlZC50ZXh0Lm1lbnUgLml0ZW06aG92ZXIsXG4udWkuaW52ZXJ0ZWQudGV4dC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8qIEZsdWlkICovXG4udWkuZmx1aWQudGV4dC5tZW51IHtcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBJY29uIE9ubHlcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFZlcnRpY2FsIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC5pY29uLm1lbnUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKiBJdGVtICovXG4udWkuaWNvbi5tZW51IC5pdGVtIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB0ZXh0LWFsaWduOiBAaWNvbk1lbnVUZXh0QWxpZ247XG4gIGNvbG9yOiBAaWNvbk1lbnVJdGVtQ29sb3I7XG59XG5cbi8qIEljb24gKi9cbi51aS5pY29uLm1lbnUgLml0ZW0gPiAuaWNvbjpub3QoLmRyb3Bkb3duKSB7XG4gIG1hcmdpbjogMDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogSWNvbiBHeWxwaCAqL1xuLnVpLmljb24ubWVudSAuaWNvbjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiAoeCkgSXRlbSBJY29uICovXG4udWkubWVudSAuaWNvbi5pdGVtID4gLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAwZW0gYXV0bztcbn1cblxuLyogVmVydGljYWwgSWNvbiAqL1xuLnVpLnZlcnRpY2FsLmljb24ubWVudSAuaXRlbSA+IC5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIG1hcmdpbjogMGVtIGF1dG87XG4gIGZsb2F0OiBub25lO1xufVxuXG4vKiBJbnZlcnRlZCAqL1xuLnVpLmludmVydGVkLmljb24ubWVudSAuaXRlbSB7XG4gIGNvbG9yOiBAaWNvbk1lbnVJbnZlcnRlZEl0ZW1Db2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgTGFiZWxlZCBJY29uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBNZW51ICovXG4udWkubGFiZWxlZC5pY29uLm1lbnUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIEl0ZW0gKi9cbi51aS5sYWJlbGVkLmljb24ubWVudSAuaXRlbSB7XG4gIG1pbi13aWR0aDogQGxhYmVsZWRJY29uTWluV2lkdGg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi8qIEljb24gKi9cbi51aS5sYWJlbGVkLmljb24ubWVudSAuaXRlbSA+IC5pY29uOm5vdCguZHJvcGRvd24pIHtcbiAgaGVpZ2h0OiAxZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IEBsYWJlbGVkSWNvblNpemUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW0gYXV0byBAbGFiZWxlZEljb25UZXh0TWFyZ2luICFpbXBvcnRhbnQ7XG59XG5cbi8qIEZsdWlkICovXG4udWkuZmx1aWQubGFiZWxlZC5pY29uLm1lbnUgPiAuaXRlbSB7XG4gIG1pbi13aWR0aDogMGVtO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTdGFja2FibGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgLnVpLnN0YWNrYWJsZS5tZW51IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC51aS5zdGFja2FibGUubWVudSAuaXRlbSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAudWkuc3RhY2thYmxlLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IEBkaXZpZGVyU2l6ZTtcbiAgICBiYWNrZ3JvdW5kOiBAdmVydGljYWxEaXZpZGVyQmFja2dyb3VuZDtcbiAgfVxuXG4gIC51aS5zdGFja2FibGUubWVudSAubGVmdC5tZW51LFxuICAudWkuc3RhY2thYmxlLm1lbnUgLmxlZnQuaXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLnN0YWNrYWJsZS5tZW51IC5yaWdodC5tZW51LFxuICAudWkuc3RhY2thYmxlLm1lbnUgLnJpZ2h0Lml0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudWkuc3RhY2thYmxlLm1lbnUgLnJpZ2h0Lm1lbnUsXG4gIC51aS5zdGFja2FibGUubWVudSAubGVmdC5tZW51IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29sb3JzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLSBTdGFuZGFyZCBDb2xvcnMgIC0tLSovXG4udWkubWVudSAucmVkLmFjdGl2ZS5pdGVtLFxuLnVpLnJlZC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogQHJlZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHJlZCAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLm9yYW5nZS5hY3RpdmUuaXRlbSxcbi51aS5vcmFuZ2UubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6IEBvcmFuZ2UgIWltcG9ydGFudDtcbiAgY29sb3I6IEBvcmFuZ2UgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC55ZWxsb3cuYWN0aXZlLml0ZW0sXG4udWkueWVsbG93Lm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiBAeWVsbG93ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAeWVsbG93ICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAub2xpdmUuYWN0aXZlLml0ZW0sXG4udWkub2xpdmUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6IEBvbGl2ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQG9saXZlICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAuZ3JlZW4uYWN0aXZlLml0ZW0sXG4udWkuZ3JlZW4ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6IEBncmVlbiAhaW1wb3J0YW50O1xuICBjb2xvcjogQGdyZWVuICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAudGVhbC5hY3RpdmUuaXRlbSxcbi51aS50ZWFsLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiBAdGVhbCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHRlYWwgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC5ibHVlLmFjdGl2ZS5pdGVtLFxuLnVpLmJsdWUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6IEBibHVlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAYmx1ZSAhaW1wb3J0YW50O1xufVxuLnVpLm1lbnUgLnZpb2xldC5hY3RpdmUuaXRlbSxcbi51aS52aW9sZXQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6IEB2aW9sZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB2aW9sZXQgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC5wdXJwbGUuYWN0aXZlLml0ZW0sXG4udWkucHVycGxlLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiBAcHVycGxlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcHVycGxlICFpbXBvcnRhbnQ7XG59XG4udWkubWVudSAucGluay5hY3RpdmUuaXRlbSxcbi51aS5waW5rLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYm9yZGVyLWNvbG9yOiBAcGluayAhaW1wb3J0YW50O1xuICBjb2xvcjogQHBpbmsgIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC5icm93bi5hY3RpdmUuaXRlbSxcbi51aS5icm93bi5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJvcmRlci1jb2xvcjogQGJyb3duICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAYnJvd24gIWltcG9ydGFudDtcbn1cbi51aS5tZW51IC5ncmV5LmFjdGl2ZS5pdGVtLFxuLnVpLmdyZXkubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItY29sb3I6IEBncmV5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAZ3JleSAhaW1wb3J0YW50O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmludmVydGVkLm1lbnUge1xuICBib3JkZXI6IEBpbnZlcnRlZEJvcmRlcjtcbiAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogQGludmVydGVkQm94U2hhZG93O1xufVxuXG4vKiBNZW51IEl0ZW0gKi9cbi51aS5pbnZlcnRlZC5tZW51IC5pdGVtLFxuLnVpLmludmVydGVkLm1lbnUgLml0ZW0gPiBhOm5vdCgudWkpIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkSXRlbUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRJdGVtVGV4dENvbG9yO1xufVxuLnVpLmludmVydGVkLm1lbnUgLml0ZW0ubWVudSB7XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZFN1Yk1lbnVCYWNrZ3JvdW5kO1xufVxuXG4vKi0tLSBCb3JkZXIgLS0tKi9cbi51aS5pbnZlcnRlZC5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZERpdmlkZXJCYWNrZ3JvdW5kO1xufVxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkVmVydGljYWxEaXZpZGVyQmFja2dyb3VuZDtcbn1cblxuLyogU3ViIE1lbnUgKi9cbi51aS52ZXJ0aWNhbC5pbnZlcnRlZC5tZW51IC5tZW51IC5pdGVtLFxuLnVpLnZlcnRpY2FsLmludmVydGVkLm1lbnUgLm1lbnUgLml0ZW0gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRTdWJNZW51Q29sb3I7XG59XG5cbi8qIEhlYWRlciAqL1xuLnVpLmludmVydGVkLm1lbnUgLmhlYWRlci5pdGVtIHtcbiAgbWFyZ2luOiAwZW07XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZEhlYWRlckJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIERpc2FibGVkICovXG4udWkuaW52ZXJ0ZWQubWVudSAuaXRlbS5kaXNhYmxlZCxcbi51aS5pbnZlcnRlZC5tZW51IC5pdGVtLmRpc2FibGVkOmhvdmVyIHtcbiAgY29sb3I6IEBpbnZlcnRlZERpc2FibGVkVGV4dENvbG9yO1xufVxuXG4vKi0tLSBIb3ZlciAtLS0qL1xuLnVpLmxpbmsuaW52ZXJ0ZWQubWVudSAuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5tZW51IC5kcm9wZG93bi5pdGVtOmhvdmVyLFxuLnVpLmludmVydGVkLm1lbnUgLmxpbmsuaXRlbTpob3Zlcixcbi51aS5pbnZlcnRlZC5tZW51IGEuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZEhvdmVyQmFja2dyb3VuZDtcbiAgY29sb3I6IEBpbnZlcnRlZEhvdmVyQ29sb3I7XG59XG4udWkudmVydGljYWwuaW52ZXJ0ZWQubWVudSAuaXRlbSAubWVudSBhLml0ZW06aG92ZXIsXG4udWkudmVydGljYWwuaW52ZXJ0ZWQubWVudSAuaXRlbSAubWVudSAubGluay5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkU3ViTWVudUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRTdWJNZW51SG92ZXJDb2xvcjtcbn1cblxuLyotLS0gUHJlc3NlZCAtLS0qL1xuLnVpLmludmVydGVkLm1lbnUgYS5pdGVtOmFjdGl2ZSxcbi51aS5pbnZlcnRlZC5tZW51IC5saW5rLml0ZW06YWN0aXZle1xuICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRNZW51UHJlc3NlZEJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRNZW51UHJlc3NlZENvbG9yO1xufVxuXG4vKi0tLSBBY3RpdmUgLS0tKi9cbi51aS5pbnZlcnRlZC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFjdGl2ZUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRBY3RpdmVDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnZlcnRpY2FsLm1lbnUgLml0ZW0gLm1lbnUgLmFjdGl2ZS5pdGVtIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkU3ViTWVudUFjdGl2ZUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRTdWJNZW51QWN0aXZlQ29sb3I7XG59XG4udWkuaW52ZXJ0ZWQucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBcnJvd0FjdGl2ZUNvbG9yICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tIEFjdGl2ZSBIb3ZlciAtLS0qL1xuLnVpLmludmVydGVkLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkQWN0aXZlSG92ZXJCYWNrZ3JvdW5kO1xuICBjb2xvcjogQGludmVydGVkQWN0aXZlSG92ZXJDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmhvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkQXJyb3dBY3RpdmVIb3ZlckNvbG9yICFpbXBvcnRhbnQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGbG9hdGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmxvYXRlZC5tZW51IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMHJlbSBAZmxvYXRlZERpc3RhbmNlIDByZW0gMHJlbTtcbn1cbi51aS5mbG9hdGVkLm1lbnUgLml0ZW06bGFzdC1jaGlsZDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udWkucmlnaHQuZmxvYXRlZC5tZW51IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDByZW0gMHJlbSAwcmVtIEBmbG9hdGVkRGlzdGFuY2U7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBSZWQgKi9cbi51aS5pbnZlcnRlZC5tZW51IC5yZWQuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQucmVkLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmVkO1xufVxuLnVpLmludmVydGVkLnJlZC5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZENvbG9yZWREaXZpZGVyQmFja2dyb3VuZDtcbn1cbi51aS5pbnZlcnRlZC5yZWQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBPcmFuZ2UgKi9cbi51aS5pbnZlcnRlZC5tZW51IC5vcmFuZ2UuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQub3JhbmdlLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb3JhbmdlO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZENvbG9yZWREaXZpZGVyQmFja2dyb3VuZDtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2UubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBZZWxsb3cgKi9cbi51aS5pbnZlcnRlZC5tZW51IC55ZWxsb3cuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQueWVsbG93Lm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAeWVsbG93O1xufVxuLnVpLmludmVydGVkLnllbGxvdy5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZENvbG9yZWREaXZpZGVyQmFja2dyb3VuZDtcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBPbGl2ZSAqL1xuLnVpLmludmVydGVkLm1lbnUgLm9saXZlLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLm9saXZlLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb2xpdmU7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkRGl2aWRlckJhY2tncm91bmQ7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmVlbiAqL1xuLnVpLmludmVydGVkLm1lbnUgLmdyZWVuLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLmdyZWVuLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JlZW47XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4ubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkRGl2aWRlckJhY2tncm91bmQ7XG59XG4udWkuaW52ZXJ0ZWQuZ3JlZW4ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBUZWFsICovXG4udWkuaW52ZXJ0ZWQubWVudSAudGVhbC5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC50ZWFsLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGVhbDtcbn1cbi51aS5pbnZlcnRlZC50ZWFsLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkQ29sb3JlZERpdmlkZXJCYWNrZ3JvdW5kO1xufVxuLnVpLmludmVydGVkLnRlYWwubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBCbHVlICovXG4udWkuaW52ZXJ0ZWQubWVudSAuYmx1ZS5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC5ibHVlLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZTtcbn1cbi51aS5pbnZlcnRlZC5ibHVlLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkQ29sb3JlZERpdmlkZXJCYWNrZ3JvdW5kO1xufVxuLnVpLmludmVydGVkLmJsdWUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBWaW9sZXQgKi9cbi51aS5pbnZlcnRlZC5tZW51IC52aW9sZXQuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQudmlvbGV0Lm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdmlvbGV0O1xufVxuLnVpLmludmVydGVkLnZpb2xldC5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZENvbG9yZWREaXZpZGVyQmFja2dyb3VuZDtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBQdXJwbGUgKi9cbi51aS5pbnZlcnRlZC5tZW51IC5wdXJwbGUuYWN0aXZlLml0ZW0sXG4udWkuaW52ZXJ0ZWQucHVycGxlLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlO1xufVxuLnVpLmludmVydGVkLnB1cnBsZS5tZW51IC5pdGVtOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZENvbG9yZWREaXZpZGVyQmFja2dyb3VuZDtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBQaW5rICovXG4udWkuaW52ZXJ0ZWQubWVudSAucGluay5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC5waW5rLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGluaztcbn1cbi51aS5pbnZlcnRlZC5waW5rLm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkQ29sb3JlZERpdmlkZXJCYWNrZ3JvdW5kO1xufVxuLnVpLmludmVydGVkLnBpbmsubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBCcm93biAqL1xuLnVpLmludmVydGVkLm1lbnUgLmJyb3duLmFjdGl2ZS5pdGVtLFxuLnVpLmludmVydGVkLmJyb3duLm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJvd247XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24ubWVudSAuaXRlbTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkRGl2aWRlckJhY2tncm91bmQ7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24ubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmV5ICovXG4udWkuaW52ZXJ0ZWQubWVudSAuZ3JleS5hY3RpdmUuaXRlbSxcbi51aS5pbnZlcnRlZC5ncmV5Lm1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JleTtcbn1cbi51aS5pbnZlcnRlZC5ncmV5Lm1lbnUgLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkQ29sb3JlZERpdmlkZXJCYWNrZ3JvdW5kO1xufVxuLnVpLmludmVydGVkLmdyZXkubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRDb2xvcmVkQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRml0dGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZml0dGVkLm1lbnUgLml0ZW0sXG4udWkuZml0dGVkLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW0sXG4udWkubWVudSAuZml0dGVkLml0ZW0ge1xuICBwYWRkaW5nOiAwZW07XG59XG4udWkuaG9yaXpvbnRhbGx5LmZpdHRlZC5tZW51IC5pdGVtLFxuLnVpLmhvcml6b250YWxseS5maXR0ZWQubWVudSAuaXRlbSAubWVudSAuaXRlbSxcbi51aS5tZW51IC5ob3Jpem9udGFsbHkuZml0dGVkLml0ZW0ge1xuICBwYWRkaW5nLXRvcDogQGl0ZW1WZXJ0aWNhbFBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiBAaXRlbVZlcnRpY2FsUGFkZGluZztcbn1cbi51aS52ZXJ0aWNhbGx5LmZpdHRlZC5tZW51IC5pdGVtLFxuLnVpLnZlcnRpY2FsbHkuZml0dGVkLm1lbnUgLml0ZW0gLm1lbnUgLml0ZW0sXG4udWkubWVudSAudmVydGljYWxseS5maXR0ZWQuaXRlbSB7XG4gIHBhZGRpbmctbGVmdDogQGl0ZW1Ib3Jpem9udGFsUGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogQGl0ZW1Ib3Jpem9udGFsUGFkZGluZztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgQm9yZGVybGVzc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmJvcmRlcmxlc3MubWVudSAuaXRlbTpiZWZvcmUsXG4udWkuYm9yZGVybGVzcy5tZW51IC5pdGVtIC5tZW51IC5pdGVtOmJlZm9yZSxcbi51aS5tZW51IC5ib3JkZXJsZXNzLml0ZW06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb21wYWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jb21wYWN0Lm1lbnUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWFyZ2luOiAwZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4udWkuY29tcGFjdC52ZXJ0aWNhbC5tZW51IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnVpLmNvbXBhY3QubWVudSAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwZW07XG59XG4udWkuY29tcGFjdC5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51aS5jb21wYWN0LnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xufVxuLnVpLmNvbXBhY3QudmVydGljYWwubWVudSAuaXRlbTpsYXN0LWNoaWxkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEZsdWlkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tZW51LmZsdWlkLFxuLnVpLnZlcnRpY2FsLm1lbnUuZmx1aWQge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRXZlbmx5IFNpemVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pdGVtLm1lbnUsXG4udWkuaXRlbS5tZW51IC5pdGVtIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMGVtICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDBlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMGVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMGVtICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udWkuYXR0YWNoZWQuaXRlbS5tZW51IHtcbiAgbWFyZ2luOiAwZW0gQGF0dGFjaGVkSG9yaXpvbnRhbE9mZnNldCAhaW1wb3J0YW50O1xufVxuXG4udWkuaXRlbS5tZW51IC5pdGVtOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLm1lbnUudHdvLml0ZW0gLml0ZW0ge1xuICB3aWR0aDogNTAlO1xufVxuLnVpLm1lbnUudGhyZWUuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAzMy4zMzMlO1xufVxuLnVpLm1lbnUuZm91ci5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDI1JTtcbn1cbi51aS5tZW51LmZpdmUuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAyMCU7XG59XG4udWkubWVudS5zaXguaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxNi42NjYlO1xufVxuLnVpLm1lbnUuc2V2ZW4uaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxNC4yODUlO1xufVxuLnVpLm1lbnUuZWlnaHQuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiAxMi41MDAlO1xufVxuLnVpLm1lbnUubmluZS5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDExLjExJTtcbn1cbi51aS5tZW51LnRlbi5pdGVtIC5pdGVtIHtcbiAgd2lkdGg6IDEwLjAlO1xufVxuLnVpLm1lbnUuZWxldmVuLml0ZW0gLml0ZW0ge1xuICB3aWR0aDogOS4wOSU7XG59XG4udWkubWVudS50d2VsdmUuaXRlbSAuaXRlbSB7XG4gIHdpZHRoOiA4LjMzMyU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRml4ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tZW51LmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDE7XG4gIG1hcmdpbjogMGVtO1xuICB3aWR0aDogMTAwJTtcbn1cbi51aS5tZW51LmZpeGVkLFxuLnVpLm1lbnUuZml4ZWQgLml0ZW06Zmlyc3QtY2hpbGQsXG4udWkubWVudS5maXhlZCAuaXRlbTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51aS5maXhlZC5tZW51LFxuLnVpW2NsYXNzKj1cInRvcCBmaXhlZFwiXS5tZW51IHtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbn1cbi51aVtjbGFzcyo9XCJ0b3AgZml4ZWRcIl0ubWVudSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG59XG4udWlbY2xhc3MqPVwicmlnaHQgZml4ZWRcIl0ubWVudSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgdG9wOiAwcHg7XG4gIHJpZ2h0OiAwcHg7XG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gZml4ZWRcIl0ubWVudSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvdHRvbTogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG59XG4udWlbY2xhc3MqPVwibGVmdCBmaXhlZFwiXS5tZW51IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIENvdXBsaW5nIHdpdGggR3JpZCAqL1xuLnVpLmZpeGVkLm1lbnUgKyAudWkuZ3JpZCB7XG4gIHBhZGRpbmctdG9wOiBAZml4ZWRQcmVjZWRpbmdHcmlkTWFyZ2luO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFBvaW50aW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5wb2ludGluZy5tZW51IC5pdGVtOmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcblxuICBtYXJnaW46IChAYXJyb3dCb3JkZXJXaWR0aCAvIDIpIDBlbSAwZW07XG4gIHdpZHRoOiBAYXJyb3dTaXplO1xuICBoZWlnaHQ6IEBhcnJvd1NpemU7XG5cbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiBAYXJyb3dCb3JkZXI7XG4gIGJvcmRlci1yaWdodDogQGFycm93Qm9yZGVyO1xuXG4gIHotaW5kZXg6IEBhcnJvd1pJbmRleDtcbiAgdHJhbnNpdGlvbjogQGFycm93VHJhbnNpdGlvbjtcbn1cbi51aS52ZXJ0aWNhbC5wb2ludGluZy5tZW51IC5pdGVtOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDAlO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG5cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpO1xuICBtYXJnaW46IDBlbSAtKEBhcnJvd0JvcmRlcldpZHRoIC8gMikgMGVtIDBlbTtcblxuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci10b3A6IEBhcnJvd0JvcmRlcjtcbiAgYm9yZGVyLXJpZ2h0OiBAYXJyb3dCb3JkZXI7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cbi51aS5wb2ludGluZy5tZW51IC5hY3RpdmUuZHJvcGRvd24uaXRlbTphZnRlciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogRG9uJ3QgZG91YmxlIHVwIHBvaW50ZXJzICovXG4udWkucG9pbnRpbmcubWVudSAuZHJvcGRvd24uYWN0aXZlLml0ZW06YWZ0ZXIsXG4udWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW0gLm1lbnUgLmFjdGl2ZS5pdGVtOmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogQ29sb3JzICovXG4udWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYXJyb3dIb3ZlckNvbG9yO1xufVxuLnVpLnBvaW50aW5nLm1lbnUgLmFjdGl2ZS5pdGVtOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGFycm93QWN0aXZlQ29sb3I7XG59XG4udWkucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYXJyb3dBY3RpdmVIb3ZlckNvbG9yO1xufVxuXG4udWkudmVydGljYWwucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06aG92ZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYXJyb3dWZXJ0aWNhbEhvdmVyQ29sb3I7XG59XG4udWkudmVydGljYWwucG9pbnRpbmcubWVudSAuYWN0aXZlLml0ZW06YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYXJyb3dWZXJ0aWNhbEFjdGl2ZUNvbG9yO1xufVxuLnVpLnZlcnRpY2FsLnBvaW50aW5nLm1lbnUgLm1lbnUgLmFjdGl2ZS5pdGVtOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGFycm93VmVydGljYWxTdWJNZW51Q29sb3I7XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQXR0YWNoZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE1pZGRsZSAqL1xuLnVpLmF0dGFjaGVkLm1lbnUge1xuICB0b3A6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgbWFyZ2luOiAwZW0gQGF0dGFjaGVkSG9yaXpvbnRhbE9mZnNldDtcbiAgd2lkdGg6IEBhdHRhY2hlZFdpZHRoO1xuICBtYXgtd2lkdGg6IEBhdHRhY2hlZFdpZHRoO1xuICBib3gtc2hhZG93OiBAYXR0YWNoZWRCb3hTaGFkb3c7XG59XG4udWkuYXR0YWNoZWQgKyAudWkuYXR0YWNoZWQubWVudTpub3QoLnRvcCkge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4vKiBUb3AgKi9cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0ubWVudSB7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG4gIHRvcDogQGF0dGFjaGVkVG9wT2Zmc2V0O1xuICBtYXJnaW4tdG9wOiBAdmVydGljYWxNYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuLnVpLm1lbnVbY2xhc3MqPVwidG9wIGF0dGFjaGVkXCJdOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG4vKiBCb3R0b20gKi9cbi51aVtjbGFzcyo9XCJib3R0b20gYXR0YWNoZWRcIl0ubWVudSB7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIHRvcDogQGF0dGFjaGVkQm90dG9tT2Zmc2V0O1xuICBtYXJnaW4tYm90dG9tOiBAdmVydGljYWxNYXJnaW47XG4gIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJvdHRvbUJveFNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLm1lbnU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyogQXR0YWNoZWQgTWVudSBJdGVtICovXG4udWkudG9wLmF0dGFjaGVkLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgMGVtIDBlbSAwZW07XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLm1lbnUgPiAuaXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gMGVtIEBib3JkZXJSYWRpdXM7XG59XG5cbi8qIFRhYnVsYXIgQXR0YWNoZWQgKi9cbi51aS5hdHRhY2hlZC5tZW51Om5vdCgudGFidWxhcikge1xuICBib3JkZXI6IEBhdHRhY2hlZEJvcmRlcjtcbn1cbi51aS5hdHRhY2hlZC5pbnZlcnRlZC5tZW51IHtcbiAgYm9yZGVyOiBub25lO1xufVxuLnVpLmF0dGFjaGVkLnRhYnVsYXIubWVudSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBNaW5pICovXG4udWkubWluaS5tZW51IHtcbiAgZm9udC1zaXplOiBAbWluaTtcbn1cbi51aS5taW5pLnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogQG1pbmlXaWR0aDtcbn1cblxuLyogVGlueSAqL1xuLnVpLnRpbnkubWVudSB7XG4gIGZvbnQtc2l6ZTogQHRpbnk7XG59XG4udWkudGlueS52ZXJ0aWNhbC5tZW51IHtcbiAgd2lkdGg6IEB0aW55V2lkdGg7XG59XG5cbi8qIFNtYWxsICovXG4udWkuc21hbGwubWVudSB7XG4gIGZvbnQtc2l6ZTogQHNtYWxsO1xufVxuLnVpLnNtYWxsLnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogQHNtYWxsV2lkdGg7XG59XG5cbi8qIE1lZGl1bSAqL1xuLnVpLm1lbnUge1xuICBmb250LXNpemU6IEBtZWRpdW07XG59XG4udWkudmVydGljYWwubWVudSB7XG4gIHdpZHRoOiBAbWVkaXVtV2lkdGg7XG59XG5cbi8qIExhcmdlICovXG4udWkubGFyZ2UubWVudSB7XG4gIGZvbnQtc2l6ZTogQGxhcmdlO1xufVxuLnVpLmxhcmdlLnZlcnRpY2FsLm1lbnUge1xuICB3aWR0aDogQGxhcmdlV2lkdGg7XG59XG5cbi8qIEh1Z2UgKi9cbi51aS5odWdlLm1lbnUge1xuICBmb250LXNpemU6IEBodWdlO1xufVxuLnVpLmh1Z2UudmVydGljYWwubWVudSB7XG4gIHdpZHRoOiBAaHVnZVdpZHRoO1xufVxuXG4vKiBCaWcgKi9cbi51aS5iaWcubWVudSB7XG4gIGZvbnQtc2l6ZTogQGJpZztcbn1cbi51aS5iaWcudmVydGljYWwubWVudSB7XG4gIHdpZHRoOiBAYmlnV2lkdGg7XG59XG5cbi8qIE1hc3NpdmUgKi9cbi51aS5tYXNzaXZlLm1lbnUge1xuICBmb250LXNpemU6IEBtYXNzaXZlO1xufVxuLnVpLm1hc3NpdmUudmVydGljYWwubWVudSB7XG4gIHdpZHRoOiBAbWFzc2l2ZVdpZHRoO1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBNZXNzYWdlXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ2NvbGxlY3Rpb24nO1xuQGVsZW1lbnQgOiAnbWVzc2FnZSc7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIE1lc3NhZ2VcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5tZXNzYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIG1hcmdpbjogQHZlcnRpY2FsTWFyZ2luIDBlbTtcbiAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gIHBhZGRpbmc6IEBwYWRkaW5nO1xuICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG4gIGNvbG9yOiBAdGV4dENvbG9yO1xuICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbn1cblxuLnVpLm1lc3NhZ2U6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkubWVzc2FnZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogSGVhZGVyICovXG4udWkubWVzc2FnZSAuaGVhZGVyIHtcbiAgZGlzcGxheTogQGhlYWRlckRpc3BsYXk7XG4gIGZvbnQtZmFtaWx5OiBAaGVhZGVyRm9udDtcbiAgZm9udC13ZWlnaHQ6IEBoZWFkZXJGb250V2VpZ2h0O1xuICBtYXJnaW46IEBoZWFkZXJNYXJnaW47XG59XG5cbi8qIERlZmF1bHQgZm9udCBzaXplICovXG4udWkubWVzc2FnZSAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC1zaXplOiBAaGVhZGVyRm9udFNpemU7XG59XG5cbi8qIFBhcmFncmFwaCAqL1xuLnVpLm1lc3NhZ2UgcCB7XG4gIG9wYWNpdHk6IEBtZXNzYWdlVGV4dE9wYWNpdHk7XG4gIG1hcmdpbjogQG1lc3NhZ2VQYXJhZ3JhcGhNYXJnaW4gMGVtO1xufVxuLnVpLm1lc3NhZ2UgcDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5tZXNzYWdlIHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi51aS5tZXNzYWdlIC5oZWFkZXIgKyBwIHtcbiAgbWFyZ2luLXRvcDogQGhlYWRlclBhcmFncmFwaERpc3RhbmNlO1xufVxuXG4vKiBMaXN0ICovXG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDBlbTtcbiAgb3BhY2l0eTogQGxpc3RPcGFjaXR5O1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBAbGlzdFN0eWxlUG9zaXRpb247XG4gIG1hcmdpbjogQGxpc3RNYXJnaW4gMGVtIDBlbTtcbn1cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLnVpLm1lc3NhZ2UgLmxpc3Q6bm90KC51aSk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMGVtIDBlbSBAbGlzdEl0ZW1NYXJnaW4gQGxpc3RJdGVtSW5kZW50O1xuICBwYWRkaW5nOiAwZW07XG59XG4udWkubWVzc2FnZSAubGlzdDpub3QoLnVpKSBsaTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICfigKInO1xuICBsZWZ0OiAtMWVtO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi51aS5tZXNzYWdlIC5saXN0Om5vdCgudWkpIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cblxuLyogSWNvbiAqL1xuLnVpLm1lc3NhZ2UgPiAuaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogQGljb25EaXN0YW5jZTtcbn1cblxuLyogQ2xvc2UgSWNvbiAqL1xuLnVpLm1lc3NhZ2UgPiAuY2xvc2UuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDBlbTtcbiAgdG9wOiBAY2xvc2VUb3BEaXN0YW5jZTtcbiAgcmlnaHQ6IEBjbG9zZVJpZ2h0RGlzdGFuY2U7XG4gIG9wYWNpdHk6IEBjbG9zZU9wYWNpdHk7XG4gIHRyYW5zaXRpb246IEBjbG9zZVRyYW5zaXRpb247XG59XG4udWkubWVzc2FnZSA+IC5jbG9zZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogRmlyc3QgLyBMYXN0IEVsZW1lbnQgKi9cbi51aS5tZXNzYWdlID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLnVpLm1lc3NhZ2UgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvdXBsaW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZSB7XG4gIG1hcmdpbjogMHB4IC1AYm9yZGVyV2lkdGg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBWaXNpYmxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudmlzaWJsZS52aXNpYmxlLnZpc2libGUudmlzaWJsZS5tZXNzYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51aS5pY29uLnZpc2libGUudmlzaWJsZS52aXNpYmxlLnZpc2libGUubWVzc2FnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSGlkZGVuXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaGlkZGVuLmhpZGRlbi5oaWRkZW4uaGlkZGVuLm1lc3NhZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQ29tcGFjdFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbXBhY3QubWVzc2FnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi51aS5jb21wYWN0Lmljb24ubWVzc2FnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBBdHRhY2hlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmF0dGFjaGVkLm1lc3NhZ2Uge1xuICBtYXJnaW4tYm90dG9tOiBAYXR0YWNoZWRZT2Zmc2V0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMGVtIDBlbTtcbiAgYm94LXNoYWRvdzogQGF0dGFjaGVkQm94U2hhZG93O1xuICBtYXJnaW4tbGVmdDogQGF0dGFjaGVkWE9mZnNldDtcbiAgbWFyZ2luLXJpZ2h0OiBAYXR0YWNoZWRYT2Zmc2V0O1xufVxuLnVpLmF0dGFjaGVkICsgLnVpLmF0dGFjaGVkLm1lc3NhZ2U6bm90KC50b3ApOm5vdCguYm90dG9tKSB7XG4gIG1hcmdpbi10b3A6IEBhdHRhY2hlZFlPZmZzZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDBlbTtcbn1cbi51aS5ib3R0b20uYXR0YWNoZWQubWVzc2FnZSB7XG4gIG1hcmdpbi10b3A6IEBhdHRhY2hlZFlPZmZzZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xuICBib3gtc2hhZG93OiBAYXR0YWNoZWRCb3R0b21Cb3hTaGFkb3c7XG59XG4udWkuYm90dG9tLmF0dGFjaGVkLm1lc3NhZ2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IEB2ZXJ0aWNhbE1hcmdpbjtcbn1cbi51aS5hdHRhY2hlZC5pY29uLm1lc3NhZ2Uge1xuICB3aWR0aDogYXV0bztcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaWNvbi5tZXNzYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udWkuaWNvbi5tZXNzYWdlID4gLmljb246bm90KC5jbG9zZSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IEBpY29uVmVydGljYWxBbGlnbjtcbiAgZm9udC1zaXplOiBAaWNvblNpemU7XG4gIG9wYWNpdHk6IEBpY29uT3BhY2l0eTtcbn1cbi51aS5pY29uLm1lc3NhZ2UgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgdmVydGljYWwtYWxpZ246IEBpY29uVmVydGljYWxBbGlnbjtcbn1cblxuXG4udWkuaWNvbi5tZXNzYWdlIC5pY29uOm5vdCguY2xvc2UpICsgLmNvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IEBpY29uQ29udGVudERpc3RhbmNlO1xufVxuLnVpLmljb24ubWVzc2FnZSAuY2lyY3VsYXIuaWNvbiB7XG4gIHdpZHRoOiAxZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBGbG9hdGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZsb2F0aW5nLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiBAZmxvYXRpbmdCb3hTaGFkb3c7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5ibGFjay5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrO1xuICBjb2xvcjogQGludmVydGVkVGV4dENvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFR5cGVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBQb3NpdGl2ZSAqL1xuLnVpLnBvc2l0aXZlLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9zaXRpdmVCYWNrZ3JvdW5kQ29sb3I7XG4gIGNvbG9yOiBAcG9zaXRpdmVUZXh0Q29sb3I7XG59XG4udWkucG9zaXRpdmUubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5wb3NpdGl2ZS5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogQHBvc2l0aXZlQm94U2hhZG93O1xufVxuLnVpLnBvc2l0aXZlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiBAcG9zaXRpdmVIZWFkZXJDb2xvcjtcbn1cblxuLyogTmVnYXRpdmUgKi9cbi51aS5uZWdhdGl2ZS5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG5lZ2F0aXZlQmFja2dyb3VuZENvbG9yO1xuICBjb2xvcjogQG5lZ2F0aXZlVGV4dENvbG9yO1xufVxuLnVpLm5lZ2F0aXZlLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQubmVnYXRpdmUubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IEBuZWdhdGl2ZUJveFNoYWRvdztcbn1cbi51aS5uZWdhdGl2ZS5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogQG5lZ2F0aXZlSGVhZGVyQ29sb3I7XG59XG5cbi8qIEluZm8gKi9cbi51aS5pbmZvLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5mb0JhY2tncm91bmRDb2xvcjtcbiAgY29sb3I6IEBpbmZvVGV4dENvbG9yO1xufVxuLnVpLmluZm8ubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5pbmZvLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiBAaW5mb0JveFNoYWRvdztcbn1cbi51aS5pbmZvLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiBAaW5mb0hlYWRlckNvbG9yO1xufVxuXG4vKiBXYXJuaW5nICovXG4udWkud2FybmluZy5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHdhcm5pbmdCYWNrZ3JvdW5kQ29sb3I7XG4gIGNvbG9yOiBAd2FybmluZ1RleHRDb2xvcjtcbn1cbi51aS53YXJuaW5nLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQud2FybmluZy5tZXNzYWdlIHtcbiAgYm94LXNoYWRvdzogQHdhcm5pbmdCb3hTaGFkb3c7XG59XG4udWkud2FybmluZy5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogQHdhcm5pbmdIZWFkZXJDb2xvcjtcbn1cblxuLyogRXJyb3IgKi9cbi51aS5lcnJvci5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGVycm9yQmFja2dyb3VuZENvbG9yO1xuICBjb2xvcjogQGVycm9yVGV4dENvbG9yO1xufVxuLnVpLmVycm9yLm1lc3NhZ2UsXG4udWkuYXR0YWNoZWQuZXJyb3IubWVzc2FnZSB7XG4gIGJveC1zaGFkb3c6IEBlcnJvckJveFNoYWRvdztcbn1cbi51aS5lcnJvci5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogQGVycm9ySGVhZGVyQ29sb3I7XG59XG5cbi8qIFN1Y2Nlc3MgKi9cbi51aS5zdWNjZXNzLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3VjY2Vzc0JhY2tncm91bmRDb2xvcjtcbiAgY29sb3I6IEBzdWNjZXNzVGV4dENvbG9yO1xufVxuLnVpLnN1Y2Nlc3MubWVzc2FnZSxcbi51aS5hdHRhY2hlZC5zdWNjZXNzLm1lc3NhZ2Uge1xuICBib3gtc2hhZG93OiBAc3VjY2Vzc0JveFNoYWRvdztcbn1cbi51aS5zdWNjZXNzLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiBAc3VjY2Vzc0hlYWRlckNvbG9yO1xufVxuXG5cbi8qIENvbG9ycyAqL1xuLnVpLmludmVydGVkLm1lc3NhZ2UsXG4udWkuYmxhY2subWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibGFjaztcbiAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbn1cblxuLnVpLnJlZC5tZXNzYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHJlZEJhY2tncm91bmQ7XG4gIGNvbG9yOiBAcmVkVGV4dENvbG9yO1xuICBib3gtc2hhZG93OiBAcmVkQm94U2hhZG93O1xufVxuLnVpLnJlZC5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogQHJlZEhlYWRlckNvbG9yO1xufVxuXG4udWkub3JhbmdlLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb3JhbmdlQmFja2dyb3VuZDtcbiAgY29sb3I6IEBvcmFuZ2VUZXh0Q29sb3I7XG4gIGJveC1zaGFkb3c6IEBvcmFuZ2VCb3hTaGFkb3c7XG59XG4udWkub3JhbmdlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiBAb3JhbmdlSGVhZGVyQ29sb3I7XG59XG5cbi51aS55ZWxsb3cubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB5ZWxsb3dCYWNrZ3JvdW5kO1xuICBjb2xvcjogQHllbGxvd1RleHRDb2xvcjtcbiAgYm94LXNoYWRvdzogQHllbGxvd0JveFNoYWRvdztcbn1cbi51aS55ZWxsb3cubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6IEB5ZWxsb3dIZWFkZXJDb2xvcjtcbn1cblxuLnVpLm9saXZlLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb2xpdmVCYWNrZ3JvdW5kO1xuICBjb2xvcjogQG9saXZlVGV4dENvbG9yO1xuICBib3gtc2hhZG93OiBAb2xpdmVCb3hTaGFkb3c7XG59XG4udWkub2xpdmUubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6IEBvbGl2ZUhlYWRlckNvbG9yO1xufVxuXG4udWkuZ3JlZW4ubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmVlbkJhY2tncm91bmQ7XG4gIGNvbG9yOiBAZ3JlZW5UZXh0Q29sb3I7XG4gIGJveC1zaGFkb3c6IEBncmVlbkJveFNoYWRvdztcbn1cbi51aS5ncmVlbi5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogQGdyZWVuSGVhZGVyQ29sb3I7XG59XG5cbi51aS50ZWFsLm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGVhbEJhY2tncm91bmQ7XG4gIGNvbG9yOiBAdGVhbFRleHRDb2xvcjtcbiAgYm94LXNoYWRvdzogQHRlYWxCb3hTaGFkb3c7XG59XG4udWkudGVhbC5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogQHRlYWxIZWFkZXJDb2xvcjtcbn1cblxuLnVpLmJsdWUubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibHVlQmFja2dyb3VuZDtcbiAgY29sb3I6IEBibHVlVGV4dENvbG9yO1xuICBib3gtc2hhZG93OiBAYmx1ZUJveFNoYWRvdztcbn1cbi51aS5ibHVlLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiBAYmx1ZUhlYWRlckNvbG9yO1xufVxuXG4udWkudmlvbGV0Lm1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdmlvbGV0QmFja2dyb3VuZDtcbiAgY29sb3I6IEB2aW9sZXRUZXh0Q29sb3I7XG4gIGJveC1zaGFkb3c6IEB2aW9sZXRCb3hTaGFkb3c7XG59XG4udWkudmlvbGV0Lm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiBAdmlvbGV0SGVhZGVyQ29sb3I7XG59XG5cbi51aS5wdXJwbGUubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwdXJwbGVCYWNrZ3JvdW5kO1xuICBjb2xvcjogQHB1cnBsZVRleHRDb2xvcjtcbiAgYm94LXNoYWRvdzogQHB1cnBsZUJveFNoYWRvdztcbn1cbi51aS5wdXJwbGUubWVzc2FnZSAuaGVhZGVyIHtcbiAgY29sb3I6IEBwdXJwbGVIZWFkZXJDb2xvcjtcbn1cblxuLnVpLnBpbmsubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwaW5rQmFja2dyb3VuZDtcbiAgY29sb3I6IEBwaW5rVGV4dENvbG9yO1xuICBib3gtc2hhZG93OiBAcGlua0JveFNoYWRvdztcbn1cbi51aS5waW5rLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGNvbG9yOiBAcGlua0hlYWRlckNvbG9yO1xufVxuXG4udWkuYnJvd24ubWVzc2FnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBicm93bkJhY2tncm91bmQ7XG4gIGNvbG9yOiBAYnJvd25UZXh0Q29sb3I7XG4gIGJveC1zaGFkb3c6IEBicm93bkJveFNoYWRvdztcbn1cbi51aS5icm93bi5tZXNzYWdlIC5oZWFkZXIge1xuICBjb2xvcjogQGJyb3duSGVhZGVyQ29sb3I7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5taW5pLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IEByZWxhdGl2ZU1pbmk7XG59XG4udWkudGlueS5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiBAcmVsYXRpdmVUaW55O1xufVxuLnVpLnNtYWxsLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IEByZWxhdGl2ZVNtYWxsO1xufVxuLnVpLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IEByZWxhdGl2ZU1lZGl1bTtcbn1cbi51aS5sYXJnZS5tZXNzYWdlIHtcbiAgZm9udC1zaXplOiBAcmVsYXRpdmVMYXJnZTtcbn1cbi51aS5iaWcubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogQHJlbGF0aXZlQmlnO1xufVxuLnVpLmh1Z2UubWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogQHJlbGF0aXZlSHVnZTtcbn1cbi51aS5tYXNzaXZlLm1lc3NhZ2Uge1xuICBmb250LXNpemU6IEByZWxhdGl2ZU1hc3NpdmU7XG59XG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIFRhYmxlXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGUgICAgOiAnY29sbGVjdGlvbic7XG5AZWxlbWVudCA6ICd0YWJsZSc7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUYWJsZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogUHJvdG90eXBlICovXG4udWkudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gIG1hcmdpbjogQG1hcmdpbjtcbiAgYm9yZGVyOiBAYm9yZGVyO1xuICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICB0ZXh0LWFsaWduOiBAdGV4dEFsaWduO1xuICBjb2xvcjogQGNvbG9yO1xuICBib3JkZXItY29sbGFwc2U6IEBib3JkZXJDb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IEBib3JkZXJTcGFjaW5nO1xufVxuXG4udWkudGFibGU6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkudGFibGU6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBQYXJ0c1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogVGFibGUgQ29udGVudCAqL1xuLnVpLnRhYmxlIHRoLFxuLnVpLnRhYmxlIHRkIHtcbiAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG5cbi8qIEhlYWRlcnMgKi9cbi51aS50YWJsZSB0aGVhZCB7XG4gIGJveC1zaGFkb3c6IEBoZWFkZXJCb3hTaGFkb3c7XG59XG4udWkudGFibGUgdGhlYWQgdGgge1xuICBjdXJzb3I6IGF1dG87XG4gIGJhY2tncm91bmQ6IEBoZWFkZXJCYWNrZ3JvdW5kO1xuICB0ZXh0LWFsaWduOiBAaGVhZGVyQWxpZ247XG4gIGNvbG9yOiBAaGVhZGVyQ29sb3I7XG4gIHBhZGRpbmc6IEBoZWFkZXJWZXJ0aWNhbFBhZGRpbmcgQGhlYWRlckhvcml6b250YWxQYWRkaW5nO1xuICB2ZXJ0aWNhbC1hbGlnbjogQGhlYWRlclZlcnRpY2FsQWxpZ247XG4gIGZvbnQtc3R5bGU6IEBoZWFkZXJGb250U3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiBAaGVhZGVyRm9udFdlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IEBoZWFkZXJUZXh0VHJhbnNmb3JtO1xuICBib3JkZXItYm90dG9tOiBAaGVhZGVyQm9yZGVyO1xuICBib3JkZXItbGVmdDogQGhlYWRlckRpdmlkZXI7XG59XG5cbi51aS50YWJsZSB0aGVhZCB0ciA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG5cbi51aS50YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAwZW0gMGVtIDBlbTtcbn1cbi51aS50YWJsZSB0aGVhZCB0cjpmaXJzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gQGJvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuLnVpLnRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkID4gdGg6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuXG4vKiBGb290ZXIgKi9cbi51aS50YWJsZSB0Zm9vdCB7XG4gIGJveC1zaGFkb3c6IEBmb290ZXJCb3hTaGFkb3c7XG59XG4udWkudGFibGUgdGZvb3QgdGgge1xuICBjdXJzb3I6IGF1dG87XG4gIGJvcmRlci10b3A6IEBmb290ZXJCb3JkZXI7XG4gIGJhY2tncm91bmQ6IEBmb290ZXJCYWNrZ3JvdW5kO1xuICB0ZXh0LWFsaWduOiBAZm9vdGVyQWxpZ247XG4gIGNvbG9yOiBAZm9vdGVyQ29sb3I7XG4gIHBhZGRpbmc6IEBmb290ZXJWZXJ0aWNhbFBhZGRpbmcgQGZvb3Rlckhvcml6b250YWxQYWRkaW5nO1xuICB2ZXJ0aWNhbC1hbGlnbjogQGZvb3RlclZlcnRpY2FsQWxpZ247XG4gIGZvbnQtc3R5bGU6IEBmb290ZXJGb250U3R5bGU7XG4gIGZvbnQtd2VpZ2h0OiBAZm9vdGVyRm9udFdlaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IEBmb290ZXJUZXh0VHJhbnNmb3JtO1xufVxuLnVpLnRhYmxlIHRmb290IHRyID4gdGg6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cbi51aS50YWJsZSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSAwZW0gQGJvcmRlclJhZGl1cztcbn1cbi51aS50YWJsZSB0Zm9vdCB0cjpmaXJzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIEBib3JkZXJSYWRpdXMgMGVtO1xufVxuLnVpLnRhYmxlIHRmb290IHRyOmZpcnN0LWNoaWxkID4gdGg6b25seS1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzO1xufVxuXG4vKiBUYWJsZSBSb3cgKi9cbi51aS50YWJsZSB0ciB0ZCB7XG4gIGJvcmRlci10b3A6IEByb3dCb3JkZXI7XG59XG4udWkudGFibGUgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4vKiBSZXBlYXRlZCB0Ym9keSAqL1xuLnVpLnRhYmxlIHRib2R5ICsgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQge1xuICBib3JkZXItdG9wOiBAcm93Qm9yZGVyO1xufVxuXG4vKiBUYWJsZSBDZWxscyAqL1xuLnVpLnRhYmxlIHRkIHtcbiAgcGFkZGluZzogQGNlbGxWZXJ0aWNhbFBhZGRpbmcgQGNlbGxIb3Jpem9udGFsUGFkZGluZztcbiAgdGV4dC1hbGlnbjogQGNlbGxUZXh0QWxpZ247XG59XG5cbi8qIEljb25zICovXG4udWkudGFibGUgPiAuaWNvbiB7XG4gIHZlcnRpY2FsLWFsaWduOiBAaWNvblZlcnRpY2FsQWxpZ247XG59XG4udWkudGFibGUgPiAuaWNvbjpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luOiAwZW07XG59XG5cbi8qIFRhYmxlIFNlZ21lbnQgKi9cbi51aS50YWJsZS5zZWdtZW50IHtcbiAgcGFkZGluZzogMGVtO1xufVxuLnVpLnRhYmxlLnNlZ21lbnQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLnRhYmxlLnNlZ21lbnQuc3RhY2tlZDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8qIFJlc3BvbnNpdmUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRib2R5LFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHIsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0ciA+IHRoLFxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdHIgPiB0ZCAge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHtcbiAgICBwYWRkaW5nOiAwZW07XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBAcmVzcG9uc2l2ZUhlYWRlckRpc3BsYXk7XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRmb290IHtcbiAgICBkaXNwbGF5OiBAcmVzcG9uc2l2ZUZvb3RlckRpc3BsYXk7XG4gIH1cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyIHtcbiAgICBwYWRkaW5nLXRvcDogQHJlc3BvbnNpdmVSb3dWZXJ0aWNhbFBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206IEByZXNwb25zaXZlUm93VmVydGljYWxQYWRkaW5nO1xuICAgIGJveC1zaGFkb3c6IEByZXNwb25zaXZlUm93Qm94U2hhZG93O1xuICB9XG5cbiAgLnVpLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRyID4gdGgsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0ciA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IEByZXNwb25zaXZlQ2VsbFZlcnRpY2FsUGFkZGluZyBAcmVzcG9uc2l2ZUNlbGxIb3Jpem9udGFsUGFkZGluZyAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IEByZXNwb25zaXZlQ2VsbEJveFNoYWRvdztcbiAgfVxuICAudWkudGFibGU6bm90KC51bnN0YWNrYWJsZSkgdGg6Zmlyc3QtY2hpbGQsXG4gIC51aS50YWJsZTpub3QoLnVuc3RhY2thYmxlKSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgZm9udC13ZWlnaHQ6IEByZXNwb25zaXZlQ2VsbEhlYWRlckZvbnRXZWlnaHQ7XG4gIH1cblxuICAvKiBEZWZpbml0aW9uIFRhYmxlICovXG4gIC51aS5kZWZpbml0aW9uLnRhYmxlOm5vdCgudW5zdGFja2FibGUpIHRoZWFkIHRoOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIFVJIEltYWdlICovXG4udWkudGFibGUgdGggLmltYWdlLFxuLnVpLnRhYmxlIHRoIC5pbWFnZSBpbWcsXG4udWkudGFibGUgdGQgLmltYWdlLFxuLnVpLnRhYmxlIHRkIC5pbWFnZSBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvbXBsZXhcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zdHJ1Y3R1cmVkLnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cbi51aS5zdHJ1Y3R1cmVkLnRhYmxlIHRoZWFkIHRoIHtcbiAgYm9yZGVyLWxlZnQ6IEBoZWFkZXJEaXZpZGVyO1xuICBib3JkZXItcmlnaHQ6IEBoZWFkZXJEaXZpZGVyO1xufVxuLnVpLnN0cnVjdHVyZWQuc29ydGFibGUudGFibGUgdGhlYWQgdGgge1xuICBib3JkZXItbGVmdDogQHNvcnRhYmxlQm9yZGVyO1xuICBib3JkZXItcmlnaHQ6IEBzb3J0YWJsZUJvcmRlcjtcbn1cbi51aS5zdHJ1Y3R1cmVkLmJhc2ljLnRhYmxlIHRoIHtcbiAgYm9yZGVyLWxlZnQ6IEBiYXNpY1RhYmxlSGVhZGVyRGl2aWRlcjtcbiAgYm9yZGVyLXJpZ2h0OiBAYmFzaWNUYWJsZUhlYWRlckRpdmlkZXI7XG59XG4udWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgdHIgdGgsXG4udWkuc3RydWN0dXJlZC5jZWxsZWQudGFibGUgdHIgdGQge1xuICBib3JkZXItbGVmdDogQGNlbGxCb3JkZXI7XG4gIGJvcmRlci1yaWdodDogQGNlbGxCb3JkZXI7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIERlZmluaXRpb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kZWZpbml0aW9uLnRhYmxlIHRoZWFkOm5vdCguZnVsbC13aWR0aCkgdGg6Zmlyc3QtY2hpbGQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogQGRlZmluaXRpb25IZWFkZXJCYWNrZ3JvdW5kO1xuICBmb250LXdlaWdodDogQGRlZmluaXRpb25IZWFkZXJGb250V2VpZ2h0O1xuICBjb2xvcjogQGRlZmluaXRpb25IZWFkZXJDb2xvcjtcbiAgYm94LXNoYWRvdzogLUBib3JkZXJXaWR0aCAtQGJvcmRlcldpZHRoIDBweCBAYm9yZGVyV2lkdGggQGRlZmluaXRpb25QYWdlQmFja2dyb3VuZDtcbn1cblxuLnVpLmRlZmluaXRpb24udGFibGUgdGZvb3Q6bm90KC5mdWxsLXdpZHRoKSB0aDpmaXJzdC1jaGlsZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiBAZGVmaW5pdGlvbkZvb3RlckJhY2tncm91bmQ7XG4gIGZvbnQtd2VpZ2h0OiBAZGVmaW5pdGlvbkZvb3RlckNvbG9yO1xuICBjb2xvcjogQGRlZmluaXRpb25Gb290ZXJGb250V2VpZ2h0O1xuICBib3gtc2hhZG93OiBAYm9yZGVyV2lkdGggQGJvcmRlcldpZHRoIDBweCBAYm9yZGVyV2lkdGggQGRlZmluaXRpb25QYWdlQmFja2dyb3VuZDtcbn1cblxuLyogUmVtb3ZlIEJvcmRlciAqL1xuLnVpLmNlbGxlZC5kZWZpbml0aW9uLnRhYmxlIHRoZWFkOm5vdCguZnVsbC13aWR0aCkgdGg6Zmlyc3QtY2hpbGQge1xuICBib3gtc2hhZG93OiAwcHggLUBib3JkZXJXaWR0aCAwcHggQGJvcmRlcldpZHRoIEBkZWZpbml0aW9uUGFnZUJhY2tncm91bmQ7XG59XG4udWkuY2VsbGVkLmRlZmluaXRpb24udGFibGUgdGZvb3Q6bm90KC5mdWxsLXdpZHRoKSB0aDpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IDBweCBAYm9yZGVyV2lkdGggMHB4IEBib3JkZXJXaWR0aCBAZGVmaW5pdGlvblBhZ2VCYWNrZ3JvdW5kO1xufVxuXG4vKiBIaWdobGlnaHQgRGVmaW5pbmcgQ29sdW1uICovXG4udWkuZGVmaW5pdGlvbi50YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZDpub3QoLmlnbm9yZWQpLFxuLnVpLmRlZmluaXRpb24udGFibGUgdHIgdGQuZGVmaW5pdGlvbiB7XG4gIGJhY2tncm91bmQ6IEBkZWZpbml0aW9uQ29sdW1uQmFja2dyb3VuZDtcbiAgZm9udC13ZWlnaHQ6IEBkZWZpbml0aW9uQ29sdW1uRm9udFdlaWdodDtcbiAgY29sb3I6IEBkZWZpbml0aW9uQ29sdW1uQ29sb3I7XG4gIHRleHQtdHJhbnNmb3JtOiBAZGVmaW5pdGlvbkNvbHVtblRleHRUcmFuc2Zvcm07XG4gIGJveC1zaGFkb3c6IEBkZWZpbml0aW9uQ29sdW1uQm94U2hhZG93O1xuICB0ZXh0LWFsaWduOiBAZGVmaW5pdGlvbkNvbHVtblRleHRBbGlnbjtcbiAgZm9udC1zaXplOiBAZGVmaW5pdGlvbkNvbHVtbkZvbnRTaXplO1xuICBwYWRkaW5nLWxlZnQ6IEBkZWZpbml0aW9uQ29sdW1uSG9yaXpvbnRhbFBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6IEBkZWZpbml0aW9uQ29sdW1uSG9yaXpvbnRhbFBhZGRpbmc7XG59XG5cblxuLyogRml4IDJuZCBDb2x1bW4gKi9cbi51aS5kZWZpbml0aW9uLnRhYmxlIHRoZWFkOm5vdCguZnVsbC13aWR0aCkgdGg6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLWxlZnQ6IEBib3JkZXJXaWR0aCBzb2xpZCBAYm9yZGVyQ29sb3I7XG59XG4udWkuZGVmaW5pdGlvbi50YWJsZSB0Zm9vdDpub3QoLmZ1bGwtd2lkdGgpIHRoOm50aC1jaGlsZCgyKSB7XG4gIGJvcmRlci1sZWZ0OiBAYm9yZGVyV2lkdGggc29saWQgQGJvcmRlckNvbG9yO1xufVxuLnVpLmRlZmluaXRpb24udGFibGUgdGQ6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLWxlZnQ6IEBib3JkZXJXaWR0aCBzb2xpZCBAYm9yZGVyQ29sb3I7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBQb3NpdGl2ZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRhYmxlIHRyLnBvc2l0aXZlLFxuLnVpLnRhYmxlIHRkLnBvc2l0aXZlIHtcbiAgYm94LXNoYWRvdzogQHBvc2l0aXZlQm94U2hhZG93O1xufVxuLnVpLnRhYmxlIHRyLnBvc2l0aXZlLFxuLnVpLnRhYmxlIHRkLnBvc2l0aXZlIHtcbiAgYmFja2dyb3VuZDogQHBvc2l0aXZlQmFja2dyb3VuZENvbG9yICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAcG9zaXRpdmVDb2xvciAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIE5lZ2F0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGFibGUgdHIubmVnYXRpdmUsXG4udWkudGFibGUgdGQubmVnYXRpdmUge1xuICBib3gtc2hhZG93OiBAbmVnYXRpdmVCb3hTaGFkb3c7XG59XG4udWkudGFibGUgdHIubmVnYXRpdmUsXG4udWkudGFibGUgdGQubmVnYXRpdmUge1xuICBiYWNrZ3JvdW5kOiBAbmVnYXRpdmVCYWNrZ3JvdW5kQ29sb3IgIWltcG9ydGFudDtcbiAgY29sb3I6IEBuZWdhdGl2ZUNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEVycm9yXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGFibGUgdHIuZXJyb3IsXG4udWkudGFibGUgdGQuZXJyb3Ige1xuICBib3gtc2hhZG93OiBAZXJyb3JCb3hTaGFkb3c7XG59XG4udWkudGFibGUgdHIuZXJyb3IsXG4udWkudGFibGUgdGQuZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiBAZXJyb3JCYWNrZ3JvdW5kQ29sb3IgIWltcG9ydGFudDtcbiAgY29sb3I6IEBlcnJvckNvbG9yICFpbXBvcnRhbnQ7XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFdhcm5pbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS50YWJsZSB0ci53YXJuaW5nLFxuLnVpLnRhYmxlIHRkLndhcm5pbmcge1xuICBib3gtc2hhZG93OiBAd2FybmluZ0JveFNoYWRvdztcbn1cbi51aS50YWJsZSB0ci53YXJuaW5nLFxuLnVpLnRhYmxlIHRkLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiBAd2FybmluZ0JhY2tncm91bmRDb2xvciAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdhcm5pbmdDb2xvciAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRhYmxlIHRyLmFjdGl2ZSxcbi51aS50YWJsZSB0ZC5hY3RpdmUge1xuICBib3gtc2hhZG93OiBAYWN0aXZlQm94U2hhZG93O1xufVxuLnVpLnRhYmxlIHRyLmFjdGl2ZSxcbi51aS50YWJsZSB0ZC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBAYWN0aXZlQmFja2dyb3VuZENvbG9yICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAYWN0aXZlQ29sb3IgIWltcG9ydGFudDtcbn1cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS50YWJsZSB0ci5kaXNhYmxlZCB0ZCxcbi51aS50YWJsZSB0ciB0ZC5kaXNhYmxlZCxcbi51aS50YWJsZSB0ci5kaXNhYmxlZDpob3Zlcixcbi51aS50YWJsZSB0cjpob3ZlciB0ZC5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb2xvcjogQGRpc2FibGVkVGV4dENvbG9yO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTdGFja2FibGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG5cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUsXG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRib2R5LFxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0cixcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIgPiB0aCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIgPiB0ZCAge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUge1xuICAgIHBhZGRpbmc6IDBlbTtcbiAgfVxuICAudWlbY2xhc3MqPVwidGFibGV0IHN0YWNrYWJsZVwiXS50YWJsZSB0aGVhZCB7XG4gICAgZGlzcGxheTogQHJlc3BvbnNpdmVIZWFkZXJEaXNwbGF5O1xuICB9XG4gIC51aVtjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRmb290IHtcbiAgICBkaXNwbGF5OiBAcmVzcG9uc2l2ZUZvb3RlckRpc3BsYXk7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIge1xuICAgIHBhZGRpbmctdG9wOiBAcmVzcG9uc2l2ZVJvd1ZlcnRpY2FsUGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogQHJlc3BvbnNpdmVSb3dWZXJ0aWNhbFBhZGRpbmc7XG4gICAgYm94LXNoYWRvdzogQHJlc3BvbnNpdmVSb3dCb3hTaGFkb3c7XG4gIH1cbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIgPiB0aCxcbiAgLnVpW2NsYXNzKj1cInRhYmxldCBzdGFja2FibGVcIl0udGFibGUgdHIgPiB0ZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiBAcmVzcG9uc2l2ZUNlbGxWZXJ0aWNhbFBhZGRpbmcgQHJlc3BvbnNpdmVDZWxsSG9yaXpvbnRhbFBhZGRpbmc7XG4gICAgYm94LXNoYWRvdzogQHJlc3BvbnNpdmVDZWxsQm94U2hhZG93O1xuICB9XG5cbiAgLyogRGVmaW5pdGlvbiBUYWJsZSAqL1xuICAudWkuZGVmaW5pdGlvbltjbGFzcyo9XCJ0YWJsZXQgc3RhY2thYmxlXCJdLnRhYmxlIHRoZWFkIHRoOmZpcnN0LWNoaWxkIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuIFRleHQgQWxpZ25tZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGFibGVbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLnRhYmxlW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJjZW50ZXIgYWxpZ25lZFwiXSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS50YWJsZVtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJyaWdodCBhbGlnbmVkXCJdIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tXG4gVmVydGljYWwgQWxpZ25tZW50XG4tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGFibGVbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS50YWJsZVtjbGFzcyo9XCJtaWRkbGUgYWxpZ25lZFwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnVpLnRhYmxlW2NsYXNzKj1cImJvdHRvbSBhbGlnbmVkXCJdLFxuLnVpLnRhYmxlIFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDb2xsYXBzaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGFibGUgdGguY29sbGFwc2luZyxcbi51aS50YWJsZSB0ZC5jb2xsYXBzaW5nIHtcbiAgd2lkdGg6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGaXhlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZpeGVkLnRhYmxlIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cblxuLnVpLmZpeGVkLnRhYmxlIHRoLFxuLnVpLmZpeGVkLnRhYmxlIHRkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgU2VsZWN0YWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlbGVjdGFibGUudGFibGUgdGJvZHkgdHI6aG92ZXIsXG4udWkudGFibGUgdGJvZHkgdHIgdGQuc2VsZWN0YWJsZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IEBzZWxlY3RhYmxlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHNlbGVjdGFibGVUZXh0Q29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5zZWxlY3RhYmxlLmludmVydGVkLnRhYmxlIHRib2R5IHRyOmhvdmVyLFxuLnVpLmludmVydGVkLnRhYmxlIHRib2R5IHRyIHRkLnNlbGVjdGFibGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBAc2VsZWN0YWJsZUludmVydGVkQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHNlbGVjdGFibGVJbnZlcnRlZFRleHRDb2xvciAhaW1wb3J0YW50O1xufVxuXG4vKiBTZWxlY3RhYmxlIENlbGwgTGluayAqL1xuLnVpLnRhYmxlIHRib2R5IHRyIHRkLnNlbGVjdGFibGUge1xuICBwYWRkaW5nOiAwZW07XG59XG4udWkudGFibGUgdGJvZHkgdHIgdGQuc2VsZWN0YWJsZSA+IGE6bm90KC51aSkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IEBjZWxsVmVydGljYWxQYWRkaW5nIEBjZWxsSG9yaXpvbnRhbFBhZGRpbmc7XG59XG5cbi8qIE90aGVyIFN0YXRlcyAqL1xuLnVpLnNlbGVjdGFibGUudGFibGUgdHIuZXJyb3I6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5lcnJvcjpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLmVycm9yIHtcbiAgYmFja2dyb3VuZDogQGVycm9yQmFja2dyb3VuZEhvdmVyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAZXJyb3JDb2xvckhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuc2VsZWN0YWJsZS50YWJsZSB0ci53YXJuaW5nOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUud2FybmluZzpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLndhcm5pbmcge1xuICBiYWNrZ3JvdW5kOiBAd2FybmluZ0JhY2tncm91bmRIb3ZlciAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdhcm5pbmdDb2xvckhvdmVyICFpbXBvcnRhbnQ7XG59XG4udWkuc2VsZWN0YWJsZS50YWJsZSB0ci5hY3RpdmU6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5hY3RpdmU6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBAYWN0aXZlQmFja2dyb3VuZENvbG9yICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAYWN0aXZlQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyLnBvc2l0aXZlOmhvdmVyLFxuLnVpLnRhYmxlIHRyIHRkLnNlbGVjdGFibGUucG9zaXRpdmU6aG92ZXIsXG4udWkuc2VsZWN0YWJsZS50YWJsZSB0cjpob3ZlciB0ZC5wb3NpdGl2ZSB7XG4gIGJhY2tncm91bmQ6IEBwb3NpdGl2ZUJhY2tncm91bmRIb3ZlciAhaW1wb3J0YW50O1xuICBjb2xvcjogQHBvc2l0aXZlQ29sb3JIb3ZlciAhaW1wb3J0YW50O1xufVxuLnVpLnNlbGVjdGFibGUudGFibGUgdHIubmVnYXRpdmU6aG92ZXIsXG4udWkudGFibGUgdHIgdGQuc2VsZWN0YWJsZS5uZWdhdGl2ZTpob3Zlcixcbi51aS5zZWxlY3RhYmxlLnRhYmxlIHRyOmhvdmVyIHRkLm5lZ2F0aXZlIHtcbiAgYmFja2dyb3VuZDogQG5lZ2F0aXZlQmFja2dyb3VuZEhvdmVyICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAbmVnYXRpdmVDb2xvckhvdmVyICFpbXBvcnRhbnQ7XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgIEF0dGFjaGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE1pZGRsZSAqL1xuLnVpLmF0dGFjaGVkLnRhYmxlIHtcbiAgdG9wOiAwcHg7XG4gIGJvdHRvbTogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwcHg7XG4gIG1hcmdpbjogMGVtIEBhdHRhY2hlZEhvcml6b250YWxPZmZzZXQ7XG4gIHdpZHRoOiBAYXR0YWNoZWRXaWR0aDtcbiAgbWF4LXdpZHRoOiBAYXR0YWNoZWRXaWR0aDtcbiAgYm94LXNoYWRvdzogQGF0dGFjaGVkQm94U2hhZG93O1xuICBib3JkZXI6IEBhdHRhY2hlZEJvcmRlcjtcbn1cbi51aS5hdHRhY2hlZCArIC51aS5hdHRhY2hlZC50YWJsZTpub3QoLnRvcCkge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4vKiBUb3AgKi9cbi51aVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl0udGFibGUge1xuICBib3R0b206IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xuICB0b3A6IEBhdHRhY2hlZFRvcE9mZnNldDtcbiAgbWFyZ2luLXRvcDogQHZlcnRpY2FsTWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXMgMGVtIDBlbTtcbn1cbi51aS50YWJsZVtjbGFzcyo9XCJ0b3AgYXR0YWNoZWRcIl06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG5cbi8qIEJvdHRvbSAqL1xuLnVpW2NsYXNzKj1cImJvdHRvbSBhdHRhY2hlZFwiXS50YWJsZSB7XG4gIGJvdHRvbTogMHB4O1xuICBtYXJnaW4tdG9wOiAwZW07XG4gIHRvcDogQGF0dGFjaGVkQm90dG9tT2Zmc2V0O1xuICBtYXJnaW4tYm90dG9tOiBAdmVydGljYWxNYXJnaW47XG4gIGJveC1zaGFkb3c6IEBhdHRhY2hlZEJvdHRvbUJveFNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSBAYm9yZGVyUmFkaXVzIEBib3JkZXJSYWRpdXM7XG59XG4udWlbY2xhc3MqPVwiYm90dG9tIGF0dGFjaGVkXCJdLnRhYmxlOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU3RyaXBlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogVGFibGUgU3RyaXBpbmcgKi9cbi51aS5zdHJpcGVkLnRhYmxlID4gdHI6bnRoLWNoaWxkKDJuKSxcbi51aS5zdHJpcGVkLnRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgybikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RyaXBlZEJhY2tncm91bmQ7XG59XG5cbi8qIFN0cmlwZXMgKi9cbi51aS5pbnZlcnRlZC5zdHJpcGVkLnRhYmxlID4gdHI6bnRoLWNoaWxkKDJuKSxcbi51aS5pbnZlcnRlZC5zdHJpcGVkLnRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgybikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRTdHJpcGVkQmFja2dyb3VuZDtcbn1cblxuLyogQWxsb3cgc3RyaXBlZCBhY3RpdmUgaG92ZXIgKi9cbi51aS5zdHJpcGVkLnNlbGVjdGFibGUuc2VsZWN0YWJsZS5zZWxlY3RhYmxlLnRhYmxlIHRib2R5IHRyLmFjdGl2ZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IEBhY3RpdmVCYWNrZ3JvdW5kSG92ZXIgIWltcG9ydGFudDtcbiAgY29sb3I6IEBhY3RpdmVDb2xvckhvdmVyICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFNpbmdsZSBMaW5lXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGFibGVbY2xhc3MqPVwic2luZ2xlIGxpbmVcIl0sXG4udWkudGFibGUgW2NsYXNzKj1cInNpbmdsZSBsaW5lXCJdIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi51aS50YWJsZVtjbGFzcyo9XCJzaW5nbGUgbGluZVwiXSxcbi51aS50YWJsZSBbY2xhc3MqPVwic2luZ2xlIGxpbmVcIl0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogUmVkICovXG4udWkucmVkLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEByZWQ7XG59XG4udWkuaW52ZXJ0ZWQucmVkLnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHJlZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIE9yYW5nZSAqL1xuLnVpLm9yYW5nZS50YWJsZSB7XG4gIGJvcmRlci10b3A6IEBjb2xvcmVkQm9yZGVyU2l6ZSBzb2xpZCBAb3JhbmdlO1xufVxuLnVpLmludmVydGVkLm9yYW5nZS50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBvcmFuZ2UgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBZZWxsb3cgKi9cbi51aS55ZWxsb3cudGFibGUge1xuICBib3JkZXItdG9wOiBAY29sb3JlZEJvcmRlclNpemUgc29saWQgQHllbGxvdztcbn1cbi51aS5pbnZlcnRlZC55ZWxsb3cudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAeWVsbG93ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogT2xpdmUgKi9cbi51aS5vbGl2ZS50YWJsZSB7XG4gIGJvcmRlci10b3A6IEBjb2xvcmVkQm9yZGVyU2l6ZSBzb2xpZCBAb2xpdmU7XG59XG4udWkuaW52ZXJ0ZWQub2xpdmUudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb2xpdmUgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmVlbiAqL1xuLnVpLmdyZWVuLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEBncmVlbjtcbn1cbi51aS5pbnZlcnRlZC5ncmVlbi50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmVlbiAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRlYWwgKi9cbi51aS50ZWFsLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEB0ZWFsO1xufVxuLnVpLmludmVydGVkLnRlYWwudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGVhbCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIEJsdWUgKi9cbi51aS5ibHVlLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEBibHVlO1xufVxuLnVpLmludmVydGVkLmJsdWUudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZSAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbi8qIFZpb2xldCAqL1xuLnVpLnZpb2xldC50YWJsZSB7XG4gIGJvcmRlci10b3A6IEBjb2xvcmVkQm9yZGVyU2l6ZSBzb2xpZCBAdmlvbGV0O1xufVxuLnVpLmludmVydGVkLnZpb2xldC50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB2aW9sZXQgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBQdXJwbGUgKi9cbi51aS5wdXJwbGUudGFibGUge1xuICBib3JkZXItdG9wOiBAY29sb3JlZEJvcmRlclNpemUgc29saWQgQHB1cnBsZTtcbn1cbi51aS5pbnZlcnRlZC5wdXJwbGUudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHVycGxlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogUGluayAqL1xuLnVpLnBpbmsudGFibGUge1xuICBib3JkZXItdG9wOiBAY29sb3JlZEJvcmRlclNpemUgc29saWQgQHBpbms7XG59XG4udWkuaW52ZXJ0ZWQucGluay50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwaW5rICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogQnJvd24gKi9cbi51aS5icm93bi50YWJsZSB7XG4gIGJvcmRlci10b3A6IEBjb2xvcmVkQm9yZGVyU2l6ZSBzb2xpZCBAYnJvd247XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24udGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJvd24gIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBHcmV5ICovXG4udWkuZ3JleS50YWJsZSB7XG4gIGJvcmRlci10b3A6IEBjb2xvcmVkQm9yZGVyU2l6ZSBzb2xpZCBAZ3JleTtcbn1cbi51aS5pbnZlcnRlZC5ncmV5LnRhYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGdyZXkgIWltcG9ydGFudDtcbiAgY29sb3I6IEB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBCbGFjayAqL1xuLnVpLmJsYWNrLnRhYmxlIHtcbiAgYm9yZGVyLXRvcDogQGNvbG9yZWRCb3JkZXJTaXplIHNvbGlkIEBibGFjaztcbn1cbi51aS5pbnZlcnRlZC5ibGFjay50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibGFjayAhaW1wb3J0YW50O1xuICBjb2xvcjogQHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICBDb2x1bW4gQ291bnRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEdyaWQgQmFzZWQgKi9cbi51aS5vbmUuY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IEBvbmVDb2x1bW47XG59XG4udWkudHdvLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiBAdHdvQ29sdW1uO1xufVxuLnVpLnRocmVlLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiBAdGhyZWVDb2x1bW47XG59XG4udWkuZm91ci5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogQGZvdXJDb2x1bW47XG59XG4udWkuZml2ZS5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogQGZpdmVDb2x1bW47XG59XG4udWkuc2l4LmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiBAc2l4Q29sdW1uO1xufVxuLnVpLnNldmVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiBAc2V2ZW5Db2x1bW47XG59XG4udWkuZWlnaHQuY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IEBlaWdodENvbHVtbjtcbn1cbi51aS5uaW5lLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiBAbmluZUNvbHVtbjtcbn1cbi51aS50ZW4uY29sdW1uLnRhYmxlIHRkIHtcbiAgd2lkdGg6IEB0ZW5Db2x1bW47XG59XG4udWkuZWxldmVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiBAZWxldmVuQ29sdW1uO1xufVxuLnVpLnR3ZWx2ZS5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogQHR3ZWx2ZUNvbHVtbjtcbn1cbi51aS50aGlydGVlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogQHRoaXJ0ZWVuQ29sdW1uO1xufVxuLnVpLmZvdXJ0ZWVuLmNvbHVtbi50YWJsZSB0ZCB7XG4gIHdpZHRoOiBAZm91cnRlZW5Db2x1bW47XG59XG4udWkuZmlmdGVlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogQGZpZnRlZW5Db2x1bW47XG59XG4udWkuc2l4dGVlbi5jb2x1bW4udGFibGUgdGQge1xuICB3aWR0aDogQHNpeHRlZW5Db2x1bW47XG59XG5cbi8qIENvbHVtbiBXaWR0aCAqL1xuLnVpLnRhYmxlIHRoLm9uZS53aWRlLFxuLnVpLnRhYmxlIHRkLm9uZS53aWRlIHtcbiAgd2lkdGg6IEBvbmVXaWRlO1xufVxuLnVpLnRhYmxlIHRoLnR3by53aWRlLFxuLnVpLnRhYmxlIHRkLnR3by53aWRlIHtcbiAgd2lkdGg6IEB0d29XaWRlO1xufVxuLnVpLnRhYmxlIHRoLnRocmVlLndpZGUsXG4udWkudGFibGUgdGQudGhyZWUud2lkZSB7XG4gIHdpZHRoOiBAdGhyZWVXaWRlO1xufVxuLnVpLnRhYmxlIHRoLmZvdXIud2lkZSxcbi51aS50YWJsZSB0ZC5mb3VyLndpZGUge1xuICB3aWR0aDogQGZvdXJXaWRlO1xufVxuLnVpLnRhYmxlIHRoLmZpdmUud2lkZSxcbi51aS50YWJsZSB0ZC5maXZlLndpZGUge1xuICB3aWR0aDogQGZpdmVXaWRlO1xufVxuLnVpLnRhYmxlIHRoLnNpeC53aWRlLFxuLnVpLnRhYmxlIHRkLnNpeC53aWRlIHtcbiAgd2lkdGg6IEBzaXhXaWRlO1xufVxuLnVpLnRhYmxlIHRoLnNldmVuLndpZGUsXG4udWkudGFibGUgdGQuc2V2ZW4ud2lkZSB7XG4gIHdpZHRoOiBAc2V2ZW5XaWRlO1xufVxuLnVpLnRhYmxlIHRoLmVpZ2h0LndpZGUsXG4udWkudGFibGUgdGQuZWlnaHQud2lkZSB7XG4gIHdpZHRoOiBAZWlnaHRXaWRlO1xufVxuLnVpLnRhYmxlIHRoLm5pbmUud2lkZSxcbi51aS50YWJsZSB0ZC5uaW5lLndpZGUge1xuICB3aWR0aDogQG5pbmVXaWRlO1xufVxuLnVpLnRhYmxlIHRoLnRlbi53aWRlLFxuLnVpLnRhYmxlIHRkLnRlbi53aWRlIHtcbiAgd2lkdGg6IEB0ZW5XaWRlO1xufVxuLnVpLnRhYmxlIHRoLmVsZXZlbi53aWRlLFxuLnVpLnRhYmxlIHRkLmVsZXZlbi53aWRlIHtcbiAgd2lkdGg6IEBlbGV2ZW5XaWRlO1xufVxuLnVpLnRhYmxlIHRoLnR3ZWx2ZS53aWRlLFxuLnVpLnRhYmxlIHRkLnR3ZWx2ZS53aWRlIHtcbiAgd2lkdGg6IEB0d2VsdmVXaWRlO1xufVxuLnVpLnRhYmxlIHRoLnRoaXJ0ZWVuLndpZGUsXG4udWkudGFibGUgdGQudGhpcnRlZW4ud2lkZSB7XG4gIHdpZHRoOiBAdGhpcnRlZW5XaWRlO1xufVxuLnVpLnRhYmxlIHRoLmZvdXJ0ZWVuLndpZGUsXG4udWkudGFibGUgdGQuZm91cnRlZW4ud2lkZSB7XG4gIHdpZHRoOiBAZm91cnRlZW5XaWRlO1xufVxuLnVpLnRhYmxlIHRoLmZpZnRlZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5maWZ0ZWVuLndpZGUge1xuICB3aWR0aDogQGZpZnRlZW5XaWRlO1xufVxuLnVpLnRhYmxlIHRoLnNpeHRlZW4ud2lkZSxcbi51aS50YWJsZSB0ZC5zaXh0ZWVuLndpZGUge1xuICB3aWR0aDogQHNpeHRlZW5XaWRlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgU29ydGFibGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLWxlZnQ6IEBzb3J0YWJsZUJvcmRlcjtcbiAgY29sb3I6IEBzb3J0YWJsZUNvbG9yO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG59XG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkLFxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLnNvcnRlZDpob3ZlciB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGg6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBAbm9ybWFsO1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDFlbTtcbiAgd2lkdGg6IEBzb3J0YWJsZUljb25XaWR0aDtcbiAgb3BhY2l0eTogQHNvcnRhYmxlSWNvbk9wYWNpdHk7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gQHNvcnRhYmxlSWNvbkRpc3RhbmNlO1xuICBmb250LWZhbWlseTogQHNvcnRhYmxlSWNvbkZvbnQ7XG59XG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguYXNjZW5kaW5nOmFmdGVyIHtcbiAgY29udGVudDogQHNvcnRhYmxlSWNvbkFzY2VuZGluZztcbn1cbi51aS5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5kZXNjZW5kaW5nOmFmdGVyIHtcbiAgY29udGVudDogQHNvcnRhYmxlSWNvbkRlc2NlbmRpbmc7XG59XG5cbi8qIEhvdmVyICovXG4udWkuc29ydGFibGUudGFibGUgdGguZGlzYWJsZWQ6aG92ZXIge1xuICBjdXJzb3I6IGF1dG87XG4gIGNvbG9yOiBAc29ydGFibGVEaXNhYmxlZENvbG9yO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogQHNvcnRhYmxlSG92ZXJCYWNrZ3JvdW5kO1xuICBjb2xvcjogQHNvcnRhYmxlSG92ZXJDb2xvcjtcbn1cblxuLyogU29ydGVkICovXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkIHtcbiAgYmFja2dyb3VuZDogQHNvcnRhYmxlQWN0aXZlQmFja2dyb3VuZDtcbiAgY29sb3I6IEBzb3J0YWJsZUFjdGl2ZUNvbG9yO1xufVxuLnVpLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoLnNvcnRlZDphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyogU29ydGVkIEhvdmVyICovXG4udWkuc29ydGFibGUudGFibGUgdGhlYWQgdGguc29ydGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogQHNvcnRhYmxlQWN0aXZlSG92ZXJCYWNrZ3JvdW5kO1xuICBjb2xvcjogQHNvcnRhYmxlQWN0aXZlSG92ZXJDb2xvcjtcbn1cblxuLyogSW52ZXJ0ZWQgKi9cbi51aS5pbnZlcnRlZC5zb3J0YWJsZS50YWJsZSB0aGVhZCB0aC5zb3J0ZWQge1xuICBiYWNrZ3JvdW5kOiBAc29ydGFibGVJbnZlcnRlZEFjdGl2ZUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAc29ydGFibGVJbnZlcnRlZEFjdGl2ZUNvbG9yO1xufVxuLnVpLmludmVydGVkLnNvcnRhYmxlLnRhYmxlIHRoZWFkIHRoOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogQHNvcnRhYmxlSW52ZXJ0ZWRIb3ZlckJhY2tncm91bmQ7XG4gIGNvbG9yOiBAc29ydGFibGVJbnZlcnRlZEhvdmVyQ29sb3I7XG59XG4udWkuaW52ZXJ0ZWQuc29ydGFibGUudGFibGUgdGhlYWQgdGgge1xuICBib3JkZXItbGVmdC1jb2xvcjogQHNvcnRhYmxlSW52ZXJ0ZWRCb3JkZXJDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAc29ydGFibGVJbnZlcnRlZEJvcmRlckNvbG9yO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogVGV4dCBDb2xvciAqL1xuLnVpLmludmVydGVkLnRhYmxlIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkQmFja2dyb3VuZDtcbiAgY29sb3I6IEBpbnZlcnRlZENlbGxDb2xvcjtcbiAgYm9yZGVyOiBAaW52ZXJ0ZWRCb3JkZXI7XG59XG4udWkuaW52ZXJ0ZWQudGFibGUgdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJCYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBpbnZlcnRlZEhlYWRlckJvcmRlckNvbG9yICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRIZWFkZXJDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkIHtcbiAgYm9yZGVyLWNvbG9yOiBAaW52ZXJ0ZWRDZWxsQm9yZGVyQ29sb3IgIWltcG9ydGFudDtcbn1cblxuLnVpLmludmVydGVkLnRhYmxlIHRyLmRpc2FibGVkIHRkLFxuLnVpLmludmVydGVkLnRhYmxlIHRyIHRkLmRpc2FibGVkLFxuLnVpLmludmVydGVkLnRhYmxlIHRyLmRpc2FibGVkOmhvdmVyIHRkLFxuLnVpLmludmVydGVkLnRhYmxlIHRyOmhvdmVyIHRkLmRpc2FibGVkIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiBAaW52ZXJ0ZWREaXNhYmxlZFRleHRDb2xvcjtcbn1cblxuLyogRGVmaW5pdGlvbiAqL1xuLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgdGZvb3Q6bm90KC5mdWxsLXdpZHRoKSB0aDpmaXJzdC1jaGlsZCxcbi51aS5pbnZlcnRlZC5kZWZpbml0aW9uLnRhYmxlIHRoZWFkOm5vdCguZnVsbC13aWR0aCkgdGg6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiBAZGVmaW5pdGlvblBhZ2VCYWNrZ3JvdW5kO1xufVxuLnVpLmludmVydGVkLmRlZmluaXRpb24udGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWREZWZpbml0aW9uQ29sdW1uQmFja2dyb3VuZDtcbiAgY29sb3I6IEBpbnZlcnRlZERlZmluaXRpb25Db2x1bW5Db2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgQ29sbGFwc2luZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbGxhcHNpbmcudGFibGUge1xuICB3aWR0aDogYXV0bztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgQmFzaWNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5iYXNpYy50YWJsZSB7XG4gIGJhY2tncm91bmQ6IEBiYXNpY1RhYmxlQmFja2dyb3VuZDtcbiAgYm9yZGVyOiBAYmFzaWNUYWJsZUJvcmRlcjtcbiAgYm94LXNoYWRvdzogQGJhc2ljQm94U2hhZG93O1xufVxuLnVpLmJhc2ljLnRhYmxlIHRoZWFkLFxuLnVpLmJhc2ljLnRhYmxlIHRmb290IHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi51aS5iYXNpYy50YWJsZSB0aCB7XG4gIGJhY2tncm91bmQ6IEBiYXNpY1RhYmxlSGVhZGVyQmFja2dyb3VuZDtcbiAgYm9yZGVyLWxlZnQ6IEBiYXNpY1RhYmxlSGVhZGVyRGl2aWRlcjtcbn1cbi51aS5iYXNpYy50YWJsZSB0Ym9keSB0ciB7XG4gIGJvcmRlci1ib3R0b206IEBiYXNpY1RhYmxlQ2VsbEJvcmRlcjtcbn1cbi51aS5iYXNpYy50YWJsZSB0ZCB7XG4gIGJhY2tncm91bmQ6IEBiYXNpY1RhYmxlQ2VsbEJhY2tncm91bmQ7XG59XG4udWkuYmFzaWMuc3RyaXBlZC50YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoMm4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhc2ljVGFibGVTdHJpcGVkQmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuXG4vKiBWZXJ5IEJhc2ljICovXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZSB7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgdGgsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpIHRkIHtcbiAgcGFkZGluZzogQGJhc2ljVGFibGVDZWxsUGFkZGluZztcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IGJhc2ljXCJdLnRhYmxlOm5vdCguc29ydGFibGUpOm5vdCguc3RyaXBlZCkgdGg6Zmlyc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpIHRkOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAwZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpIHRoOmxhc3QtY2hpbGQsXG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpIHRkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwZW07XG59XG4udWlbY2xhc3MqPVwidmVyeSBiYXNpY1wiXS50YWJsZTpub3QoLnNvcnRhYmxlKTpub3QoLnN0cmlwZWQpIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoIHtcbiAgcGFkZGluZy10b3A6IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDZWxsZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jZWxsZWQudGFibGUgdHIgdGgsXG4udWkuY2VsbGVkLnRhYmxlIHRyIHRkIHtcbiAgYm9yZGVyLWxlZnQ6IEBjZWxsQm9yZGVyO1xufVxuLnVpLmNlbGxlZC50YWJsZSB0ciB0aDpmaXJzdC1jaGlsZCxcbi51aS5jZWxsZWQudGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBQYWRkZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5wYWRkZWQudGFibGUgdGgge1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkZWRIb3Jpem9udGFsUGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogQHBhZGRlZEhvcml6b250YWxQYWRkaW5nO1xufVxuLnVpLnBhZGRlZC50YWJsZSB0aCxcbi51aS5wYWRkZWQudGFibGUgdGQge1xuICBwYWRkaW5nOiBAcGFkZGVkVmVydGljYWxQYWRkaW5nIEBwYWRkZWRIb3Jpem9udGFsUGFkZGluZztcbn1cblxuLyogVmVyeSAqL1xuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlIHRoIHtcbiAgcGFkZGluZy1sZWZ0OiBAdmVyeVBhZGRlZEhvcml6b250YWxQYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiBAdmVyeVBhZGRlZEhvcml6b250YWxQYWRkaW5nO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcGFkZGVkXCJdLnRhYmxlIHRkIHtcbiAgcGFkZGluZzogQHZlcnlQYWRkZWRWZXJ0aWNhbFBhZGRpbmcgQHZlcnlQYWRkZWRIb3Jpem9udGFsUGFkZGluZztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb21wYWN0XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tcGFjdC50YWJsZSB0aCB7XG4gIHBhZGRpbmctbGVmdDogQGNvbXBhY3RIb3Jpem9udGFsUGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogQGNvbXBhY3RIb3Jpem9udGFsUGFkZGluZztcbn1cbi51aS5jb21wYWN0LnRhYmxlIHRkIHtcbiAgcGFkZGluZzogQGNvbXBhY3RWZXJ0aWNhbFBhZGRpbmcgQGNvbXBhY3RIb3Jpem9udGFsUGFkZGluZztcbn1cblxuLyogVmVyeSAqL1xuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSB0aCB7XG4gIHBhZGRpbmctbGVmdDogQHZlcnlDb21wYWN0SG9yaXpvbnRhbFBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6IEB2ZXJ5Q29tcGFjdEhvcml6b250YWxQYWRkaW5nO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgY29tcGFjdFwiXS50YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IEB2ZXJ5Q29tcGFjdFZlcnRpY2FsUGFkZGluZyBAdmVyeUNvbXBhY3RIb3Jpem9udGFsUGFkZGluZztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNtYWxsICovXG4udWkuc21hbGwudGFibGUge1xuICBmb250LXNpemU6IEBzbWFsbDtcbn1cblxuLyogU3RhbmRhcmQgKi9cbi51aS50YWJsZSB7XG4gIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cblxuLyogTGFyZ2UgKi9cbi51aS5sYXJnZS50YWJsZSB7XG4gIGZvbnQtc2l6ZTogQGxhcmdlO1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBBZFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBDb3B5cmlnaHQgMjAxMyBDb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ3ZpZXcnO1xuQGVsZW1lbnQgOiAnYWQnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBBZHZlcnRpc2VtZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IEBvdmVyZmxvdztcbiAgbWFyZ2luOiBAbWFyZ2luO1xufVxuXG4udWkuYWQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLnVpLmFkOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLnVpLmFkIGlmcmFtZSB7XG4gIG1hcmdpbjogMGVtO1xuICBwYWRkaW5nOiAwZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb21tb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIExlYWRlcmJvYXJkICovXG4udWkubGVhZGVyYm9hcmQuYWQge1xuICB3aWR0aDogNzI4cHg7XG4gIGhlaWdodDogOTBweDtcbn1cblxuLyogTWVkaXVtIFJlY3RhbmdsZSAqL1xuLnVpW2NsYXNzKj1cIm1lZGl1bSByZWN0YW5nbGVcIl0uYWQge1xuICB3aWR0aDogMzAwcHg7XG4gIGhlaWdodDogMjUwcHg7XG59XG5cbi8qIExhcmdlIFJlY3RhbmdsZSAqL1xuLnVpW2NsYXNzKj1cImxhcmdlIHJlY3RhbmdsZVwiXS5hZCB7XG4gIHdpZHRoOiAzMzZweDtcbiAgaGVpZ2h0OiAyODBweDtcbn1cbi8qIEhhbGYgUGFnZSAqL1xuLnVpW2NsYXNzKj1cImhhbGYgcGFnZVwiXS5hZCB7XG4gIHdpZHRoOiAzMDBweDtcbiAgaGVpZ2h0OiA2MDBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTcXVhcmVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNxdWFyZSAqL1xuLnVpLnNxdWFyZS5hZCB7XG4gIHdpZHRoOiAyNTBweDtcbiAgaGVpZ2h0OiAyNTBweDtcbn1cblxuLyogU21hbGwgU3F1YXJlICovXG4udWlbY2xhc3MqPVwic21hbGwgc3F1YXJlXCJdLmFkIHtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDIwMHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUmVjdGFuZ2xlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTbWFsbCBSZWN0YW5nbGUgKi9cbi51aVtjbGFzcyo9XCJzbWFsbCByZWN0YW5nbGVcIl0uYWQge1xuICB3aWR0aDogMTgwcHg7XG4gIGhlaWdodDogMTUwcHg7XG59XG5cbi8qIFZlcnRpY2FsIFJlY3RhbmdsZSAqL1xuLnVpW2NsYXNzKj1cInZlcnRpY2FsIHJlY3RhbmdsZVwiXS5hZCB7XG4gIHdpZHRoOiAyNDBweDtcbiAgaGVpZ2h0OiA0MDBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBCdXR0b25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5idXR0b24uYWQge1xuICB3aWR0aDogMTIwcHg7XG4gIGhlaWdodDogOTBweDtcbn1cbi51aVtjbGFzcyo9XCJzcXVhcmUgYnV0dG9uXCJdLmFkIHtcbiAgd2lkdGg6IDEyNXB4O1xuICBoZWlnaHQ6IDEyNXB4O1xufVxuLnVpW2NsYXNzKj1cInNtYWxsIGJ1dHRvblwiXS5hZCB7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTa3lzY3JhcGVyc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogU2t5c2NyYXBlciAqL1xuLnVpLnNreXNjcmFwZXIuYWQge1xuICB3aWR0aDogMTIwcHg7XG4gIGhlaWdodDogNjAwcHg7XG59XG5cbi8qIFdpZGUgU2t5c2NyYXBlciAqL1xuLnVpW2NsYXNzKj1cIndpZGUgc2t5c2NyYXBlclwiXS5hZCB7XG4gIHdpZHRoOiAxNjBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBCYW5uZXJzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBCYW5uZXIgKi9cbi51aS5iYW5uZXIuYWQge1xuICB3aWR0aDogNDY4cHg7XG4gIGhlaWdodDogNjBweDtcbn1cblxuLyogVmVydGljYWwgQmFubmVyICovXG4udWlbY2xhc3MqPVwidmVydGljYWwgYmFubmVyXCJdLmFkIHtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDI0MHB4O1xufVxuXG4vKiBUb3AgQmFubmVyICovXG4udWlbY2xhc3MqPVwidG9wIGJhbm5lclwiXS5hZCB7XG4gIHdpZHRoOiA5MzBweDtcbiAgaGVpZ2h0OiAxODBweDtcbn1cblxuLyogSGFsZiBCYW5uZXIgKi9cbi51aVtjbGFzcyo9XCJoYWxmIGJhbm5lclwiXS5hZCB7XG4gIHdpZHRoOiAyMzRweDtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQm9hcmRzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBMZWFkZXJib2FyZCAqL1xuLnVpW2NsYXNzKj1cImxhcmdlIGxlYWRlcmJvYXJkXCJdLmFkIHtcbiAgd2lkdGg6IDk3MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG59XG5cbi8qIEJpbGxib2FyZCAqL1xuLnVpLmJpbGxib2FyZC5hZCB7XG4gIHdpZHRoOiA5NzBweDtcbiAgaGVpZ2h0OiAyNTBweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFBhbm9yYW1hXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBQYW5vcmFtYSAqL1xuLnVpLnBhbm9yYW1hLmFkIHtcbiAgd2lkdGg6IDk4MHB4O1xuICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIE5ldGJvYXJkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBOZXRib2FyZCAqL1xuLnVpLm5ldGJvYXJkLmFkIHtcbiAgd2lkdGg6IDU4MHB4O1xuICBoZWlnaHQ6IDQwMHB4O1xufVxuXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBNb2JpbGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIExhcmdlIE1vYmlsZSBCYW5uZXIgKi9cbi51aVtjbGFzcyo9XCJsYXJnZSBtb2JpbGUgYmFubmVyXCJdLmFkIHtcbiAgd2lkdGg6IDMyMHB4O1xuICBoZWlnaHQ6IDEwMHB4O1xufVxuXG4vKiBNb2JpbGUgTGVhZGVyYm9hcmQgKi9cbi51aVtjbGFzcyo9XCJtb2JpbGUgbGVhZGVyYm9hcmRcIl0uYWQge1xuICB3aWR0aDogMzIwcHg7XG4gIGhlaWdodDogNTBweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogTW9iaWxlIFNpemVzICovXG4udWkubW9iaWxlLmFkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgLnVpLm1vYmlsZS5hZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuY2VudGVyZWQuYWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4udWkudGVzdC5hZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogQHRlc3RCYWNrZ3JvdW5kO1xufVxuLnVpLnRlc3QuYWQ6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuXG4gIGNvbnRlbnQ6IEB0ZXN0VGV4dDtcbiAgY29sb3I6IEB0ZXN0Q29sb3I7XG4gIGZvbnQtc2l6ZTogQHRlc3RGb250U2l6ZTtcbiAgZm9udC13ZWlnaHQ6IEB0ZXN0Rm9udFdlaWdodDtcbn1cbi51aS5tb2JpbGUudGVzdC5hZDphZnRlciB7XG4gIGZvbnQtc2l6ZTogQHRlc3RNb2JpbGVGb250U2l6ZTtcbn1cbi51aS50ZXN0LmFkW2RhdGEtdGV4dF06YWZ0ZXIge1xuICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG59XG5cbi5sb2FkVUlPdmVycmlkZXMoKTsiLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBJdGVtXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlOiBcInZpZXdcIjtcbkBlbGVtZW50OiBcImNhcmRcIjtcblxuQGltcG9ydCAobXVsdGlwbGUpIFwiLi4vLi4vdGhlbWUuY29uZmlnXCI7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGFuZGFyZFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgQ2FyZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBAZGlzcGxheTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICB3aWR0aDogQHdpZHRoO1xuICBtaW4taGVpZ2h0OiBAbWluSGVpZ2h0O1xuICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgcGFkZGluZzogQHBhZGRpbmc7XG5cbiAgYm9yZGVyOiBAYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgei1pbmRleDogQHpJbmRleDtcbn1cbi51aS5jYXJkIHtcbiAgbWFyZ2luOiBAbWFyZ2luO1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCBhLFxuLnVpLmNhcmQgYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVpLmNhcmQ6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkuY2FyZDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMGVtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBDYXJkc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzIHtcbiAgZGlzcGxheTogQGdyb3VwRGlzcGxheTtcbiAgbWFyZ2luOiBAZ3JvdXBNYXJnaW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQge1xuICBkaXNwbGF5OiBAZ3JvdXBDYXJkRGlzcGxheTtcbiAgbWFyZ2luOiBAZ3JvdXBDYXJkTWFyZ2luO1xuICBmbG9hdDogQGdyb3VwQ2FyZEZsb2F0O1xufVxuXG4vKiBDbGVhcmluZyAqL1xuLnVpLmNhcmRzOmFmdGVyLFxuLnVpLmNhcmQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBDb25zZWN1dGl2ZSBDYXJkIEdyb3VwcyBQcmVzZXJ2ZSBSb3cgU3BhY2luZyAqL1xuLnVpLmNhcmRzIH4gLnVpLmNhcmRzIHtcbiAgbWFyZ2luLXRvcDogQGNvbnNlY3V0aXZlR3JvdXBEaXN0YW5jZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICBSb3VuZGVkIEVkZ2VzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2FyZHMgPiAuY2FyZCA+IDpmaXJzdC1jaGlsZCxcbi51aS5jYXJkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDBlbSAwZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCA+IDpsYXN0LWNoaWxkLFxuLnVpLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi51aS5jYXJkcyA+IC5jYXJkID4gOm9ubHktY2hpbGQsXG4udWkuY2FyZCA+IDpvbmx5LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEltYWdlc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuaW1hZ2UsXG4udWkuY2FyZCA+IC5pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBwYWRkaW5nOiBAaW1hZ2VQYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiBAaW1hZ2VCYWNrZ3JvdW5kO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuaW1hZ2UgPiBpbWcsXG4udWkuY2FyZCA+IC5pbWFnZSA+IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuaW1hZ2U6bm90KC51aSkgPiBpbWcsXG4udWkuY2FyZCA+IC5pbWFnZTpub3QoLnVpKSA+IGltZyB7XG4gIGJvcmRlcjogQGltYWdlQm9yZGVyO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQsXG4udWkuY2FyZCA+IC5jb250ZW50IHtcbiAgZmxleC1ncm93OiAxO1xuICBib3JkZXI6IEBjb250ZW50Qm9yZGVyO1xuICBib3JkZXItdG9wOiBAY29udGVudERpdmlkZXI7XG4gIGJhY2tncm91bmQ6IEBjb250ZW50QmFja2dyb3VuZDtcbiAgbWFyZ2luOiBAY29udGVudE1hcmdpbjtcbiAgcGFkZGluZzogQGNvbnRlbnRQYWRkaW5nO1xuICBib3gtc2hhZG93OiBAY29udGVudEJveFNoYWRvdztcbiAgZm9udC1zaXplOiBAY29udGVudEZvbnRTaXplO1xuICBib3JkZXItcmFkaXVzOiBAY29udGVudEJvcmRlclJhZGl1cztcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudDphZnRlcixcbi51aS5jYXJkID4gLmNvbnRlbnQ6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogQGhlYWRlck1hcmdpbjtcbiAgZm9udC1mYW1pbHk6IEBoZWFkZXJGb250O1xuICBjb2xvcjogQGhlYWRlckNvbG9yO1xufVxuXG4vKiBEZWZhdWx0IEhlYWRlciBTaXplICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlcjpub3QoLnVpKSxcbi51aS5jYXJkID4gLmNvbnRlbnQgPiAuaGVhZGVyOm5vdCgudWkpIHtcbiAgZm9udC13ZWlnaHQ6IEBoZWFkZXJGb250V2VpZ2h0O1xuICBmb250LXNpemU6IEBoZWFkZXJGb250U2l6ZTtcbiAgbWFyZ2luLXRvcDogQGhlYWRlckxpbmVIZWlnaHRPZmZzZXQ7XG4gIGxpbmUtaGVpZ2h0OiBAaGVhZGVyTGluZUhlaWdodDtcbn1cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5tZXRhICsgLmRlc2NyaXB0aW9uLFxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5oZWFkZXIgKyAuZGVzY3JpcHRpb24sXG4udWkuY2FyZCA+IC5jb250ZW50ID4gLm1ldGEgKyAuZGVzY3JpcHRpb24sXG4udWkuY2FyZCA+IC5jb250ZW50ID4gLmhlYWRlciArIC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IEBkZXNjcmlwdGlvbkRpc3RhbmNlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS1cbiBGbG9hdGVkIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSxcbi51aS5jYXJkIFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogbGVmdDtcbn1cbi51aS5jYXJkcyA+IC5jYXJkIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLFxuLnVpLmNhcmQgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWxpZ25lZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImxlZnQgYWxpZ25lZFwiXSxcbi51aS5jYXJkIFtjbGFzcyo9XCJsZWZ0IGFsaWduZWRcIl0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdLFxuLnVpLmNhcmQgW2NsYXNzKj1cImNlbnRlciBhbGlnbmVkXCJdIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0sXG4udWkuY2FyZCBbY2xhc3MqPVwicmlnaHQgYWxpZ25lZFwiXSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gIENvbnRlbnQgSW1hZ2Vcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jYXJkcyA+IC5jYXJkIC5jb250ZW50IGltZyxcbi51aS5jYXJkIC5jb250ZW50IGltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IEBjb250ZW50SW1hZ2VWZXJ0aWNhbEFsaWduO1xuICB3aWR0aDogQGNvbnRlbnRJbWFnZVdpZHRoO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgaW1nLmF2YXRhcixcbi51aS5jYXJkcyA+IC5jYXJkIC5hdmF0YXIgaW1nLFxuLnVpLmNhcmQgaW1nLmF2YXRhcixcbi51aS5jYXJkIC5hdmF0YXIgaW1nIHtcbiAgd2lkdGg6IEBhdmF0YXJTaXplO1xuICBoZWlnaHQ6IEBhdmF0YXJTaXplO1xuICBib3JkZXItcmFkaXVzOiBAYXZhdGFyQm9yZGVyUmFkaXVzO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBEZXNjcmlwdGlvblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCA+IC5kZXNjcmlwdGlvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICBjbGVhcjogYm90aDtcbiAgY29sb3I6IEBkZXNjcmlwdGlvbkNvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUGFyYWdyYXBoXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IHAsXG4udWkuY2FyZCA+IC5jb250ZW50IHAge1xuICBtYXJnaW46IDBlbSAwZW0gQHBhcmFncmFwaERpc3RhbmNlO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCBwOmxhc3QtY2hpbGQsXG4udWkuY2FyZCA+IC5jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTWV0YVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEsXG4udWkuY2FyZCAubWV0YSB7XG4gIGZvbnQtc2l6ZTogQG1ldGFGb250U2l6ZTtcbiAgY29sb3I6IEBtZXRhQ29sb3I7XG59XG4udWkuY2FyZHMgPiAuY2FyZCAubWV0YSAqLFxuLnVpLmNhcmQgLm1ldGEgKiB7XG4gIG1hcmdpbi1yaWdodDogQG1ldGFTcGFjaW5nO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgLm1ldGEgOmxhc3QtY2hpbGQsXG4udWkuY2FyZCAubWV0YSA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuXG4udWkuY2FyZHMgPiAuY2FyZCAubWV0YSBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSxcbi51aS5jYXJkIC5tZXRhIFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG4gIG1hcmdpbi1sZWZ0OiBAbWV0YVNwYWNpbmc7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIExpbmtzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBHZW5lcmljICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSksXG4udWkuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSkge1xuICBjb2xvcjogQGNvbnRlbnRMaW5rQ29sb3I7XG4gIHRyYW5zaXRpb246IEBjb250ZW50TGlua1RyYW5zaXRpb247XG59XG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSk6aG92ZXIsXG4udWkuY2FyZCA+IC5jb250ZW50IGE6bm90KC51aSk6aG92ZXIge1xuICBjb2xvcjogQGNvbnRlbnRMaW5rSG92ZXJDb2xvcjtcbn1cblxuLyogSGVhZGVyICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXIsXG4udWkuY2FyZCA+IC5jb250ZW50ID4gYS5oZWFkZXIge1xuICBjb2xvcjogQGhlYWRlckxpbmtDb2xvcjtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlcjpob3Zlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgPiBhLmhlYWRlcjpob3ZlciB7XG4gIGNvbG9yOiBAaGVhZGVyTGlua0hvdmVyQ29sb3I7XG59XG5cbi8qIE1ldGEgKi9cbi51aS5jYXJkcyA+IC5jYXJkIC5tZXRhID4gYTpub3QoLnVpKSxcbi51aS5jYXJkIC5tZXRhID4gYTpub3QoLnVpKSB7XG4gIGNvbG9yOiBAbWV0YUxpbmtDb2xvcjtcbn1cbi51aS5jYXJkcyA+IC5jYXJkIC5tZXRhID4gYTpub3QoLnVpKTpob3Zlcixcbi51aS5jYXJkIC5tZXRhID4gYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiBAbWV0YUxpbmtIb3ZlckNvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEJ1dHRvbnNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jYXJkcyA+IC5jYXJkID4gLmJ1dHRvbnMsXG4udWkuY2FyZCA+IC5idXR0b25zLFxuLnVpLmNhcmRzID4gLmNhcmQgPiAuYnV0dG9uLFxuLnVpLmNhcmQgPiAuYnV0dG9uIHtcbiAgbWFyZ2luOiBAYnV0dG9uTWFyZ2luO1xuICB3aWR0aDogQGJ1dHRvbldpZHRoO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBEaW1tZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jYXJkcyA+IC5jYXJkIC5kaW1tZXIsXG4udWkuY2FyZCAuZGltbWVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGRpbW1lckNvbG9yO1xuICB6LWluZGV4OiBAZGltbWVyWkluZGV4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyotLS0tLVN0YXItLS0tLSAqL1xuXG4vKiBJY29uICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5zdGFyLmljb24sXG4udWkuY2FyZCA+IC5jb250ZW50IC5zdGFyLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IEBhY3Rpb25PcGFjaXR5O1xuICB0cmFuc2l0aW9uOiBAYWN0aW9uVHJhbnNpdGlvbjtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLnN0YXIuaWNvbjpob3Zlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgLnN0YXIuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IEBhY3Rpb25Ib3Zlck9wYWNpdHk7XG4gIGNvbG9yOiBAc3RhckNvbG9yO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLnN0YXIuaWNvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgLmFjdGl2ZS5zdGFyLmljb24ge1xuICBjb2xvcjogQHN0YXJBY3RpdmVDb2xvcjtcbn1cblxuLyotLS0tLUxpa2UtLS0tLSAqL1xuXG4vKiBJY29uICovXG4udWkuY2FyZHMgPiAuY2FyZCA+IC5jb250ZW50IC5saWtlLmljb24sXG4udWkuY2FyZCA+IC5jb250ZW50IC5saWtlLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IEBhY3Rpb25PcGFjaXR5O1xuICB0cmFuc2l0aW9uOiBAYWN0aW9uVHJhbnNpdGlvbjtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbjpob3Zlcixcbi51aS5jYXJkID4gLmNvbnRlbnQgLmxpa2UuaWNvbjpob3ZlciB7XG4gIG9wYWNpdHk6IEBhY3Rpb25Ib3Zlck9wYWNpdHk7XG4gIGNvbG9yOiBAbGlrZUNvbG9yO1xufVxuLnVpLmNhcmRzID4gLmNhcmQgPiAuY29udGVudCAuYWN0aXZlLmxpa2UuaWNvbixcbi51aS5jYXJkID4gLmNvbnRlbnQgLmFjdGl2ZS5saWtlLmljb24ge1xuICBjb2xvcjogQGxpa2VBY3RpdmVDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tXG4gIEV4dHJhIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzID4gLmNhcmQgPiAuZXh0cmEsXG4udWkuY2FyZCA+IC5leHRyYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMGVtICFpbXBvcnRhbnQ7XG4gIGZsZXgtZ3JvdzogMDtcbiAgYm9yZGVyLXRvcDogQGV4dHJhRGl2aWRlciAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogQGV4dHJhUG9zaXRpb247XG4gIGJhY2tncm91bmQ6IEBleHRyYUJhY2tncm91bmQ7XG4gIHdpZHRoOiBAZXh0cmFXaWR0aDtcbiAgbWFyZ2luOiBAZXh0cmFNYXJnaW47XG4gIHBhZGRpbmc6IEBleHRyYVBhZGRpbmc7XG4gIHRvcDogQGV4dHJhVG9wO1xuICBsZWZ0OiBAZXh0cmFMZWZ0O1xuICBjb2xvcjogQGV4dHJhQ29sb3I7XG4gIGJveC1zaGFkb3c6IEBleHRyYUJveFNoYWRvdztcbiAgdHJhbnNpdGlvbjogQGV4dHJhVHJhbnNpdGlvbjtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmV4dHJhIGE6bm90KC51aSksXG4udWkuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpIHtcbiAgY29sb3I6IEBleHRyYUxpbmtDb2xvcjtcbn1cbi51aS5jYXJkcyA+IC5jYXJkID4gLmV4dHJhIGE6bm90KC51aSk6aG92ZXIsXG4udWkuY2FyZCA+IC5leHRyYSBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6IEBleHRyYUxpbmtIb3ZlckNvbG9yO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBSYWlzZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnJhaXNlZC5jYXJkcyA+IC5jYXJkLFxuLnVpLnJhaXNlZC5jYXJkIHtcbiAgYm94LXNoYWRvdzogQHJhaXNlZFNoYWRvdztcbn1cbi51aS5yYWlzZWQuY2FyZHMgYS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZHMgLnJhaXNlZC5jYXJkOmhvdmVyLFxuYS51aS5yYWlzZWQuY2FyZDpob3Zlcixcbi51aS5saW5rLnJhaXNlZC5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogQHJhaXNlZFNoYWRvd0hvdmVyO1xufVxuXG4udWkucmFpc2VkLmNhcmRzID4gLmNhcmQsXG4udWkucmFpc2VkLmNhcmQge1xuICBib3gtc2hhZG93OiBAcmFpc2VkU2hhZG93O1xufVxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQ2VudGVyZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNlbnRlcmVkLmNhcmRzIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4udWkuY2VudGVyZWQuY2FyZCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmx1aWQuY2FyZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDk5OTlweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIExpbmtcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhcmRzIGEuY2FyZCxcbi51aS5saW5rLmNhcmRzIC5jYXJkLFxuYS51aS5jYXJkLFxuLnVpLmxpbmsuY2FyZCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnVpLmNhcmRzIGEuY2FyZDpob3Zlcixcbi51aS5saW5rLmNhcmRzIC5jYXJkOmhvdmVyLFxuYS51aS5jYXJkOmhvdmVyLFxuLnVpLmxpbmsuY2FyZDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgei1pbmRleDogQGxpbmtIb3ZlclpJbmRleDtcbiAgYmFja2dyb3VuZDogQGxpbmtIb3ZlckJhY2tncm91bmQ7XG4gIGJvcmRlcjogQGxpbmtIb3ZlckJvcmRlcjtcbiAgYm94LXNoYWRvdzogQGxpbmtIb3ZlckJveFNoYWRvdztcbiAgdHJhbnNmb3JtOiBAbGlua0hvdmVyVHJhbnNmb3JtO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogUmVkICovXG4udWkucmVkLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAucmVkLmNhcmQsXG4udWkucmVkLmNhcmQge1xuICBib3gtc2hhZG93OiBAYm9yZGVyU2hhZG93LCAwcHggQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwcHggMHB4IEByZWQsXG4gICAgQHNoYWRvd0JveFNoYWRvdztcbn1cbi51aS5yZWQuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5yZWQuY2FyZDpob3Zlcixcbi51aS5yZWQuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IEBib3JkZXJTaGFkb3csIDBweCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDBweCAwcHggQHJlZEhvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogT3JhbmdlICovXG4udWkub3JhbmdlLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAub3JhbmdlLmNhcmQsXG4udWkub3JhbmdlLmNhcmQge1xuICBib3gtc2hhZG93OiBAYm9yZGVyU2hhZG93LCAwcHggQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwcHggMHB4IEBvcmFuZ2UsXG4gICAgQHNoYWRvd0JveFNoYWRvdztcbn1cbi51aS5vcmFuZ2UuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5vcmFuZ2UuY2FyZDpob3Zlcixcbi51aS5vcmFuZ2UuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IEBib3JkZXJTaGFkb3csIDBweCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDBweCAwcHggQG9yYW5nZUhvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogWWVsbG93ICovXG4udWkueWVsbG93LmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAueWVsbG93LmNhcmQsXG4udWkueWVsbG93LmNhcmQge1xuICBib3gtc2hhZG93OiBAYm9yZGVyU2hhZG93LCAwcHggQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwcHggMHB4IEB5ZWxsb3csXG4gICAgQHNoYWRvd0JveFNoYWRvdztcbn1cbi51aS55ZWxsb3cuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC55ZWxsb3cuY2FyZDpob3Zlcixcbi51aS55ZWxsb3cuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IEBib3JkZXJTaGFkb3csIDBweCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDBweCAwcHggQHllbGxvd0hvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogT2xpdmUgKi9cbi51aS5vbGl2ZS5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLm9saXZlLmNhcmQsXG4udWkub2xpdmUuY2FyZCB7XG4gIGJveC1zaGFkb3c6IEBib3JkZXJTaGFkb3csIDBweCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDBweCAwcHggQG9saXZlLFxuICAgIEBzaGFkb3dCb3hTaGFkb3c7XG59XG4udWkub2xpdmUuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5vbGl2ZS5jYXJkOmhvdmVyLFxuLnVpLm9saXZlLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiBAYm9yZGVyU2hhZG93LCAwcHggQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwcHggMHB4IEBvbGl2ZUhvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogR3JlZW4gKi9cbi51aS5ncmVlbi5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLmdyZWVuLmNhcmQsXG4udWkuZ3JlZW4uY2FyZCB7XG4gIGJveC1zaGFkb3c6IEBib3JkZXJTaGFkb3csIDBweCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDBweCAwcHggQGdyZWVuLFxuICAgIEBzaGFkb3dCb3hTaGFkb3c7XG59XG4udWkuZ3JlZW4uY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5ncmVlbi5jYXJkOmhvdmVyLFxuLnVpLmdyZWVuLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiBAYm9yZGVyU2hhZG93LCAwcHggQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwcHggMHB4IEBncmVlbkhvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogVGVhbCAqL1xuLnVpLnRlYWwuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC50ZWFsLmNhcmQsXG4udWkudGVhbC5jYXJkIHtcbiAgYm94LXNoYWRvdzogQGJvcmRlclNoYWRvdywgMHB4IEBjb2xvcmVkU2hhZG93RGlzdGFuY2UgMHB4IDBweCBAdGVhbCxcbiAgICBAc2hhZG93Qm94U2hhZG93O1xufVxuLnVpLnRlYWwuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC50ZWFsLmNhcmQ6aG92ZXIsXG4udWkudGVhbC5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogQGJvcmRlclNoYWRvdywgMHB4IEBjb2xvcmVkU2hhZG93RGlzdGFuY2UgMHB4IDBweCBAdGVhbEhvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogQmx1ZSAqL1xuLnVpLmJsdWUuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5ibHVlLmNhcmQsXG4udWkuYmx1ZS5jYXJkIHtcbiAgYm94LXNoYWRvdzogQGJvcmRlclNoYWRvdywgMHB4IEBjb2xvcmVkU2hhZG93RGlzdGFuY2UgMHB4IDBweCBAYmx1ZSxcbiAgICBAc2hhZG93Qm94U2hhZG93O1xufVxuLnVpLmJsdWUuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5ibHVlLmNhcmQ6aG92ZXIsXG4udWkuYmx1ZS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogQGJvcmRlclNoYWRvdywgMHB4IEBjb2xvcmVkU2hhZG93RGlzdGFuY2UgMHB4IDBweCBAYmx1ZUhvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogVmlvbGV0ICovXG4udWkudmlvbGV0LmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAudmlvbGV0LmNhcmQsXG4udWkudmlvbGV0LmNhcmQge1xuICBib3gtc2hhZG93OiBAYm9yZGVyU2hhZG93LCAwcHggQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwcHggMHB4IEB2aW9sZXQsXG4gICAgQHNoYWRvd0JveFNoYWRvdztcbn1cbi51aS52aW9sZXQuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC52aW9sZXQuY2FyZDpob3Zlcixcbi51aS52aW9sZXQuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IEBib3JkZXJTaGFkb3csIDBweCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDBweCAwcHggQHZpb2xldEhvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogUHVycGxlICovXG4udWkucHVycGxlLmNhcmRzID4gLmNhcmQsXG4udWkuY2FyZHMgPiAucHVycGxlLmNhcmQsXG4udWkucHVycGxlLmNhcmQge1xuICBib3gtc2hhZG93OiBAYm9yZGVyU2hhZG93LCAwcHggQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwcHggMHB4IEBwdXJwbGUsXG4gICAgQHNoYWRvd0JveFNoYWRvdztcbn1cbi51aS5wdXJwbGUuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5wdXJwbGUuY2FyZDpob3Zlcixcbi51aS5wdXJwbGUuY2FyZDpob3ZlciB7XG4gIGJveC1zaGFkb3c6IEBib3JkZXJTaGFkb3csIDBweCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDBweCAwcHggQHB1cnBsZUhvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogUGluayAqL1xuLnVpLnBpbmsuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5waW5rLmNhcmQsXG4udWkucGluay5jYXJkIHtcbiAgYm94LXNoYWRvdzogQGJvcmRlclNoYWRvdywgMHB4IEBjb2xvcmVkU2hhZG93RGlzdGFuY2UgMHB4IDBweCBAcGluayxcbiAgICBAc2hhZG93Qm94U2hhZG93O1xufVxuLnVpLnBpbmsuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5waW5rLmNhcmQ6aG92ZXIsXG4udWkucGluay5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogQGJvcmRlclNoYWRvdywgMHB4IEBjb2xvcmVkU2hhZG93RGlzdGFuY2UgMHB4IDBweCBAcGlua0hvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogQnJvd24gKi9cbi51aS5icm93bi5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLmJyb3duLmNhcmQsXG4udWkuYnJvd24uY2FyZCB7XG4gIGJveC1zaGFkb3c6IEBib3JkZXJTaGFkb3csIDBweCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDBweCAwcHggQGJyb3duLFxuICAgIEBzaGFkb3dCb3hTaGFkb3c7XG59XG4udWkuYnJvd24uY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5icm93bi5jYXJkOmhvdmVyLFxuLnVpLmJyb3duLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiBAYm9yZGVyU2hhZG93LCAwcHggQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwcHggMHB4IEBicm93bkhvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogR3JleSAqL1xuLnVpLmdyZXkuY2FyZHMgPiAuY2FyZCxcbi51aS5jYXJkcyA+IC5ncmV5LmNhcmQsXG4udWkuZ3JleS5jYXJkIHtcbiAgYm94LXNoYWRvdzogQGJvcmRlclNoYWRvdywgMHB4IEBjb2xvcmVkU2hhZG93RGlzdGFuY2UgMHB4IDBweCBAZ3JleSxcbiAgICBAc2hhZG93Qm94U2hhZG93O1xufVxuLnVpLmdyZXkuY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5ncmV5LmNhcmQ6aG92ZXIsXG4udWkuZ3JleS5jYXJkOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogQGJvcmRlclNoYWRvdywgMHB4IEBjb2xvcmVkU2hhZG93RGlzdGFuY2UgMHB4IDBweCBAZ3JleUhvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyogQmxhY2sgKi9cbi51aS5ibGFjay5jYXJkcyA+IC5jYXJkLFxuLnVpLmNhcmRzID4gLmJsYWNrLmNhcmQsXG4udWkuYmxhY2suY2FyZCB7XG4gIGJveC1zaGFkb3c6IEBib3JkZXJTaGFkb3csIDBweCBAY29sb3JlZFNoYWRvd0Rpc3RhbmNlIDBweCAwcHggQGJsYWNrLFxuICAgIEBzaGFkb3dCb3hTaGFkb3c7XG59XG4udWkuYmxhY2suY2FyZHMgPiAuY2FyZDpob3Zlcixcbi51aS5jYXJkcyA+IC5ibGFjay5jYXJkOmhvdmVyLFxuLnVpLmJsYWNrLmNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiBAYm9yZGVyU2hhZG93LCAwcHggQGNvbG9yZWRTaGFkb3dEaXN0YW5jZSAwcHggMHB4IEBibGFja0hvdmVyLFxuICAgIEBzaGFkb3dIb3ZlckJveFNoYWRvdztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgQ2FyZCBDb3VudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm9uZS5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiBAb25lQ2FyZE9mZnNldDtcbiAgbWFyZ2luLXJpZ2h0OiBAb25lQ2FyZE9mZnNldDtcbn1cbi51aS5vbmUuY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBAb25lQ2FyZDtcbn1cblxuLnVpLnR3by5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZE9mZnNldDtcbiAgbWFyZ2luLXJpZ2h0OiBAdHdvQ2FyZE9mZnNldDtcbn1cbi51aS50d28uY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBAdHdvQ2FyZDtcbiAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkU3BhY2luZztcbiAgbWFyZ2luLXJpZ2h0OiBAdHdvQ2FyZFNwYWNpbmc7XG59XG5cbi51aS50aHJlZS5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG59XG4udWkudGhyZWUuY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBAdGhyZWVDYXJkO1xuICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZFNwYWNpbmc7XG59XG5cbi51aS5mb3VyLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IEBmb3VyQ2FyZE9mZnNldDtcbiAgbWFyZ2luLXJpZ2h0OiBAZm91ckNhcmRPZmZzZXQ7XG59XG4udWkuZm91ci5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IEBmb3VyQ2FyZDtcbiAgbWFyZ2luLWxlZnQ6IEBmb3VyQ2FyZFNwYWNpbmc7XG4gIG1hcmdpbi1yaWdodDogQGZvdXJDYXJkU3BhY2luZztcbn1cblxuLnVpLmZpdmUuY2FyZHMge1xuICBtYXJnaW4tbGVmdDogQGZpdmVDYXJkT2Zmc2V0O1xuICBtYXJnaW4tcmlnaHQ6IEBmaXZlQ2FyZE9mZnNldDtcbn1cbi51aS5maXZlLmNhcmRzID4gLmNhcmQge1xuICB3aWR0aDogQGZpdmVDYXJkO1xuICBtYXJnaW4tbGVmdDogQGZpdmVDYXJkU3BhY2luZztcbiAgbWFyZ2luLXJpZ2h0OiBAZml2ZUNhcmRTcGFjaW5nO1xufVxuXG4udWkuc2l4LmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IEBzaXhDYXJkT2Zmc2V0O1xuICBtYXJnaW4tcmlnaHQ6IEBzaXhDYXJkT2Zmc2V0O1xufVxuLnVpLnNpeC5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IEBzaXhDYXJkO1xuICBtYXJnaW4tbGVmdDogQHNpeENhcmRTcGFjaW5nO1xuICBtYXJnaW4tcmlnaHQ6IEBzaXhDYXJkU3BhY2luZztcbn1cblxuLnVpLnNldmVuLmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IEBzZXZlbkNhcmRPZmZzZXQ7XG4gIG1hcmdpbi1yaWdodDogQHNldmVuQ2FyZE9mZnNldDtcbn1cbi51aS5zZXZlbi5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IEBzZXZlbkNhcmQ7XG4gIG1hcmdpbi1sZWZ0OiBAc2V2ZW5DYXJkU3BhY2luZztcbiAgbWFyZ2luLXJpZ2h0OiBAc2V2ZW5DYXJkU3BhY2luZztcbn1cblxuLnVpLmVpZ2h0LmNhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IEBlaWdodENhcmRPZmZzZXQ7XG4gIG1hcmdpbi1yaWdodDogQGVpZ2h0Q2FyZE9mZnNldDtcbn1cbi51aS5laWdodC5jYXJkcyA+IC5jYXJkIHtcbiAgd2lkdGg6IEBlaWdodENhcmQ7XG4gIG1hcmdpbi1sZWZ0OiBAZWlnaHRDYXJkU3BhY2luZztcbiAgbWFyZ2luLXJpZ2h0OiBAZWlnaHRDYXJkU3BhY2luZztcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuXG4udWkubmluZS5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiBAbmluZUNhcmRPZmZzZXQ7XG4gIG1hcmdpbi1yaWdodDogQG5pbmVDYXJkT2Zmc2V0O1xufVxuLnVpLm5pbmUuY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBAbmluZUNhcmQ7XG4gIG1hcmdpbi1sZWZ0OiBAbmluZUNhcmRTcGFjaW5nO1xuICBtYXJnaW4tcmlnaHQ6IEBuaW5lQ2FyZFNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLnVpLnRlbi5jYXJkcyB7XG4gIG1hcmdpbi1sZWZ0OiBAdGVuQ2FyZE9mZnNldDtcbiAgbWFyZ2luLXJpZ2h0OiBAdGVuQ2FyZE9mZnNldDtcbn1cbi51aS50ZW4uY2FyZHMgPiAuY2FyZCB7XG4gIHdpZHRoOiBAdGVuQ2FyZDtcbiAgbWFyZ2luLWxlZnQ6IEB0ZW5DYXJkU3BhY2luZztcbiAgbWFyZ2luLXJpZ2h0OiBAdGVuQ2FyZFNwYWNpbmc7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRG91Ymxpbmdcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogTW9iaWxlIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgLnVpLnR3by5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IEBvbmVDYXJkT2Zmc2V0O1xuICAgIG1hcmdpbi1yaWdodDogQG9uZUNhcmRPZmZzZXQ7XG4gIH1cbiAgLnVpLnR3by5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogQG9uZUNhcmQ7XG4gICAgbWFyZ2luLWxlZnQ6IEBvbmVDYXJkU3BhY2luZztcbiAgICBtYXJnaW4tcmlnaHQ6IEBvbmVDYXJkU3BhY2luZztcbiAgfVxuICAudWkudGhyZWUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZE9mZnNldDtcbiAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkT2Zmc2V0O1xuICB9XG4gIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogQHR3b0NhcmQ7XG4gICAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkU3BhY2luZztcbiAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkU3BhY2luZztcbiAgfVxuICAudWkuZm91ci5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkT2Zmc2V0O1xuICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRPZmZzZXQ7XG4gIH1cbiAgLnVpLmZvdXIuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IEB0d29DYXJkO1xuICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgbWFyZ2luLXJpZ2h0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gIH1cbiAgLnVpLmZpdmUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZE9mZnNldDtcbiAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkT2Zmc2V0O1xuICB9XG4gIC51aS5maXZlLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBAdHdvQ2FyZDtcbiAgICBtYXJnaW4tbGVmdDogQHR3b0NhcmRTcGFjaW5nO1xuICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRTcGFjaW5nO1xuICB9XG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZE9mZnNldDtcbiAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkT2Zmc2V0O1xuICB9XG4gIC51aS5zaXguZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IEB0d29DYXJkO1xuICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgbWFyZ2luLXJpZ2h0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gIH1cbiAgLnVpLnNldmVuLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZE9mZnNldDtcbiAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gIH1cbiAgLnVpLnNldmVuLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBAdGhyZWVDYXJkO1xuICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICB9XG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICB9XG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogQHRocmVlQ2FyZDtcbiAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgfVxuICAudWkubmluZS5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICB9XG4gIC51aS5uaW5lLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBAdGhyZWVDYXJkO1xuICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICB9XG4gIC51aS50ZW4uZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZE9mZnNldDtcbiAgfVxuICAudWkudGVuLmRvdWJsaW5nLmNhcmRzID4gLmNhcmQge1xuICAgIHdpZHRoOiBAdGhyZWVDYXJkO1xuICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICB9XG59XG5cbi8qIFRhYmxldCBPbmx5ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RUYWJsZXRTY3JlZW4pIHtcbiAgLnVpLnR3by5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IEBvbmVDYXJkT2Zmc2V0O1xuICAgIG1hcmdpbi1yaWdodDogQG9uZUNhcmRPZmZzZXQ7XG4gIH1cbiAgLnVpLnR3by5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogQG9uZUNhcmQ7XG4gICAgbWFyZ2luLWxlZnQ6IEBvbmVDYXJkU3BhY2luZztcbiAgICBtYXJnaW4tcmlnaHQ6IEBvbmVDYXJkU3BhY2luZztcbiAgfVxuICAudWkudGhyZWUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZE9mZnNldDtcbiAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkT2Zmc2V0O1xuICB9XG4gIC51aS50aHJlZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogQHR3b0NhcmQ7XG4gICAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkU3BhY2luZztcbiAgICBtYXJnaW4tcmlnaHQ6IEB0d29DYXJkU3BhY2luZztcbiAgfVxuICAudWkuZm91ci5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IEB0d29DYXJkT2Zmc2V0O1xuICAgIG1hcmdpbi1yaWdodDogQHR3b0NhcmRPZmZzZXQ7XG4gIH1cbiAgLnVpLmZvdXIuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IEB0d29DYXJkO1xuICAgIG1hcmdpbi1sZWZ0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gICAgbWFyZ2luLXJpZ2h0OiBAdHdvQ2FyZFNwYWNpbmc7XG4gIH1cbiAgLnVpLmZpdmUuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZE9mZnNldDtcbiAgfVxuICAudWkuZml2ZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogQHRocmVlQ2FyZDtcbiAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgfVxuICAudWkuc2l4LmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZE9mZnNldDtcbiAgICBtYXJnaW4tcmlnaHQ6IEB0aHJlZUNhcmRPZmZzZXQ7XG4gIH1cbiAgLnVpLnNpeC5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogQHRocmVlQ2FyZDtcbiAgICBtYXJnaW4tbGVmdDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gICAgbWFyZ2luLXJpZ2h0OiBAdGhyZWVDYXJkU3BhY2luZztcbiAgfVxuICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiBAdGhyZWVDYXJkT2Zmc2V0O1xuICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZE9mZnNldDtcbiAgfVxuICAudWkuZWlnaHQuZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IEB0aHJlZUNhcmQ7XG4gICAgbWFyZ2luLWxlZnQ6IEB0aHJlZUNhcmRTcGFjaW5nO1xuICAgIG1hcmdpbi1yaWdodDogQHRocmVlQ2FyZFNwYWNpbmc7XG4gIH1cbiAgLnVpLmVpZ2h0LmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogQGZvdXJDYXJkT2Zmc2V0O1xuICAgIG1hcmdpbi1yaWdodDogQGZvdXJDYXJkT2Zmc2V0O1xuICB9XG4gIC51aS5laWdodC5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogQGZvdXJDYXJkO1xuICAgIG1hcmdpbi1sZWZ0OiBAZm91ckNhcmRTcGFjaW5nO1xuICAgIG1hcmdpbi1yaWdodDogQGZvdXJDYXJkU3BhY2luZztcbiAgfVxuICAudWkubmluZS5kb3VibGluZy5jYXJkcyB7XG4gICAgbWFyZ2luLWxlZnQ6IEBmb3VyQ2FyZE9mZnNldDtcbiAgICBtYXJnaW4tcmlnaHQ6IEBmb3VyQ2FyZE9mZnNldDtcbiAgfVxuICAudWkubmluZS5kb3VibGluZy5jYXJkcyA+IC5jYXJkIHtcbiAgICB3aWR0aDogQGZvdXJDYXJkO1xuICAgIG1hcmdpbi1sZWZ0OiBAZm91ckNhcmRTcGFjaW5nO1xuICAgIG1hcmdpbi1yaWdodDogQGZvdXJDYXJkU3BhY2luZztcbiAgfVxuICAudWkudGVuLmRvdWJsaW5nLmNhcmRzIHtcbiAgICBtYXJnaW4tbGVmdDogQGZpdmVDYXJkT2Zmc2V0O1xuICAgIG1hcmdpbi1yaWdodDogQGZpdmVDYXJkT2Zmc2V0O1xuICB9XG4gIC51aS50ZW4uZG91YmxpbmcuY2FyZHMgPiAuY2FyZCB7XG4gICAgd2lkdGg6IEBmaXZlQ2FyZDtcbiAgICBtYXJnaW4tbGVmdDogQGZpdmVDYXJkU3BhY2luZztcbiAgICBtYXJnaW4tcmlnaHQ6IEBmaXZlQ2FyZFNwYWNpbmc7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTdGFja2FibGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAudWkuc3RhY2thYmxlLmNhcmRzIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUuY2FyZHMgLmNhcmQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDBlbSAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5zdGFja2FibGUuY2FyZHMgPiAuY2FyZCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IEBzdGFja2FibGVSb3dTcGFjaW5nIEBzdGFja2FibGVDYXJkU3BhY2luZztcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IEBzdGFja2FibGVNYXJnaW4gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2FyZHMgPiAuY2FyZCB7XG4gIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyohXG4gKiAjIFNlbWFudGljIFVJIC0gQ29tbWVudFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ3ZpZXcnO1xuQGVsZW1lbnQgOiAnY29tbWVudCc7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YW5kYXJkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDb21tZW50c1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbW1lbnRzIHtcbiAgbWFyZ2luOiBAbWFyZ2luO1xuICBtYXgtd2lkdGg6IEBtYXhXaWR0aDtcbn1cblxuLnVpLmNvbW1lbnRzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLnVpLmNvbW1lbnRzOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29tbWVudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBAY29tbWVudEJhY2tncm91bmQ7XG4gIG1hcmdpbjogQGNvbW1lbnRNYXJnaW47XG4gIHBhZGRpbmc6IEBjb21tZW50UGFkZGluZztcbiAgYm9yZGVyOiBAY29tbWVudEJvcmRlcjtcbiAgYm9yZGVyLXRvcDogQGNvbW1lbnREaXZpZGVyO1xuICBsaW5lLWhlaWdodDogQGNvbW1lbnRMaW5lSGVpZ2h0O1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogQGZpcnN0Q29tbWVudE1hcmdpbjtcbiAgcGFkZGluZy10b3A6IEBmaXJzdENvbW1lbnRQYWRkaW5nO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBOZXN0ZWQgQ29tbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jb21tZW50cyAuY29tbWVudCAuY29tbWVudHMge1xuICBtYXJnaW46IEBuZXN0ZWRDb21tZW50c01hcmdpbjtcbiAgcGFkZGluZzogQG5lc3RlZENvbW1lbnRzUGFkZGluZztcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCAuY29tbWVudHM6YmVmb3Jle1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG59XG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmNvbW1lbnRzIC5jb21tZW50IHtcbiAgYm9yZGVyOiBAbmVzdGVkQ29tbWVudEJvcmRlcjtcbiAgYm9yZGVyLXRvcDogQG5lc3RlZENvbW1lbnREaXZpZGVyO1xuICBiYWNrZ3JvdW5kOiBAbmVzdGVkQ29tbWVudEJhY2tncm91bmQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQXZhdGFyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLmF2YXRhciB7XG4gIGRpc3BsYXk6IEBhdmF0YXJEaXNwbGF5O1xuICB3aWR0aDogQGF2YXRhcldpZHRoO1xuICBoZWlnaHQ6IEBhdmF0YXJIZWlnaHQ7XG4gIGZsb2F0OiBAYXZhdGFyRmxvYXQ7XG4gIG1hcmdpbjogQGF2YXRhck1hcmdpbjtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCBpbWcuYXZhdGFyLFxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hdmF0YXIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMGVtIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IEBhdmF0YXJCb3JkZXJSYWRpdXM7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50ID4gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8qIElmIHRoZXJlIGlzIGFuIGF2YXRhciBtb3ZlIGNvbnRlbnQgb3ZlciAqL1xuLnVpLmNvbW1lbnRzIC5jb21tZW50ID4gLmF2YXRhciB+IC5jb250ZW50IHtcbiAgbWFyZ2luLWxlZnQ6IEBjb250ZW50TWFyZ2luO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEF1dGhvclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hdXRob3Ige1xuICBmb250LXNpemU6IEBhdXRob3JGb250U2l6ZTtcbiAgY29sb3I6IEBhdXRob3JDb2xvcjtcbiAgZm9udC13ZWlnaHQ6IEBhdXRob3JGb250V2VpZ2h0O1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IGEuYXV0aG9yIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IGEuYXV0aG9yOmhvdmVyIHtcbiAgY29sb3I6IEBhdXRob3JIb3ZlckNvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIE1ldGFkYXRhXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLm1ldGFkYXRhIHtcbiAgZGlzcGxheTogQG1ldGFkYXRhRGlzcGxheTtcbiAgbWFyZ2luLWxlZnQ6IEBtZXRhZGF0YVNwYWNpbmc7XG4gIGNvbG9yOiBAbWV0YWRhdGFDb2xvcjtcbiAgZm9udC1zaXplOiBAbWV0YWRhdGFGb250U2l6ZTtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCAubWV0YWRhdGEgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDBlbSBAbWV0YWRhdGFDb250ZW50U3BhY2luZyAwZW0gMGVtO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5tZXRhZGF0YSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29tbWVudCBUZXh0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY29tbWVudHMgLmNvbW1lbnQgLnRleHQge1xuICBtYXJnaW46IEB0ZXh0TWFyZ2luO1xuICBmb250LXNpemU6IEB0ZXh0Rm9udFNpemU7XG4gIHdvcmQtd3JhcDogQHRleHRXb3JkV3JhcDtcbiAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gIGxpbmUtaGVpZ2h0OiBAdGV4dExpbmVIZWlnaHQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBVc2VyIEFjdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyB7XG4gIGZvbnQtc2l6ZTogQGFjdGlvbkZvbnRTaXplO1xufVxuLnVpLmNvbW1lbnRzIC5jb21tZW50IC5hY3Rpb25zIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwZW0gQGFjdGlvbkNvbnRlbnREaXN0YW5jZSAwZW0gMGVtO1xuICBjb2xvcjogQGFjdGlvbkxpbmtDb2xvcjtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhLmFjdGl2ZSxcbi51aS5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyBhOmhvdmVyIHtcbiAgY29sb3I6IEBhY3Rpb25MaW5rSG92ZXJDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgUmVwbHkgRm9ybVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNvbW1lbnRzID4gLnJlcGx5LmZvcm0ge1xuICBtYXJnaW4tdG9wOiBAcmVwbHlEaXN0YW5jZTtcbn1cbi51aS5jb21tZW50cyAuY29tbWVudCAucmVwbHkuZm9ybSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiBAY29tbWVudFJlcGx5RGlzdGFuY2U7XG59XG4udWkuY29tbWVudHMgLnJlcGx5LmZvcm0gdGV4dGFyZWEge1xuICBmb250LXNpemU6IEByZXBseUZvbnRTaXplO1xuICBoZWlnaHQ6IEByZXBseUhlaWdodDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuY29sbGFwc2VkLmNvbW1lbnRzLFxuLnVpLmNvbW1lbnRzIC5jb2xsYXBzZWQuY29tbWVudHMsXG4udWkuY29tbWVudHMgLmNvbGxhcHNlZC5jb21tZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIFRocmVhZGVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGhyZWFkZWQuY29tbWVudHMgLmNvbW1lbnQgLmNvbW1lbnRzIHtcbiAgbWFyZ2luOiBAdGhyZWFkZWRDb21tZW50TWFyZ2luO1xuICBwYWRkaW5nOiBAdGhyZWFkZWRDb21tZW50UGFkZGluZztcbiAgYm94LXNoYWRvdzogQHRocmVhZGVkQ29tbWVudEJveFNoYWRvdztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBNaW5pbWFsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWluaW1hbC5jb21tZW50cyAuY29tbWVudCAuYWN0aW9ucyB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBAbWluaW1hbEFjdGlvblBvc2l0aW9uO1xuICB0b3A6IEBtaW5pbWFsQWN0aW9uVG9wO1xuICByaWdodDogQG1pbmltYWxBY3Rpb25SaWdodDtcbiAgbGVmdDogQG1pbmltYWxBY3Rpb25MZWZ0O1xuICB0cmFuc2l0aW9uOiBAbWluaW1hbFRyYW5zaXRpb247XG4gIHRyYW5zaXRpb24tZGVsYXk6IEBtaW5pbWFsVHJhbnNpdGlvbkRlbGF5O1xufVxuLnVpLm1pbmltYWwuY29tbWVudHMgLmNvbW1lbnQgPiAuY29udGVudDpob3ZlciA+IC5hY3Rpb25zIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgU2l6ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLm1pbmkuY29tbWVudHMge1xuICBmb250LXNpemU6IEBtaW5pO1xufVxuLnVpLnRpbnkuY29tbWVudHMge1xuICBmb250LXNpemU6IEB0aW55O1xufVxuLnVpLnNtYWxsLmNvbW1lbnRzIHtcbiAgZm9udC1zaXplOiBAc21hbGw7XG59XG4udWkuY29tbWVudHMge1xuICBmb250LXNpemU6IEBtZWRpdW07XG59XG4udWkubGFyZ2UuY29tbWVudHMge1xuICBmb250LXNpemU6IEBsYXJnZTtcbn1cbi51aS5iaWcuY29tbWVudHMge1xuICBmb250LXNpemU6IEBiaWc7XG59XG4udWkuaHVnZS5jb21tZW50cyB7XG4gIGZvbnQtc2l6ZTogQGh1Z2U7XG59XG4udWkubWFzc2l2ZS5jb21tZW50cyB7XG4gIGZvbnQtc2l6ZTogQG1hc3NpdmU7XG59XG5cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyohXG4gKiAjIFNlbWFudGljIFVJIC0gRmVlZFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICd2aWV3JztcbkBlbGVtZW50IDogJ2ZlZWQnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBBY3Rpdml0eSBGZWVkXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuZmVlZCB7XG4gIG1hcmdpbjogQG1hcmdpbjtcbn1cbi51aS5mZWVkOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLnVpLmZlZWQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogRXZlbnQgKi9cbi51aS5mZWVkID4gLmV2ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IEBldmVudFdpZHRoO1xuICBwYWRkaW5nOiBAZXZlbnRQYWRkaW5nO1xuICBtYXJnaW46IEBldmVudE1hcmdpbjtcbiAgYmFja2dyb3VuZDogQGV2ZW50QmFja2dyb3VuZDtcbiAgYm9yZGVyLXRvcDogQGV2ZW50RGl2aWRlcjtcbn1cbi51aS5mZWVkID4gLmV2ZW50OmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogMHB4O1xuICBwYWRkaW5nLXRvcDogMGVtO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAwZW07XG59XG5cbi8qIEV2ZW50IExhYmVsICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IEBsYWJlbFdpZHRoO1xuICBoZWlnaHQ6IEBsYWJlbEhlaWdodDtcbiAgYWxpZ24tc2VsZjogQGxhYmVsQWxpZ25TZWxmO1xuICB0ZXh0LWFsaWduOiBAbGFiZWxUZXh0QWxpZ247XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5sYWJlbCAuaWNvbiB7XG4gIG9wYWNpdHk6IEBpY29uTGFiZWxPcGFjaXR5O1xuICBmb250LXNpemU6IEBpY29uTGFiZWxTaXplO1xuICB3aWR0aDogQGljb25MYWJlbFdpZHRoO1xuICBwYWRkaW5nOiBAaWNvbkxhYmVsUGFkZGluZztcbiAgYmFja2dyb3VuZDogQGljb25MYWJlbEJhY2tncm91bmQ7XG4gIGJvcmRlcjogQGljb25MYWJlbEJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGljb25MYWJlbEJvcmRlclJhZGl1cztcbiAgY29sb3I6IEBpY29uTGFiZWxDb2xvcjtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsIGltZyB7XG4gIHdpZHRoOiBAaW1hZ2VMYWJlbFdpZHRoO1xuICBoZWlnaHQ6IEBpbWFnZUxhYmVsSGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAaW1hZ2VMYWJlbEJvcmRlclJhZGl1cztcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmxhYmVsICsgLmNvbnRlbnQge1xuICBtYXJnaW46IEBsYWJlbGVkQ29udGVudE1hcmdpbjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBDb250ZW50ICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBhbGlnbi1zZWxmOiBAY29udGVudEFsaWduU2VsZjtcbiAgdGV4dC1hbGlnbjogQGNvbnRlbnRUZXh0QWxpZ247XG4gIHdvcmQtd3JhcDogQGNvbnRlbnRXb3JkV3JhcDtcbn1cbi51aS5mZWVkID4gLmV2ZW50Omxhc3QtY2hpbGQgPiAuY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiBAbGFzdExhYmVsZWRDb250ZW50UGFkZGluZztcbn1cblxuLyogTGluayAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBEYXRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5kYXRlIHtcbiAgbWFyZ2luOiBAZGF0ZU1hcmdpbjtcbiAgcGFkZGluZzogQGRhdGVQYWRkaW5nO1xuICBjb2xvcjogQGRhdGVDb2xvcjtcbiAgZm9udC13ZWlnaHQ6IEBkYXRlRm9udFdlaWdodDtcbiAgZm9udC1zaXplOiBAZGF0ZUZvbnRTaXplO1xuICBmb250LXN0eWxlOiBAZGF0ZUZvbnRTdHlsZTtcbiAgY29sb3I6IEBkYXRlQ29sb3I7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU3VtbWFyeVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuc3VtbWFyeSB7XG4gIG1hcmdpbjogQHN1bW1hcnlNYXJnaW47XG4gIGZvbnQtc2l6ZTogQHN1bW1hcnlGb250U2l6ZTtcbiAgZm9udC13ZWlnaHQ6IEBzdW1tYXJ5Rm9udFdlaWdodDtcbiAgY29sb3I6IEBzdW1tYXJ5Q29sb3I7XG59XG5cbi8qIFN1bW1hcnkgSW1hZ2UgKi9cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLnN1bW1hcnkgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogQHN1bW1hcnlJbWFnZVdpZHRoO1xuICBoZWlnaHQ6IEBzdW1tYXJ5SW1hZ2VIZWlnaHQ7XG4gIG1hcmdpbjogQHN1bW1hcnlJbWFnZU1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogQHN1bW1hcnlJbWFnZUJvcmRlclJhZGl1cztcbiAgdmVydGljYWwtYWxpZ246IEBzdW1tYXJ5SW1hZ2VWZXJ0aWNhbEFsaWduO1xufVxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgVXNlclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAudXNlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IEB1c2VyRm9udFdlaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiBAdXNlckRpc3RhbmNlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC51c2VyIGltZyB7XG4gIG1hcmdpbjogQHVzZXJJbWFnZU1hcmdpbjtcbiAgd2lkdGg6IEB1c2VySW1hZ2VXaWR0aDtcbiAgaGVpZ2h0OiBAdXNlckltYWdlSGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogQHVzZXJJbWFnZVZlcnRpY2FsQWxpZ247XG59XG4vKi0tLS0tLS0tLS0tLS0tXG4gICBJbmxpbmUgRGF0ZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogRGF0ZSBpbnNpZGUgU3VtbWFyeSAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuc3VtbWFyeSA+IC5kYXRlIHtcbiAgZGlzcGxheTogQHN1bW1hcnlEYXRlRGlzcGxheTtcbiAgZmxvYXQ6IEBzdW1tYXJ5RGF0ZUZsb2F0O1xuICBmb250LXdlaWdodDogQHN1bW1hcnlEYXRlRm9udFdlaWdodDtcbiAgZm9udC1zaXplOiBAc3VtbWFyeURhdGVGb250U2l6ZTtcbiAgZm9udC1zdHlsZTogQHN1bW1hcnlEYXRlRm9udFN0eWxlO1xuICBtYXJnaW46IEBzdW1tYXJ5RGF0ZU1hcmdpbjtcbiAgcGFkZGluZzogQHN1bW1hcnlEYXRlUGFkZGluZztcbiAgY29sb3I6IEBzdW1tYXJ5RGF0ZUNvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gIEV4dHJhIFN1bW1hcnlcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLmV4dHJhIHtcbiAgbWFyZ2luOiBAZXh0cmFNYXJnaW47XG4gIGJhY2tncm91bmQ6IEBleHRyYUJhY2tncm91bmQ7XG4gIHBhZGRpbmc6IEBleHRyYVBhZGRpbmc7XG4gIGNvbG9yOiBAZXh0cmFDb2xvcjtcbn1cblxuLyogSW1hZ2VzICovXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5leHRyYS5pbWFnZXMgaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IEBleHRyYUltYWdlTWFyZ2luO1xuICB3aWR0aDogQGV4dHJhSW1hZ2VXaWR0aDtcbn1cblxuLyogVGV4dCAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAuZXh0cmEudGV4dCB7XG4gIHBhZGRpbmc6IEBleHRyYVRleHRQYWRkaW5nO1xuICBib3JkZXItbGVmdDogQGV4dHJhVGV4dFBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogQGV4dHJhVGV4dEZvbnRTaXplO1xuICBtYXgtd2lkdGg6IEBleHRyYVRleHRNYXhXaWR0aDtcbiAgbGluZS1oZWlnaHQ6IEBleHRyYVRleHRMaW5lSGVpZ2h0O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBNZXRhXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIHtcbiAgZGlzcGxheTogQG1ldGFkYXRhRGlzcGxheTtcbiAgZm9udC1zaXplOiBAbWV0YWRhdGFGb250U2l6ZTtcbiAgbWFyZ2luOiBAbWV0YWRhdGFNYXJnaW47XG4gIGJhY2tncm91bmQ6IEBtZXRhZGF0YUJhY2tncm91bmQ7XG4gIGJvcmRlcjogQG1ldGFkYXRhQm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAbWV0YWRhdGFCb3JkZXJSYWRpdXM7XG4gIGJveC1zaGFkb3c6IEBtZXRhZGF0YUJveFNoYWRvdztcbiAgcGFkZGluZzogQG1ldGFkYXRhUGFkZGluZztcbiAgY29sb3I6IEBtZXRhZGF0YUNvbG9yO1xufVxuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IEBtZXRhZGF0YUVsZW1lbnRTcGFjaW5nO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+ICo6YWZ0ZXIge1xuICBjb250ZW50OiBAbWV0YWRhdGFEaXZpZGVyO1xuICBjb2xvcjogQG1ldGFkYXRhRGl2aWRlckNvbG9yO1xuICB0b3A6IDBlbTtcbiAgbGVmdDogQG1ldGFkYXRhRGl2aWRlck9mZnNldDtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhIC5saWtlIHtcbiAgY29sb3I6IEBsaWtlQ29sb3I7XG4gIHRyYW5zaXRpb246IEBsaWtlVHJhbnNpdGlvbjtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgLmxpa2U6aG92ZXIgLmljb24ge1xuICBjb2xvcjogQGxpa2VIb3ZlckNvbG9yO1xufVxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSAuYWN0aXZlLmxpa2UgLmljb24ge1xuICBjb2xvcjogQGxpa2VBY3RpdmVDb2xvcjtcbn1cblxuLyogRmlyc3QgZWxlbWVudCAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG4udWkuZmVlZCA+IC5ldmVudCA+IC5jb250ZW50IC5tZXRhID4gOmZpcnN0LWNoaWxkOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEFjdGlvbiAqL1xuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSBhLFxuLnVpLmZlZWQgPiAuZXZlbnQgPiAuY29udGVudCAubWV0YSA+IC5pY29uIHtcbiAgY3Vyc29yOiBAbWV0YWRhdGFBY3Rpb25DdXJzb3I7XG4gIG9wYWNpdHk6IEBtZXRhZGF0YUFjdGlvbk9wYWNpdHk7XG4gIGNvbG9yOiBAbWV0YWRhdGFBY3Rpb25Db2xvcjtcbiAgdHJhbnNpdGlvbjogQG1ldGFkYXRhQWN0aW9uVHJhbnNpdGlvbjtcbn1cbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgYTpob3Zlcixcbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgYTpob3ZlciAuaWNvbixcbi51aS5mZWVkID4gLmV2ZW50ID4gLmNvbnRlbnQgLm1ldGEgPiAuaWNvbjpob3ZlciB7XG4gIGNvbG9yOiBAbWV0YWRhdGFBY3Rpb25Ib3ZlckNvbG9yO1xufVxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5zbWFsbC5mZWVkIHtcbiAgZm9udC1zaXplOiBAc21hbGw7XG59XG4udWkuZmVlZCB7XG4gIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbi51aS5sYXJnZS5mZWVkIHtcbiAgZm9udC1zaXplOiBAbGFyZ2U7XG59XG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIEl0ZW1cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGUgICAgOiAndmlldyc7XG5AZWxlbWVudCA6ICdpdGVtJztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhbmRhcmRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEl0ZW1cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pdGVtcyA+IC5pdGVtIHtcbiAgZGlzcGxheTogQGRpc3BsYXk7XG4gIG1hcmdpbjogQGl0ZW1TcGFjaW5nIDBlbTtcbiAgd2lkdGg6IEB3aWR0aDtcbiAgbWluLWhlaWdodDogQG1pbkhlaWdodDtcbiAgYmFja2dyb3VuZDogQGJhY2tncm91bmQ7XG4gIHBhZGRpbmc6IEBwYWRkaW5nO1xuXG4gIGJvcmRlcjogQGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cztcbiAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcbiAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gIHotaW5kZXg6IEB6SW5kZXg7XG59XG4udWkuaXRlbXMgPiAuaXRlbSBhIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBJdGVtc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLml0ZW1zIHtcbiAgbWFyZ2luOiBAZ3JvdXBNYXJnaW47XG59XG5cbi51aS5pdGVtczpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDBlbSAhaW1wb3J0YW50O1xufVxuLnVpLml0ZW1zOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW0gIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSXRlbVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLml0ZW1zID4gLml0ZW06YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyAnO1xuICBoZWlnaHQ6IDBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi51aS5pdGVtcyA+IC5pdGVtOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuLnVpLml0ZW1zID4gLml0ZW06bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSW1hZ2VzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IEBpbWFnZURpc3BsYXk7XG4gIGZsb2F0OiBAaW1hZ2VGbG9hdDtcbiAgbWFyZ2luOiBAaW1hZ2VNYXJnaW47XG4gIHBhZGRpbmc6IEBpbWFnZVBhZGRpbmc7XG4gIG1heC1oZWlnaHQ6IEBpbWFnZU1heEhlaWdodDtcbiAgYWxpZ24tc2VsZjogQGltYWdlVmVydGljYWxBbGlnbjtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlID4gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1yYWRpdXM6IEBpbWFnZUJvcmRlclJhZGl1cztcbiAgYm9yZGVyOiBAaW1hZ2VCb3JkZXI7XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlOm9ubHktY2hpbGQgPiBpbWcge1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgYmFja2dyb3VuZDogQGNvbnRlbnRCYWNrZ3JvdW5kO1xuICBtYXJnaW46IEBjb250ZW50TWFyZ2luO1xuICBwYWRkaW5nOiBAY29udGVudFBhZGRpbmc7XG4gIGJveC1zaGFkb3c6IEBjb250ZW50Qm94U2hhZG93O1xuICBmb250LXNpemU6IEBjb250ZW50Rm9udFNpemU7XG4gIGJvcmRlcjogQGNvbnRlbnRCb3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEBjb250ZW50Qm9yZGVyUmFkaXVzO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnICc7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSArIC5jb250ZW50IHtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogQGNvbnRlbnRXaWR0aDtcbiAgZGlzcGxheTogQGNvbnRlbnREaXNwbGF5O1xuICBtYXJnaW4tbGVmdDogQGNvbnRlbnRPZmZzZXQ7XG4gIGFsaWduLXNlbGY6IEBjb250ZW50VmVydGljYWxBbGlnbjtcbiAgcGFkZGluZy1sZWZ0OiBAY29udGVudEltYWdlRGlzdGFuY2U7XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiAuaGVhZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IEBoZWFkZXJNYXJnaW47XG4gIGZvbnQtZmFtaWx5OiBAaGVhZGVyRm9udDtcbiAgZm9udC13ZWlnaHQ6IEBoZWFkZXJGb250V2VpZ2h0O1xuICBjb2xvcjogQGhlYWRlckNvbG9yO1xufVxuLyogRGVmYXVsdCBIZWFkZXIgU2l6ZSAqL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IEBoZWFkZXJGb250U2l6ZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGbG9hdGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaXRlbXMgPiAuaXRlbSBbY2xhc3MqPVwibGVmdCBmbG9hdGVkXCJdIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4udWkuaXRlbXMgPiAuaXRlbSBbY2xhc3MqPVwicmlnaHQgZmxvYXRlZFwiXSB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gIENvbnRlbnQgSW1hZ2Vcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pdGVtcyA+IC5pdGVtIC5jb250ZW50IGltZyB7XG4gIGFsaWduLXNlbGY6IEBjb250ZW50SW1hZ2VWZXJ0aWNhbEFsaWduO1xuICB3aWR0aDogQGNvbnRlbnRJbWFnZVdpZHRoO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gaW1nLmF2YXRhcixcbi51aS5pdGVtcyA+IC5pdGVtIC5hdmF0YXIgaW1nIHtcbiAgd2lkdGg6IEBhdmF0YXJTaXplO1xuICBoZWlnaHQ6IEBhdmF0YXJTaXplO1xuICBib3JkZXItcmFkaXVzOiBAYXZhdGFyQm9yZGVyUmFkaXVzO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIERlc2NyaXB0aW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogQGRlc2NyaXB0aW9uRGlzdGFuY2U7XG4gIG1heC13aWR0aDogQGRlc2NyaXB0aW9uTWF4V2lkdGg7XG4gIGZvbnQtc2l6ZTogQGRlc2NyaXB0aW9uRm9udFNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAZGVzY3JpcHRpb25MaW5lSGVpZ2h0O1xuICBjb2xvcjogQGRlc2NyaXB0aW9uQ29sb3I7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBQYXJhZ3JhcGhcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgcCB7XG4gIG1hcmdpbjogMGVtIDBlbSBAcGFyYWdyYXBoRGlzdGFuY2U7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IHA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTWV0YVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEge1xuICBtYXJnaW46IEBtZXRhTWFyZ2luO1xuICBmb250LXNpemU6IEBtZXRhRm9udFNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAbWV0YUxpbmVIZWlnaHQ7XG4gIGNvbG9yOiBAbWV0YUNvbG9yO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgKiB7XG4gIG1hcmdpbi1yaWdodDogQG1ldGFTcGFjaW5nO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbn1cblxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBtYXJnaW4tcmlnaHQ6IDBlbTtcbiAgbWFyZ2luLWxlZnQ6IEBtZXRhU3BhY2luZztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEdlbmVyaWMgKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgYTpub3QoLnVpKSB7XG4gIGNvbG9yOiBAY29udGVudExpbmtDb2xvcjtcbiAgdHJhbnNpdGlvbjogQGNvbnRlbnRMaW5rVHJhbnNpdGlvbjtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgYTpub3QoLnVpKTpob3ZlciB7XG4gIGNvbG9yOiBAY29udGVudExpbmtIb3ZlckNvbG9yO1xufVxuXG4vKiBIZWFkZXIgKi9cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgPiBhLmhlYWRlciB7XG4gIGNvbG9yOiBAaGVhZGVyTGlua0NvbG9yO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCA+IGEuaGVhZGVyOmhvdmVyIHtcbiAgY29sb3I6IEBoZWFkZXJMaW5rSG92ZXJDb2xvcjtcbn1cblxuLyogTWV0YSAqL1xuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgPiBhOm5vdCgudWkpIHtcbiAgY29sb3I6IEBtZXRhTGlua0NvbG9yO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLm1ldGEgPiBhOm5vdCgudWkpOmhvdmVyIHtcbiAgY29sb3I6IEBtZXRhTGlua0hvdmVyQ29sb3I7XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIExhYmVsc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyotLS0tLVN0YXItLS0tLSAqL1xuXG4vKiBJY29uICovXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5mYXZvcml0ZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiBAYWN0aW9uT3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogQGFjdGlvblRyYW5zaXRpb247XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5mYXZvcml0ZS5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogQGFjdGlvbkhvdmVyT3BhY2l0eTtcbiAgY29sb3I6IEBmYXZvcml0ZUNvbG9yO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAuYWN0aXZlLmZhdm9yaXRlLmljb24ge1xuICBjb2xvcjogQGZhdm9yaXRlQWN0aXZlQ29sb3I7XG59XG5cbi8qLS0tLS1MaWtlLS0tLS0gKi9cblxuLyogSWNvbiAqL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuY29udGVudCAubGlrZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiBAYWN0aW9uT3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogQGFjdGlvblRyYW5zaXRpb247XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5jb250ZW50IC5saWtlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiBAYWN0aW9uSG92ZXJPcGFjaXR5O1xuICBjb2xvcjogQGxpa2VDb2xvcjtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmNvbnRlbnQgLmFjdGl2ZS5saWtlLmljb24ge1xuICBjb2xvcjogQGxpa2VBY3RpdmVDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tXG4gIEV4dHJhIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLml0ZW1zID4gLml0ZW0gLmV4dHJhIHtcbiAgZGlzcGxheTogQGV4dHJhRGlzcGxheTtcbiAgcG9zaXRpb246IEBleHRyYVBvc2l0aW9uO1xuICBiYWNrZ3JvdW5kOiBAZXh0cmFCYWNrZ3JvdW5kO1xuICBtYXJnaW46IEBleHRyYU1hcmdpbjtcbiAgd2lkdGg6IEBleHRyYVdpZHRoO1xuICBwYWRkaW5nOiBAZXh0cmFQYWRkaW5nO1xuICB0b3A6IEBleHRyYVRvcDtcbiAgbGVmdDogQGV4dHJhTGVmdDtcbiAgY29sb3I6IEBleHRyYUNvbG9yO1xuICBib3gtc2hhZG93OiBAZXh0cmFCb3hTaGFkb3c7XG4gIHRyYW5zaXRpb246IEBleHRyYVRyYW5zaXRpb247XG4gIGJvcmRlci10b3A6IEBleHRyYURpdmlkZXI7XG59XG4udWkuaXRlbXMgPiAuaXRlbSAuZXh0cmEgPiAqIHtcbiAgbWFyZ2luOiAoQGV4dHJhUm93U3BhY2luZyAvIDIpIEBleHRyYUhvcml6b250YWxTcGFjaW5nIChAZXh0cmFSb3dTcGFjaW5nIC8gMikgMGVtO1xufVxuLnVpLml0ZW1zID4gLml0ZW0gLmV4dHJhID4gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBtYXJnaW46IChAZXh0cmFSb3dTcGFjaW5nIC8gMikgMGVtIChAZXh0cmFSb3dTcGFjaW5nIC8gMikgQGV4dHJhSG9yaXpvbnRhbFNwYWNpbmc7XG59XG5cbi51aS5pdGVtcyA+IC5pdGVtIC5leHRyYTphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnICc7XG4gIGhlaWdodDogMHB4O1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgUmVzcG9uc2l2ZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogRGVmYXVsdCBJbWFnZSBXaWR0aCAqL1xuLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2U6bm90KC51aSkge1xuICB3aWR0aDogQGltYWdlV2lkdGg7XG59XG5cblxuLyogVGFibGV0IE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIGFuZCAobWF4LXdpZHRoOiBAbGFyZ2VzdFRhYmxldFNjcmVlbikge1xuICAudWkuaXRlbXMgPiAuaXRlbSB7XG4gICAgbWFyZ2luOiBAdGFibGV0SXRlbVNwYWNpbmcgMGVtO1xuICB9XG4gIC51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlOm5vdCgudWkpIHtcbiAgICB3aWR0aDogQHRhYmxldEltYWdlV2lkdGg7XG4gIH1cbiAgLnVpLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UgKyAuY29udGVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMGVtIDBlbSAwZW0gQHRhYmxldENvbnRlbnRJbWFnZURpc3RhbmNlO1xuICB9XG5cbn1cblxuLyogTW9iaWxlIE9ubHkgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgLnVpLml0ZW1zOm5vdCgudW5zdGFja2FibGUpID4gLml0ZW0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBAbW9iaWxlSXRlbVNwYWNpbmcgMGVtO1xuICB9XG4gIC51aS5pdGVtczpub3QoLnVuc3RhY2thYmxlKSA+IC5pdGVtID4gLmltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLnVpLml0ZW1zOm5vdCgudW5zdGFja2FibGUpID4gLml0ZW0gPiAuaW1hZ2UsXG4gIC51aS5pdGVtczpub3QoLnVuc3RhY2thYmxlKSA+IC5pdGVtID4gLmltYWdlID4gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogQG1vYmlsZUltYWdlV2lkdGggIWltcG9ydGFudDtcbiAgICBtYXgtaGVpZ2h0OiBAbW9iaWxlSW1hZ2VNYXhIZWlnaHQgIWltcG9ydGFudDtcbiAgfVxuICAudWkuaXRlbXM6bm90KC51bnN0YWNrYWJsZSkgPiAuaXRlbSA+IC5pbWFnZSArIC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBAbW9iaWxlQ29udGVudEltYWdlRGlzdGFuY2UgMGVtIDBlbTtcbiAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgQWxpZ25lZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSArIFtjbGFzcyo9XCJ0b3AgYWxpZ25lZFwiXS5jb250ZW50IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi51aS5pdGVtcyA+IC5pdGVtID4gLmltYWdlICsgW2NsYXNzKj1cIm1pZGRsZSBhbGlnbmVkXCJdLmNvbnRlbnQge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4udWkuaXRlbXMgPiAuaXRlbSA+IC5pbWFnZSArIFtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5jb250ZW50IHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBSZWxheGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucmVsYXhlZC5pdGVtcyA+IC5pdGVtIHtcbiAgbWFyZ2luOiBAcmVsYXhlZEl0ZW1TcGFjaW5nIDBlbTtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHJlbGF4ZWRcIl0uaXRlbXMgPiAuaXRlbSB7XG4gIG1hcmdpbjogQHZlcnlSZWxheGVkSXRlbVNwYWNpbmcgMGVtO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRGl2aWRlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZGl2aWRlZC5pdGVtcyA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogQGRpdmlkZWRCb3JkZXI7XG4gIG1hcmdpbjogQGRpdmlkZWRNYXJnaW47XG4gIHBhZGRpbmc6IEBkaXZpZGVkUGFkZGluZztcbn1cbi51aS5kaXZpZGVkLml0ZW1zID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xuICBtYXJnaW4tdG9wOiBAZGl2aWRlZEZpcnN0TGFzdE1hcmdpbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogQGRpdmlkZWRGaXJzdExhc3RQYWRkaW5nICFpbXBvcnRhbnQ7XG59XG4udWkuZGl2aWRlZC5pdGVtcyA+IC5pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiBAZGl2aWRlZEZpcnN0TGFzdE1hcmdpbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogQGRpdmlkZWRGaXJzdExhc3RQYWRkaW5nICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJlbGF4ZWQgRGl2aWRlZCAqL1xuLnVpLnJlbGF4ZWQuZGl2aWRlZC5pdGVtcyA+IC5pdGVtIHtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IEByZWxheGVkSXRlbVNwYWNpbmcgMGVtO1xufVxuLnVpW2NsYXNzKj1cInZlcnkgcmVsYXhlZFwiXS5kaXZpZGVkLml0ZW1zID4gLml0ZW0ge1xuICBtYXJnaW46IDBlbTtcbiAgcGFkZGluZzogQHZlcnlSZWxheGVkSXRlbVNwYWNpbmcgMGVtO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBMaW5rXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pdGVtcyBhLml0ZW06aG92ZXIsXG4udWkubGluay5pdGVtcyA+IC5pdGVtOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWkuaXRlbXMgYS5pdGVtOmhvdmVyIC5jb250ZW50IC5oZWFkZXIsXG4udWkubGluay5pdGVtcyA+IC5pdGVtOmhvdmVyIC5jb250ZW50IC5oZWFkZXIge1xuICBjb2xvcjogQGhlYWRlckxpbmtIb3ZlckNvbG9yO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pdGVtcyA+IC5pdGVtIHtcbiAgZm9udC1zaXplOiBAcmVsYXRpdmVNZWRpdW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tXG4gICBVbnN0YWNrYWJsZVxuLS0tLS0tLS0tLS0tLS0tLSovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgLnVpLnVuc3RhY2thYmxlLml0ZW1zID4gLml0ZW0gPiAuaW1hZ2UsXG4gIC51aS51bnN0YWNrYWJsZS5pdGVtcyA+IC5pdGVtID4gLmltYWdlID4gaW1nIHtcbiAgICB3aWR0aDogQHVuc3RhY2thYmxlTW9iaWxlSW1hZ2VXaWR0aCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIFN0YXRpc3RpY1xuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICd2aWV3JztcbkBlbGVtZW50IDogJ3N0YXRpc3RpYyc7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgU3RhdGlzdGljXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBTdGFuZGFsb25lICovXG4udWkuc3RhdGlzdGljIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogQG1hcmdpbjtcbiAgbWF4LXdpZHRoOiBAbWF4V2lkdGg7XG59XG5cbi51aS5zdGF0aXN0aWMgKyAudWkuc3RhdGlzdGljIHtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSBAaG9yaXpvbnRhbFNwYWNpbmc7XG59XG5cbi51aS5zdGF0aXN0aWM6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwZW07XG59XG4udWkuc3RhdGlzdGljOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwZW07XG59XG5cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgR3JvdXBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEdyb3VwZWQgKi9cbi51aS5zdGF0aXN0aWNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi51aS5zdGF0aXN0aWNzID4gLnN0YXRpc3RpYyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiBAZWxlbWVudE1hcmdpbjtcbiAgbWF4LXdpZHRoOiBAZWxlbWVudE1heFdpZHRoO1xufVxuLnVpLnN0YXRpc3RpY3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IEBncm91cE1hcmdpbjtcbn1cblxuLyogQ2xlYXJpbmcgKi9cbi51aS5zdGF0aXN0aWNzOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcgJztcbiAgaGVpZ2h0OiAwcHg7XG4gIGNsZWFyOiBib3RoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51aS5zdGF0aXN0aWNzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMGVtO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb250ZW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFZhbHVlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiBAdmFsdWVGb250O1xuICBmb250LXNpemU6IEB2YWx1ZVNpemU7XG4gIGZvbnQtd2VpZ2h0OiBAdmFsdWVGb250V2VpZ2h0O1xuICBsaW5lLWhlaWdodDogQHZhbHVlTGluZUhlaWdodDtcbiAgY29sb3I6IEB2YWx1ZUNvbG9yO1xuICB0ZXh0LXRyYW5zZm9ybTogQHZhbHVlVGV4dFRyYW5zZm9ybTtcbiAgdGV4dC1hbGlnbjogQHRleHRBbGlnbjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBMYWJlbFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC5sYWJlbCxcbi51aS5zdGF0aXN0aWMgPiAubGFiZWwge1xuICBmb250LWZhbWlseTogQGxhYmVsRm9udDtcbiAgZm9udC1zaXplOiBAbGFiZWxTaXplO1xuICBmb250LXdlaWdodDogQGxhYmVsRm9udFdlaWdodDtcbiAgY29sb3I6IEBsYWJlbENvbG9yO1xuICB0ZXh0LXRyYW5zZm9ybTogQGxhYmVsVGV4dFRyYW5zZm9ybTtcbiAgdGV4dC1hbGlnbjogQHRleHRBbGlnbjtcbn1cblxuLyogVG9wIExhYmVsICovXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLmxhYmVsIH4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC5sYWJlbCB+IC52YWx1ZSB7XG4gIG1hcmdpbi10b3A6IEB0b3BMYWJlbERpc3RhbmNlO1xufVxuXG4vKiBCb3R0b20gTGFiZWwgKi9cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgfiAubGFiZWwsXG4udWkuc3RhdGlzdGljID4gLnZhbHVlIH4gLmxhYmVsIHtcbiAgbWFyZ2luLXRvcDogQGJvdHRvbUxhYmVsRGlzdGFuY2U7XG59XG5cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBJY29uIFZhbHVlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlIC5pY29uLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSAuaWNvbiB7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgVGV4dCBWYWx1ZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgbGluZS1oZWlnaHQ6IEB0ZXh0VmFsdWVMaW5lSGVpZ2h0O1xuICBtaW4taGVpZ2h0OiBAdGV4dFZhbHVlTWluSGVpZ2h0O1xuICBmb250LXdlaWdodDogQHRleHRWYWx1ZUZvbnRXZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSArIC5sYWJlbCxcbi51aS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSArIC5sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgSW1hZ2UgVmFsdWVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgaW1nLFxuLnVpLnN0YXRpc3RpYyA+IC52YWx1ZSBpbWcge1xuICBtYXgtaGVpZ2h0OiBAaW1hZ2VIZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiBAaW1hZ2VWZXJ0aWNhbEFsaWduO1xufVxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgQ291bnRcbi0tLS0tLS0tLS0tLS0tLSovXG5cblxuLnVpLnRlbi5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiBAaXRlbUdyb3VwTWFyZ2luO1xufVxuLnVpLnRlbi5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IEB0ZW5Db2x1bW47XG4gIG1hcmdpbjogQGl0ZW1NYXJnaW47XG59XG5cbi51aS5uaW5lLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IEBpdGVtR3JvdXBNYXJnaW47XG59XG4udWkubmluZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IEBuaW5lQ29sdW1uO1xuICBtYXJnaW46IEBpdGVtTWFyZ2luO1xufVxuXG4udWkuZWlnaHQuc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogQGl0ZW1Hcm91cE1hcmdpbjtcbn1cbi51aS5laWdodC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IEBlaWdodENvbHVtbjtcbiAgbWFyZ2luOiBAaXRlbU1hcmdpbjtcbn1cblxuLnVpLnNldmVuLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IEBpdGVtR3JvdXBNYXJnaW47XG59XG4udWkuc2V2ZW4uc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiBAc2V2ZW5Db2x1bW47XG4gIG1hcmdpbjogQGl0ZW1NYXJnaW47XG59XG5cbi51aS5zaXguc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogQGl0ZW1Hcm91cE1hcmdpbjtcbn1cbi51aS5zaXguc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiBAc2l4Q29sdW1uO1xuICBtYXJnaW46IEBpdGVtTWFyZ2luO1xufVxuXG4udWkuZml2ZS5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiBAaXRlbUdyb3VwTWFyZ2luO1xufVxuLnVpLmZpdmUuc3RhdGlzdGljcyAuc3RhdGlzdGljIHtcbiAgbWluLXdpZHRoOiBAZml2ZUNvbHVtbjtcbiAgbWFyZ2luOiBAaXRlbU1hcmdpbjtcbn1cblxuLnVpLmZvdXIuc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogQGl0ZW1Hcm91cE1hcmdpbjtcbn1cbi51aS5mb3VyLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogQGZvdXJDb2x1bW47XG4gIG1hcmdpbjogQGl0ZW1NYXJnaW47XG59XG5cbi51aS50aHJlZS5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiBAaXRlbUdyb3VwTWFyZ2luO1xufVxuLnVpLnRocmVlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogQHRocmVlQ29sdW1uO1xuICBtYXJnaW46IEBpdGVtTWFyZ2luO1xufVxuXG4udWkudHdvLnN0YXRpc3RpY3Mge1xuICBtYXJnaW46IEBpdGVtR3JvdXBNYXJnaW47XG59XG4udWkudHdvLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIG1pbi13aWR0aDogQHR3b0NvbHVtbjtcbiAgbWFyZ2luOiBAaXRlbU1hcmdpbjtcbn1cblxuLnVpLm9uZS5zdGF0aXN0aWNzIHtcbiAgbWFyZ2luOiBAaXRlbUdyb3VwTWFyZ2luO1xufVxuLnVpLm9uZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtaW4td2lkdGg6IEBvbmVDb2x1bW47XG4gIG1hcmdpbjogQGl0ZW1NYXJnaW47XG59XG5cblxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEhvcml6b250YWxcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwZW07XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luOiBAaG9yaXpvbnRhbEdyb3VwRWxlbWVudE1hcmdpbjtcbn1cblxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzID4gLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgbWluLWhlaWdodDogMGVtICFpbXBvcnRhbnQ7XG59XG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUgLmljb24sXG4udWkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUgLmljb24ge1xuICB3aWR0aDogQGljb25XaWR0aDtcbn1cblxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLmxhYmVsLFxuLnVpLmhvcml6b250YWwuc3RhdGlzdGljID4gLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIEBob3Jpem9udGFsTGFiZWxEaXN0YW5jZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5yZWQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnJlZC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkucmVkLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiBAcmVkO1xufVxuLnVpLm9yYW5nZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAub3JhbmdlLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5vcmFuZ2Uuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6IEBvcmFuZ2U7XG59XG4udWkueWVsbG93LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC55ZWxsb3cuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnllbGxvdy5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogQHllbGxvdztcbn1cbi51aS5vbGl2ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAub2xpdmUuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLm9saXZlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiBAb2xpdmU7XG59XG4udWkuZ3JlZW4uc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmdyZWVuLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5ncmVlbi5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogQGdyZWVuO1xufVxuLnVpLnRlYWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLnRlYWwuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnRlYWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6IEB0ZWFsO1xufVxuLnVpLmJsdWUuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmJsdWUuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmJsdWUuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6IEBibHVlO1xufVxuLnVpLnZpb2xldC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAudmlvbGV0LnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS52aW9sZXQuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6IEB2aW9sZXQ7XG59XG4udWkucHVycGxlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5wdXJwbGUuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnB1cnBsZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogQHB1cnBsZTtcbn1cbi51aS5waW5rLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5waW5rLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5waW5rLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiBAcGluaztcbn1cbi51aS5icm93bi5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuYnJvd24uc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmJyb3duLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiBAYnJvd247XG59XG4udWkuZ3JleS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuZ3JleS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuZ3JleS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogQGdyZXk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBJbnZlcnRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmludmVydGVkLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5zdGF0aXN0aWMgLnZhbHVlIHtcbiAgY29sb3I6IEBpbnZlcnRlZFZhbHVlQ29sb3I7XG59XG4udWkuaW52ZXJ0ZWQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLmxhYmVsLFxuLnVpLmludmVydGVkLnN0YXRpc3RpYyAubGFiZWwge1xuICBjb2xvcjogQGludmVydGVkTGFiZWxDb2xvcjtcbn1cblxuLnVpLmludmVydGVkLnJlZC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQucmVkLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5yZWQuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6IEBsaWdodFJlZDtcbn1cbi51aS5pbnZlcnRlZC5vcmFuZ2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLm9yYW5nZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQub3JhbmdlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiBAbGlnaHRPcmFuZ2U7XG59XG4udWkuaW52ZXJ0ZWQueWVsbG93LnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC55ZWxsb3cuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnllbGxvdy5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogQGxpZ2h0WWVsbG93O1xufVxuLnVpLmludmVydGVkLm9saXZlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5vbGl2ZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQub2xpdmUuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6IEBsaWdodE9saXZlO1xufVxuLnVpLmludmVydGVkLmdyZWVuLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5ncmVlbi5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuZ3JlZW4uc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6IEBsaWdodEdyZWVuO1xufVxuLnVpLmludmVydGVkLnRlYWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnRlYWwuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnRlYWwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6IEBsaWdodFRlYWw7XG59XG4udWkuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuYmx1ZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogQGxpZ2h0Qmx1ZTtcbn1cbi51aS5pbnZlcnRlZC52aW9sZXQuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnZpb2xldC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQudmlvbGV0LnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGNvbG9yOiBAbGlnaHRWaW9sZXQ7XG59XG4udWkuaW52ZXJ0ZWQucHVycGxlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWNzIC5pbnZlcnRlZC5wdXJwbGUuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnB1cnBsZS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogQGxpZ2h0UHVycGxlO1xufVxuLnVpLmludmVydGVkLnBpbmsuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLnBpbmsuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmludmVydGVkLnBpbmsuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgY29sb3I6IEBsaWdodFBpbms7XG59XG4udWkuaW52ZXJ0ZWQuYnJvd24uc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnN0YXRpc3RpY3MgLmludmVydGVkLmJyb3duLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5pbnZlcnRlZC5icm93bi5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogQGxpZ2h0QnJvd247XG59XG4udWkuaW52ZXJ0ZWQuZ3JleS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc3RhdGlzdGljcyAuaW52ZXJ0ZWQuZ3JleS5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuaW52ZXJ0ZWQuZ3JleS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBjb2xvcjogQGxpZ2h0R3JleTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEZsb2F0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aVtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0uc3RhdGlzdGljIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogQGxlZnRGbG9hdGVkTWFyZ2luO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0uc3RhdGlzdGljIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IEByaWdodEZsb2F0ZWRNYXJnaW47XG59XG4udWkuZmxvYXRlZC5zdGF0aXN0aWM6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDBlbTtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8qIE1pbmkgKi9cbi51aS5taW5pLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5taW5pLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogQG1pbmlWYWx1ZVNpemUgIWltcG9ydGFudDtcbn1cbi51aS5taW5pLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLm1pbmkuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IEBtaW5pSG9yaXpvbnRhbFZhbHVlU2l6ZSAhaW1wb3J0YW50O1xufVxuLnVpLm1pbmkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkubWluaS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogQG1pbmlUZXh0VmFsdWVTaXplICFpbXBvcnRhbnQ7XG59XG5cblxuLyogVGlueSAqL1xuLnVpLnRpbnkuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLnRpbnkuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiBAdGlueVZhbHVlU2l6ZSAhaW1wb3J0YW50O1xufVxuLnVpLnRpbnkuaG9yaXpvbnRhbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkudGlueS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogQHRpbnlIb3Jpem9udGFsVmFsdWVTaXplICFpbXBvcnRhbnQ7XG59XG4udWkudGlueS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS50aW55LnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgZm9udC1zaXplOiBAdGlueVRleHRWYWx1ZVNpemUgIWltcG9ydGFudDtcbn1cblxuLyogU21hbGwgKi9cbi51aS5zbWFsbC5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkuc21hbGwuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiBAc21hbGxWYWx1ZVNpemUgIWltcG9ydGFudDtcbn1cbi51aS5zbWFsbC5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zbWFsbC5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogQHNtYWxsSG9yaXpvbnRhbFZhbHVlU2l6ZSAhaW1wb3J0YW50O1xufVxuLnVpLnNtYWxsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLnNtYWxsLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgZm9udC1zaXplOiBAc21hbGxUZXh0VmFsdWVTaXplICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1lZGl1bSAqL1xuLnVpLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IEB2YWx1ZVNpemUgIWltcG9ydGFudDtcbn1cbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogQGhvcml6b250YWxWYWx1ZVNpemUgIWltcG9ydGFudDtcbn1cbi51aS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSxcbi51aS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogQHRleHRWYWx1ZVNpemUgIWltcG9ydGFudDtcbn1cblxuLyogTGFyZ2UgKi9cbi51aS5sYXJnZS5zdGF0aXN0aWNzIC5zdGF0aXN0aWMgPiAudmFsdWUsXG4udWkubGFyZ2Uuc3RhdGlzdGljID4gLnZhbHVlIHtcbiAgZm9udC1zaXplOiBAbGFyZ2VWYWx1ZVNpemUgIWltcG9ydGFudDtcbn1cbi51aS5sYXJnZS5ob3Jpem9udGFsLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5sYXJnZS5ob3Jpem9udGFsLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogQGxhcmdlSG9yaXpvbnRhbFZhbHVlU2l6ZSAhaW1wb3J0YW50O1xufVxuLnVpLmxhcmdlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlLFxuLnVpLmxhcmdlLnN0YXRpc3RpYyA+IC50ZXh0LnZhbHVlIHtcbiAgZm9udC1zaXplOiBAbGFyZ2VUZXh0VmFsdWVTaXplICFpbXBvcnRhbnQ7XG59XG5cbi8qIEh1Z2UgKi9cbi51aS5odWdlLnN0YXRpc3RpY3MgLnN0YXRpc3RpYyA+IC52YWx1ZSxcbi51aS5odWdlLnN0YXRpc3RpYyA+IC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogQGh1Z2VWYWx1ZVNpemUgIWltcG9ydGFudDtcbn1cbi51aS5odWdlLmhvcml6b250YWwuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnZhbHVlLFxuLnVpLmh1Z2UuaG9yaXpvbnRhbC5zdGF0aXN0aWMgPiAudmFsdWUge1xuICBmb250LXNpemU6IEBodWdlSG9yaXpvbnRhbFZhbHVlU2l6ZSAhaW1wb3J0YW50O1xufVxuLnVpLmh1Z2Uuc3RhdGlzdGljcyAuc3RhdGlzdGljID4gLnRleHQudmFsdWUsXG4udWkuaHVnZS5zdGF0aXN0aWMgPiAudGV4dC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogQGh1Z2VUZXh0VmFsdWVTaXplICFpbXBvcnRhbnQ7XG59XG5cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyohXHJcbiAqICMgU2VtYW50aWMgVUkgLSBBY2NvcmRpb25cclxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xyXG4gKlxyXG4gKlxyXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcclxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxyXG4gKlxyXG4gKi9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgIFRoZW1lXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5AdHlwZSAgICA6ICdtb2R1bGUnO1xyXG5AZWxlbWVudCA6ICdhY2NvcmRpb24nO1xyXG5cclxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuICAgICAgICAgICAgQWNjb3JkaW9uXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4udWkuYWNjb3JkaW9uLFxyXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxufVxyXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xyXG4gIG1hcmdpbjogQGNoaWxkQWNjb3JkaW9uTWFyZ2luO1xyXG4gIHBhZGRpbmc6IEBjaGlsZEFjY29yZGlvblBhZGRpbmc7XHJcbn1cclxuXHJcbi8qIFRpdGxlICovXHJcbi51aS5hY2NvcmRpb24gLnRpdGxlLFxyXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8qIERlZmF1bHQgU3R5bGluZyAqL1xyXG4udWkuYWNjb3JkaW9uIC50aXRsZTpub3QoLnVpKSB7XHJcbiAgcGFkZGluZzogQHRpdGxlUGFkZGluZztcclxuICBmb250LWZhbWlseTogQHRpdGxlRm9udDtcclxuICBmb250LXNpemU6IEB0aXRsZUZvbnRTaXplO1xyXG4gIGNvbG9yOiBAdGl0bGVDb2xvcjtcclxufVxyXG5cclxuLyogQ29udGVudCAqL1xyXG4udWkuYWNjb3JkaW9uIC50aXRsZSB+IC5jb250ZW50LFxyXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlIH4gLmNvbnRlbnQge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIERlZmF1bHQgU3R5bGluZyAqL1xyXG4udWkuYWNjb3JkaW9uOm5vdCguc3R5bGVkKSAudGl0bGUgfiAuY29udGVudDpub3QoLnVpKSxcclxuLnVpLmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLmFjY29yZGlvbiAudGl0bGUgfiAuY29udGVudDpub3QoLnVpKSB7XHJcbiAgbWFyZ2luOiBAY29udGVudE1hcmdpbjtcclxuICBwYWRkaW5nOiBAY29udGVudFBhZGRpbmc7XHJcbn1cclxuLnVpLmFjY29yZGlvbjpub3QoLnN0eWxlZCkgLnRpdGxlIH4gLmNvbnRlbnQ6bm90KC51aSk6bGFzdC1jaGlsZCB7XHJcbiAgcGFkZGluZy1ib3R0b206IDBlbTtcclxufVxyXG5cclxuLyogQXJyb3cgKi9cclxuLnVpLmFjY29yZGlvbiAudGl0bGUgLmRyb3Bkb3duLmljb24sXHJcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGUgLmRyb3Bkb3duLmljb24ge1xyXG4gIGRpc3BsYXk6IEBpY29uRGlzcGxheTtcclxuICBmbG9hdDogQGljb25GbG9hdDtcclxuICBvcGFjaXR5OiBAaWNvbk9wYWNpdHk7XHJcbiAgd2lkdGg6IEBpY29uV2lkdGg7XHJcbiAgaGVpZ2h0OiBAaWNvbkhlaWdodDtcclxuICBtYXJnaW46IEBpY29uTWFyZ2luO1xyXG4gIHBhZGRpbmc6IEBpY29uUGFkZGluZztcclxuICBmb250LXNpemU6IEBpY29uRm9udFNpemU7XHJcbiAgdHJhbnNpdGlvbjogQGljb25UcmFuc2l0aW9uO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBAaWNvblZlcnRpY2FsQWxpZ247XHJcbiAgdHJhbnNmb3JtOiBAaWNvblRyYW5zZm9ybTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgQ291cGxpbmdcclxuLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi8qIE1lbnUgKi9cclxuLnVpLmFjY29yZGlvbi5tZW51IC5pdGVtIC50aXRsZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogQG1lbnVUaXRsZVBhZGRpbmc7XHJcbn1cclxuLnVpLmFjY29yZGlvbi5tZW51IC5pdGVtIC50aXRsZSA+IC5kcm9wZG93bi5pY29uIHtcclxuICBmbG9hdDogQG1lbnVJY29uRmxvYXQ7XHJcbiAgbWFyZ2luOiBAbWVudUljb25NYXJnaW47XHJcbiAgdHJhbnNmb3JtOiBAbWVudUljb25UcmFuc2Zvcm07XHJcbn1cclxuXHJcbi8qIEhlYWRlciAqL1xyXG4udWkuYWNjb3JkaW9uIC51aS5oZWFkZXIgLmRyb3Bkb3duLmljb24ge1xyXG4gIGZvbnQtc2l6ZTogQGljb25Gb250U2l6ZTtcclxuICBtYXJnaW46IEBpY29uTWFyZ2luO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgICBTdGF0ZXNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi51aS5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSAuZHJvcGRvd24uaWNvbixcclxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUgLmRyb3Bkb3duLmljb24ge1xyXG4gIHRyYW5zZm9ybTogQGFjdGl2ZUljb25UcmFuc2Zvcm07XHJcbn1cclxuXHJcbi51aS5hY2NvcmRpb24ubWVudSAuaXRlbSAuYWN0aXZlLnRpdGxlID4gLmRyb3Bkb3duLmljb24ge1xyXG4gIHRyYW5zZm9ybTogQGFjdGl2ZUljb25UcmFuc2Zvcm07XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgIFR5cGVzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tXHJcbiAgICAgU3R5bGVkXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuc3R5bGVkLmFjY29yZGlvbiB7XHJcbiAgd2lkdGg6IEBzdHlsZWRXaWR0aDtcclxufVxyXG5cclxuLnVpLnN0eWxlZC5hY2NvcmRpb24sXHJcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24ge1xyXG4gIGJvcmRlci1yYWRpdXM6IEBzdHlsZWRCb3JkZXJSYWRpdXM7XHJcbiAgYmFja2dyb3VuZDogQHN0eWxlZEJhY2tncm91bmQ7XHJcbiAgYm94LXNoYWRvdzogQHN0eWxlZEJveFNoYWRvdztcclxufVxyXG4udWkuc3R5bGVkLmFjY29yZGlvbiAudGl0bGUsXHJcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlIHtcclxuICBtYXJnaW46IEBzdHlsZWRUaXRsZU1hcmdpbjtcclxuICBwYWRkaW5nOiBAc3R5bGVkVGl0bGVQYWRkaW5nO1xyXG4gIGNvbG9yOiBAc3R5bGVkVGl0bGVDb2xvcjtcclxuICBmb250LXdlaWdodDogQHN0eWxlZFRpdGxlRm9udFdlaWdodDtcclxuICBib3JkZXItdG9wOiBAc3R5bGVkVGl0bGVCb3JkZXI7XHJcbiAgdHJhbnNpdGlvbjogQHN0eWxlZFRpdGxlVHJhbnNpdGlvbjtcclxufVxyXG4udWkuc3R5bGVkLmFjY29yZGlvbiA+IC50aXRsZTpmaXJzdC1jaGlsZCxcclxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGU6Zmlyc3QtY2hpbGQge1xyXG4gIGJvcmRlci10b3A6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKiBDb250ZW50ICovXHJcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5jb250ZW50LFxyXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5jb250ZW50IHtcclxuICBtYXJnaW46IEBzdHlsZWRDb250ZW50TWFyZ2luO1xyXG4gIHBhZGRpbmc6IEBzdHlsZWRDb250ZW50UGFkZGluZztcclxufVxyXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5jb250ZW50IHtcclxuICBwYWRkaW5nOiBAc3R5bGVkQ2hpbGRDb250ZW50TWFyZ2luO1xyXG4gIHBhZGRpbmc6IEBzdHlsZWRDaGlsZENvbnRlbnRQYWRkaW5nO1xyXG59XHJcblxyXG5cclxuLyogSG92ZXIgKi9cclxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLnRpdGxlOmhvdmVyLFxyXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlLFxyXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZTpob3ZlcixcclxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcclxuICBiYWNrZ3JvdW5kOiBAc3R5bGVkVGl0bGVIb3ZlckJhY2tncm91bmQ7XHJcbiAgY29sb3I6IEBzdHlsZWRUaXRsZUhvdmVyQ29sb3I7XHJcbn1cclxuLnVpLnN0eWxlZC5hY2NvcmRpb24gLmFjY29yZGlvbiAudGl0bGU6aG92ZXIsXHJcbi51aS5zdHlsZWQuYWNjb3JkaW9uIC5hY2NvcmRpb24gLmFjdGl2ZS50aXRsZSB7XHJcbiAgYmFja2dyb3VuZDogQHN0eWxlZEhvdmVyQ2hpbGRUaXRsZUJhY2tncm91bmQ7XHJcbiAgY29sb3I6IEBzdHlsZWRIb3ZlckNoaWxkVGl0bGVDb2xvcjtcclxufVxyXG5cclxuXHJcbi8qIEFjdGl2ZSAqL1xyXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWN0aXZlLnRpdGxlIHtcclxuICBiYWNrZ3JvdW5kOiBAc3R5bGVkQWN0aXZlVGl0bGVCYWNrZ3JvdW5kO1xyXG4gIGNvbG9yOiBAc3R5bGVkQWN0aXZlVGl0bGVDb2xvcjtcclxufVxyXG4udWkuc3R5bGVkLmFjY29yZGlvbiAuYWNjb3JkaW9uIC5hY3RpdmUudGl0bGUge1xyXG4gIGJhY2tncm91bmQ6IEBzdHlsZWRBY3RpdmVDaGlsZFRpdGxlQmFja2dyb3VuZDtcclxuICBjb2xvcjogQHN0eWxlZEFjdGl2ZUNoaWxkVGl0bGVDb2xvcjtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiAgICAgICAgICAgIFN0YXRlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgIEFjdGl2ZVxyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLmFjY29yZGlvbiAuYWN0aXZlLmNvbnRlbnQsXHJcbi51aS5hY2NvcmRpb24gLmFjY29yZGlvbiAuYWN0aXZlLmNvbnRlbnQge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4gICAgICAgICAgIFZhcmlhdGlvbnNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS1cclxuICAgICBGbHVpZFxyXG4tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnVpLmZsdWlkLmFjY29yZGlvbixcclxuLnVpLmZsdWlkLmFjY29yZGlvbiAuYWNjb3JkaW9uIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLVxyXG4gICAgIEludmVydGVkXHJcbi0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udWkuaW52ZXJ0ZWQuYWNjb3JkaW9uIC50aXRsZTpub3QoLnVpKSB7XHJcbiAgY29sb3I6IEBpbnZlcnRlZFRpdGxlQ29sb3I7XHJcbn1cclxuXHJcbi5sb2FkVUlPdmVycmlkZXMoKTtcclxuXHJcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdBY2NvcmRpb24nO1xuICBzcmM6XG4gICAgdXJsKGRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nZ2pCNUFBQUFDOEFBQUFZR050WVhBUGZPSUtBQUFCSEFBQUFFeG5ZWE53QUFBQUVBQUFBV2dBQUFBSVoyeDVacnlqNkhnQUFBRndBQUFBeUdobFlXVC8wSWhIQUFBQ09BQUFBRFpvYUdWaEFwa0I1d0FBQW5BQUFBQWthRzEwZUFKdUFCSUFBQUtVQUFBQUdHeHZZMkVBakFCV0FBQUNyQUFBQUE1dFlYaHdBQWdBRmdBQUFyd0FBQUFnYm1GdFpmQzFuMDRBQUFMY0FBQUJQSEJ2YzNRQUF3QUFBQUFFR0FBQUFDQUFBd0lBQVpBQUJRQUFBVXdCWmdBQUFFY0JUQUZtQUFBQTlRQVpBSVFBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQUR3MmdIZy8rRC80QUhnQUNBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQUNBQUFBQXdBQUFCUUFBd0FCQUFBQUZBQUVBRGdBQUFBS0FBZ0FBZ0FDQUFFQUlQRGEvLzMvL3dBQUFBQUFJUERaLy8zLy93QUIvK01QS3dBREFBRUFBQUFBQUFBQUFBQUFBQUVBQWYvL0FBOEFBUUFBQUFBQUFBQUFBQUlBQURjNUFRQUFBQUFCQUFBQUFBQUFBQUFBQWdBQU56a0JBQUFBQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQVNBRWtBdHdGdUFCTUFBRGMwUHdFMkZ6WVhGaDBCRkFjR0p3WXZBU1kxRWdhQUJRZ0hCUVlHQlFjSUJZQUcyd2NHZndjQkFRY0VDZjhJQkFjQkFRZC9CZ1lBQUFBQUFRQUFBRWtBcFFGdUFCTUFBRGNSTkRjMk16SWZBUllWRkE4QkJpTWlKeVkxQUFVR0J3Z0ZnQVlHZ0FVSUJ3WUZXd0VBQ0FVR0JvQUZDQWNGZ0FZR0JRY0FBQUFCQUFBQUFRQUFxV1lsczE4UFBQVUFDd0lBQUFBQUFNLzlvKzRBQUFBQXovMmo3Z0FBQUFBQXR3RnVBQUFBQ0FBQ0FBQUFBQUFBQUFFQUFBSGcvK0FBQUFJQUFBQUFBQUMzQUFFQUFBQUFBQUFBQUFBQUFBQUFBQUFHQUFBQUFBQUFBQUFBQUFBQUFRQUFBQUMzQUJJQXR3QUFBQUFBQUFBS0FCUUFIZ0JDQUdRQUFBQUJBQUFBQmdBVUFBRUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQ3VBQUVBQUFBQUFBRUFEQUFBQUFFQUFBQUFBQUlBRGdCQUFBRUFBQUFBQUFNQURBQWlBQUVBQUFBQUFBUUFEQUJPQUFFQUFBQUFBQVVBRmdBTUFBRUFBQUFBQUFZQUJnQXVBQUVBQUFBQUFBb0FOQUJhQUFNQUFRUUpBQUVBREFBQUFBTUFBUVFKQUFJQURnQkFBQU1BQVFRSkFBTUFEQUFpQUFNQUFRUUpBQVFBREFCT0FBTUFBUVFKQUFVQUZnQU1BQU1BQVFRSkFBWUFEQUEwQUFNQUFRUUpBQW9BTkFCYUFISUFZUUIwQUdrQWJnQm5BRllBWlFCeUFITUFhUUJ2QUc0QUlBQXhBQzRBTUFCeUFHRUFkQUJwQUc0QVozSmhkR2x1WndCeUFHRUFkQUJwQUc0QVp3QlNBR1VBWndCMUFHd0FZUUJ5QUhJQVlRQjBBR2tBYmdCbkFFWUFid0J1QUhRQUlBQm5BR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FFa0FZd0J2QUUwQWJ3QnZBRzRBTGdBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JrOVVWRThBQUFTd0FBb0FBQUFBQkdnQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJEUmtZZ0FBQUE5QUFBQVMwQUFBRXRGcG92dUU5VEx6SUFBQUlrQUFBQVlBQUFBR0FJSXdlUVkyMWhjQUFBQW9RQUFBQk1BQUFBVEE5ODRncG5ZWE53QUFBQzBBQUFBQWdBQUFBSUFBQUFFR2hsWVdRQUFBTFlBQUFBTmdBQUFEYi8wSWhIYUdobFlRQUFBeEFBQUFBa0FBQUFKQUtaQWVkb2JYUjRBQUFETkFBQUFCZ0FBQUFZQW00QUVtMWhlSEFBQUFOTUFBQUFCZ0FBQUFZQUJsQUFibUZ0WlFBQUExUUFBQUU4QUFBQlBQQzFuMDV3YjNOMEFBQUVrQUFBQUNBQUFBQWdBQU1BQUFFQUJBUUFBUUVCQjNKaGRHbHVad0FCQWdBQkFEcjRIQUw0R3dQNEdBUWVDZ0FaVS8rTGl4NEtBQmxULzR1TERBZUxhL2lVK0hRRkhRQUFBSGtQSFFBQUFINFJIUUFBQUFrZEFBQUJKQklBQndFQkJ3MFBFUlFaSG5KaGRHbHVaM0poZEdsdVozVXdkVEYxTWpCMVJqQkVPWFZHTUVSQkFBQUNBWWtBQkFBR0FRRUVCd29OVnAzOGxBNzhsQTc4bEE3N2xBNzczWjMzYnhXTGtJMlFqNDRJOXhUM0ZBV09qNUNOa0l1UWk0K0pqb2VQaUkyR2k0WUlpL3VVQll1R2lZZUhpSWlIaDRtR2k0YUxobzJJandqN0ZQY1VCWWVPaVkrTGtBZ08rOTJMNWhXTDk1UUZpNUNOa0k2T2o0K1BqWkNMa0l1UWlZNkhDUGNVK3hRRmo0aU5ob3VHaTRhSmg0ZUlDUHNVK3hRRmlJZUdpWWFMaG91SGpZZVBpSTZKajR1UUNBNzRsQlQ0bEJXTERBb0FBQUFBQXdJQUFaQUFCUUFBQVV3QlpnQUFBRWNCVEFGbUFBQUE5UUFaQUlRQUFBQUFBQUFBQUFBQUFBQUFBQUFCRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBQUFEdzJnSGcvK0QvNEFIZ0FDQUFBQUFCQUFBQUFBQUFBQUFBQUFBZ0FBQUFBQUFDQUFBQUF3QUFBQlFBQXdBQkFBQUFGQUFFQURnQUFBQUtBQWdBQWdBQ0FBRUFJUERhLy8zLy93QUFBQUFBSVBEWi8vMy8vd0FCLytNUEt3QURBQUVBQUFBQUFBQUFBQUFBQUFFQUFmLy9BQThBQVFBQUFBRUFBRGZZT0paZkR6ejFBQXNDQUFBQUFBRFAvYVB1QUFBQUFNLzlvKzRBQUFBQUFMY0JiZ0FBQUFnQUFnQUFBQUFBQUFBQkFBQUI0UC9nQUFBQ0FBQUFBQUFBdHdBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQmdBQUFBQUFBQUFBQUFBQUFBRUFBQUFBdHdBU0FMY0FBQUFBVUFBQUJnQUFBQUFBRGdDdUFBRUFBQUFBQUFFQURBQUFBQUVBQUFBQUFBSUFEZ0JBQUFFQUFBQUFBQU1BREFBaUFBRUFBQUFBQUFRQURBQk9BQUVBQUFBQUFBVUFGZ0FNQUFFQUFBQUFBQVlBQmdBdUFBRUFBQUFBQUFvQU5BQmFBQU1BQVFRSkFBRUFEQUFBQUFNQUFRUUpBQUlBRGdCQUFBTUFBUVFKQUFNQURBQWlBQU1BQVFRSkFBUUFEQUJPQUFNQUFRUUpBQVVBRmdBTUFBTUFBUVFKQUFZQURBQTBBQU1BQVFRSkFBb0FOQUJhQUhJQVlRQjBBR2tBYmdCbkFGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNQUJ5QUdFQWRBQnBBRzRBWjNKaGRHbHVad0J5QUdFQWRBQnBBRzRBWndCU0FHVUFad0IxQUd3QVlRQnlBSElBWVFCMEFHa0FiZ0JuQUVZQWJ3QnVBSFFBSUFCbkFHVUFiZ0JsQUhJQVlRQjBBR1VBWkFBZ0FHSUFlUUFnQUVrQVl3QnZBRTBBYndCdkFHNEFMZ0FEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQSkgZm9ybWF0KCd3b2ZmJylcbiAgO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qIERyb3Bkb3duIEljb24gKi9cbi51aS5hY2NvcmRpb24gLnRpdGxlIC5kcm9wZG93bi5pY29uLFxuLnVpLmFjY29yZGlvbiAuYWNjb3JkaW9uIC50aXRsZSAuZHJvcGRvd24uaWNvbiB7XG4gIGZvbnQtZmFtaWx5OiBBY2NvcmRpb247XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udWkuYWNjb3JkaW9uIC50aXRsZSAuZHJvcGRvd24uaWNvbjpiZWZvcmUsXG4udWkuYWNjb3JkaW9uIC5hY2NvcmRpb24gLnRpdGxlIC5kcm9wZG93bi5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwZGEnLypydGw6J1xcZjBkOScqLztcbn1cbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIENoZWNrYm94XG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ21vZHVsZSc7XG5AZWxlbWVudCA6ICdjaGVja2JveCc7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgQ2hlY2tib3hcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gIG1pbi1oZWlnaHQ6IEBjaGVja2JveFNpemU7XG4gIGZvbnQtc2l6ZTogQG1lZGl1bTtcbiAgbGluZS1oZWlnaHQ6IEBjaGVja2JveExpbmVIZWlnaHQ7XG4gIG1pbi13aWR0aDogQGNoZWNrYm94U2l6ZTtcbn1cblxuLyogSFRNTCBDaGVja2JveCAqL1xuLnVpLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi51aS5jaGVja2JveCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lO1xuICB6LWluZGV4OiAzO1xuICB3aWR0aDogQGNoZWNrYm94U2l6ZTtcbiAgaGVpZ2h0OiBAY2hlY2tib3hTaXplO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEJveFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4udWkuY2hlY2tib3ggLmJveCxcbi51aS5jaGVja2JveCBsYWJlbCB7XG4gIGN1cnNvcjogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiBAbGFiZWxEaXN0YW5jZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgZm9udC1zaXplOiBAbGFiZWxGb250U2l6ZTtcbn1cblxuLnVpLmNoZWNrYm94IC5ib3g6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGxhYmVsOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcblxuICB3aWR0aDogQGNoZWNrYm94U2l6ZTtcbiAgaGVpZ2h0OiBAY2hlY2tib3hTaXplO1xuICBjb250ZW50OiAnJztcblxuICBiYWNrZ3JvdW5kOiBAY2hlY2tib3hCYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiBAY2hlY2tib3hCb3JkZXJSYWRpdXM7XG5cbiAgdHJhbnNpdGlvbjogQGNoZWNrYm94VHJhbnNpdGlvbjtcbiAgYm9yZGVyOiBAY2hlY2tib3hCb3JkZXI7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBDaGVja21hcmtcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jaGVja2JveCAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGxhYmVsOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IEBjaGVja2JveENoZWNrRm9udFNpemU7XG4gIHRvcDogQGNoZWNrYm94Q2hlY2tUb3A7XG4gIGxlZnQ6IEBjaGVja2JveENoZWNrTGVmdDtcbiAgd2lkdGg6IEBjaGVja2JveENoZWNrU2l6ZTtcbiAgaGVpZ2h0OiBAY2hlY2tib3hDaGVja1NpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBvcGFjaXR5OiAwO1xuICBjb2xvcjogQGNoZWNrYm94Q29sb3I7XG4gIHRyYW5zaXRpb246IEBjaGVja2JveFRyYW5zaXRpb247XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIExhYmVsXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJbnNpZGUgKi9cbi51aS5jaGVja2JveCBsYWJlbCxcbi51aS5jaGVja2JveCArIGxhYmVsIHtcbiAgY29sb3I6IEBsYWJlbENvbG9yO1xuICB0cmFuc2l0aW9uOiBAbGFiZWxUcmFuc2l0aW9uO1xufVxuXG4vKiBPdXRzaWRlICovXG4udWkuY2hlY2tib3ggKyBsYWJlbCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2hlY2tib3ggLmJveDpob3Zlcjo6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBAY2hlY2tib3hIb3ZlckJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGNoZWNrYm94SG92ZXJCb3JkZXJDb2xvcjtcbn1cbi51aS5jaGVja2JveCBsYWJlbDpob3Zlcixcbi51aS5jaGVja2JveCArIGxhYmVsOmhvdmVyIHtcbiAgY29sb3I6IEBsYWJlbEhvdmVyQ29sb3I7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIERvd25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jaGVja2JveCAuYm94OmFjdGl2ZTo6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGxhYmVsOmFjdGl2ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGNoZWNrYm94UHJlc3NlZEJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGNoZWNrYm94UHJlc3NlZEJvcmRlckNvbG9yO1xufVxuLnVpLmNoZWNrYm94IC5ib3g6YWN0aXZlOjphZnRlcixcbi51aS5jaGVja2JveCBsYWJlbDphY3RpdmU6OmFmdGVyIHtcbiAgY29sb3I6IEBjaGVja2JveFByZXNzZWRDb2xvcjtcbn1cbi51aS5jaGVja2JveCBpbnB1dDphY3RpdmUgfiBsYWJlbCB7XG4gIGNvbG9yOiBAbGFiZWxQcmVzc2VkQ29sb3I7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jaGVja2JveCBpbnB1dDpmb2N1cyB+IC5ib3g6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGNoZWNrYm94Rm9jdXNCYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBjaGVja2JveEZvY3VzQm9yZGVyQ29sb3I7XG59XG4udWkuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogQGNoZWNrYm94Rm9jdXNDaGVja0NvbG9yO1xufVxuLnVpLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWwge1xuICBjb2xvcjogQGxhYmVsRm9jdXNDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveDpiZWZvcmUsXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IEBjaGVja2JveEFjdGl2ZUJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGNoZWNrYm94QWN0aXZlQm9yZGVyQ29sb3I7XG59XG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YWZ0ZXIsXG4udWkuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogQGNoZWNrYm94QWN0aXZlQ2hlY2tPcGFjaXR5O1xuICBjb2xvcjogQGNoZWNrYm94QWN0aXZlQ2hlY2tDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICBJbmRldGVybWluYXRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6aW5kZXRlcm1pbmF0ZSB+IC5ib3g6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOmluZGV0ZXJtaW5hdGUgfiBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBAY2hlY2tib3hJbmRldGVybWluYXRlQmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAY2hlY2tib3hJbmRldGVybWluYXRlQm9yZGVyQ29sb3I7XG59XG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6aW5kZXRlcm1pbmF0ZSB+IC5ib3g6YWZ0ZXIsXG4udWkuY2hlY2tib3ggaW5wdXQ6bm90KFt0eXBlPXJhZGlvXSk6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogQGNoZWNrYm94SW5kZXRlcm1pbmF0ZUNoZWNrT3BhY2l0eTtcbiAgY29sb3I6IEBjaGVja2JveEluZGV0ZXJtaW5hdGVDaGVja0NvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gIEFjdGl2ZSBGb2N1c1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOmluZGV0ZXJtaW5hdGU6Zm9jdXMgfiAuYm94OmJlZm9yZSxcbi51aS5jaGVja2JveCBpbnB1dDpub3QoW3R5cGU9cmFkaW9dKTppbmRldGVybWluYXRlOmZvY3VzIH4gbGFiZWw6YmVmb3JlLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQ6Zm9jdXMgfiAuYm94OmJlZm9yZSxcbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkOmZvY3VzIH4gbGFiZWw6YmVmb3JlICB7XG4gIGJhY2tncm91bmQ6IEBjaGVja2JveEFjdGl2ZUZvY3VzQmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAY2hlY2tib3hBY3RpdmVGb2N1c0JvcmRlckNvbG9yO1xufVxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOmluZGV0ZXJtaW5hdGU6Zm9jdXMgfiAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0Om5vdChbdHlwZT1yYWRpb10pOmluZGV0ZXJtaW5hdGU6Zm9jdXMgfiBsYWJlbDphZnRlcixcbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkOmZvY3VzIH4gLmJveDphZnRlcixcbi51aS5jaGVja2JveCBpbnB1dDpjaGVja2VkOmZvY3VzIH4gbGFiZWw6YWZ0ZXIge1xuICBjb2xvcjogQGNoZWNrYm94QWN0aXZlRm9jdXNDaGVja0NvbG9yO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBSZWFkLU9ubHlcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5yZWFkLW9ubHkuY2hlY2tib3gsXG4udWkucmVhZC1vbmx5LmNoZWNrYm94IGxhYmVsIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXNhYmxlZC5jaGVja2JveCAuYm94OmFmdGVyLFxuLnVpLmRpc2FibGVkLmNoZWNrYm94IGxhYmVsLFxuLnVpLmNoZWNrYm94IGlucHV0W2Rpc2FibGVkXSB+IC5ib3g6YWZ0ZXIsXG4udWkuY2hlY2tib3ggaW5wdXRbZGlzYWJsZWRdIH4gbGFiZWwge1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogQGRpc2FibGVkQ2hlY2tib3hPcGFjaXR5O1xuICBjb2xvcjogQGRpc2FibGVkQ2hlY2tib3hMYWJlbENvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEhpZGRlblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogSW5pdGlhbGl6ZWQgY2hlY2tib3ggbW92ZXMgaW5wdXQgYmVsb3cgZWxlbWVudFxuIHRvIHByZXZlbnQgbWFudWFsbHkgdHJpZ2dlcmluZyAqL1xuLnVpLmNoZWNrYm94IGlucHV0LmhpZGRlbiB7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4vKiBTZWxlY3RhYmxlIExhYmVsICovXG4udWkuY2hlY2tib3ggaW5wdXQuaGlkZGVuICsgbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBSYWRpb1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnJhZGlvLmNoZWNrYm94IHtcbiAgbWluLWhlaWdodDogQHJhZGlvU2l6ZTtcbn1cblxuLnVpLnJhZGlvLmNoZWNrYm94IC5ib3gsXG4udWkucmFkaW8uY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLWxlZnQ6IEByYWRpb0xhYmVsRGlzdGFuY2U7XG59XG5cbi8qIEJveCAqL1xuLnVpLnJhZGlvLmNoZWNrYm94IC5ib3g6YmVmb3JlLFxuLnVpLnJhZGlvLmNoZWNrYm94IGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB0cmFuc2Zvcm06IG5vbmU7XG5cbiAgd2lkdGg6IEByYWRpb1NpemU7XG4gIGhlaWdodDogQHJhZGlvU2l6ZTtcbiAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICB0b3A6IEByYWRpb1RvcDtcbiAgbGVmdDogQHJhZGlvTGVmdDtcbn1cblxuLyogQnVsbGV0ICovXG4udWkucmFkaW8uY2hlY2tib3ggLmJveDphZnRlcixcbi51aS5yYWRpby5jaGVja2JveCBsYWJlbDphZnRlciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29udGVudDogJycgIWltcG9ydGFudDtcbiAgd2lkdGg6IEByYWRpb1NpemU7XG4gIGhlaWdodDogQHJhZGlvU2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEByYWRpb1NpemU7XG59XG5cbi8qIFJhZGlvIENoZWNrYm94ICovXG4udWkucmFkaW8uY2hlY2tib3ggLmJveDphZnRlcixcbi51aS5yYWRpby5jaGVja2JveCBsYWJlbDphZnRlciB7XG4gIHRvcDogQGJ1bGxldFRvcDtcbiAgbGVmdDogQGJ1bGxldExlZnQ7XG4gIHdpZHRoOiBAcmFkaW9TaXplO1xuICBoZWlnaHQ6IEByYWRpb1NpemU7XG4gIGJvcmRlci1yYWRpdXM6IEBidWxsZXRSYWRpdXM7XG4gIHRyYW5zZm9ybTogc2NhbGUoQGJ1bGxldFNjYWxlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJ1bGxldENvbG9yO1xufVxuXG4vKiBGb2N1cyAqL1xuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gLmJveDpiZWZvcmUsXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmFkaW9Gb2N1c0JhY2tncm91bmQ7XG59XG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmFmdGVyLFxuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmFkaW9Gb2N1c0J1bGxldENvbG9yO1xufVxuXG4vKiBJbmRldGVybWluYXRlICovXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5ib3g6YWZ0ZXIsXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyogQWN0aXZlICovXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YmVmb3JlLFxuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmFkaW9BY3RpdmVCYWNrZ3JvdW5kO1xufVxuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmFmdGVyLFxuLnVpLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEByYWRpb0FjdGl2ZUJ1bGxldENvbG9yO1xufVxuXG4vKiBBY3RpdmUgRm9jdXMgKi9cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gLmJveDpiZWZvcmUsXG4udWkucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEByYWRpb0FjdGl2ZUZvY3VzQmFja2dyb3VuZDtcbn1cbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gLmJveDphZnRlcixcbi51aS5yYWRpby5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcmFkaW9BY3RpdmVGb2N1c0J1bGxldENvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNsaWRlclxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNsaWRlci5jaGVja2JveCB7XG4gIG1pbi1oZWlnaHQ6IEBzbGlkZXJIZWlnaHQ7XG59XG5cbi8qIElucHV0ICovXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0IHtcbiAgd2lkdGg6IEBzbGlkZXJXaWR0aDtcbiAgaGVpZ2h0OiBAc2xpZGVySGVpZ2h0O1xufVxuXG4vKiBMYWJlbCAqL1xuLnVpLnNsaWRlci5jaGVja2JveCAuYm94LFxuLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogQHNsaWRlckxhYmVsRGlzdGFuY2U7XG4gIGxpbmUtaGVpZ2h0OiBAc2xpZGVyTGFiZWxMaW5lSGVpZ2h0O1xuICBjb2xvcjogQHNsaWRlck9mZkxhYmVsQ29sb3I7XG59XG5cbi8qIExpbmUgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggLmJveDpiZWZvcmUsXG4udWkuc2xpZGVyLmNoZWNrYm94IGxhYmVsOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwZW07XG4gIHotaW5kZXg6IDE7XG5cbiAgdG9wOiBAc2xpZGVyTGluZVZlcnRpY2FsT2Zmc2V0O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IEBzbGlkZXJMaW5lQ29sb3I7XG4gIHdpZHRoOiBAc2xpZGVyTGluZVdpZHRoO1xuICBoZWlnaHQ6IEBzbGlkZXJMaW5lSGVpZ2h0O1xuXG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogQHNsaWRlckxpbmVSYWRpdXM7XG4gIHRyYW5zaXRpb246IEBzbGlkZXJMaW5lVHJhbnNpdGlvbjtcblxufVxuXG4vKiBIYW5kbGUgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggLmJveDphZnRlcixcbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWw6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBAaGFuZGxlQmFja2dyb3VuZDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAyO1xuXG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogQGhhbmRsZUJveFNoYWRvdztcbiAgd2lkdGg6IEBzbGlkZXJIYW5kbGVTaXplO1xuICBoZWlnaHQ6IEBzbGlkZXJIYW5kbGVTaXplO1xuICB0b3A6IEBzbGlkZXJIYW5kbGVPZmZzZXQ7XG4gIGxlZnQ6IDBlbTtcbiAgdHJhbnNmb3JtOiBub25lO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgdHJhbnNpdGlvbjogQHNsaWRlckhhbmRsZVRyYW5zaXRpb247XG59XG5cbi8qIEZvY3VzICovXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gLmJveDpiZWZvcmUsXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRvZ2dsZUZvY3VzQ29sb3I7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLyogSG92ZXIgKi9cbi51aS5zbGlkZXIuY2hlY2tib3ggLmJveDpob3Zlcixcbi51aS5zbGlkZXIuY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICBjb2xvcjogQHNsaWRlckhvdmVyTGFiZWxDb2xvcjtcbn1cbi51aS5zbGlkZXIuY2hlY2tib3ggLmJveDpob3Zlcjo6YmVmb3JlLFxuLnVpLnNsaWRlci5jaGVja2JveCBsYWJlbDpob3Zlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQHNsaWRlckhvdmVyTGFuZUJhY2tncm91bmQ7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveCxcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6IEBzbGlkZXJPbkxhYmVsQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3g6YmVmb3JlLFxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHNsaWRlck9uTGluZUNvbG9yICFpbXBvcnRhbnQ7XG59XG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmFmdGVyLFxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gbGFiZWw6YWZ0ZXIge1xuICBsZWZ0OiBAc2xpZGVyVHJhdmVsRGlzdGFuY2U7XG59XG5cbi8qIEFjdGl2ZSBGb2N1cyAqL1xuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gLmJveCxcbi51aS5zbGlkZXIuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6IEBzbGlkZXJPbkZvY3VzTGFiZWxDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLnNsaWRlci5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gLmJveDpiZWZvcmUsXG4udWkuc2xpZGVyLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2xpZGVyT25Gb2N1c0xpbmVDb2xvciAhaW1wb3J0YW50O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgVG9nZ2xlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudG9nZ2xlLmNoZWNrYm94IHtcbiAgbWluLWhlaWdodDogQHRvZ2dsZUhlaWdodDtcbn1cblxuLyogSW5wdXQgKi9cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQge1xuICB3aWR0aDogQHRvZ2dsZVdpZHRoO1xuICBoZWlnaHQ6IEB0b2dnbGVIZWlnaHQ7XG59XG5cbi8qIExhYmVsICovXG4udWkudG9nZ2xlLmNoZWNrYm94IC5ib3gsXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsIHtcbiAgbWluLWhlaWdodDogQHRvZ2dsZUhhbmRsZVNpemU7XG4gIHBhZGRpbmctbGVmdDogQHRvZ2dsZUxhYmVsRGlzdGFuY2U7XG4gIGNvbG9yOiBAdG9nZ2xlT2ZmTGFiZWxDb2xvcjtcbn1cbi51aS50b2dnbGUuY2hlY2tib3ggbGFiZWwge1xuICBwYWRkaW5nLXRvcDogQHRvZ2dsZUxhYmVsT2Zmc2V0O1xufVxuXG4vKiBTd2l0Y2ggKi9cbi51aS50b2dnbGUuY2hlY2tib3ggLmJveDpiZWZvcmUsXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcblxuICB0b3A6IEB0b2dnbGVMYW5lVmVydGljYWxPZmZzZXQ7XG5cbiAgYmFja2dyb3VuZDogQHRvZ2dsZUxhbmVCYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiBAdG9nZ2xlTGFuZUJveFNoYWRvdztcbiAgd2lkdGg6IEB0b2dnbGVMYW5lV2lkdGg7XG4gIGhlaWdodDogQHRvZ2dsZUxhbmVIZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IEB0b2dnbGVIYW5kbGVSYWRpdXM7XG59XG5cbi8qIEhhbmRsZSAqL1xuLnVpLnRvZ2dsZS5jaGVja2JveCAuYm94OmFmdGVyLFxuLnVpLnRvZ2dsZS5jaGVja2JveCBsYWJlbDphZnRlciB7XG4gIGJhY2tncm91bmQ6IEBoYW5kbGVCYWNrZ3JvdW5kO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDI7XG5cbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiBAaGFuZGxlQm94U2hhZG93O1xuICB3aWR0aDogQHRvZ2dsZUhhbmRsZVNpemU7XG4gIGhlaWdodDogQHRvZ2dsZUhhbmRsZVNpemU7XG4gIHRvcDogQHRvZ2dsZUhhbmRsZU9mZnNldDtcbiAgbGVmdDogMGVtO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgdHJhbnNpdGlvbjogQHRvZ2dsZUhhbmRsZVRyYW5zaXRpb247XG59XG5cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQgfiAuYm94OmFmdGVyLFxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dCB+IGxhYmVsOmFmdGVyIHtcbiAgbGVmdDogQHRvZ2dsZU9mZk9mZnNldDtcbiAgYm94LXNoYWRvdzogQHRvZ2dsZU9mZkhhbmRsZUJveFNoYWRvdztcbn1cblxuLyogRm9jdXMgKi9cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAuYm94OmJlZm9yZSxcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiBsYWJlbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9nZ2xlRm9jdXNDb2xvcjtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVpLnRvZ2dsZS5jaGVja2JveCAuYm94OmhvdmVyOjpiZWZvcmUsXG4udWkudG9nZ2xlLmNoZWNrYm94IGxhYmVsOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9nZ2xlSG92ZXJDb2xvcjtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4vKiBBY3RpdmUgKi9cbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IC5ib3gsXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbCB7XG4gIGNvbG9yOiBAdG9nZ2xlT25MYWJlbENvbG9yICFpbXBvcnRhbnQ7XG59XG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmJlZm9yZSxcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0b2dnbGVPbkxhbmVDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpjaGVja2VkIH4gLmJveDphZnRlcixcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZCB+IGxhYmVsOmFmdGVyIHtcbiAgbGVmdDogQHRvZ2dsZU9uT2Zmc2V0O1xuICBib3gtc2hhZG93OiBAdG9nZ2xlT25IYW5kbGVCb3hTaGFkb3c7XG59XG5cblxuLyogQWN0aXZlIEZvY3VzICovXG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiAuYm94LFxuLnVpLnRvZ2dsZS5jaGVja2JveCBpbnB1dDpmb2N1czpjaGVja2VkIH4gbGFiZWwge1xuICBjb2xvcjogQHRvZ2dsZU9uRm9jdXNMYWJlbENvbG9yICFpbXBvcnRhbnQ7XG59XG4udWkudG9nZ2xlLmNoZWNrYm94IGlucHV0OmZvY3VzOmNoZWNrZWQgfiAuYm94OmJlZm9yZSxcbi51aS50b2dnbGUuY2hlY2tib3ggaW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0b2dnbGVPbkZvY3VzTGFuZUNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEZpdHRlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZpdHRlZC5jaGVja2JveCAuYm94LFxuLnVpLmZpdHRlZC5jaGVja2JveCBsYWJlbCB7XG4gIHBhZGRpbmctbGVmdDogMGVtICFpbXBvcnRhbnQ7XG59XG5cbi51aS5maXR0ZWQudG9nZ2xlLmNoZWNrYm94LFxuLnVpLmZpdHRlZC50b2dnbGUuY2hlY2tib3gge1xuICB3aWR0aDogQHRvZ2dsZVdpZHRoO1xufVxuXG4udWkuZml0dGVkLnNsaWRlci5jaGVja2JveCxcbi51aS5maXR0ZWQuc2xpZGVyLmNoZWNrYm94IHtcbiAgd2lkdGg6IEBzbGlkZXJXaWR0aDtcbn1cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgIFRoZW1lIE92ZXJyaWRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2hlY2tib3gnO1xuICBzcmM6XG4gICAgdXJsKGRhdGE6YXBwbGljYXRpb24veC1mb250LXR0ZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3VDFNdk1nOFNCRDhBQUFDOEFBQUFZR050WVhBWVZ0Q0pBQUFCSEFBQUFGUm5ZWE53QUFBQUVBQUFBWEFBQUFBSVoyeDVabjRodXdVQUFBRjRBQUFCWUdobFlXUUdQZTFaQUFBQzJBQUFBRFpvYUdWaEIzMER5QUFBQXhBQUFBQWthRzEwZUJCS0FFVUFBQU0wQUFBQUhHeHZZMkVBbWdFU0FBQURVQUFBQUJCdFlYaHdBQWtBTHdBQUEyQUFBQUFnYm1GdFpTQzhJdWdBQUFPQUFBQUJrbkJ2YzNRQUF3QUFBQUFGRkFBQUFDQUFBd01UQVpBQUJRQUFBcGtDekFBQUFJOENtUUxNQUFBQjZ3QXpBUWtBQUFBQUFBQUFBQUFBQUFBQUFBQUJFQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBQURvQWdQQS84QUFRQVBBQUVBQUFBQUJBQUFBQUFBQUFBQUFBQUFnQUFBQUFBQURBQUFBQXdBQUFCd0FBUUFEQUFBQUhBQURBQUVBQUFBY0FBUUFPQUFBQUFvQUNBQUNBQUlBQVFBZzZBTC8vZi8vQUFBQUFBQWc2QUQvL2YvL0FBSC80eGdFQUFNQUFRQUFBQUFBQUFBQUFBQUFBUUFCLy84QUR3QUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUVBQUFBQUFBQUFBQUFDQUFBM09RRUFBQUFBQVFBQUFBQUFBQUFBQUFJQUFEYzVBUUFBQUFBQkFFVUFVUU83QXZnQUdnQUFBUlFIQVFZaklpY0JKalUwUHdFMk16SWZBUUUyTXpJZkFSWVZBN3NRL2hRUUZoY1EvdU1RRUU0UUZ4Y1FxQUYyRUJjWEVFNFFBbk1XRVA0VUVCQUJIUkFYRmhCT0VCQ29BWGNRRUU0UUZ3QUFBQUFCQUFBQmJnTWxBa2tBRkFBQUFSVVVCd1lqSVNJbkpqMEJORGMyTXlFeUZ4WVZBeVVRRUJmOVNSY1FFQkFRRndLM0Z4QVFBaEp0RnhBUUVCQVhiUmNRRUJBUUZ3QUFBQUFCQUFBQVNRTWxBMjRBTEFBQUFSVVVCd1lyQVJVVUJ3WXJBU0luSmowQkl5SW5KajBCTkRjMk93RTFORGMyT3dFeUZ4WWRBVE15RnhZVkF5VVFFQmZ1RUJBWGJoWVFFTzRYRUJBUUVCZnVFQkFXYmhjUUVPNFhFQkFDRW0wWEVCRHVGeEFRRUJBWDdoQVFGMjBYRUJEdUZ4QVFFQkFYN2hBUUZ3QUFBUUFBQUFJQUFIUlN6VDlmRHp6MUFBc0VBQUFBQUFEUnNkUjNBQUFBQU5HeDFIY0FBQUFBQTdzRGJnQUFBQWdBQWdBQUFBQUFBQUFCQUFBRHdQL0FBQUFFQUFBQUFBQUR1d0FCQUFBQUFBQUFBQUFBQUFBQUFBQUFCd1FBQUFBQUFBQUFBQUFBQUFJQUFBQUVBQUJGQXlVQUFBTWxBQUFBQUFBQUFBb0FGQUFlQUU0QWNnQ3dBQUVBQUFBSEFDMEFBUUFBQUFBQUFnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU9BSzRBQVFBQUFBQUFBUUFJQUFBQUFRQUFBQUFBQWdBSEFHa0FBUUFBQUFBQUF3QUlBRGtBQVFBQUFBQUFCQUFJQUg0QUFRQUFBQUFBQlFBTEFCZ0FBUUFBQUFBQUJnQUlBRkVBQVFBQUFBQUFDZ0FhQUpZQUF3QUJCQWtBQVFBUUFBZ0FBd0FCQkFrQUFnQU9BSEFBQXdBQkJBa0FBd0FRQUVFQUF3QUJCQWtBQkFBUUFJWUFBd0FCQkFrQUJRQVdBQ01BQXdBQkJBa0FCZ0FRQUZrQUF3QUJCQWtBQ2dBMEFMQkRhR1ZqYTJKdmVBQkRBR2dBWlFCakFHc0FZZ0J2QUhoV1pYSnphVzl1SURJdU1BQldBR1VBY2dCekFHa0Fid0J1QUNBQU1nQXVBREJEYUdWamEySnZlQUJEQUdnQVpRQmpBR3NBWWdCdkFIaERhR1ZqYTJKdmVBQkRBR2dBWlFCakFHc0FZZ0J2QUhoU1pXZDFiR0Z5QUZJQVpRQm5BSFVBYkFCaEFISkRhR1ZqYTJKdmVBQkRBR2dBWlFCakFHc0FZZ0J2QUhoR2IyNTBJR2RsYm1WeVlYUmxaQ0JpZVNCSlkyOU5iMjl1TGdCR0FHOEFiZ0IwQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCSkFHTUFid0JOQUc4QWJ3QnVBQzRBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEpIGZvcm1hdCgndHJ1ZXR5cGUnKVxuICA7XG59XG5cbi8qIENoZWNrbWFyayAqL1xuLnVpLmNoZWNrYm94IGxhYmVsOmFmdGVyLFxuLnVpLmNoZWNrYm94IC5ib3g6YWZ0ZXIge1xuICBmb250LWZhbWlseTogJ0NoZWNrYm94Jztcbn1cblxuLyogQ2hlY2tlZCAqL1xuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiAuYm94OmFmdGVyLFxuLnVpLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgfiBsYWJlbDphZnRlciB7XG4gIGNvbnRlbnQ6ICdcXGU4MDAnO1xufVxuXG4vKiBJbmRldGVybWluYXRlICovXG4udWkuY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5ib3g6YWZ0ZXIsXG4udWkuY2hlY2tib3ggaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IGxhYmVsOmFmdGVyIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb250ZW50OiAnXFxlODAxJztcbn1cblxuXG4vKiAgVVRGIFJlZmVyZW5jZVxuLmNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDAnOyB9XG4uZGFzaDpiZWZvcmUgIHsgY29udGVudDogJ1xcZTgwMSc7IH1cbi5wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6ICdcXGU4MDInOyB9XG4qL1xuIiwiLyohXG4gKiAjIFNlbWFudGljIFVJIC0gRGltbWVyXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ21vZHVsZSc7XG5AZWxlbWVudCA6ICdkaW1tZXInO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBEaW1tZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5kaW1tYWJsZTpub3QoYm9keSkge1xuICBwb3NpdGlvbjogQGRpbW1hYmxlUG9zaXRpb247XG59XG5cbi51aS5kaW1tZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogQGRpbW1lclBvc2l0aW9uO1xuICB0b3A6IDBlbSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwZW0gIWltcG9ydGFudDtcblxuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuXG4gIHRleHQtYWxpZ246IEB0ZXh0QWxpZ247XG4gIHZlcnRpY2FsLWFsaWduOiBAdmVydGljYWxBbGlnbjtcbiAgcGFkZGluZzogQHBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmRDb2xvcjtcbiAgb3BhY2l0eTogQGhpZGRlbk9wYWNpdHk7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcblxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZHVyYXRpb246IEBkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG5cbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICB6LWluZGV4OiBAekluZGV4O1xufVxuXG4vKiBEaW1tZXIgQ29udGVudCAqL1xuLnVpLmRpbW1lciA+IC5jb250ZW50IHtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gIGNvbG9yOiBAdGV4dENvbG9yO1xufVxuXG5cbi8qIExvb3NlIENvdXBsaW5nICovXG4udWkuc2VnbWVudCA+IC51aS5kaW1tZXIge1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNjcm9sbGJhcnMgKi9cbi5hZGRTY3JvbGxiYXJzKCkgd2hlbiAoQHVzZUN1c3RvbVNjcm9sbGJhcnMpIHtcbiAgLnVpLmRpbW1lcjpub3QoLmludmVydGVkKTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IEB0cmFja0ludmVydGVkQmFja2dyb3VuZDtcbiAgfVxuICAudWkuZGltbWVyOm5vdCguaW52ZXJ0ZWQpOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICB9XG4gIC51aS5kaW1tZXI6bm90KC5pbnZlcnRlZCk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOndpbmRvdy1pbmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogQHRodW1iSW52ZXJ0ZWRJbmFjdGl2ZUJhY2tncm91bmQ7XG4gIH1cbiAgLnVpLmRpbW1lcjpub3QoLmludmVydGVkKTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IEB0aHVtYkludmVydGVkSG92ZXJCYWNrZ3JvdW5kO1xuICB9XG59XG4uYWRkU2Nyb2xsYmFycygpO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBBbmltYXRpbmcgKi9cbi5hbmltYXRpbmcuZGltbWFibGU6bm90KGJvZHkpLFxuLmRpbW1lZC5kaW1tYWJsZTpub3QoYm9keSkge1xuICBvdmVyZmxvdzogQG92ZXJmbG93O1xufVxuXG4vKiBBbmltYXRpbmcgLyBBY3RpdmUgLyBWaXNpYmxlICovXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLmFuaW1hdGluZy5kaW1tZXIsXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLnZpc2libGUuZGltbWVyLFxuLnVpLmFjdGl2ZS5kaW1tZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBvcGFjaXR5OiBAdmlzaWJsZU9wYWNpdHk7XG59XG5cbi8qIERpc2FibGVkICovXG4udWkuZGlzYWJsZWQuZGltbWVyIHtcbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgTGVnYWN5XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBBbmltYXRpbmcgLyBBY3RpdmUgLyBWaXNpYmxlICovXG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLmFuaW1hdGluZy5sZWdhY3kuZGltbWVyLFxuLmRpbW1lZC5kaW1tYWJsZSA+IC51aS52aXNpYmxlLmxlZ2FjeS5kaW1tZXIsXG4udWkuYWN0aXZlLmxlZ2FjeS5kaW1tZXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEFsaWdubWVudFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdLmRpbW1lciB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi51aVtjbGFzcyo9XCJib3R0b20gYWxpZ25lZFwiXS5kaW1tZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucGFnZS5kaW1tZXIge1xuICBwb3NpdGlvbjogQHBhZ2VEaW1tZXJQb3NpdGlvbjtcbiAgdHJhbnNmb3JtLXN0eWxlOiBAdHJhbnNmb3JtU3R5bGU7XG4gIHBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5cbmJvZHkuYW5pbWF0aW5nLmluLmRpbW1hYmxlLFxuYm9keS5kaW1tZWQuZGltbWFibGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5ib2R5LmRpbW1hYmxlID4gLmRpbW1lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEJsdXJyaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4uYmx1cnJpbmcuZGltbWFibGUgPiA6bm90KC5kaW1tZXIpIHtcbiAgZmlsdGVyOiBAYmx1cnJlZFN0YXJ0RmlsdGVyO1xuICB0cmFuc2l0aW9uOiBAYmx1cnJlZFRyYW5zaXRpb247XG59XG4uYmx1cnJpbmcuZGltbWVkLmRpbW1hYmxlID4gOm5vdCguZGltbWVyKSB7XG4gIGZpbHRlcjogQGJsdXJyZWRFbmRGaWx0ZXI7XG59XG5cbi8qIERpbW1lciBDb2xvciAqL1xuLmJsdXJyaW5nLmRpbW1hYmxlID4gLmRpbW1lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibHVycmVkQmFja2dyb3VuZENvbG9yO1xufVxuLmJsdXJyaW5nLmRpbW1hYmxlID4gLmludmVydGVkLmRpbW1lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibHVycmVkSW52ZXJ0ZWRCYWNrZ3JvdW5kQ29sb3I7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBBbGlnbmVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZGltbWVyID4gLnRvcC5hbGlnbmVkLmNvbnRlbnQgPiAqIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi51aS5kaW1tZXIgPiAuYm90dG9tLmFsaWduZWQuY29udGVudCA+ICoge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgSW52ZXJ0ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5pbnZlcnRlZC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kQ29sb3I7XG59XG4udWkuaW52ZXJ0ZWQuZGltbWVyID4gLmNvbnRlbnQgPiAqIHtcbiAgY29sb3I6IEBpbnZlcnRlZFRleHRDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaW1wbGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIERpc3BsYXlzIHdpdGhvdXQgamF2YXNjcmlwdCAqL1xuLnVpLnNpbXBsZS5kaW1tZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDAlO1xuICB6LWluZGV4OiAtMTAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2ltcGxlU3RhcnRCYWNrZ3JvdW5kQ29sb3I7XG59XG4uZGltbWVkLmRpbW1hYmxlID4gLnVpLnNpbXBsZS5kaW1tZXIge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHNpbXBsZUVuZEJhY2tncm91bmRDb2xvcjtcbiAgei1pbmRleDogQHNpbXBsZVpJbmRleDtcbn1cblxuLnVpLnNpbXBsZS5pbnZlcnRlZC5kaW1tZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2ltcGxlSW52ZXJ0ZWRTdGFydEJhY2tncm91bmRDb2xvcjtcbn1cbi5kaW1tZWQuZGltbWFibGUgPiAudWkuc2ltcGxlLmludmVydGVkLmRpbW1lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBzaW1wbGVJbnZlcnRlZEVuZEJhY2tncm91bmRDb2xvcjtcbn1cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyohXG4gKiAjIFNlbWFudGljIFVJIC0gRHJvcGRvd25cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdtb2R1bGUnO1xuQGVsZW1lbnQgOiAnZHJvcGRvd24nO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBEcm9wZG93blxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmRyb3Bkb3duIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG5cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTWVudVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRyb3Bkb3duIC5tZW51IHtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRvcDogMTAwJTtcbiAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgdHJhbnNpdGlvbjogQG1lbnVUcmFuc2l0aW9uO1xuXG4gIG1hcmdpbjogQG1lbnVNYXJnaW47XG4gIHBhZGRpbmc6IEBtZW51UGFkZGluZztcbiAgYmFja2dyb3VuZDogQG1lbnVCYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogQHJlbGF0aXZlTWVkaXVtO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC1hbGlnbjogQG1lbnVUZXh0QWxpZ247XG5cbiAgYm94LXNoYWRvdzogQG1lbnVCb3hTaGFkb3c7XG4gIGJvcmRlcjogQG1lbnVCb3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEBtZW51Qm9yZGVyUmFkaXVzO1xuICB0cmFuc2l0aW9uOiBAbWVudVRyYW5zaXRpb247XG4gIHotaW5kZXg6IEBtZW51WkluZGV4O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuXG4udWkuZHJvcGRvd24gLm1lbnUgPiAqIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gIEhpZGRlbiBJbnB1dFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRyb3Bkb3duID4gaW5wdXQ6bm90KC5zZWFyY2gpOmZpcnN0LWNoaWxkLFxuLnVpLmRyb3Bkb3duID4gc2VsZWN0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gRHJvcGRvd24gSWNvblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRyb3Bkb3duID4gLmRyb3Bkb3duLmljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICBmb250LXNpemU6IEBkcm9wZG93bkljb25TaXplO1xuICBtYXJnaW46IEBkcm9wZG93bkljb25NYXJnaW47XG59XG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSAuZHJvcGRvd24uaWNvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogQGl0ZW1Ecm9wZG93bkljb25GbG9hdDtcbiAgbWFyZ2luOiBAaXRlbURyb3Bkb3duSWNvbk1hcmdpbjtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtIC5kcm9wZG93bi5pY29uICsgLnRleHQge1xuICBtYXJnaW4tcmlnaHQ6IEBpdGVtRHJvcGRvd25JY29uRGlzdGFuY2U7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgVGV4dFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRyb3Bkb3duID4gLnRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IEB0ZXh0VHJhbnNpdGlvbjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIE1lbnUgSXRlbVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogQGl0ZW1Cb3JkZXI7XG4gIGhlaWdodDogQGl0ZW1IZWlnaHQ7XG4gIHRleHQtYWxpZ246IEBpdGVtVGV4dEFsaWduO1xuXG4gIGJvcmRlci10b3A6IEBpdGVtRGl2aWRlcjtcbiAgbGluZS1oZWlnaHQ6IEBpdGVtTGluZUhlaWdodDtcbiAgZm9udC1zaXplOiBAaXRlbUZvbnRTaXplO1xuICBjb2xvcjogQGl0ZW1Db2xvcjtcblxuICBwYWRkaW5nOiBAaXRlbVBhZGRpbmcgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiBAaXRlbUZvbnRTaXplO1xuICB0ZXh0LXRyYW5zZm9ybTogQGl0ZW1UZXh0VHJhbnNmb3JtO1xuICBmb250LXdlaWdodDogQGl0ZW1Gb250V2VpZ2h0O1xuICBib3gtc2hhZG93OiBAaXRlbUJveFNoYWRvdztcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXdpZHRoOiAwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgRmxvYXRlZCBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IFtjbGFzcyo9XCJyaWdodCBmbG9hdGVkXCJdLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gW2NsYXNzKj1cInJpZ2h0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAwZW0gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IEBmbG9hdGVkRGlzdGFuY2UgIWltcG9ydGFudDtcbn1cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gW2NsYXNzKj1cImxlZnQgZmxvYXRlZFwiXSxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IFtjbGFzcyo9XCJsZWZ0IGZsb2F0ZWRcIl0ge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICBtYXJnaW4tbGVmdDogMGVtICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogQGZsb2F0ZWREaXN0YW5jZSAhaW1wb3J0YW50O1xufVxuXG4udWkuZHJvcGRvd24gLm1lbnUgLml0ZW0gPiAuaWNvbi5mbG9hdGVkLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gLmZsYWcuZmxvYXRlZCxcbi51aS5kcm9wZG93biAubWVudSAuaXRlbSA+IC5pbWFnZS5mbG9hdGVkLFxuLnVpLmRyb3Bkb3duIC5tZW51IC5pdGVtID4gaW1nLmZsb2F0ZWQge1xuICBtYXJnaW4tdG9wOiBAaXRlbUxpbmVIZWlnaHRPZmZzZXQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICBNZW51IERpdmlkZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kcm9wZG93biAubWVudSA+IC5oZWFkZXIge1xuICBtYXJnaW46IEBtZW51SGVhZGVyTWFyZ2luO1xuICBwYWRkaW5nOiBAbWVudUhlYWRlclBhZGRpbmc7XG4gIGNvbG9yOiBAbWVudUhlYWRlckNvbG9yO1xuICBmb250LXNpemU6IEBtZW51SGVhZGVyRm9udFNpemU7XG4gIGZvbnQtd2VpZ2h0OiBAbWVudUhlYWRlckZvbnRXZWlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiBAbWVudUhlYWRlclRleHRUcmFuc2Zvcm07XG59XG5cbi51aS5kcm9wZG93biAubWVudSA+IC5kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogQG1lbnVEaXZpZGVyQm9yZGVyO1xuICBoZWlnaHQ6IDBlbTtcbiAgbWFyZ2luOiBAbWVudURpdmlkZXJNYXJnaW47XG59XG5cbi51aS5kcm9wZG93bi5kcm9wZG93biAubWVudSA+IC5pbnB1dCB7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IEBtZW51SW5wdXRNYXJnaW47XG4gIG1pbi13aWR0aDogQG1lbnVJbnB1dE1pbldpZHRoO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmhlYWRlciArIC5pbnB1dCB7XG4gIG1hcmdpbi10b3A6IDBlbTtcbn1cbi51aS5kcm9wZG93biAubWVudSA+IC5pbnB1dDpub3QoLnRyYW5zcGFyZW50KSBpbnB1dCB7XG4gIHBhZGRpbmc6IEBtZW51SW5wdXRQYWRkaW5nO1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmlucHV0Om5vdCgudHJhbnNwYXJlbnQpIC5idXR0b24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXQ6bm90KC50cmFuc3BhcmVudCkgLmljb24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaW5wdXQ6bm90KC50cmFuc3BhcmVudCkgLmxhYmVsIHtcbiAgcGFkZGluZy10b3A6IEBtZW51SW5wdXRWZXJ0aWNhbFBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiBAbWVudUlucHV0VmVydGljYWxQYWRkaW5nO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tXG4gIEl0ZW0gRGVzY3JpcHRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5kZXNjcmlwdGlvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmRlc2NyaXB0aW9uIHtcbiAgZmxvYXQ6IEBpdGVtRGVzY3JpcHRpb25GbG9hdDtcbiAgbWFyZ2luOiBAaXRlbURlc2NyaXB0aW9uTWFyZ2luO1xuICBjb2xvcjogQGl0ZW1EZXNjcmlwdGlvbkNvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTWVzc2FnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kcm9wZG93biAubWVudSA+IC5tZXNzYWdlIHtcbiAgcGFkZGluZzogQG1lc3NhZ2VQYWRkaW5nO1xuICBmb250LXdlaWdodDogQG1lc3NhZ2VGb250V2VpZ2h0O1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLm1lc3NhZ2U6bm90KC51aSkge1xuICBjb2xvcjogQG1lc3NhZ2VDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFN1YiBNZW51XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZHJvcGRvd24gLm1lbnUgLm1lbnUge1xuICB0b3A6IEBzdWJNZW51VG9wICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IEBzdWJNZW51TGVmdDtcbiAgcmlnaHQ6IEBzdWJNZW51UmlnaHQ7XG4gIG1hcmdpbjogQHN1Yk1lbnVNYXJnaW4gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogQHN1Yk1lbnVCb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbiAgei1pbmRleDogQHN1Yk1lbnVaSW5kZXggIWltcG9ydGFudDtcbn1cblxuLyogSGlkZSBBcnJvdyAqL1xuLnVpLmRyb3Bkb3duIC5tZW51IC5tZW51OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgU3ViIEVsZW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJY29ucyAvIEZsYWdzIC8gTGFiZWxzIC8gSW1hZ2UgKi9cbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmljb24sXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5sYWJlbCxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmZsYWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IGltZyxcbi51aS5kcm9wZG93biA+IC50ZXh0ID4gLmltYWdlIHtcbiAgbWFyZ2luLXRvcDogQHRleHRMaW5lSGVpZ2h0T2Zmc2V0O1xufVxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuaWNvbixcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmxhYmVsLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiAuZmxhZyxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpbWcgIHtcbiAgbWFyZ2luLXRvcDogQGl0ZW1MaW5lSGVpZ2h0T2Zmc2V0O1xufVxuXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pY29uLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiAubGFiZWwsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5mbGFnLFxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBpbWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pbWFnZSxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmljb24sXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5sYWJlbCxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmZsYWcsXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbSA+IC5pbWFnZSxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gaW1nICB7XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG4gIGZsb2F0OiBAaXRlbUVsZW1lbnRGbG9hdDtcbiAgbWFyZ2luLXJpZ2h0OiBAaXRlbUVsZW1lbnREaXN0YW5jZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJbWFnZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRyb3Bkb3duID4gLnRleHQgPiBpbWcsXG4udWkuZHJvcGRvd24gPiAudGV4dCA+IC5pbWFnZSxcbi51aS5kcm9wZG93biAubWVudSA+IC5pdGVtID4gLmltYWdlLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLml0ZW0gPiBpbWcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tdG9wOiBAbWVudUltYWdlVmVydGljYWxNYXJnaW47XG4gIG1hcmdpbi1ib3R0b206IEBtZW51SW1hZ2VWZXJ0aWNhbE1hcmdpbjtcbiAgbWF4LWhlaWdodDogQG1lbnVJbWFnZU1heEhlaWdodDtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ291cGxpbmdcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTWVudVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogUmVtb3ZlIE1lbnUgSXRlbSBEaXZpZGVyICovXG4udWkuZHJvcGRvd24gLnVpLm1lbnUgPiAuaXRlbTpiZWZvcmUsXG4udWkubWVudSAudWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBQcmV2ZW50IE1lbnUgSXRlbSBCb3JkZXIgKi9cbi51aS5tZW51IC51aS5kcm9wZG93biAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBib3JkZXItbGVmdDogbm9uZTtcbn1cblxuLyogQXV0b21hdGljYWxseSBmbG9hdCBkcm9wZG93biBtZW51IHJpZ2h0IG9uIGxhc3QgbWVudSBpdGVtICovXG4udWkubWVudSAucmlnaHQubWVudSAuZHJvcGRvd246bGFzdC1jaGlsZCAubWVudSxcbi51aS5tZW51IC5yaWdodC5kcm9wZG93bi5pdGVtIC5tZW51LFxuLnVpLmJ1dHRvbnMgPiAudWkuZHJvcGRvd246bGFzdC1jaGlsZCAubWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwZW07XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIExhYmVsXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBEcm9wZG93biBNZW51ICovXG4udWkubGFiZWwuZHJvcGRvd24gLm1lbnUge1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQnV0dG9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBObyBNYXJnaW4gT24gSWNvbiBCdXR0b24gKi9cbi51aS5kcm9wZG93bi5pY29uLmJ1dHRvbiA+IC5kcm9wZG93bi5pY29uIHtcbiAgbWFyZ2luOiAwZW07XG59XG4udWkuYnV0dG9uLmRyb3Bkb3duIC5tZW51IHtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBTZWxlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIERpc3BsYXlzIGxpa2UgYSBzZWxlY3QgYm94ICovXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG91dGxpbmU6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcblxuICBtaW4td2lkdGg6IEBzZWxlY3Rpb25NaW5XaWR0aDtcbiAgbWluLWhlaWdodDogQHNlbGVjdGlvbk1pbkhlaWdodDtcblxuICBiYWNrZ3JvdW5kOiBAc2VsZWN0aW9uQmFja2dyb3VuZDtcbiAgZGlzcGxheTogQHNlbGVjdGlvbkRpc3BsYXk7XG4gIHBhZGRpbmc6IEBzZWxlY3Rpb25QYWRkaW5nO1xuICBjb2xvcjogQHNlbGVjdGlvblRleHRDb2xvcjtcbiAgYm94LXNoYWRvdzogQHNlbGVjdGlvbkJveFNoYWRvdztcbiAgYm9yZGVyOiBAc2VsZWN0aW9uQm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAc2VsZWN0aW9uQm9yZGVyUmFkaXVzO1xuICB0cmFuc2l0aW9uOiBAc2VsZWN0aW9uVHJhbnNpdGlvbjtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24udmlzaWJsZSxcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24uYWN0aXZlIHtcbiAgei1pbmRleDogQHNlbGVjdGlvblpJbmRleDtcbn1cblxuc2VsZWN0LnVpLmRyb3Bkb3duIHtcbiAgaGVpZ2h0OiBAc2VsZWN0SGVpZ2h0O1xuICBwYWRkaW5nOiBAc2VsZWN0UGFkZGluZztcbiAgYm9yZGVyOiBAc2VsZWN0Qm9yZGVyO1xuICB2aXNpYmlsaXR5OiBAc2VsZWN0VmlzaWJpbGl0eTtcbn1cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuc2VhcmNoLmljb24sXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duID4gLmRlbGV0ZS5pY29uLFxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIGxpbmUtaGVpZ2h0OiBAc2VhcmNoU2VsZWN0aW9uTGluZUhlaWdodDtcbiAgdG9wOiBAc2VsZWN0aW9uVmVydGljYWxQYWRkaW5nO1xuICByaWdodDogQHNlbGVjdGlvbkhvcml6b250YWxQYWRkaW5nO1xuICB6LWluZGV4OiBAc2VsZWN0aW9uSWNvblpJbmRleDtcbiAgbWFyZ2luOiBAc2VsZWN0aW9uSWNvbk1hcmdpbjtcbiAgcGFkZGluZzogQHNlbGVjdGlvbkljb25QYWRkaW5nO1xuICBvcGFjaXR5OiBAc2VsZWN0aW9uSWNvbk9wYWNpdHk7XG4gIHRyYW5zaXRpb246IEBzZWxlY3Rpb25JY29uVHJhbnNpdGlvbjtcbn1cblxuLyogQ29tcGFjdCAqL1xuLnVpLmNvbXBhY3Quc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgbWluLXdpZHRoOiAgMHB4O1xufVxuXG4vKiAgU2VsZWN0aW9uIE1lbnUgKi9cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBib3JkZXItdG9wLXdpZHRoOiAwcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIG91dGxpbmU6IG5vbmU7XG4gIG1hcmdpbjogMHB4IC1AbWVudUJvcmRlcldpZHRoO1xuICBtaW4td2lkdGg6IEBtZW51TWluV2lkdGg7XG4gIHdpZHRoOiBAbWVudU1pbldpZHRoO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBzZWxlY3Rpb25NZW51Qm9yZGVyUmFkaXVzO1xuICBib3gtc2hhZG93OiBAc2VsZWN0aW9uTWVudUJveFNoYWRvdztcbiAgdHJhbnNpdGlvbjogQHNlbGVjdGlvbk1lbnVUcmFuc2l0aW9uO1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudTphZnRlcixcbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnU6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIE1lc3NhZ2Vcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24gLm1lbnUgPiAubWVzc2FnZSB7XG4gIHBhZGRpbmc6IEBzZWxlY3Rpb25NZXNzYWdlUGFkZGluZztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSB7XG4gICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbk1vYmlsZU1heE1lbnVIZWlnaHQ7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSB7XG4gICAgbWF4LWhlaWdodDogQHNlbGVjdGlvblRhYmxldE1heE1lbnVIZWlnaHQ7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQGNvbXB1dGVyQnJlYWtwb2ludCkge1xuICAudWkuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiBAc2VsZWN0aW9uQ29tcHV0ZXJNYXhNZW51SGVpZ2h0O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSB7XG4gICAgbWF4LWhlaWdodDogQHNlbGVjdGlvbldpZGVzY3JlZW5NYXhNZW51SGVpZ2h0O1xuICB9XG59XG5cbi8qIE1lbnUgSXRlbSAqL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSA+IC5pdGVtIHtcbiAgYm9yZGVyLXRvcDogQHNlbGVjdGlvbkl0ZW1EaXZpZGVyO1xuICBwYWRkaW5nOiBAc2VsZWN0aW9uSXRlbVBhZGRpbmcgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG59XG5cbi8qIFVzZXIgSXRlbSAqL1xuLnVpLnNlbGVjdGlvbi5kcm9wZG93biAubWVudSA+IC5oaWRkZW4uYWRkaXRpb24uaXRlbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhvdmVyICovXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uSG92ZXJCb3JkZXJDb2xvcjtcbiAgYm94LXNoYWRvdzogQHNlbGVjdGlvbkhvdmVyQm94U2hhZG93O1xufVxuXG4vKiBBY3RpdmUgKi9cbi51aS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duIHtcbiAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uVmlzaWJsZUJvcmRlckNvbG9yO1xuICBib3gtc2hhZG93OiBAc2VsZWN0aW9uVmlzaWJsZUJveFNoYWRvdztcbn1cbi51aS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duIC5tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uVmlzaWJsZUJvcmRlckNvbG9yO1xuICBib3gtc2hhZG93OiBAc2VsZWN0aW9uVmlzaWJsZU1lbnVCb3hTaGFkb3c7XG59XG5cbi8qIEZvY3VzICovXG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uRm9jdXNCb3JkZXJDb2xvcjtcbiAgYm94LXNoYWRvdzogQHNlbGVjdGlvbkZvY3VzQm94U2hhZG93O1xufVxuLnVpLnNlbGVjdGlvbi5kcm9wZG93bjpmb2N1cyAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogQHNlbGVjdGlvbkZvY3VzQm9yZGVyQ29sb3I7XG4gIGJveC1zaGFkb3c6IEBzZWxlY3Rpb25Gb2N1c01lbnVCb3hTaGFkb3c7XG59XG5cbi8qIFZpc2libGUgKi9cbi51aS5zZWxlY3Rpb24udmlzaWJsZS5kcm9wZG93biA+IC50ZXh0Om5vdCguZGVmYXVsdCkge1xuICBmb250LXdlaWdodDogQHNlbGVjdGlvblZpc2libGVUZXh0Rm9udFdlaWdodDtcbiAgY29sb3I6IEBzZWxlY3Rpb25WaXNpYmxlVGV4dENvbG9yO1xufVxuXG4vKiBWaXNpYmxlIEhvdmVyICovXG4udWkuc2VsZWN0aW9uLmFjdGl2ZS5kcm9wZG93bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogQHNlbGVjdGlvbkFjdGl2ZUhvdmVyQm9yZGVyQ29sb3I7XG4gIGJveC1zaGFkb3c6IEBzZWxlY3Rpb25BY3RpdmVIb3ZlckJveFNoYWRvdztcbn1cbi51aS5zZWxlY3Rpb24uYWN0aXZlLmRyb3Bkb3duOmhvdmVyIC5tZW51IHtcbiAgYm9yZGVyLWNvbG9yOiBAc2VsZWN0aW9uQWN0aXZlSG92ZXJCb3JkZXJDb2xvcjtcbiAgYm94LXNoYWRvdzogQHNlbGVjdGlvbkFjdGl2ZUhvdmVyTWVudUJveFNoYWRvdztcbn1cblxuLyogRHJvcGRvd24gSWNvbiAqL1xuLnVpLmFjdGl2ZS5zZWxlY3Rpb24uZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbixcbi51aS52aXNpYmxlLnNlbGVjdGlvbi5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgb3BhY2l0eTogQHNlbGVjdGlvblZpc2libGVJY29uT3BhY2l0eTtcbiAgei1pbmRleDogMztcbn1cblxuLyogQ29ubmVjdGluZyBCb3JkZXIgKi9cbi51aS5hY3RpdmUuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHNlbGVjdGlvblZpc2libGVDb25uZWN0aW5nQm9yZGVyICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAc2VsZWN0aW9uVmlzaWJsZUNvbm5lY3RpbmdCb3JkZXIgIWltcG9ydGFudDtcbn1cblxuLyogRW1wdHkgQ29ubmVjdGluZyBCb3JkZXIgKi9cbi51aS5hY3RpdmUuZW1wdHkuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgYm9yZGVyLXJhZGl1czogQHNlbGVjdGlvbkJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBAc2VsZWN0aW9uQm94U2hhZG93ICFpbXBvcnRhbnQ7XG59XG4udWkuYWN0aXZlLmVtcHR5LnNlbGVjdGlvbi5kcm9wZG93biAubWVudSB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFNlYXJjaGFibGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNlYXJjaCBTZWxlY3Rpb24gKi9cbi51aS5zZWFyY2guZHJvcGRvd24ge1xuICBtaW4td2lkdGg6IEBzZWFyY2hNaW5XaWR0aDtcbn1cblxuLyogU2VhcmNoIERyb3Bkb3duICovXG4udWkuc2VhcmNoLmRyb3Bkb3duID4gaW5wdXQuc2VhcmNoIHtcbiAgYmFja2dyb3VuZDogbm9uZSB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHRleHQ7XG4gIHRvcDogMGVtO1xuICBsZWZ0OiBAdGV4dEN1cnNvclNwYWNpbmc7XG4gIHdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIHBhZGRpbmc6IGluaGVyaXQ7XG59XG5cbi8qIFRleHQgTGF5ZXJpbmcgKi9cbi51aS5zZWFyY2guZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG59XG4udWkuc2VhcmNoLmRyb3Bkb3duID4gLnRleHQge1xuICBjdXJzb3I6IHRleHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogQHRleHRDdXJzb3JTcGFjaW5nO1xuICB6LWluZGV4OiAzO1xufVxuXG4vKiBTZWFyY2ggU2VsZWN0aW9uICovXG4udWkuc2VhcmNoLnNlbGVjdGlvbi5kcm9wZG93biA+IGlucHV0LnNlYXJjaCB7XG4gIGxpbmUtaGVpZ2h0OiBAc2VhcmNoU2VsZWN0aW9uTGluZUhlaWdodDtcbiAgcGFkZGluZzogQHNlYXJjaFNlbGVjdGlvbklucHV0UGFkZGluZztcbn1cblxuLyogVXNlZCB0byBzaXplIG11bHRpIHNlbGVjdCBpbnB1dCB0byBjaGFyYWN0ZXIgd2lkdGggKi9cbi51aS5zZWFyY2guc2VsZWN0aW9uLmRyb3Bkb3duID4gc3Bhbi5zaXplciB7XG4gIGxpbmUtaGVpZ2h0OiBAc2VhcmNoU2VsZWN0aW9uTGluZUhlaWdodDtcbiAgcGFkZGluZzogQHNlYXJjaFNlbGVjdGlvbklucHV0UGFkZGluZztcbiAgZGlzcGxheTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbn1cblxuLyogQWN0aXZlL1Zpc2libGUgU2VhcmNoICovXG4udWkuc2VhcmNoLmRyb3Bkb3duLmFjdGl2ZSA+IGlucHV0LnNlYXJjaCxcbi51aS5zZWFyY2guZHJvcGRvd24udmlzaWJsZSA+IGlucHV0LnNlYXJjaCB7XG4gIGN1cnNvcjogYXV0bztcbn1cbi51aS5zZWFyY2guZHJvcGRvd24uYWN0aXZlID4gLnRleHQsXG4udWkuc2VhcmNoLmRyb3Bkb3duLnZpc2libGUgPiAudGV4dCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBGaWx0ZXJlZCBUZXh0ICovXG4udWkuYWN0aXZlLnNlYXJjaC5kcm9wZG93biBpbnB1dC5zZWFyY2g6Zm9jdXMgKyAudGV4dCAuaWNvbixcbi51aS5hY3RpdmUuc2VhcmNoLmRyb3Bkb3duIGlucHV0LnNlYXJjaDpmb2N1cyArIC50ZXh0IC5mbGFnIHtcbiAgb3BhY2l0eTogQHNlbGVjdGlvblRleHRVbmRlcmxheUljb25PcGFjaXR5O1xufVxuLnVpLmFjdGl2ZS5zZWFyY2guZHJvcGRvd24gaW5wdXQuc2VhcmNoOmZvY3VzICsgLnRleHQge1xuICBjb2xvcjogQHNlbGVjdGlvblRleHRVbmRlcmxheUNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlYXJjaCBNZW51ICovXG4udWkuc2VhcmNoLmRyb3Bkb3duIC5tZW51IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gIC51aS5zZWFyY2guZHJvcGRvd24gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IEBzZWFyY2hNb2JpbGVNYXhNZW51SGVpZ2h0O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEB0YWJsZXRCcmVha3BvaW50KSB7XG4gIC51aS5zZWFyY2guZHJvcGRvd24gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IEBzZWFyY2hUYWJsZXRNYXhNZW51SGVpZ2h0O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgLnVpLnNlYXJjaC5kcm9wZG93biAubWVudSB7XG4gICAgbWF4LWhlaWdodDogQHNlYXJjaENvbXB1dGVyTWF4TWVudUhlaWdodDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAd2lkZXNjcmVlbk1vbml0b3JCcmVha3BvaW50KSB7XG4gIC51aS5zZWFyY2guZHJvcGRvd24gLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IEBzZWFyY2hXaWRlc2NyZWVuTWF4TWVudUhlaWdodDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgTXVsdGlwbGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIE11bHRpcGxlIFNlbGVjdGlvbiAqL1xuLnVpLm11bHRpcGxlLmRyb3Bkb3duIHtcbiAgcGFkZGluZzogQG11bHRpcGxlU2VsZWN0aW9uUGFkZGluZztcbn1cbi51aS5tdWx0aXBsZS5kcm9wZG93biAubWVudSB7XG4gIGN1cnNvcjogYXV0bztcbn1cblxuLyogTXVsdGlwbGUgU2VhcmNoIFNlbGVjdGlvbiAqL1xuLnVpLm11bHRpcGxlLnNlYXJjaC5kcm9wZG93bixcbi51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xuICBjdXJzb3I6IHRleHQ7XG59XG5cbi8qIFNlbGVjdGlvbiBMYWJlbCAqL1xuLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgZm9udC1zaXplOiBAbGFiZWxTaXplO1xuICBwYWRkaW5nOiBAbGFiZWxQYWRkaW5nO1xuICBtYXJnaW46IEBsYWJlbE1hcmdpbjtcbiAgYm94LXNoYWRvdzogQGxhYmVsQm94U2hhZG93O1xufVxuXG4vKiBEcm9wZG93biBJY29uICovXG4udWkubXVsdGlwbGUuZHJvcGRvd24gLmRyb3Bkb3duLmljb24ge1xuICBtYXJnaW46IEBtdWx0aXBsZVNlbGVjdGlvbkRyb3Bkb3duSWNvbk1hcmdpbjtcbiAgcGFkZGluZzogQG11bHRpcGxlU2VsZWN0aW9uRHJvcGRvd25JY29uUGFkZGluZztcbn1cblxuLyogVGV4dCAqL1xuLnVpLm11bHRpcGxlLmRyb3Bkb3duID4gLnRleHQge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBwYWRkaW5nOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogQG11bHRpcGxlU2VsZWN0aW9uQ2hpbGRNYXJnaW47XG4gIGxpbmUtaGVpZ2h0OiBAbXVsdGlwbGVTZWxlY3Rpb25DaGlsZExpbmVIZWlnaHQ7XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwgfiBpbnB1dC5zZWFyY2gge1xuICBtYXJnaW4tbGVmdDogQG11bHRpcGxlU2VsZWN0aW9uU2VhcmNoQWZ0ZXJMYWJlbERpc3RhbmNlICFpbXBvcnRhbnQ7XG59XG4udWkubXVsdGlwbGUuZHJvcGRvd24gPiAubGFiZWwgfiAudGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS1cbiAgTXVsdGlwbGUgU2VhcmNoXG4tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFByb21wdCBUZXh0ICovXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gLnRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiBpbmhlcml0O1xuICBtYXJnaW46IEBtdWx0aXBsZVNlbGVjdGlvbkNoaWxkTWFyZ2luO1xuICBsaW5lLWhlaWdodDogQG11bHRpcGxlU2VsZWN0aW9uQ2hpbGRMaW5lSGVpZ2h0O1xufVxuXG4udWkubXVsdGlwbGUuc2VhcmNoLmRyb3Bkb3duID4gLmxhYmVsIH4gLnRleHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBTZWFyY2ggKi9cbi51aS5tdWx0aXBsZS5zZWFyY2guZHJvcGRvd24gPiBpbnB1dC5zZWFyY2gge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBwYWRkaW5nOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogQG11bHRpcGxlU2VsZWN0aW9uQ2hpbGRNYXJnaW47XG4gIHdpZHRoOiBAbXVsdGlwbGVTZWxlY3Rpb25TZWFyY2hTdGFydFdpZHRoO1xuICBsaW5lLWhlaWdodDogQG11bHRpcGxlU2VsZWN0aW9uQ2hpbGRMaW5lSGVpZ2h0O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgSW5saW5lXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW5saW5lLmRyb3Bkb3duIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiBAaW5saW5lVGV4dENvbG9yO1xufVxuLnVpLmlubGluZS5kcm9wZG93biAuZHJvcGRvd24uaWNvbiB7XG4gIG1hcmdpbjogQGlubGluZUljb25NYXJnaW47XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbi51aS5pbmxpbmUuZHJvcGRvd24gPiAudGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBAaW5saW5lVGV4dEZvbnRXZWlnaHQ7XG59XG4udWkuaW5saW5lLmRyb3Bkb3duIC5tZW51IHtcbiAgY3Vyc29yOiBhdXRvO1xuICBtYXJnaW4tdG9wOiBAaW5saW5lTWVudURpc3RhbmNlO1xuICBib3JkZXItcmFkaXVzOiBAaW5saW5lTWVudUJvcmRlclJhZGl1cztcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogTWVudSBJdGVtIEFjdGl2ZSAqL1xuLnVpLmRyb3Bkb3duIC5tZW51IC5hY3RpdmUuaXRlbSB7XG4gIGJhY2tncm91bmQ6IEBhY3RpdmVJdGVtQmFja2dyb3VuZDtcbiAgZm9udC13ZWlnaHQ6IEBhY3RpdmVJdGVtRm9udFdlaWdodDtcbiAgY29sb3I6IEBhY3RpdmVJdGVtQ29sb3I7XG4gIGJveC1zaGFkb3c6IEBhY3RpdmVJdGVtQm94U2hhZG93O1xuICB6LWluZGV4OiBAYWN0aXZlSXRlbVpJbmRleDtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogTWVudSBJdGVtIEhvdmVyICovXG4udWkuZHJvcGRvd24gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IEBob3ZlcmVkSXRlbUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaG92ZXJlZEl0ZW1Db2xvcjtcbiAgei1pbmRleDogQGhvdmVyZWRaSW5kZXg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubG9hZGluZy5kcm9wZG93biA+IGkuaWNvbiB7XG4gIGhlaWdodDogQHJlbGF0aXZlMTRweCAhaW1wb3J0YW50O1xufVxuLnVpLmxvYWRpbmcuc2VsZWN0aW9uLmRyb3Bkb3duID4gaS5pY29uIHtcbiAgcGFkZGluZzogQHJlbGF0aXZlMjFweCBAcmVsYXRpdmUxOHB4ICFpbXBvcnRhbnQ7XG59XG4udWkubG9hZGluZy5kcm9wZG93biA+IGkuaWNvbjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuXG4gIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBsb2FkZXJGaWxsQ29sb3I7XG59XG4udWkubG9hZGluZy5kcm9wZG93biA+IGkuaWNvbjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDFweCB0cmFuc3BhcmVudDtcblxuICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcblxuICBhbmltYXRpb246IGRyb3Bkb3duLXNwaW4gQGxvYWRlclNwZWVkIGxpbmVhcjtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG5cbiAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuXG4gIGJvcmRlci1jb2xvcjogQGxvYWRlckxpbmVDb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiBAbG9hZGVyTGluZVdpZHRoO1xufVxuXG4vKiBDb3VwbGluZyAqL1xuLnVpLmxvYWRpbmcuZHJvcGRvd24uYnV0dG9uID4gaS5pY29uOmJlZm9yZSxcbi51aS5sb2FkaW5nLmRyb3Bkb3duLmJ1dHRvbiA+IGkuaWNvbjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBrZXlmcmFtZXMgZHJvcGRvd24tc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICBEZWZhdWx0IFRleHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZHJvcGRvd246bm90KC5idXR0b24pID4gLmRlZmF1bHQudGV4dCxcbi51aS5kZWZhdWx0LmRyb3Bkb3duOm5vdCguYnV0dG9uKSA+IC50ZXh0IHtcbiAgY29sb3I6IEBkZWZhdWx0VGV4dENvbG9yO1xufVxuLnVpLmRyb3Bkb3duOm5vdCguYnV0dG9uKSA+IGlucHV0OmZvY3VzIH4gLmRlZmF1bHQudGV4dCxcbi51aS5kZWZhdWx0LmRyb3Bkb3duOm5vdCguYnV0dG9uKSA+IGlucHV0OmZvY3VzIH4gLnRleHQge1xuICBjb2xvcjogQGRlZmF1bHRUZXh0Rm9jdXNDb2xvcjtcbn1cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgTG9hZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sb2FkaW5nLmRyb3Bkb3duID4gLnRleHQge1xuICB0cmFuc2l0aW9uOiBub25lO1xufVxuXG4vKiBVc2VkIFRvIENoZWNrIFBvc2l0aW9uICovXG4udWkuZHJvcGRvd24gLmxvYWRpbmcubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IEBsb2FkaW5nWkluZGV4O1xufVxuLnVpLmRyb3Bkb3duID4gLmxvYWRpbmcubWVudSB7XG4gIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xuICByaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLnVpLmRyb3Bkb3duID4gLm1lbnUgLmxvYWRpbmcubWVudSB7XG4gIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcbiAgcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIEtleWJvYXJkIFNlbGVjdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFNlbGVjdGVkIEl0ZW0gKi9cbi51aS5kcm9wZG93bi5zZWxlY3RlZCxcbi51aS5kcm9wZG93biAubWVudSAuc2VsZWN0ZWQuaXRlbSB7XG4gIGJhY2tncm91bmQ6IEBzZWxlY3RlZEJhY2tncm91bmQ7XG4gIGNvbG9yOiBAc2VsZWN0ZWRDb2xvcjtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgU2VhcmNoIEZpbHRlcmVkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogRmlsdGVyZWQgSXRlbSAqL1xuLnVpLmRyb3Bkb3duID4gLmZpbHRlcmVkLnRleHQge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udWkuZHJvcGRvd24gLmZpbHRlcmVkLml0ZW0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBFcnJvclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kcm9wZG93bi5lcnJvcixcbi51aS5kcm9wZG93bi5lcnJvciA+IC50ZXh0LFxuLnVpLmRyb3Bkb3duLmVycm9yID4gLmRlZmF1bHQudGV4dCB7XG4gIGNvbG9yOiBAZXJyb3JUZXh0Q29sb3I7XG59XG5cbi51aS5zZWxlY3Rpb24uZHJvcGRvd24uZXJyb3Ige1xuICBiYWNrZ3JvdW5kOiBAZXJyb3JCYWNrZ3JvdW5kQ29sb3I7XG4gIGJvcmRlci1jb2xvcjogQGVycm9yQm9yZGVyQ29sb3I7XG59XG4udWkuc2VsZWN0aW9uLmRyb3Bkb3duLmVycm9yOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiBAZXJyb3JCb3JkZXJDb2xvcjtcbn1cblxuLnVpLmRyb3Bkb3duLmVycm9yID4gLm1lbnUsXG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSAubWVudSB7XG4gIGJvcmRlci1jb2xvcjogQGVycm9yQm9yZGVyQ29sb3I7XG59XG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSA+IC5pdGVtIHtcbiAgY29sb3I6IEBlcnJvckl0ZW1UZXh0Q29sb3I7XG59XG4udWkubXVsdGlwbGUuc2VsZWN0aW9uLmVycm9yLmRyb3Bkb3duID4gLmxhYmVsIHtcbiAgYm9yZGVyLWNvbG9yOiBAZXJyb3JCb3JkZXJDb2xvcjtcbn1cblxuLyogSXRlbSBIb3ZlciAqL1xuLnVpLmRyb3Bkb3duLmVycm9yID4gLm1lbnUgPiAuaXRlbTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBlcnJvckl0ZW1Ib3ZlckJhY2tncm91bmQ7XG59XG5cbi8qIEl0ZW0gQWN0aXZlICovXG4udWkuZHJvcGRvd24uZXJyb3IgPiAubWVudSAuYWN0aXZlLml0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZXJyb3JJdGVtQWN0aXZlQmFja2dyb3VuZDtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIENsZWFyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmRyb3Bkb3duID4gLmNsZWFyLmRyb3Bkb3duLmljb24ge1xuICBvcGFjaXR5OiBAY2xlYXJhYmxlSWNvbk9wYWNpdHk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgQGRlZmF1bHREdXJhdGlvbiBAZGVmYXVsdEVhc2luZztcbn1cbi51aS5kcm9wZG93biA+IC5jbGVhci5kcm9wZG93bi5pY29uOmhvdmVyIHtcbiAgb3BhY2l0eTogQGNsZWFyYWJsZUljb25BY3RpdmVPcGFjaXR5O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBEaXNhYmxlZCAqL1xuLnVpLmRpc2FibGVkLmRyb3Bkb3duLFxuLnVpLmRyb3Bkb3duIC5tZW51ID4gLmRpc2FibGVkLml0ZW0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiBAZGlzYWJsZWRPcGFjaXR5O1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBEaXJlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEZseW91dCBEaXJlY3Rpb24gKi9cbi51aS5kcm9wZG93biAubWVudSB7XG4gIGxlZnQ6IDBweDtcbn1cblxuXG4vKiBEZWZhdWx0IFNpZGUgKFJpZ2h0KSAqL1xuLnVpLmRyb3Bkb3duIC5yaWdodC5tZW51ID4gLm1lbnUsXG4udWkuZHJvcGRvd24gLm1lbnUgLnJpZ2h0Lm1lbnUge1xuICBsZWZ0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBzdWJNZW51Qm9yZGVyUmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi8qIExlZnR3YXJkIE9wZW5pbmcgTWVudSAqL1xuLnVpLmRyb3Bkb3duID4gLmxlZnQubWVudSB7XG4gIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xufVxuXG4udWkuZHJvcGRvd24gPiAubGVmdC5tZW51IC5tZW51LFxuLnVpLmRyb3Bkb3duIC5tZW51IC5sZWZ0Lm1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTtcbiAgbWFyZ2luOiBAbGVmdFN1Yk1lbnVNYXJnaW4gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogQGxlZnRTdWJNZW51Qm9yZGVyUmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uLFxuLnVpLmRyb3Bkb3duIC5sZWZ0Lm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IEBsZWZ0TWVudURyb3Bkb3duSWNvbkZsb2F0O1xuICBtYXJnaW46IEBsZWZ0TWVudURyb3Bkb3duSWNvbk1hcmdpbjtcbn1cbi51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uLFxuLnVpLmRyb3Bkb3duIC5sZWZ0Lm1lbnUgLml0ZW0gLmRyb3Bkb3duLmljb24ge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IEBsZWZ0TWVudURyb3Bkb3duSWNvbkZsb2F0O1xuICBtYXJnaW46IEBsZWZ0TWVudURyb3Bkb3duSWNvbk1hcmdpbjtcbn1cbi51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uICsgLnRleHQsXG4udWkuZHJvcGRvd24gLmxlZnQubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbiArIC50ZXh0IHtcbiAgbWFyZ2luLWxlZnQ6IEBpdGVtRHJvcGRvd25JY29uRGlzdGFuY2U7XG4gIG1hcmdpbi1yaWdodDogMGVtO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgVXB3YXJkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBVcHdhcmQgTWFpbiBNZW51ICovXG4udWkudXB3YXJkLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgYm94LXNoYWRvdzogQHVwd2FyZE1lbnVCb3hTaGFkb3c7XG4gIGJvcmRlci1yYWRpdXM6IEB1cHdhcmRNZW51Qm9yZGVyUmFkaXVzO1xufVxuXG4vKiBVcHdhcmQgU3ViIE1lbnUgKi9cbi51aS5kcm9wZG93biAudXB3YXJkLm1lbnUge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qIEFjdGl2ZSBVcHdhcmQgKi9cbi51aS5zaW1wbGUudXB3YXJkLmFjdGl2ZS5kcm9wZG93bixcbi51aS5zaW1wbGUudXB3YXJkLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlclJhZGl1cyBAYm9yZGVyUmFkaXVzIDBlbSAwZW0gIWltcG9ydGFudDtcbn1cbi51aS51cHdhcmQuZHJvcGRvd24uYnV0dG9uOm5vdCgucG9pbnRpbmcpOm5vdCguZmxvYXRpbmcpLmFjdGl2ZSB7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXMgQGJvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuXG4vKiBTZWxlY3Rpb24gKi9cbi51aS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duIC5tZW51IHtcbiAgYm9yZGVyLXRvcC13aWR0aDogQG1lbnVCb3JkZXJXaWR0aCAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwcHggIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogQHVwd2FyZFNlbGVjdGlvbk1lbnVCb3hTaGFkb3c7XG59XG4udWkudXB3YXJkLnNlbGVjdGlvbi5kcm9wZG93bjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IEB1cHdhcmRTZWxlY3Rpb25Ib3ZlckJveFNoYWRvdztcbn1cblxuLyogQWN0aXZlIFVwd2FyZCAqL1xuLnVpLmFjdGl2ZS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duIHtcbiAgYm9yZGVyLXJhZGl1czogQHVwd2FyZFNlbGVjdGlvblZpc2libGVCb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLyogVmlzaWJsZSBVcHdhcmQgKi9cbi51aS51cHdhcmQuc2VsZWN0aW9uLmRyb3Bkb3duLnZpc2libGUge1xuICBib3gtc2hhZG93OiBAdXB3YXJkU2VsZWN0aW9uVmlzaWJsZUJveFNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogQHVwd2FyZFNlbGVjdGlvblZpc2libGVCb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLyogVmlzaWJsZSBIb3ZlciBVcHdhcmQgKi9cbi51aS51cHdhcmQuYWN0aXZlLnNlbGVjdGlvbi5kcm9wZG93bjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IEB1cHdhcmRTZWxlY3Rpb25BY3RpdmVIb3ZlckJveFNoYWRvdztcbn1cbi51aS51cHdhcmQuYWN0aXZlLnNlbGVjdGlvbi5kcm9wZG93bjpob3ZlciAubWVudSB7XG4gIGJveC1zaGFkb3c6IEB1cHdhcmRTZWxlY3Rpb25BY3RpdmVIb3Zlck1lbnVCb3hTaGFkb3c7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgU2ltcGxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiAgU2VsZWN0aW9uIE1lbnUgKi9cbi51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvcmRlci10b3A6IEBtZW51Qm9yZGVyO1xufVxuLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSAuaXRlbS5pdGVtLml0ZW0sXG4udWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51ID4gLml0ZW0uaXRlbS5pdGVtIHtcbiAgYm9yZGVyLXRvcDogQHNjcm9sbGluZ01lbnVJdGVtQm9yZGVyO1xufVxuLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSAuaXRlbTpmaXJzdC1jaGlsZCxcbi51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUgLml0ZW06Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuLnVpLmRyb3Bkb3duID4gLmFuaW1hdGluZy5tZW51IC5zY3JvbGxpbmcubWVudSxcbi51aS5kcm9wZG93biA+IC52aXNpYmxlLm1lbnUgLnNjcm9sbGluZy5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFNjcm9sbGJhciBpbiBJRSAqL1xuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpIHtcbiAgLnVpLnNjcm9sbGluZy5kcm9wZG93biAubWVudSxcbiAgLnVpLmRyb3Bkb3duIC5zY3JvbGxpbmcubWVudSB7XG4gICAgbWluLXdpZHRoOiBjYWxjKDEwMCUgLSBAc2Nyb2xsYmFyV2lkdGgpO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nTW9iaWxlTWF4TWVudUhlaWdodDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAdGFibGV0QnJlYWtwb2ludCkge1xuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nVGFibGV0TWF4TWVudUhlaWdodDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAY29tcHV0ZXJCcmVha3BvaW50KSB7XG4gIC51aS5zY3JvbGxpbmcuZHJvcGRvd24gLm1lbnUsXG4gIC51aS5kcm9wZG93biAuc2Nyb2xsaW5nLm1lbnUge1xuICAgIG1heC1oZWlnaHQ6IEBzY3JvbGxpbmdDb21wdXRlck1heE1lbnVIZWlnaHQ7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAudWkuc2Nyb2xsaW5nLmRyb3Bkb3duIC5tZW51LFxuICAudWkuZHJvcGRvd24gLnNjcm9sbGluZy5tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nV2lkZXNjcmVlbk1heE1lbnVIZWlnaHQ7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaW1wbGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIERpc3BsYXlzIHdpdGhvdXQgamF2YXNjcmlwdCAqL1xuXG4udWkuc2ltcGxlLmRyb3Bkb3duIC5tZW51OmJlZm9yZSxcbi51aS5zaW1wbGUuZHJvcGRvd24gLm1lbnU6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLnNpbXBsZS5kcm9wZG93biAubWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRvcDogLTk5OTlweCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBAc2ltcGxlVHJhbnNpdGlvbjtcbn1cblxuLnVpLnNpbXBsZS5hY3RpdmUuZHJvcGRvd24sXG4udWkuc2ltcGxlLmRyb3Bkb3duOmhvdmVyIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMGVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwZW0gIWltcG9ydGFudDtcbn1cblxuLnVpLnNpbXBsZS5hY3RpdmUuZHJvcGRvd24gPiAubWVudSxcbi51aS5zaW1wbGUuZHJvcGRvd246aG92ZXIgPiAubWVudSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0b3A6IDEwMCUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS5zaW1wbGUuZHJvcGRvd24gPiAubWVudSA+IC5pdGVtOmFjdGl2ZSA+IC5tZW51LFxuLnVpLnNpbXBsZS5kcm9wZG93bjpob3ZlciA+IC5tZW51ID4gLml0ZW06aG92ZXIgPiAubWVudSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB0b3A6IDAlICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IDEwMCUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbn1cbi51aS5zaW1wbGUuZGlzYWJsZWQuZHJvcGRvd246aG92ZXIgLm1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDBweDtcbiAgd2lkdGg6IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogVmlzaWJsZSAqL1xuLnVpLnNpbXBsZS52aXNpYmxlLmRyb3Bkb3duID4gLm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbHVpZC5kcm9wZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwZW07XG59XG4udWkuZmx1aWQuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRmxvYXRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbG9hdGluZy5kcm9wZG93biAubWVudSB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3gtc2hhZG93OiBAZmxvYXRpbmdNZW51Qm94U2hhZG93ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBmbG9hdGluZ01lbnVCb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbn1cbi51aS5mbG9hdGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgbWFyZ2luLXRvcDogQGZsb2F0aW5nTWVudURpc3RhbmNlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBmbG9hdGluZ01lbnVCb3JkZXJSYWRpdXMgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBQb2ludGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDEwMCU7XG4gIG1hcmdpbi10b3A6IEBwb2ludGluZ01lbnVEaXN0YW5jZTtcbiAgYm9yZGVyLXJhZGl1czogQHBvaW50aW5nTWVudUJvcmRlclJhZGl1cztcbn1cblxuLnVpLnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY29udGVudDogJyc7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICB3aWR0aDogQHBvaW50aW5nQXJyb3dTaXplO1xuICBoZWlnaHQ6IEBwb2ludGluZ0Fycm93U2l6ZTtcbiAgYm94LXNoYWRvdzogQHBvaW50aW5nQXJyb3dCb3hTaGFkb3c7XG4gIGJhY2tncm91bmQ6IEBwb2ludGluZ0Fycm93QmFja2dyb3VuZDtcbiAgei1pbmRleDogQHBvaW50aW5nQXJyb3daSW5kZXg7XG59XG5cbi51aS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyIHtcbiAgdG9wOiBAcG9pbnRpbmdBcnJvd09mZnNldDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIEBwb2ludGluZ0Fycm93T2Zmc2V0O1xufVxuXG4vKiBUb3AgTGVmdCBQb2ludGluZyAqL1xuLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwZW0gMGVtO1xufVxuLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwZW0gMGVtO1xufVxuLnVpLnRvcC5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xuICB0b3A6IEBwb2ludGluZ0Fycm93T2Zmc2V0O1xuICBsZWZ0OiBAcG9pbnRpbmdBcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDBlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuLyogVG9wIFJpZ2h0IFBvaW50aW5nICovXG4udWkudG9wLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IDAlO1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW46IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwZW0gMGVtO1xufVxuLnVpLnRvcC5wb2ludGluZy5kcm9wZG93biA+IC5sZWZ0Lm1lbnU6YWZ0ZXIsXG4udWkudG9wLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xuICB0b3A6IEBwb2ludGluZ0Fycm93T2Zmc2V0O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiBAcG9pbnRpbmdBcnJvd0Rpc3RhbmNlRnJvbUVkZ2UgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuLyogTGVmdCBQb2ludGluZyAqL1xuLnVpLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDEwMCU7XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZTtcbn1cbi51aS5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnU6YWZ0ZXIge1xuICB0b3A6IDFlbTtcbiAgbGVmdDogQHBvaW50aW5nQXJyb3dPZmZzZXQ7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMGVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuLnVpLmxlZnQ6bm90KC50b3ApOm5vdCguYm90dG9tKS5wb2ludGluZy5kcm9wZG93biA+IC5sZWZ0Lm1lbnUge1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtIEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwZW0gMGVtO1xufVxuLnVpLmxlZnQ6bm90KC50b3ApOm5vdCguYm90dG9tKS5wb2ludGluZy5kcm9wZG93biA+IC5sZWZ0Lm1lbnU6YWZ0ZXIge1xuICB0b3A6IDFlbTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IEBwb2ludGluZ0Fycm93T2Zmc2V0O1xuICBtYXJnaW46IDBlbSAwZW0gMGVtIDBlbTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbn1cblxuXG4vKiBSaWdodCBQb2ludGluZyAqL1xuLnVpLnJpZ2h0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICB0b3A6IDAlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwZW0gQHBvaW50aW5nQXJyb3dEaXN0YW5jZUZyb21FZGdlIDBlbSAwZW07XG59XG4udWkucmlnaHQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTphZnRlciB7XG4gIHRvcDogMWVtO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogQHBvaW50aW5nQXJyb3dPZmZzZXQ7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gMGVtO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xufVxuXG4vKiBCb3R0b20gUG9pbnRpbmcgKi9cbi51aS5ib3R0b20ucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMGVtIDBlbSBAcG9pbnRpbmdBcnJvd0Rpc3RhbmNlRnJvbUVkZ2UgO1xufVxuLnVpLmJvdHRvbS5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IEBwb2ludGluZ0Fycm93T2Zmc2V0O1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luOiAwZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xufVxuLyogUmV2ZXJzZSBTdWItTWVudSBEaXJlY3Rpb24gKi9cbi51aS5ib3R0b20ucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudSAubWVudSB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDBweCAhaW1wb3J0YW50O1xufVxuXG4vKiBCb3R0b20gTGVmdCAqL1xuLnVpLmJvdHRvbS5sZWZ0LnBvaW50aW5nLmRyb3Bkb3duID4gLm1lbnUge1xuICBsZWZ0OiAwJTtcbiAgcmlnaHQ6IGF1dG87XG59XG4udWkuYm90dG9tLmxlZnQucG9pbnRpbmcuZHJvcGRvd24gPiAubWVudTphZnRlciB7XG4gIGxlZnQ6IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZTtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi8qIEJvdHRvbSBSaWdodCAqL1xuLnVpLmJvdHRvbS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51IHtcbiAgcmlnaHQ6IDAlO1xuICBsZWZ0OiBhdXRvO1xufVxuLnVpLmJvdHRvbS5yaWdodC5wb2ludGluZy5kcm9wZG93biA+IC5tZW51OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZTtcbn1cblxuLyogVXB3YXJkIHBvaW50aW5nICovXG4udWkucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51LFxuLnVpLnRvcC5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnUge1xuICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgYm90dG9tOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMGVtIDBlbSBAcG9pbnRpbmdNZW51RGlzdGFuY2U7XG4gIGJvcmRlci1yYWRpdXM6IEBwb2ludGluZ1Vwd2FyZE1lbnVCb3JkZXJSYWRpdXM7XG59XG4udWkucG9pbnRpbmcudXB3YXJkLmRyb3Bkb3duIC5tZW51OmFmdGVyLFxuLnVpLnRvcC5wb2ludGluZy51cHdhcmQuZHJvcGRvd24gLm1lbnU6YWZ0ZXIge1xuICB0b3A6IDEwMCUgIWltcG9ydGFudDtcbiAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IEBwb2ludGluZ1Vwd2FyZEFycm93Qm94U2hhZG93O1xuICBtYXJnaW46IEBwb2ludGluZ0Fycm93T2Zmc2V0IDBlbSAwZW07XG59XG5cbi8qIFJpZ2h0IFBvaW50aW5nIFVwd2FyZCAqL1xuLnVpLnJpZ2h0LnBvaW50aW5nLnVwd2FyZC5kcm9wZG93bjpub3QoLnRvcCk6bm90KC5ib3R0b20pIC5tZW51IHtcbiAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBlbSBAcG9pbnRpbmdBcnJvd0Rpc3RhbmNlRnJvbUVkZ2UgMGVtIDBlbTtcbn1cbi51aS5yaWdodC5wb2ludGluZy51cHdhcmQuZHJvcGRvd246bm90KC50b3ApOm5vdCguYm90dG9tKSAubWVudTphZnRlciB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW0gMGVtIEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwZW07XG4gIGJveC1zaGFkb3c6IEBwb2ludGluZ0Fycm93Qm94U2hhZG93O1xufVxuXG5cbi8qIExlZnQgUG9pbnRpbmcgVXB3YXJkICovXG4udWkubGVmdC5wb2ludGluZy51cHdhcmQuZHJvcGRvd246bm90KC50b3ApOm5vdCguYm90dG9tKSAubWVudSB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW0gMGVtIDBlbSBAcG9pbnRpbmdBcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG59XG4udWkubGVmdC5wb2ludGluZy51cHdhcmQuZHJvcGRvd246bm90KC50b3ApOm5vdCguYm90dG9tKSAubWVudTphZnRlciB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwZW0gMGVtIEBwb2ludGluZ0Fycm93RGlzdGFuY2VGcm9tRWRnZSAwZW07XG4gIGJveC1zaGFkb3c6IEBwb2ludGluZ0Fycm93Qm94U2hhZG93O1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgVGhlbWUgT3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBEcm9wZG93biBDYXJldHMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0Ryb3Bkb3duJztcbiAgc3JjOlxuICAgIHVybChkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCxkMDlHUmdBQkFBQUFBQVZnQUE4QUFBQUFDRkFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBQldBQUFBQndBQUFBY2hHZ2FxMGRFUlVZQUFBRjBBQUFBSEFBQUFCNEFKd0FQVDFNdk1nQUFBWkFBQUFCREFBQUFWblc0VEpkamJXRndBQUFCMUFBQUFFc0FBQUZTOENjYXFtTjJkQ0FBQUFJZ0FBQUFCQUFBQUFRQUVRRkVaMkZ6Y0FBQUFpUUFBQUFJQUFBQUNQLy9BQU5uYkhsbUFBQUNMQUFBQVFvQUFBR2tyUkhQOVdobFlXUUFBQU00QUFBQU1BQUFBRFlQSzhZeWFHaGxZUUFBQTJnQUFBQWRBQUFBSkFOQ0FiMW9iWFI0QUFBRGlBQUFBQ0lBQUFBaUNCa0FPR3h2WTJFQUFBT3NBQUFBRkFBQUFCUUJuQUl5YldGNGNBQUFBOEFBQUFBZkFBQUFJQUVWQUY1dVlXMWxBQUFENEFBQUFUQUFBQUtNRkdsajVIQnZjM1FBQUFVUUFBQUFSZ0FBQUhKb2VkanFkMlZpWmdBQUJWZ0FBQUFHQUFBQUJyTzdXNVVBQUFBQkFBQUFBTlh1bFBVQUFBQUExcjRoZ0FBQUFBRFh1MlExZU5wallHUmdZT0FCWWpFZ1ptSmdCRUlPSUdZQjh4Z0FBL1lBTjNqYVkyQmt0R09jd01ES3dNSTRqVEdOZ1lIQkhVcC9aWkJrYUdGZ1lHSmdaV2JBQ2dMU1hGTVlIRlQvZkxqRmVPRC9BUVk5eGpNTWJrQmhScEFjQU40OERRWUFlTnBqWUdCZ1pvQmdHUVpHQmhEd0FmSVl3WHdXQmdNZ3pRR0VUQXdNcW44KzhINjQ5ZjgvbEhYOS8vOWI3UHpmK2ZXZ3VzQ0FrWTBCem1VRTZnSHBRd0dNRE1NZUFBQ2J4ZzdTQUFBUkFVUUFBQUFCLy84QUFuamFkWkJQU3NOQUdNWGZTK3lNcVlnT2hwU3VTbEthZG1VaGlWRWhFTVF6RkYyMm0xN0JiYnZ6Q2g1QlhDVW42RUc4Z2plUTREZXB3WW80aSsvZmZMOTVqNEVEQStDRkM3alF1S3lJZVZIckkzd2tsZXE5RjdYclNJbkt0ZU9lSGRkYThiT29hZWVwU2MwME5XUHovTFJlYzlHOEdhYnlHdEVkRjdoMTl6MDMzR0FNVEs3emJNNDJ4TkVacHpZb2YwUnRRNUNVSEFRSjczT3RWeXV0YyszYjdPdS8vYjhYTmxzUHgzamdqVWlmQUJkaEVvaEtKSkw1aU01cDM5dXFjN1gxK3NSUVNxbUdyVVZobHNKNGxwbUVVVnd5VDhTVVl0ZzBQOUR5TnpQQUREcyt0anJHVjZLUkNSZnN1aTNlSGNMNC9wOFpYdmZNbGNuRVUrQ0x2N2hEeWtPUCtBS1RQVHhiQUFCNDJtTmdaR0JnQUdLdWY1S1A0dmx0dmpMSU16R0F3TFY5aWcwZyt2cnVGRk1RemRqQUNPSnpNSUNsQVJoMENUSjQybU5nWkdCZ1BQRC9BSkQ4d2dBRWpBME1qQXlvZ0FNQWJPUUVBUUFBQUFDN0FCRUFBQUFBQUtvQUFBSDBBQUFCZ0FBQUFVQUFDQUZBQUFnQXdBQVhBQUFBQUFBQUFDb0FLZ0FxQURJQWJBQ0dBS0FBdWdEU2VOcGpZR1JnWU9Ca1VHRmdZZ0FCRU1rRmhBd00veG4wUUFJQURkVUJkQUI0MnFXUXZVb0RRUlNGdjNHamFJU1VRYXltU21HeEpvR0FzUkMwaVBZTHNVNTBZNkl4cnZsUnRQQ0pKS1VQSUJiK1BJSHY0RU40ZGpLdUtBcUNESGZtdStmZU9kd1pvTUNVQUpOYkFsWVVNemFVbE0xNGpqeGJuZ09xN0huT2lhODl6MVBrMXZNQ2E5eDd6dFBremZNeUpiUGorWkdpNlhwK29teHVQRCt6YUQ3bWVhRmc3bWI4R3JCcUhtaHd4b0F4bG0wdWlSa3BQOVg1bTI2cEtSb014VEdSMUQ0OUR2L1liLzkxbzZsOHFMNmV1NW4yaFpRem42OHV0UjltM0ZVMmNCNHQ5Y2RTTEcydXRJKzQ0RWgvUDlicUtPK29KL1d4bVhzc2o3N1lrcmphc1pRRDZTRmRkeXRoazNXdHpyZitVRjJwMDc2VWRsYTFWTnpzRVJQM2tralZSS2VsN21wMXVkWFljSHRaU2xWN1JmbUplMUdpRld2ZWx1YWVLRDUvTXVKY1NrOFRwbS92dndQSWJtSmxlTnBqWUdLQUFGWUc3SUNUZ1lHUmlaR1prWVdSbFpHTmtaMlJnNUdUTFQybnNpRERFRUlac1pmbVpScVp1am1EYURjREF4Y0k3V0lPcFMyZ3RDV1VkZ1FBWmtjU21RQUFBQUZibGJPNkFBQT0pIGZvcm1hdCgnd29mZicpXG4gIDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbiB7XG4gIGZvbnQtZmFtaWx5OiAnRHJvcGRvd24nO1xuICBsaW5lLWhlaWdodDogMTtcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiAxLjIzZW07XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi51aS5kcm9wZG93biA+IC5kcm9wZG93bi5pY29uIHtcbiAgd2lkdGg6IGF1dG87XG59XG4udWkuZHJvcGRvd24gPiAuZHJvcGRvd24uaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMGQ3Jztcbn1cblxuLyogU3ViIE1lbnUgKi9cbi51aS5kcm9wZG93biAubWVudSAuaXRlbSAuZHJvcGRvd24uaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMGRhJy8qcnRsOidcXGYwZDknKi87XG59XG5cbi51aS5kcm9wZG93biAuaXRlbSAubGVmdC5kcm9wZG93bi5pY29uOmJlZm9yZSxcbi51aS5kcm9wZG93biAubGVmdC5tZW51IC5pdGVtIC5kcm9wZG93bi5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCIvKnJ0bDpcIlxcZjBkYVwiKi87XG59XG5cbi8qIFZlcnRpY2FsIE1lbnUgRHJvcGRvd24gKi9cbi51aS52ZXJ0aWNhbC5tZW51IC5kcm9wZG93bi5pdGVtID4gLmRyb3Bkb3duLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIi8qcnRsOlwiXFxmMGQ5XCIqLztcbn1cblxuLnVpLmRyb3Bkb3duID4gLmNsZWFyLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cblxuLyogSWNvbnMgZm9yIFJlZmVyZW5jZSAoU3Vic2V0dGVkIGluIDIuNC4wKVxuICAuZHJvcGRvd24uZG93bjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkN1wiOyB9XG4gIC5kcm9wZG93bi51cDpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjBkOFwiOyB9XG4gIC5kcm9wZG93bi5sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGQ5XCI7IH1cbiAgLmRyb3Bkb3duLnJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGRhXCI7IH1cbiAgLmRyb3Bkb3duLmNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMDBkXCI7IH1cbiovXG5cbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIFZpZGVvXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGUgICAgOiAnbW9kdWxlJztcbkBlbGVtZW50IDogJ2VtYmVkJztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5lbWJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgcGFkZGluZy1ib3R0b206IEB3aWRlc2NyZWVuUmF0aW87XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS1cbiAgRW1iZWRkZWQgQ29udGVudFxuLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmVtYmVkIGlmcmFtZSxcbi51aS5lbWJlZCBlbWJlZCxcbi51aS5lbWJlZCBvYmplY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgbWFyZ2luOiAwZW07XG4gIHBhZGRpbmc6IDBlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgRW1iZWRcbi0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5lbWJlZCA+IC5lbWJlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFBsYWNlaG9sZGVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZW1iZWQgPiAucGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwbGFjZWhvbGRlckJhY2tncm91bmQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEljb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5lbWJlZCA+IC5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG4udWkuZW1iZWQgPiAuaWNvbjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwJTtcbiAgbGVmdDogMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDM7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiBAcGxhY2Vob2xkZXJCYWNrZ3JvdW5kO1xuICBvcGFjaXR5OiBAcGxhY2Vob2xkZXJCYWNrZ3JvdW5kT3BhY2l0eTtcbiAgdHJhbnNpdGlvbjogQHBsYWNlaG9sZGVyQmFja2dyb3VuZFRyYW5zaXRpb247XG59XG4udWkuZW1iZWQgPiAuaWNvbjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuXG4gIGNvbG9yOiBAaWNvbkNvbG9yO1xuICBmb250LXNpemU6IEBpY29uU2l6ZTtcbiAgdGV4dC1zaGFkb3c6IEBpY29uU2hhZG93O1xuICB0cmFuc2l0aW9uOiBAaWNvblRyYW5zaXRpb247XG4gIHotaW5kZXg6IEBpY29uWkluZGV4O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEhvdmVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZW1iZWQgLmljb246aG92ZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiBAaG92ZXJQbGFjZWhvbGRlckJhY2tncm91bmQ7XG4gIG9wYWNpdHk6IEBob3ZlclBsYWNlaG9sZGVyQmFja2dyb3VuZE9wYWNpdHk7XG59XG4udWkuZW1iZWQgLmljb246aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6IEBob3Zlckljb25Db2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5hY3RpdmUuZW1iZWQgPiAuaWNvbixcbi51aS5hY3RpdmUuZW1iZWQgPiAucGxhY2Vob2xkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnVpLmFjdGl2ZS5lbWJlZCA+IC5lbWJlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc3F1YXJlLmVtYmVkIHtcbiAgcGFkZGluZy1ib3R0b206IEBzcXVhcmVSYXRpbztcbn1cbi51aVtjbGFzcyo9XCI0OjNcIl0uZW1iZWQge1xuICBwYWRkaW5nLWJvdHRvbTogQHN0YW5kYXJkUmF0aW87XG59XG4udWlbY2xhc3MqPVwiMTY6OVwiXS5lbWJlZCB7XG4gIHBhZGRpbmctYm90dG9tOiBAd2lkZXNjcmVlblJhdGlvO1xufVxuLnVpW2NsYXNzKj1cIjIxOjlcIl0uZW1iZWQge1xuICBwYWRkaW5nLWJvdHRvbTogQHVsdHJhV2lkZXNjcmVlblJhdGlvO1xufVxuXG5cblxuIiwiLyohXG4gKiAjIFNlbWFudGljIFVJIC0gTW9kYWxcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdtb2R1bGUnO1xuQGVsZW1lbnQgOiAnbW9kYWwnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgTW9kYWxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5tb2RhbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogQHpJbmRleDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgYm9yZGVyOiBAYm9yZGVyO1xuICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBAdHJhbnNmb3JtT3JpZ2luO1xuXG4gIGZsZXg6IDAgMCBhdXRvO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xuICB3aWxsLWNoYW5nZTogdG9wLCBsZWZ0LCBtYXJnaW4sIHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLnVpLm1vZGFsID4gOmZpcnN0LWNoaWxkOm5vdCguaWNvbiksXG4udWkubW9kYWwgPiAuaWNvbjpmaXJzdC1jaGlsZCArICoge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbn1cblxuLnVpLm1vZGFsID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAYm9yZGVyUmFkaXVzO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQGJvcmRlclJhZGl1cztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIENvbnRlbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQ2xvc2Vcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tb2RhbCA+IC5jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IEBjbG9zZVRvcDtcbiAgcmlnaHQ6IEBjbG9zZVJpZ2h0O1xuICB6LWluZGV4OiAxO1xuXG4gIG9wYWNpdHk6IEBjbG9zZU9wYWNpdHk7XG4gIGZvbnQtc2l6ZTogQGNsb3NlU2l6ZTtcbiAgY29sb3I6IEBjbG9zZUNvbG9yO1xuXG4gIHdpZHRoOiBAY2xvc2VIaXRib3g7XG4gIGhlaWdodDogQGNsb3NlSGl0Ym94O1xuICBwYWRkaW5nOiBAY2xvc2VQYWRkaW5nO1xufVxuLnVpLm1vZGFsID4gLmNsb3NlOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5tb2RhbCA+IC5oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6IEBoZWFkZXJGb250RmFtaWx5O1xuICBiYWNrZ3JvdW5kOiBAaGVhZGVyQmFja2dyb3VuZDtcbiAgbWFyZ2luOiBAaGVhZGVyTWFyZ2luO1xuICBwYWRkaW5nOiBAaGVhZGVyUGFkZGluZztcbiAgYm94LXNoYWRvdzogQGhlYWRlckJveFNoYWRvdztcblxuICBjb2xvcjogQGhlYWRlckNvbG9yO1xuICBib3JkZXItYm90dG9tOiBAaGVhZGVyQm9yZGVyO1xufVxuLnVpLm1vZGFsID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogQGhlYWRlckZvbnRTaXplO1xuICBsaW5lLWhlaWdodDogQGhlYWRlckxpbmVIZWlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiBAaGVhZGVyRm9udFdlaWdodDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb250ZW50XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubW9kYWwgPiAuY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiBAY29udGVudEZvbnRTaXplO1xuICBsaW5lLWhlaWdodDogQGNvbnRlbnRMaW5lSGVpZ2h0O1xuICBwYWRkaW5nOiBAY29udGVudFBhZGRpbmc7XG4gIGJhY2tncm91bmQ6IEBjb250ZW50QmFja2dyb3VuZDtcbn1cbi51aS5tb2RhbCA+IC5pbWFnZS5jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLyogSW1hZ2UgKi9cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogQGltYWdlV2lkdGg7XG4gIGFsaWduLXNlbGY6IEBpbWFnZVZlcnRpY2FsQWxpZ247XG59XG4udWkubW9kYWwgPiBbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0ge1xuICBhbGlnbi1zZWxmOiB0b3A7XG59XG4udWkubW9kYWwgPiBbY2xhc3MqPVwibWlkZGxlIGFsaWduZWRcIl0ge1xuICBhbGlnbi1zZWxmOiBtaWRkbGU7XG59XG4udWkubW9kYWwgPiBbY2xhc3MqPVwic3RyZXRjaGVkXCJdIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLyogRGVzY3JpcHRpb24gKi9cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBtaW4td2lkdGg6IDBweDtcbiAgYWxpZ24tc2VsZjogQGRlc2NyaXB0aW9uVmVydGljYWxBbGlnbjtcbn1cblxuLnVpLm1vZGFsID4gLmNvbnRlbnQgPiAuaWNvbiArIC5kZXNjcmlwdGlvbixcbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlICsgLmRlc2NyaXB0aW9uIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIG1pbi13aWR0aDogQGRlc2NyaXB0aW9uTWluV2lkdGg7XG4gIHdpZHRoOiBAZGVzY3JpcHRpb25XaWR0aDtcbiAgcGFkZGluZy1sZWZ0OiBAZGVzY3JpcHRpb25EaXN0YW5jZTtcbn1cblxuLypydGw6aWdub3JlKi9cbi51aS5tb2RhbCA+IC5jb250ZW50ID4gLmltYWdlID4gaS5pY29uIHtcbiAgbWFyZ2luOiAwZW07XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiBAaW1hZ2VJY29uU2l6ZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBBY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubW9kYWwgPiAuYWN0aW9ucyB7XG4gIGJhY2tncm91bmQ6IEBhY3Rpb25CYWNrZ3JvdW5kO1xuICBwYWRkaW5nOiBAYWN0aW9uUGFkZGluZztcbiAgYm9yZGVyLXRvcDogQGFjdGlvbkJvcmRlcjtcbiAgdGV4dC1hbGlnbjogQGFjdGlvbkFsaWduO1xufVxuLnVpLm1vZGFsIC5hY3Rpb25zID4gLmJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiBAYnV0dG9uRGlzdGFuY2U7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgIFJlc3BvbnNpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogTW9kYWwgV2lkdGggKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gIC51aS5tb2RhbCB7XG4gICAgd2lkdGg6IEBtb2JpbGVXaWR0aDtcbiAgICBtYXJnaW46IEBtb2JpbGVNYXJnaW47XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IEB0YWJsZXRCcmVha3BvaW50KSB7XG4gIC51aS5tb2RhbCB7XG4gICAgd2lkdGg6IEB0YWJsZXRXaWR0aDtcbiAgICBtYXJnaW46IEB0YWJsZXRNYXJnaW47XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgLnVpLm1vZGFsIHtcbiAgICB3aWR0aDogQGNvbXB1dGVyV2lkdGg7XG4gICAgbWFyZ2luOiBAY29tcHV0ZXJNYXJnaW47XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IEBsYXJnZU1vbml0b3JCcmVha3BvaW50KSB7XG4gIC51aS5tb2RhbCB7XG4gICAgd2lkdGg6IEBsYXJnZU1vbml0b3JXaWR0aDtcbiAgICBtYXJnaW46IEBsYXJnZU1vbml0b3JNYXJnaW47XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IEB3aWRlc2NyZWVuTW9uaXRvckJyZWFrcG9pbnQpIHtcbiAgLnVpLm1vZGFsIHtcbiAgICB3aWR0aDogQHdpZGVzY3JlZW5Nb25pdG9yV2lkdGg7XG4gICAgbWFyZ2luOiBAd2lkZXNjcmVlbk1vbml0b3JNYXJnaW47XG4gIH1cbn1cblxuLyogVGFibGV0IGFuZCBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gIC51aS5tb2RhbCA+IC5oZWFkZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IEBjbG9zZUhpdGJveDtcbiAgfVxuICAudWkubW9kYWwgPiAuY2xvc2Uge1xuICAgIHRvcDogQGlubmVyQ2xvc2VUb3A7XG4gICAgcmlnaHQ6IEBpbm5lckNsb3NlUmlnaHQ7XG4gICAgY29sb3I6IEBpbm5lckNsb3NlQ29sb3I7XG4gIH1cbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuXG4gIC51aS5tb2RhbCA+IC5oZWFkZXIge1xuICAgIHBhZGRpbmc6IEBtb2JpbGVIZWFkZXJQYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogQGNsb3NlSGl0Ym94ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVpLm1vZGFsID4gLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IEBtb2JpbGVDb250ZW50UGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5tb2RhbCA+IC5jbG9zZSB7XG4gICAgdG9wOiBAbW9iaWxlQ2xvc2VUb3AgIWltcG9ydGFudDtcbiAgICByaWdodDogQG1vYmlsZUNsb3NlUmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8qcnRsOmlnbm9yZSovXG4gIC51aS5tb2RhbCAuaW1hZ2UuY29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAudWkubW9kYWwgLmNvbnRlbnQgPiAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDBlbSBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IEBtb2JpbGVJbWFnZVBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICAudWkubW9kYWwgPiAuY29udGVudCA+IC5pbWFnZSA+IGkuaWNvbiB7XG4gICAgZm9udC1zaXplOiBAbW9iaWxlSW1hZ2VJY29uU2l6ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAvKnJ0bDppZ25vcmUqL1xuICAudWkubW9kYWwgLmNvbnRlbnQgPiAuZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiBAbW9iaWxlRGVzY3JpcHRpb25QYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC8qIExldCBCdXR0b25zIFN0YWNrICovXG4gIC51aS5tb2RhbCA+IC5hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiBAbW9iaWxlQWN0aW9uUGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIC51aS5tb2RhbCAuYWN0aW9ucyA+IC5idXR0b25zLFxuICAudWkubW9kYWwgLmFjdGlvbnMgPiAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiBAbW9iaWxlQnV0dG9uRGlzdGFuY2U7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQuZGltbWVyID4gLnVpLm1vZGFsIHtcbiAgYm94LXNoYWRvdzogQGludmVydGVkQm94U2hhZG93O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuYmFzaWMubW9kYWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwZW07XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6IEBiYXNpY01vZGFsQ29sb3I7XG59XG4udWkuYmFzaWMubW9kYWwgPiAuaGVhZGVyLFxuLnVpLmJhc2ljLm1vZGFsID4gLmNvbnRlbnQsXG4udWkuYmFzaWMubW9kYWwgPiAuYWN0aW9ucyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnVpLmJhc2ljLm1vZGFsID4gLmhlYWRlciB7XG4gIGNvbG9yOiBAYmFzaWNNb2RhbEhlYWRlckNvbG9yO1xufVxuLnVpLmJhc2ljLm1vZGFsID4gLmNsb3NlIHtcbiAgdG9wOiBAYmFzaWNNb2RhbENsb3NlVG9wO1xuICByaWdodDogQGJhc2ljTW9kYWxDbG9zZVJpZ2h0O1xufVxuXG4udWkuaW52ZXJ0ZWQuZGltbWVyID4gLmJhc2ljLm1vZGFsIHtcbiAgY29sb3I6IEBiYXNpY0ludmVydGVkTW9kYWxDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5kaW1tZXIgPiAudWkuYmFzaWMubW9kYWwgPiAuaGVhZGVyIHtcbiAgY29sb3I6IEBiYXNpY0ludmVydGVkTW9kYWxIZWFkZXJDb2xvcjtcbn1cblxuLyogUmVzb3J0IHRvIG1hcmdpbiBwb3NpdGlvbmluZyBpZiBsZWdhY3kgKi9cbi51aS5sZWdhY3kubW9kYWwsXG4udWkubGVnYWN5LnBhZ2UuZGltbWVyID4gLnVpLm1vZGFsIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbn1cblxuLnVpLmxlZ2FjeS5wYWdlLmRpbW1lciA+IC51aS5zY3JvbGxpbmcubW9kYWwsXG4udWkucGFnZS5kaW1tZXIgPiAudWkuc2Nyb2xsaW5nLmxlZ2FjeS5tb2RhbCxcbi51aS50b3AuYWxpZ25lZC5sZWdhY3kucGFnZS5kaW1tZXIgPiAudWkubW9kYWwsXG4udWkudG9wLmFsaWduZWQuZGltbWVyID4gLnVpLmxlZ2FjeS5tb2RhbCB7XG4gIHRvcDogYXV0bztcbn1cblxuLyogVGFibGV0IGFuZCBNb2JpbGUgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IEBsYXJnZXN0VGFibGV0U2NyZWVuKSB7XG4gIC51aS5iYXNpYy5tb2RhbCA+IC5jbG9zZSB7XG4gICAgY29sb3I6IEBiYXNpY0lubmVyQ2xvc2VDb2xvcjtcbiAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkubG9hZGluZy5tb2RhbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IEBsb2FkaW5nWkluZGV4O1xufVxuXG4udWkuYWN0aXZlLm1vZGFsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIFRvcCBBbGlnbmVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBUb3AgQWxpZ25lZCBNb2RhbCAqL1xuLm1vZGFscy5kaW1tZXJbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0gLm1vZGFsIHtcbiAgbWFyZ2luOiBAdG9wQWxpZ25lZE1hcmdpbiBhdXRvO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgLm1vZGFscy5kaW1tZXJbY2xhc3MqPVwidG9wIGFsaWduZWRcIl0gLm1vZGFsIHtcbiAgICBtYXJnaW46IEBtb2JpbGVUb3BBbGlnbmVkTWFyZ2luIGF1dG87XG4gIH1cbn1cbi8qIExlZ2FjeSBUb3AgQWxpZ25lZCAqL1xuLmxlZ2FjeS5tb2RhbHMuZGltbWVyW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIHtcbiAgcGFkZGluZy10b3A6IEB0b3BBbGlnbmVkTWFyZ2luO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogQGxhcmdlc3RNb2JpbGVTY3JlZW4pIHtcbiAgLmxlZ2FjeS5tb2RhbHMuZGltbWVyW2NsYXNzKj1cInRvcCBhbGlnbmVkXCJdIHtcbiAgICBwYWRkaW5nLXRvcDogQG1vYmlsZVRvcEFsaWduZWRNYXJnaW47XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFNjcm9sbGluZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogU2Nyb2xsaW5nIERpbW1lciAqL1xuLnNjcm9sbGluZy5kaW1tYWJsZS5kaW1tZWQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNjcm9sbGluZy5kaW1tYWJsZSA+IC5kaW1tZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG4uc2Nyb2xsaW5nLmRpbW1hYmxlLmRpbW1lZCA+IC5kaW1tZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLnNjcm9sbGluZy5kaW1tYWJsZSA+IC5kaW1tZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG4ubW9kYWxzLmRpbW1lciAudWkuc2Nyb2xsaW5nLm1vZGFsIHtcbiAgbWFyZ2luOiBAc2Nyb2xsaW5nTWFyZ2luIGF1dG87XG59XG5cbi8qIFVuZGV0YWNoZWQgU2Nyb2xsaW5nICovXG4uc2Nyb2xsaW5nLnVuZGV0YWNoZWQuZGltbWFibGUuZGltbWVkIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi5zY3JvbGxpbmcudW5kZXRhY2hlZC5kaW1tYWJsZS5kaW1tZWQgPiAuZGltbWVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5zY3JvbGxpbmcudW5kZXRhY2hlZC5kaW1tYWJsZSAudWkuc2Nyb2xsaW5nLm1vZGFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IEBzY3JvbGxpbmdNYXJnaW4gIWltcG9ydGFudDtcbn1cblxuLyogU2Nyb2xsaW5nIENvbnRlbnQgKi9cbi51aS5tb2RhbCAuc2Nyb2xsaW5nLmNvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiBAc2Nyb2xsaW5nQ29udGVudE1heEhlaWdodDtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgIEZ1bGwgU2NyZWVuXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZnVsbHNjcmVlbi5tb2RhbCB7XG4gIHdpZHRoOiBAZnVsbFNjcmVlbldpZHRoICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogQGZ1bGxTY3JlZW5NYXJnaW47XG59XG4udWkuZnVsbHNjcmVlbi5tb2RhbCA+IC5oZWFkZXIge1xuICBwYWRkaW5nLXJpZ2h0OiBAY2xvc2VIaXRib3g7XG59XG4udWkuZnVsbHNjcmVlbi5tb2RhbCA+IC5jbG9zZSB7XG4gIHRvcDogQGlubmVyQ2xvc2VUb3A7XG4gIHJpZ2h0OiBAaW5uZXJDbG9zZVJpZ2h0O1xuICBjb2xvcjogQGlubmVyQ2xvc2VDb2xvcjtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBTaXplXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubW9kYWwge1xuICBmb250LXNpemU6IEBtZWRpdW07XG59XG5cbi8qIE1pbmkgKi9cbi51aS5taW5pLm1vZGFsID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogQG1pbmlIZWFkZXJTaXplO1xufVxuXG4vKiBNaW5pIE1vZGFsIFdpZHRoICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAudWkubWluaS5tb2RhbCB7XG4gICAgd2lkdGg6IEBtaW5pTW9iaWxlV2lkdGg7XG4gICAgbWFyZ2luOiBAbWluaU1vYmlsZU1hcmdpbjtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgLnVpLm1pbmkubW9kYWwge1xuICAgIHdpZHRoOiBAbWluaVRhYmxldFdpZHRoO1xuICAgIG1hcmdpbjogQG1pbmlUYWJsZXRNYXJnaW47XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgLnVpLm1pbmkubW9kYWwge1xuICAgIHdpZHRoOiBAbWluaUNvbXB1dGVyV2lkdGg7XG4gICAgbWFyZ2luOiBAbWluaUNvbXB1dGVyTWFyZ2luO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiBAbGFyZ2VNb25pdG9yQnJlYWtwb2ludCkge1xuICAudWkubWluaS5tb2RhbCB7XG4gICAgd2lkdGg6IEBtaW5pTGFyZ2VNb25pdG9yV2lkdGg7XG4gICAgbWFyZ2luOiBAbWluaUxhcmdlTW9uaXRvck1hcmdpbjtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAudWkubWluaS5tb2RhbCB7XG4gICAgd2lkdGg6IEBtaW5pV2lkZXNjcmVlbk1vbml0b3JXaWR0aDtcbiAgICBtYXJnaW46IEBtaW5pV2lkZXNjcmVlbk1vbml0b3JNYXJnaW47XG4gIH1cbn1cblxuLyogbWluaSAqL1xuLnVpLnNtYWxsLm1vZGFsID4gLmhlYWRlcjpub3QoLnVpKSB7XG4gIGZvbnQtc2l6ZTogQG1pbmlIZWFkZXJTaXplO1xufVxuXG4vKiBUaW55IE1vZGFsIFdpZHRoICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAudWkudGlueS5tb2RhbCB7XG4gICAgd2lkdGg6IEB0aW55TW9iaWxlV2lkdGg7XG4gICAgbWFyZ2luOiBAdGlueU1vYmlsZU1hcmdpbjtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgLnVpLnRpbnkubW9kYWwge1xuICAgIHdpZHRoOiBAdGlueVRhYmxldFdpZHRoO1xuICAgIG1hcmdpbjogQHRpbnlUYWJsZXRNYXJnaW47XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgLnVpLnRpbnkubW9kYWwge1xuICAgIHdpZHRoOiBAdGlueUNvbXB1dGVyV2lkdGg7XG4gICAgbWFyZ2luOiBAdGlueUNvbXB1dGVyTWFyZ2luO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiBAbGFyZ2VNb25pdG9yQnJlYWtwb2ludCkge1xuICAudWkudGlueS5tb2RhbCB7XG4gICAgd2lkdGg6IEB0aW55TGFyZ2VNb25pdG9yV2lkdGg7XG4gICAgbWFyZ2luOiBAdGlueUxhcmdlTW9uaXRvck1hcmdpbjtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAudWkudGlueS5tb2RhbCB7XG4gICAgd2lkdGg6IEB0aW55V2lkZXNjcmVlbk1vbml0b3JXaWR0aDtcbiAgICBtYXJnaW46IEB0aW55V2lkZXNjcmVlbk1vbml0b3JNYXJnaW47XG4gIH1cbn1cblxuLyogU21hbGwgKi9cbi51aS5zbWFsbC5tb2RhbCA+IC5oZWFkZXI6bm90KC51aSkge1xuICBmb250LXNpemU6IEBzbWFsbEhlYWRlclNpemU7XG59XG5cbi8qIFNtYWxsIE1vZGFsIFdpZHRoICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAudWkuc21hbGwubW9kYWwge1xuICAgIHdpZHRoOiBAc21hbGxNb2JpbGVXaWR0aDtcbiAgICBtYXJnaW46IEBzbWFsbE1vYmlsZU1hcmdpbjtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgLnVpLnNtYWxsLm1vZGFsIHtcbiAgICB3aWR0aDogQHNtYWxsVGFibGV0V2lkdGg7XG4gICAgbWFyZ2luOiBAc21hbGxUYWJsZXRNYXJnaW47XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgLnVpLnNtYWxsLm1vZGFsIHtcbiAgICB3aWR0aDogQHNtYWxsQ29tcHV0ZXJXaWR0aDtcbiAgICBtYXJnaW46IEBzbWFsbENvbXB1dGVyTWFyZ2luO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiBAbGFyZ2VNb25pdG9yQnJlYWtwb2ludCkge1xuICAudWkuc21hbGwubW9kYWwge1xuICAgIHdpZHRoOiBAc21hbGxMYXJnZU1vbml0b3JXaWR0aDtcbiAgICBtYXJnaW46IEBzbWFsbExhcmdlTW9uaXRvck1hcmdpbjtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAudWkuc21hbGwubW9kYWwge1xuICAgIHdpZHRoOiBAc21hbGxXaWRlc2NyZWVuTW9uaXRvcldpZHRoO1xuICAgIG1hcmdpbjogQHNtYWxsV2lkZXNjcmVlbk1vbml0b3JNYXJnaW47XG4gIH1cbn1cblxuLyogTGFyZ2UgTW9kYWwgV2lkdGggKi9cbi51aS5sYXJnZS5tb2RhbCA+IC5oZWFkZXIge1xuICBmb250LXNpemU6IEBsYXJnZUhlYWRlclNpemU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiBAbGFyZ2VzdE1vYmlsZVNjcmVlbikge1xuICAudWkubGFyZ2UubW9kYWwge1xuICAgIHdpZHRoOiBAbGFyZ2VNb2JpbGVXaWR0aDtcbiAgICBtYXJnaW46IEBsYXJnZU1vYmlsZU1hcmdpbjtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogQHRhYmxldEJyZWFrcG9pbnQpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogQGxhcmdlVGFibGV0V2lkdGg7XG4gICAgbWFyZ2luOiBAbGFyZ2VUYWJsZXRNYXJnaW47XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IEBjb21wdXRlckJyZWFrcG9pbnQpIHtcbiAgLnVpLmxhcmdlLm1vZGFsIHtcbiAgICB3aWR0aDogQGxhcmdlQ29tcHV0ZXJXaWR0aDtcbiAgICBtYXJnaW46IEBsYXJnZUNvbXB1dGVyTWFyZ2luO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiBAbGFyZ2VNb25pdG9yQnJlYWtwb2ludCkge1xuICAudWkubGFyZ2UubW9kYWwge1xuICAgIHdpZHRoOiBAbGFyZ2VMYXJnZU1vbml0b3JXaWR0aDtcbiAgICBtYXJnaW46IEBsYXJnZUxhcmdlTW9uaXRvck1hcmdpbjtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogQHdpZGVzY3JlZW5Nb25pdG9yQnJlYWtwb2ludCkge1xuICAudWkubGFyZ2UubW9kYWwge1xuICAgIHdpZHRoOiBAbGFyZ2VXaWRlc2NyZWVuTW9uaXRvcldpZHRoO1xuICAgIG1hcmdpbjogQGxhcmdlV2lkZXNjcmVlbk1vbml0b3JNYXJnaW47XG4gIH1cbn1cblxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBOYWdcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdtb2R1bGUnO1xuQGVsZW1lbnQgOiAnbmFnJztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIE5hZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLm5hZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IEBvcGFjaXR5O1xuICBwb3NpdGlvbjogQHBvc2l0aW9uO1xuXG4gIHRvcDogQHRvcDtcbiAgbGVmdDogMHB4O1xuICB6LWluZGV4OiBAekluZGV4O1xuXG4gIG1pbi1oZWlnaHQ6IEBtaW5IZWlnaHQ7XG4gIHdpZHRoOiBAd2lkdGg7XG5cbiAgbWFyZ2luOiBAbWFyZ2luO1xuICBwYWRkaW5nOiBAcGFkZGluZztcblxuICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogQGJveFNoYWRvdztcblxuICBmb250LXNpemU6IEBmb250U2l6ZTtcbiAgdGV4dC1hbGlnbjogQHRleHRBbGlnbjtcbiAgY29sb3I6IEBjb2xvcjtcblxuICBib3JkZXItcmFkaXVzOiBAdG9wQm9yZGVyUmFkaXVzO1xuICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cblxuYS51aS5uYWcge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51aS5uYWcgPiAudGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogQHRpdGxlTWFyZ2luO1xuICBjb2xvcjogQHRpdGxlQ29sb3I7XG59XG5cblxuLnVpLm5hZyA+IC5jbG9zZS5pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiBAY2xvc2VPcGFjaXR5O1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBAY2xvc2VUb3A7XG4gIHJpZ2h0OiBAY2xvc2VSaWdodDtcblxuICBmb250LXNpemU6IEBjbG9zZVNpemU7XG5cbiAgbWFyZ2luOiBAY2xvc2VNYXJnaW47XG4gIGNvbG9yOiBAY2xvc2VDb2xvcjtcbiAgdHJhbnNpdGlvbjogQGNsb3NlVHJhbnNpdGlvbjtcbn1cblxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKiBIb3ZlciAqL1xuLnVpLm5hZzpob3ZlciB7XG4gIGJhY2tncm91bmQ6IEBuYWdIb3ZlckJhY2tncm91bmQ7XG4gIG9wYWNpdHk6IEBuYWdIb3Zlck9wYWNpdHk7XG59XG5cbi51aS5uYWcgLmNsb3NlOmhvdmVyIHtcbiAgb3BhY2l0eTogQGNsb3NlSG92ZXJPcGFjaXR5O1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTdGF0aWNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5vdmVybGF5Lm5hZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRml4ZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5maXhlZC5uYWcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQm90dG9tXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYm90dG9tLm5hZ3MsXG4udWkuYm90dG9tLm5hZyB7XG4gIGJvcmRlci1yYWRpdXM6IEBib3R0b21Cb3JkZXJSYWRpdXM7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiBAYm90dG9tO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFdoaXRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQubmFncyAubmFnLFxuLnVpLmludmVydGVkLm5hZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gIGNvbG9yOiBAZGFya1RleHRDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5uYWdzIC5uYWcgLmNsb3NlLFxuLnVpLmludmVydGVkLm5hZ3MgLm5hZyAudGl0bGUsXG4udWkuaW52ZXJ0ZWQubmFnIC5jbG9zZSxcbi51aS5pbnZlcnRlZC5uYWcgLnRpdGxlIHtcbiAgY29sb3I6IEBsaWdodFRleHRDb2xvcjtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBHcm91cHNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5uYWdzIC5uYWcge1xuICBib3JkZXItcmFkaXVzOiBAZ3JvdXBlZEJvcmRlclJhZGl1cyAhaW1wb3J0YW50O1xufVxuLnVpLm5hZ3MgLm5hZzpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogQHRvcEJvcmRlclJhZGl1cztcbn1cbi51aS5ib3R0b20ubmFncyAubmFnOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiBAYm90dG9tQm9yZGVyUmFkaXVzO1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBQb3B1cFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ21vZHVsZSc7XG5AZWxlbWVudCA6ICdwb3B1cCc7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgUG9wdXBcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5wb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIHJpZ2h0OiAwcHg7XG5cbiAgLyogRml4ZXMgY29udGVudCBiZWluZyBzcXVpc2hlZCB3aGVuIGlubGluZSAobW96IG9ubHkpICovXG4gIG1pbi13aWR0aDogbWluLWNvbnRlbnQ7XG4gIHotaW5kZXg6IEB6SW5kZXg7XG5cbiAgYm9yZGVyOiBAYm9yZGVyO1xuICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG4gIG1heC13aWR0aDogQG1heFdpZHRoO1xuICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcblxuICBwYWRkaW5nOiBAdmVydGljYWxQYWRkaW5nIEBob3Jpem9udGFsUGFkZGluZztcbiAgZm9udC13ZWlnaHQ6IEBmb250V2VpZ2h0O1xuICBmb250LXN0eWxlOiBAZm9udFN0eWxlO1xuICBjb2xvcjogQGNvbG9yO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG4gIGJveC1zaGFkb3c6IEBib3hTaGFkb3c7XG59XG4udWkucG9wdXAgPiAuaGVhZGVyIHtcbiAgcGFkZGluZzogMGVtO1xuXG4gIGZvbnQtZmFtaWx5OiBAaGVhZGVyRm9udDtcbiAgZm9udC1zaXplOiBAaGVhZGVyRm9udFNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAaGVhZGVyTGluZUhlaWdodDtcbiAgZm9udC13ZWlnaHQ6IEBoZWFkZXJGb250V2VpZ2h0O1xufVxuLnVpLnBvcHVwID4gLmhlYWRlciArIC5jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IEBoZWFkZXJEaXN0YW5jZTtcbn1cblxuLnVpLnBvcHVwOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiBAYXJyb3dTaXplO1xuICBoZWlnaHQ6IEBhcnJvd1NpemU7XG5cbiAgYmFja2dyb3VuZDogQGFycm93QmFja2dyb3VuZDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gIHotaW5kZXg6IEBhcnJvd1pJbmRleDtcbiAgYm94LXNoYWRvdzogQGFycm93Qm94U2hhZG93O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBUb29sdGlwXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBDb250ZW50ICovXG5bZGF0YS10b29sdGlwXSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogQXJyb3cgKi9cbltkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICBmb250LXNpemU6IEBtZWRpdW07XG4gIHdpZHRoOiBAYXJyb3dTaXplO1xuICBoZWlnaHQ6IEBhcnJvd1NpemU7XG5cbiAgYmFja2dyb3VuZDogQHRvb2x0aXBBcnJvd0JhY2tncm91bmQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICB6LWluZGV4OiBAYXJyb3daSW5kZXg7XG4gIGJveC1zaGFkb3c6IEB0b29sdGlwQXJyb3dCb3hTaGFkb3c7XG59XG5cbi8qIFBvcHVwICovXG5bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjb250ZW50OiBhdHRyKGRhdGEtdG9vbHRpcCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgZm9udC1zaXplOiBAdG9vbHRpcEZvbnRTaXplO1xuXG4gIGJvcmRlcjogQHRvb2x0aXBCb3JkZXI7XG4gIGxpbmUtaGVpZ2h0OiBAdG9vbHRpcExpbmVIZWlnaHQ7XG4gIG1heC13aWR0aDogQHRvb2x0aXBNYXhXaWR0aDtcbiAgYmFja2dyb3VuZDogQHRvb2x0aXBCYWNrZ3JvdW5kO1xuXG4gIHBhZGRpbmc6IEB0b29sdGlwUGFkZGluZztcbiAgZm9udC13ZWlnaHQ6IEB0b29sdGlwRm9udFdlaWdodDtcbiAgZm9udC1zdHlsZTogQHRvb2x0aXBGb250U3R5bGU7XG4gIGNvbG9yOiBAdG9vbHRpcENvbG9yO1xuXG4gIGJvcmRlci1yYWRpdXM6IEB0b29sdGlwQm9yZGVyUmFkaXVzO1xuICBib3gtc2hhZG93OiBAdG9vbHRpcEJveFNoYWRvdztcbiAgei1pbmRleDogQHRvb2x0aXBaSW5kZXg7XG59XG5cbi8qIERlZmF1bHQgUG9zaXRpb24gKFRvcCBDZW50ZXIpICovXG5bZGF0YS10b29sdGlwXTpub3QoW2RhdGEtcG9zaXRpb25dKTpiZWZvcmUge1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDUwJTtcbiAgYmFja2dyb3VuZDogQHRvb2x0aXBBcnJvd0JvdHRvbUJhY2tncm91bmQ7XG4gIG1hcmdpbi1sZWZ0OiBAdG9vbHRpcEFycm93SG9yaXpvbnRhbE9mZnNldDtcbiAgbWFyZ2luLWJvdHRvbTogLUB0b29sdGlwQXJyb3dWZXJ0aWNhbE9mZnNldDtcbn1cbltkYXRhLXRvb2x0aXBdOm5vdChbZGF0YS1wb3NpdGlvbl0pOmFmdGVyIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGJvdHRvbTogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogQHRvb2x0aXBEaXN0YW5jZUF3YXk7XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuW2RhdGEtdG9vbHRpcF06YmVmb3JlLFxuW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHNjYWxlKDApICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gIHRyYW5zaXRpb246XG4gICAgYWxsIEB0b29sdGlwRHVyYXRpb24gQHRvb2x0aXBFYXNpbmdcbiAgO1xufVxuW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2l0aW9uOlxuICAgIGFsbCBAdG9vbHRpcER1cmF0aW9uIEB0b29sdGlwRWFzaW5nXG4gIDtcbn1cbltkYXRhLXRvb2x0aXBdOmhvdmVyOmJlZm9yZSxcbltkYXRhLXRvb2x0aXBdOmhvdmVyOmFmdGVyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5bZGF0YS10b29sdGlwXTpob3ZlcjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGUoMSkgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogQW5pbWF0aW9uIFBvc2l0aW9uICovXG5bZGF0YS10b29sdGlwXTphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgY2VudGVyXCJdOmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBjZW50ZXJcIl06YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMCkgIWltcG9ydGFudDtcbn1cbltkYXRhLXRvb2x0aXBdOmhvdmVyOmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBjZW50ZXJcIl06aG92ZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMSkgIWltcG9ydGFudDtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXTphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJyaWdodCBjZW50ZXJcIl06YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMCkgIWltcG9ydGFudDtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXTpob3ZlcjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJyaWdodCBjZW50ZXJcIl06aG92ZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSkgIWltcG9ydGFudDtcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgbGVmdFwiXTphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJ0b3AgcmlnaHRcIl06YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGxlZnRcIl06YWZ0ZXIsXG5bZGF0YS10b29sdGlwXVtkYXRhLXBvc2l0aW9uPVwiYm90dG9tIHJpZ2h0XCJdOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKSAhaW1wb3J0YW50O1xufVxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInRvcCBsZWZ0XCJdOmhvdmVyOmFmdGVyLFxuW2RhdGEtdG9vbHRpcF1bZGF0YS1wb3NpdGlvbj1cInRvcCByaWdodFwiXTpob3ZlcjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gbGVmdFwiXTpob3ZlcjphZnRlcixcbltkYXRhLXRvb2x0aXBdW2RhdGEtcG9zaXRpb249XCJib3R0b20gcmlnaHRcIl06aG92ZXI6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpICFpbXBvcnRhbnQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBBcnJvdyAqL1xuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF06YmVmb3JlIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBBcnJvdyBQb3NpdGlvbiAqL1xuW2RhdGEtdG9vbHRpcF1bZGF0YS1pbnZlcnRlZF06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkQXJyb3dCb3R0b21CYWNrZ3JvdW5kO1xufVxuXG4vKiBQb3B1cCAgKi9cbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogQHRvb2x0aXBJbnZlcnRlZEJhY2tncm91bmQ7XG4gIGNvbG9yOiBAdG9vbHRpcEludmVydGVkQ29sb3I7XG4gIGJvcmRlcjogQHRvb2x0aXBJbnZlcnRlZEJvcmRlcjtcbiAgYm94LXNoYWRvdzogQHRvb2x0aXBJbnZlcnRlZEJveFNoYWRvdztcbn1cbltkYXRhLXRvb2x0aXBdW2RhdGEtaW52ZXJ0ZWRdOmFmdGVyIC5oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9vbHRpcEludmVydGVkSGVhZGVyQmFja2dyb3VuZDtcbiAgY29sb3I6IEB0b29sdGlwSW52ZXJ0ZWRIZWFkZXJDb2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFBvc2l0aW9uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBUb3AgQ2VudGVyICovXG5bZGF0YS1wb3NpdGlvbj1cInRvcCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDUwJTtcbiAgYm90dG9tOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIG1hcmdpbi1ib3R0b206IEB0b29sdGlwRGlzdGFuY2VBd2F5O1xufVxuW2RhdGEtcG9zaXRpb249XCJ0b3AgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIGJhY2tncm91bmQ6IEB0b29sdGlwQXJyb3dUb3BCYWNrZ3JvdW5kO1xuICBtYXJnaW4tbGVmdDogQHRvb2x0aXBBcnJvd0hvcml6b250YWxPZmZzZXQ7XG4gIG1hcmdpbi1ib3R0b206IC1AdG9vbHRpcEFycm93VmVydGljYWxPZmZzZXQ7XG59XG5cbi8qIFRvcCBMZWZ0ICovXG5bZGF0YS1wb3NpdGlvbj1cInRvcCBsZWZ0XCJdW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IEB0b29sdGlwRGlzdGFuY2VBd2F5O1xufVxuW2RhdGEtcG9zaXRpb249XCJ0b3AgbGVmdFwiXVtkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgbGVmdDogQGFycm93RGlzdGFuY2VGcm9tRWRnZTtcbiAgbWFyZ2luLWxlZnQ6IEB0b29sdGlwQXJyb3dIb3Jpem9udGFsT2Zmc2V0O1xuICBtYXJnaW4tYm90dG9tOiAtQHRvb2x0aXBBcnJvd1ZlcnRpY2FsT2Zmc2V0O1xufVxuXG4vKiBUb3AgUmlnaHQgKi9cbltkYXRhLXBvc2l0aW9uPVwidG9wIHJpZ2h0XCJdW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IEB0b29sdGlwRGlzdGFuY2VBd2F5O1xufVxuW2RhdGEtcG9zaXRpb249XCJ0b3AgcmlnaHRcIl1bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgcmlnaHQ6IEBhcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gIG1hcmdpbi1sZWZ0OiBAdG9vbHRpcEFycm93SG9yaXpvbnRhbE9mZnNldDtcbiAgbWFyZ2luLWJvdHRvbTogLUB0b29sdGlwQXJyb3dWZXJ0aWNhbE9mZnNldDtcbn1cblxuXG4vKiBCb3R0b20gQ2VudGVyICovXG5bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIGJvdHRvbTogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIG1hcmdpbi10b3A6IEB0b29sdGlwRGlzdGFuY2VBd2F5O1xufVxuW2RhdGEtcG9zaXRpb249XCJib3R0b20gY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiBAdG9vbHRpcEFycm93SG9yaXpvbnRhbE9mZnNldDtcbiAgbWFyZ2luLXRvcDogLUB0b29sdGlwQXJyb3dWZXJ0aWNhbE9mZnNldDtcbn1cblxuLyogQm90dG9tIExlZnQgKi9cbltkYXRhLXBvc2l0aW9uPVwiYm90dG9tIGxlZnRcIl1bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgbWFyZ2luLXRvcDogQHRvb2x0aXBEaXN0YW5jZUF3YXk7XG59XG5bZGF0YS1wb3NpdGlvbj1cImJvdHRvbSBsZWZ0XCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiBAYXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICBtYXJnaW4tbGVmdDogQHRvb2x0aXBBcnJvd0hvcml6b250YWxPZmZzZXQ7XG4gIG1hcmdpbi10b3A6IC1AdG9vbHRpcEFycm93VmVydGljYWxPZmZzZXQ7XG59XG5cbi8qIEJvdHRvbSBSaWdodCAqL1xuW2RhdGEtcG9zaXRpb249XCJib3R0b20gcmlnaHRcIl1bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDEwMCU7XG4gIG1hcmdpbi10b3A6IEB0b29sdGlwRGlzdGFuY2VBd2F5O1xufVxuW2RhdGEtcG9zaXRpb249XCJib3R0b20gcmlnaHRcIl1bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IEBhcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gIG1hcmdpbi1sZWZ0OiBAdG9vbHRpcEFycm93VmVydGljYWxPZmZzZXQ7XG4gIG1hcmdpbi10b3A6IC1AdG9vbHRpcEFycm93SG9yaXpvbnRhbE9mZnNldDtcbn1cblxuLyogTGVmdCBDZW50ZXIgKi9cbltkYXRhLXBvc2l0aW9uPVwibGVmdCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTphZnRlciB7XG4gIHJpZ2h0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiBAdG9vbHRpcERpc3RhbmNlQXdheTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIHJpZ2h0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogQHRvb2x0aXBBcnJvd1ZlcnRpY2FsT2Zmc2V0O1xuICBtYXJnaW4tcmlnaHQ6IEB0b29sdGlwQXJyb3dIb3Jpem9udGFsT2Zmc2V0O1xufVxuXG4vKiBSaWdodCBDZW50ZXIgKi9cbltkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICBsZWZ0OiAxMDAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IEB0b29sdGlwRGlzdGFuY2VBd2F5O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5bZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIGxlZnQ6IDEwMCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiBAdG9vbHRpcEFycm93SG9yaXpvbnRhbE9mZnNldDtcbiAgbWFyZ2luLWxlZnQ6IC1AdG9vbHRpcEFycm93VmVydGljYWxPZmZzZXQ7XG59XG5cbi8qIEFycm93ICovXG5bZGF0YS1wb3NpdGlvbn49XCJib3R0b21cIl1bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBAYXJyb3dUb3BCYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiBAYm90dG9tQXJyb3dCb3hTaGFkb3c7XG59XG5bZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGFycm93Q2VudGVyQmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogQGxlZnRBcnJvd0JveFNoYWRvdztcbn1cbltkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGFycm93Q2VudGVyQmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogQHJpZ2h0QXJyb3dCb3hTaGFkb3c7XG59XG5bZGF0YS1wb3NpdGlvbn49XCJ0b3BcIl1bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBAYXJyb3dCb3R0b21CYWNrZ3JvdW5kO1xufVxuXG4vKiBJbnZlcnRlZCBBcnJvdyBDb2xvciAqL1xuW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtcG9zaXRpb25+PVwiYm90dG9tXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkQXJyb3dUb3BCYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiBAYm90dG9tQXJyb3dCb3hTaGFkb3c7XG59XG5bZGF0YS1pbnZlcnRlZF1bZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkQXJyb3dDZW50ZXJCYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiBAbGVmdEFycm93Qm94U2hhZG93O1xufVxuW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtcG9zaXRpb249XCJyaWdodCBjZW50ZXJcIl1bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRBcnJvd0NlbnRlckJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IEByaWdodEFycm93Qm94U2hhZG93O1xufVxuW2RhdGEtaW52ZXJ0ZWRdW2RhdGEtcG9zaXRpb25+PVwidG9wXCJdW2RhdGEtdG9vbHRpcF06YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkQXJyb3dCb3R0b21CYWNrZ3JvdW5kO1xufVxuXG5bZGF0YS1wb3NpdGlvbn49XCJib3R0b21cIl1bZGF0YS10b29sdGlwXTpiZWZvcmUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuW2RhdGEtcG9zaXRpb25+PVwiYm90dG9tXCJdW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xufVxuW2RhdGEtcG9zaXRpb249XCJsZWZ0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG59XG5bZGF0YS1wb3NpdGlvbj1cImxlZnQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG59XG5bZGF0YS1wb3NpdGlvbj1cInJpZ2h0IGNlbnRlclwiXVtkYXRhLXRvb2x0aXBdOmJlZm9yZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbn1cbltkYXRhLXBvc2l0aW9uPVwicmlnaHQgY2VudGVyXCJdW2RhdGEtdG9vbHRpcF06YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTcGFjaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucG9wdXAge1xuICBtYXJnaW46IDBlbTtcbn1cblxuLyogRXh0ZW5kaW5nIGZyb20gVG9wICovXG4udWkudG9wLnBvcHVwIHtcbiAgbWFyZ2luOiAwZW0gMGVtIEBwb3B1cERpc3RhbmNlQXdheTtcbn1cbi51aS50b3AubGVmdC5wb3B1cCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xufVxuLnVpLnRvcC5jZW50ZXIucG9wdXAge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuLnVpLnRvcC5yaWdodC5wb3B1cCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbn1cblxuLyogRXh0ZW5kaW5nIGZyb20gVmVydGljYWwgQ2VudGVyICovXG4udWkubGVmdC5jZW50ZXIucG9wdXAge1xuICBtYXJnaW46IDBlbSBAcG9wdXBEaXN0YW5jZUF3YXkgMGVtIDBlbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgNTAlO1xufVxuLnVpLnJpZ2h0LmNlbnRlci5wb3B1cCB7XG4gIG1hcmdpbjogMGVtIDBlbSAwZW0gQHBvcHVwRGlzdGFuY2VBd2F5O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IDUwJTtcbn1cblxuLyogRXh0ZW5kaW5nIGZyb20gQm90dG9tICovXG4udWkuYm90dG9tLnBvcHVwIHtcbiAgbWFyZ2luOiBAcG9wdXBEaXN0YW5jZUF3YXkgMGVtIDBlbTtcbn1cbi51aS5ib3R0b20ubGVmdC5wb3B1cCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xufVxuLnVpLmJvdHRvbS5jZW50ZXIucG9wdXAge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xufVxuLnVpLmJvdHRvbS5yaWdodC5wb3B1cCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBQb2ludGVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLSBCZWxvdyAtLS0qL1xuLnVpLmJvdHRvbS5jZW50ZXIucG9wdXA6YmVmb3JlIHtcbiAgbWFyZ2luLWxlZnQ6IEBhcnJvd09mZnNldDtcbiAgdG9wOiBAYXJyb3dPZmZzZXQ7XG4gIGxlZnQ6IDUwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgYm94LXNoYWRvdzogQGJvdHRvbUFycm93Qm94U2hhZG93O1xufVxuXG4udWkuYm90dG9tLmxlZnQucG9wdXAge1xuICBtYXJnaW4tbGVmdDogQGJveEFycm93T2Zmc2V0O1xufVxuLypydGw6cmVuYW1lKi9cbi51aS5ib3R0b20ubGVmdC5wb3B1cDpiZWZvcmUge1xuICB0b3A6IEBhcnJvd09mZnNldDtcbiAgbGVmdDogQGFycm93RGlzdGFuY2VGcm9tRWRnZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgYm94LXNoYWRvdzogQGJvdHRvbUFycm93Qm94U2hhZG93O1xufVxuXG4udWkuYm90dG9tLnJpZ2h0LnBvcHVwIHtcbiAgbWFyZ2luLXJpZ2h0OiBAYm94QXJyb3dPZmZzZXQ7XG59XG4vKnJ0bDpyZW5hbWUqL1xuLnVpLmJvdHRvbS5yaWdodC5wb3B1cDpiZWZvcmUge1xuICB0b3A6IEBhcnJvd09mZnNldDtcbiAgcmlnaHQ6IEBhcnJvd0Rpc3RhbmNlRnJvbUVkZ2U7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDBlbTtcbiAgYm94LXNoYWRvdzogQGJvdHRvbUFycm93Qm94U2hhZG93O1xufVxuXG4vKi0tLSBBYm92ZSAtLS0qL1xuLnVpLnRvcC5jZW50ZXIucG9wdXA6YmVmb3JlIHtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBAYXJyb3dPZmZzZXQ7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IEBhcnJvd09mZnNldDtcbn1cbi51aS50b3AubGVmdC5wb3B1cCB7XG4gIG1hcmdpbi1sZWZ0OiBAYm94QXJyb3dPZmZzZXQ7XG59XG4vKnJ0bDpyZW5hbWUqL1xuLnVpLnRvcC5sZWZ0LnBvcHVwOmJlZm9yZSB7XG4gIGJvdHRvbTogQGFycm93T2Zmc2V0O1xuICBsZWZ0OiBAYXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogMGVtO1xufVxuLnVpLnRvcC5yaWdodC5wb3B1cCB7XG4gIG1hcmdpbi1yaWdodDogQGJveEFycm93T2Zmc2V0O1xufVxuLypydGw6cmVuYW1lKi9cbi51aS50b3AucmlnaHQucG9wdXA6YmVmb3JlIHtcbiAgYm90dG9tOiBAYXJyb3dPZmZzZXQ7XG4gIHJpZ2h0OiBAYXJyb3dEaXN0YW5jZUZyb21FZGdlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwZW07XG59XG5cbi8qLS0tIExlZnQgQ2VudGVyIC0tLSovXG4vKnJ0bDpyZW5hbWUqL1xuLnVpLmxlZnQuY2VudGVyLnBvcHVwOmJlZm9yZSB7XG4gIHRvcDogNTAlO1xuICByaWdodDogQGFycm93T2Zmc2V0O1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IEBhcnJvd09mZnNldDtcbiAgYm94LXNoYWRvdzogQGxlZnRBcnJvd0JveFNoYWRvdztcbn1cblxuLyotLS0gUmlnaHQgQ2VudGVyICAtLS0qL1xuLypydGw6cmVuYW1lKi9cbi51aS5yaWdodC5jZW50ZXIucG9wdXA6YmVmb3JlIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IEBhcnJvd09mZnNldDtcbiAgYm90dG9tOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgbWFyZ2luLXRvcDogQGFycm93T2Zmc2V0O1xuICBib3gtc2hhZG93OiBAcmlnaHRBcnJvd0JveFNoYWRvdztcbn1cblxuLyogQXJyb3cgQ29sb3IgQnkgTG9jYXRpb24gKi9cbi51aS5ib3R0b20ucG9wdXA6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGFycm93VG9wQmFja2dyb3VuZDtcbn1cbi51aS5yaWdodC5jZW50ZXIucG9wdXA6YmVmb3JlLFxuLnVpLmxlZnQuY2VudGVyLnBvcHVwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IEBhcnJvd0NlbnRlckJhY2tncm91bmQ7XG59XG4udWkudG9wLnBvcHVwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IEBhcnJvd0JvdHRvbUJhY2tncm91bmQ7XG59XG5cbi8qIEludmVydGVkIEFycm93IENvbG9yICovXG4udWkuaW52ZXJ0ZWQuYm90dG9tLnBvcHVwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFycm93VG9wQmFja2dyb3VuZDtcbn1cbi51aS5pbnZlcnRlZC5yaWdodC5jZW50ZXIucG9wdXA6YmVmb3JlLFxuLnVpLmludmVydGVkLmxlZnQuY2VudGVyLnBvcHVwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZEFycm93Q2VudGVyQmFja2dyb3VuZDtcbn1cbi51aS5pbnZlcnRlZC50b3AucG9wdXA6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkQXJyb3dCb3R0b21CYWNrZ3JvdW5kO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBDb3VwbGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogSW1tZWRpYXRlIE5lc3RlZCBHcmlkICovXG4udWkucG9wdXAgPiAudWkuZ3JpZDpub3QoLnBhZGRlZCkge1xuICB3aWR0aDogQG5lc3RlZEdyaWRXaWR0aDtcbiAgbWFyZ2luOiBAbmVzdGVkR3JpZE1hcmdpbjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnVpLmxvYWRpbmcucG9wdXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiBAbG9hZGluZ1pJbmRleDtcbn1cblxuLnVpLmFuaW1hdGluZy5wb3B1cCxcbi51aS52aXNpYmxlLnBvcHVwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi51aS52aXNpYmxlLnBvcHVwIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDBweCk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBCYXNpY1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmJhc2ljLnBvcHVwOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBXaWRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkud2lkZS5wb3B1cCB7XG4gIG1heC13aWR0aDogQHdpZGVXaWR0aDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucG9wdXAge1xuICBtYXgtd2lkdGg6IEB2ZXJ5V2lkZVdpZHRoO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gIC51aS53aWRlLnBvcHVwLFxuICAudWlbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnBvcHVwIHtcbiAgICBtYXgtd2lkdGg6IEBtYXhXaWR0aDtcbiAgfVxufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5mbHVpZC5wb3B1cCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEludmVydGVkIGNvbG9ycyAgKi9cbi51aS5pbnZlcnRlZC5wb3B1cCB7XG4gIGJhY2tncm91bmQ6IEBpbnZlcnRlZEJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaW52ZXJ0ZWRDb2xvcjtcbiAgYm9yZGVyOiBAaW52ZXJ0ZWRCb3JkZXI7XG4gIGJveC1zaGFkb3c6IEBpbnZlcnRlZEJveFNoYWRvdztcbn1cbi51aS5pbnZlcnRlZC5wb3B1cCAuaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGludmVydGVkSGVhZGVyQmFja2dyb3VuZDtcbiAgY29sb3I6IEBpbnZlcnRlZEhlYWRlckNvbG9yO1xufVxuLnVpLmludmVydGVkLnBvcHVwOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnZlcnRlZEFycm93Q29sb3I7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGbG93aW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuZmxvd2luZy5wb3B1cCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWluaS5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogQG1pbmk7XG59XG4udWkudGlueS5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogQHRpbnk7XG59XG4udWkuc21hbGwucG9wdXAge1xuICBmb250LXNpemU6IEBzbWFsbDtcbn1cbi51aS5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbi51aS5sYXJnZS5wb3B1cCB7XG4gIGZvbnQtc2l6ZTogQGxhcmdlO1xufVxuLnVpLmh1Z2UucG9wdXAge1xuICBmb250LXNpemU6IEBodWdlO1xufVxuXG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIFByb2dyZXNzIEJhclxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ21vZHVsZSc7XG5AZWxlbWVudCA6ICdwcm9ncmVzcyc7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFByb2dyZXNzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkucHJvZ3Jlc3Mge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogQGJvcmRlcjtcbiAgbWFyZ2luOiBAbWFyZ2luO1xuICBib3gtc2hhZG93OiBAYm94U2hhZG93O1xuICBiYWNrZ3JvdW5kOiBAYmFja2dyb3VuZDtcbiAgcGFkZGluZzogQHBhZGRpbmc7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXJSYWRpdXM7XG59XG5cbi51aS5wcm9ncmVzczpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbjogQGZpcnN0TWFyZ2luO1xufVxuLnVpLnByb2dyZXNzOmxhc3QtY2hpbGQge1xuICBtYXJnaW46IEBsYXN0TWFyZ2luO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgQ29udGVudFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogQWN0aXZpdHkgQmFyICovXG4udWkucHJvZ3Jlc3MgLmJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcG9zaXRpb246IEBiYXJQb3NpdGlvbjtcbiAgd2lkdGg6IEBiYXJJbml0aWFsV2lkdGg7XG4gIG1pbi13aWR0aDogQGJhck1pbldpZHRoO1xuICBiYWNrZ3JvdW5kOiBAYmFyQmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogQGJhckJvcmRlclJhZGl1cztcbiAgdHJhbnNpdGlvbjogQGJhclRyYW5zaXRpb247XG59XG5cbi8qIFBlcmNlbnQgQ29tcGxldGUgKi9cbi51aS5wcm9ncmVzcyAuYmFyID4gLnByb2dyZXNzIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcG9zaXRpb246IEBwcm9ncmVzc1Bvc2l0aW9uO1xuICB3aWR0aDogQHByb2dyZXNzV2lkdGg7XG4gIGZvbnQtc2l6ZTogQHByb2dyZXNzU2l6ZTtcbiAgdG9wOiBAcHJvZ3Jlc3NUb3A7XG4gIHJpZ2h0OiBAcHJvZ3Jlc3NSaWdodDtcbiAgbGVmdDogQHByb2dyZXNzTGVmdDtcbiAgYm90dG9tOiBAcHJvZ3Jlc3NCb3R0b207XG4gIGNvbG9yOiBAcHJvZ3Jlc3NDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBwcm9ncmVzc1RleHRTaGFkb3c7XG4gIG1hcmdpbi10b3A6IEBwcm9ncmVzc09mZnNldDtcbiAgZm9udC13ZWlnaHQ6IEBwcm9ncmVzc0ZvbnRXZWlnaHQ7XG4gIHRleHQtYWxpZ246IEBwcm9ncmVzc1RleHRBbGlnbjtcbn1cblxuLyogTGFiZWwgKi9cbi51aS5wcm9ncmVzcyA+IC5sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IEBsYWJlbFdpZHRoO1xuICBmb250LXNpemU6IEBsYWJlbFNpemU7XG4gIHRvcDogQGxhYmVsVG9wO1xuICByaWdodDogQGxhYmVsUmlnaHQ7XG4gIGxlZnQ6IEBsYWJlbExlZnQ7XG4gIGJvdHRvbTogQGxhYmVsQm90dG9tO1xuICBjb2xvcjogQGxhYmVsQ29sb3I7XG4gIGZvbnQtd2VpZ2h0OiBAbGFiZWxGb250V2VpZ2h0O1xuICB0ZXh0LXNoYWRvdzogQGxhYmVsVGV4dFNoYWRvdztcbiAgbWFyZ2luLXRvcDogQGxhYmVsT2Zmc2V0O1xuICB0ZXh0LWFsaWduOiBAbGFiZWxUZXh0QWxpZ247XG4gIHRyYW5zaXRpb246IEBsYWJlbFRyYW5zaXRpb247XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFR5cGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qIEluZGljYXRpbmcgKi9cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMlwiXSAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGluZGljYXRpbmdGaXJzdENvbG9yO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjNcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbmRpY2F0aW5nU2Vjb25kQ29sb3I7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiNFwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjVcIl0gLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbmRpY2F0aW5nVGhpcmRDb2xvcjtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI2XCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5kaWNhdGluZ0ZvdXJ0aENvbG9yO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjdcIl0gLmJhcixcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4XCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5kaWNhdGluZ0ZpZnRoQ29sb3I7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiOVwiXSAuYmFyLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjEwMFwiXSAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGluZGljYXRpbmdTaXh0aENvbG9yO1xufVxuXG4vKiBJbmRpY2F0aW5nIExhYmVsICovXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMVwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiMlwiXSAubGFiZWwge1xuICBjb2xvcjogQGluZGljYXRpbmdGaXJzdExhYmVsQ29sb3I7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnRePVwiM1wiXSAubGFiZWwge1xuICBjb2xvcjogQGluZGljYXRpbmdTZWNvbmRMYWJlbENvbG9yO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjRcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjVcIl0gLmxhYmVsIHtcbiAgY29sb3I6IEBpbmRpY2F0aW5nVGhpcmRMYWJlbENvbG9yO1xufVxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50Xj1cIjZcIl0gLmxhYmVsIHtcbiAgY29sb3I6IEBpbmRpY2F0aW5nRm91cnRoTGFiZWxDb2xvcjtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI3XCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI4XCJdIC5sYWJlbCB7XG4gIGNvbG9yOiBAaW5kaWNhdGluZ0ZpZnRoTGFiZWxDb2xvcjtcbn1cbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCI5XCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudF49XCIxMDBcIl0gLmxhYmVsIHtcbiAgY29sb3I6IEBpbmRpY2F0aW5nU2l4dGhMYWJlbENvbG9yO1xufVxuXG4vKiBTaW5nbGUgRGlnaXRzICovXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIxXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIyXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIzXCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI0XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI1XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI2XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI3XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI4XCJdIC5iYXIsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI5XCJdIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5kaWNhdGluZ0ZpcnN0Q29sb3I7XG59XG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCIxXCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjJcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiM1wiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI0XCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjVcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiNlwiXSAubGFiZWwsXG4udWkuaW5kaWNhdGluZy5wcm9ncmVzc1tkYXRhLXBlcmNlbnQ9XCI3XCJdIC5sYWJlbCxcbi51aS5pbmRpY2F0aW5nLnByb2dyZXNzW2RhdGEtcGVyY2VudD1cIjhcIl0gLmxhYmVsLFxuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3NbZGF0YS1wZXJjZW50PVwiOVwiXSAubGFiZWwge1xuICBjb2xvcjogQGluZGljYXRpbmdGaXJzdExhYmVsQ29sb3I7XG59XG5cbi8qIEluZGljYXRpbmcgU3VjY2VzcyAqL1xuLnVpLmluZGljYXRpbmcucHJvZ3Jlc3Muc3VjY2VzcyAubGFiZWwge1xuICBjb2xvcjogQHN1Y2Nlc3NIZWFkZXJDb2xvcjtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTdWNjZXNzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkucHJvZ3Jlc3Muc3VjY2VzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHN1Y2Nlc3NDb2xvciAhaW1wb3J0YW50O1xufVxuLnVpLnByb2dyZXNzLnN1Y2Nlc3MgLmJhcixcbi51aS5wcm9ncmVzcy5zdWNjZXNzIC5iYXI6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4udWkucHJvZ3Jlc3Muc3VjY2VzcyA+IC5sYWJlbCB7XG4gIGNvbG9yOiBAc3VjY2Vzc0hlYWRlckNvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFdhcm5pbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5wcm9ncmVzcy53YXJuaW5nIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAd2FybmluZ0NvbG9yICFpbXBvcnRhbnQ7XG59XG4udWkucHJvZ3Jlc3Mud2FybmluZyAuYmFyLFxuLnVpLnByb2dyZXNzLndhcm5pbmcgLmJhcjo6YWZ0ZXIge1xuICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbi51aS5wcm9ncmVzcy53YXJuaW5nID4gLmxhYmVsIHtcbiAgY29sb3I6IEB3YXJuaW5nSGVhZGVyQ29sb3I7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRXJyb3Jcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5wcm9ncmVzcy5lcnJvciAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGVycm9yQ29sb3IgIWltcG9ydGFudDtcbn1cbi51aS5wcm9ncmVzcy5lcnJvciAuYmFyLFxuLnVpLnByb2dyZXNzLmVycm9yIC5iYXI6OmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4udWkucHJvZ3Jlc3MuZXJyb3IgPiAubGFiZWwge1xuICBjb2xvcjogQGVycm9ySGVhZGVyQ29sb3I7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuYWN0aXZlLnByb2dyZXNzIC5iYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogQGFjdGl2ZU1pbldpZHRoO1xufVxuLnVpLmFjdGl2ZS5wcm9ncmVzcyAuYmFyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBvcGFjaXR5OiAwO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgYm90dG9tOiAwcHg7XG4gIGJhY2tncm91bmQ6IEBhY3RpdmVQdWxzZUNvbG9yO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBiYXJCb3JkZXJSYWRpdXM7XG5cbiAgYW5pbWF0aW9uOiBwcm9ncmVzcy1hY3RpdmUgQGFjdGl2ZVB1bHNlRHVyYXRpb24gQGRlZmF1bHRFYXNpbmcgaW5maW5pdGU7XG59XG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWFjdGl2ZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiBAYWN0aXZlUHVsc2VNYXhPcGFjaXR5O1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIDkwJSB7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5kaXNhYmxlZC5wcm9ncmVzcyB7XG4gIG9wYWNpdHk6IDAuMzU7XG59XG4udWkuZGlzYWJsZWQucHJvZ3Jlc3MgLmJhcixcbi51aS5kaXNhYmxlZC5wcm9ncmVzcyAuYmFyOjphZnRlciB7XG4gIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIEludmVydGVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kOiBAaW52ZXJ0ZWRCYWNrZ3JvdW5kO1xuICBib3JkZXI6IEBpbnZlcnRlZEJvcmRlcjtcbn1cbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZDogQGludmVydGVkQmFyQmFja2dyb3VuZDtcbn1cbi51aS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyID4gLnByb2dyZXNzIHtcbiAgY29sb3I6IEBpbnZlcnRlZFByb2dyZXNzQ29sb3I7XG59XG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3MgPiAubGFiZWwge1xuICBjb2xvcjogQGludmVydGVkTGFiZWxDb2xvcjtcbn1cbi51aS5pbnZlcnRlZC5wcm9ncmVzcy5zdWNjZXNzID4gLmxhYmVsIHtcbiAgY29sb3I6IEBzdWNjZXNzQ29sb3I7XG59XG4udWkuaW52ZXJ0ZWQucHJvZ3Jlc3Mud2FybmluZyA+IC5sYWJlbCB7XG4gIGNvbG9yOiBAd2FybmluZ0NvbG9yO1xufVxuLnVpLmludmVydGVkLnByb2dyZXNzLmVycm9yID4gLmxhYmVsIHtcbiAgY29sb3I6IEBlcnJvckNvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgQXR0YWNoZWRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIGJvdHRvbSBhdHRhY2hlZCAqL1xuLnVpLnByb2dyZXNzLmF0dGFjaGVkIHtcbiAgYmFja2dyb3VuZDogQGF0dGFjaGVkQmFja2dyb3VuZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMGVtO1xufVxuLnVpLnByb2dyZXNzLmF0dGFjaGVkLFxuLnVpLnByb2dyZXNzLmF0dGFjaGVkIC5iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBAYXR0YWNoZWRIZWlnaHQ7XG4gIHBhZGRpbmc6IDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMGVtIDBlbSBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgQGF0dGFjaGVkQm9yZGVyUmFkaXVzO1xufVxuLnVpLnByb2dyZXNzLmF0dGFjaGVkIC5iYXIge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG5cbi8qIHRvcCBhdHRhY2hlZCAqL1xuLnVpLnByb2dyZXNzLnRvcC5hdHRhY2hlZCxcbi51aS5wcm9ncmVzcy50b3AuYXR0YWNoZWQgLmJhciB7XG4gIHRvcDogMHB4O1xuICBib3JkZXItcmFkaXVzOiBAYXR0YWNoZWRCb3JkZXJSYWRpdXMgQGF0dGFjaGVkQm9yZGVyUmFkaXVzIDBlbSAwZW07XG59XG4udWkucHJvZ3Jlc3MudG9wLmF0dGFjaGVkIC5iYXIge1xuICBib3JkZXItcmFkaXVzOiAwZW07XG59XG5cbi8qIENvdXBsaW5nICovXG4udWkuc2VnbWVudCA+IC51aS5hdHRhY2hlZC5wcm9ncmVzcyxcbi51aS5jYXJkID4gLnVpLmF0dGFjaGVkLnByb2dyZXNzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG4udWkuc2VnbWVudCA+IC51aS5ib3R0b20uYXR0YWNoZWQucHJvZ3Jlc3MsXG4udWkuY2FyZCA+IC51aS5ib3R0b20uYXR0YWNoZWQucHJvZ3Jlc3Mge1xuICB0b3A6IDEwMCU7XG4gIGJvdHRvbTogYXV0bztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBDb2xvcnNcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFJlZCAqL1xuLnVpLnJlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHJlZDtcbn1cbi51aS5yZWQuaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodFJlZDtcbn1cblxuLyogT3JhbmdlICovXG4udWkub3JhbmdlLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAb3JhbmdlO1xufVxuLnVpLm9yYW5nZS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0T3JhbmdlO1xufVxuXG4vKiBZZWxsb3cgKi9cbi51aS55ZWxsb3cucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB5ZWxsb3c7XG59XG4udWkueWVsbG93LmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRZZWxsb3c7XG59XG5cbi8qIE9saXZlICovXG4udWkub2xpdmUucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBvbGl2ZTtcbn1cbi51aS5vbGl2ZS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0T2xpdmU7XG59XG5cbi8qIEdyZWVuICovXG4udWkuZ3JlZW4ucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBncmVlbjtcbn1cbi51aS5ncmVlbi5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0R3JlZW47XG59XG5cbi8qIFRlYWwgKi9cbi51aS50ZWFsLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGVhbDtcbn1cbi51aS50ZWFsLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRUZWFsO1xufVxuXG4vKiBCbHVlICovXG4udWkuYmx1ZS5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJsdWU7XG59XG4udWkuYmx1ZS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0Qmx1ZTtcbn1cblxuLyogVmlvbGV0ICovXG4udWkudmlvbGV0LnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdmlvbGV0O1xufVxuLnVpLnZpb2xldC5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0VmlvbGV0O1xufVxuXG4vKiBQdXJwbGUgKi9cbi51aS5wdXJwbGUucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwdXJwbGU7XG59XG4udWkucHVycGxlLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRQdXJwbGU7XG59XG5cbi8qIFBpbmsgKi9cbi51aS5waW5rLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGluaztcbn1cbi51aS5waW5rLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRQaW5rO1xufVxuXG4vKiBCcm93biAqL1xuLnVpLmJyb3duLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJvd247XG59XG4udWkuYnJvd24uaW52ZXJ0ZWQucHJvZ3Jlc3MgLmJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBsaWdodEJyb3duO1xufVxuXG4vKiBHcmV5ICovXG4udWkuZ3JleS5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGdyZXk7XG59XG4udWkuZ3JleS5pbnZlcnRlZC5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0R3JleTtcbn1cblxuLyogQmxhY2sgKi9cbi51aS5ibGFjay5wcm9ncmVzcyAuYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrO1xufVxuLnVpLmJsYWNrLmludmVydGVkLnByb2dyZXNzIC5iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlnaHRCbGFjaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTaXplc1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnRpbnkucHJvZ3Jlc3Mge1xuICBmb250LXNpemU6IEB0aW55O1xufVxuLnVpLnRpbnkucHJvZ3Jlc3MgLmJhciB7XG4gIGhlaWdodDogQHRpbnlCYXJIZWlnaHQ7XG59XG5cbi51aS5zbWFsbC5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogQHNtYWxsO1xufVxuLnVpLnNtYWxsLnByb2dyZXNzIC5iYXIge1xuICBoZWlnaHQ6IEBzbWFsbEJhckhlaWdodDtcbn1cblxuLnVpLnByb2dyZXNzIHtcbiAgZm9udC1zaXplOiBAbWVkaXVtO1xufVxuLnVpLnByb2dyZXNzIC5iYXIge1xuICBoZWlnaHQ6IEBiYXJIZWlnaHQ7XG59XG5cbi51aS5sYXJnZS5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogQGxhcmdlO1xufVxuLnVpLmxhcmdlLnByb2dyZXNzIC5iYXIge1xuICBoZWlnaHQ6IEBsYXJnZUJhckhlaWdodDtcbn1cblxuLnVpLmJpZy5wcm9ncmVzcyB7XG4gIGZvbnQtc2l6ZTogQGJpZztcbn1cbi51aS5iaWcucHJvZ3Jlc3MgLmJhciB7XG4gIGhlaWdodDogQGJpZ0JhckhlaWdodDtcbn1cblxuLmxvYWRVSU92ZXJyaWRlcygpO1xuIiwiLyohXG4gKiAjIFNlbWFudGljIFVJIC0gUmF0aW5nXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBUaGVtZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuQHR5cGUgICAgOiAnbW9kdWxlJztcbkBlbGVtZW50IDogJ3JhdGluZyc7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgUmF0aW5nXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkucmF0aW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdoaXRlLXNwYWNlOiBAd2hpdGVTcGFjZTtcbiAgdmVydGljYWwtYWxpZ246IEB2ZXJ0aWNhbEFsaWduO1xufVxuLnVpLnJhdGluZzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwZW07XG59XG5cbi8qIEljb24gKi9cbi51aS5yYXRpbmcgLmljb24ge1xuICBwYWRkaW5nOiAwZW07XG4gIG1hcmdpbjogMGVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBAbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBjdXJzb3I6IEBpY29uQ3Vyc29yO1xuICB3aWR0aDogQGljb25XaWR0aDtcbiAgaGVpZ2h0OiBAaWNvbkhlaWdodDtcbiAgdHJhbnNpdGlvbjogQGljb25UcmFuc2l0aW9uO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICBTdGFuZGFyZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJbmFjdGl2ZSBJY29uICovXG4udWkucmF0aW5nIC5pY29uIHtcbiAgYmFja2dyb3VuZDogQGluYWN0aXZlQmFja2dyb3VuZDtcbiAgY29sb3I6IEBpbmFjdGl2ZUNvbG9yO1xufVxuXG4vKiBBY3RpdmUgSWNvbiAqL1xuLnVpLnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBiYWNrZ3JvdW5kOiBAYWN0aXZlQmFja2dyb3VuZDtcbiAgY29sb3I6IEBhY3RpdmVDb2xvcjtcbn1cblxuLyogU2VsZWN0ZWQgSWNvbiAqL1xuLnVpLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogQHNlbGVjdGVkQmFja2dyb3VuZDtcbiAgY29sb3I6IEBzZWxlY3RlZENvbG9yO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGFyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEluYWN0aXZlICovXG4udWkuc3Rhci5yYXRpbmcgLmljb24ge1xuICB3aWR0aDogQHN0YXJJY29uV2lkdGg7XG4gIGhlaWdodDogQHN0YXJJY29uSGVpZ2h0O1xuICBiYWNrZ3JvdW5kOiBAc3RhckluYWN0aXZlQmFja2dyb3VuZDtcbiAgY29sb3I6IEBzdGFySW5hY3RpdmVDb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBzdGFySW5hY3RpdmVUZXh0U2hhZG93O1xufVxuXG4vKiBBY3RpdmUgU3RhciAqL1xuLnVpLnN0YXIucmF0aW5nIC5hY3RpdmUuaWNvbiB7XG4gIGJhY2tncm91bmQ6IEBzdGFyQWN0aXZlQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHN0YXJBY3RpdmVDb2xvciAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogQHN0YXJBY3RpdmVUZXh0U2hhZG93ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlbGVjdGVkIFN0YXIgKi9cbi51aS5zdGFyLnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5zdGFyLnJhdGluZyAuaWNvbi5zZWxlY3RlZC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBAc3RhclNlbGVjdGVkQmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogQHN0YXJTZWxlY3RlZENvbG9yICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBAc3RhclNlbGVjdGVkVGV4dFNoYWRvdyAhaW1wb3J0YW50O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIZWFydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuaGVhcnQucmF0aW5nIC5pY29uIHtcbiAgd2lkdGg6IEBoZWFydEljb25XaWR0aDtcbiAgaGVpZ2h0OiBAaGVhcnRJY29uSGVpZ2h0O1xuICBiYWNrZ3JvdW5kOiBAaGVhcnRJbmFjdGl2ZUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAaGVhcnRJbmFjdGl2ZUNvbG9yO1xuICB0ZXh0LXNoYWRvdzogQGhlYXJ0SW5hY3RpdmVUZXh0U2hhZG93ICFpbXBvcnRhbnQ7XG59XG5cbi8qIEFjdGl2ZSBIZWFydCAqL1xuLnVpLmhlYXJ0LnJhdGluZyAuYWN0aXZlLmljb24ge1xuICBiYWNrZ3JvdW5kOiBAaGVhcnRBY3RpdmVCYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAaGVhcnRBY3RpdmVDb2xvciAhaW1wb3J0YW50O1xuICB0ZXh0LXNoYWRvdzogQGhlYXJ0QWN0aXZlVGV4dFNoYWRvdyAhaW1wb3J0YW50O1xufVxuXG4vKiBTZWxlY3RlZCBIZWFydCAqL1xuLnVpLmhlYXJ0LnJhdGluZyAuaWNvbi5zZWxlY3RlZCxcbi51aS5oZWFydC5yYXRpbmcgLmljb24uc2VsZWN0ZWQuYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogQGhlYXJ0U2VsZWN0ZWRCYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiBAaGVhcnRTZWxlY3RlZENvbG9yICFpbXBvcnRhbnQ7XG4gIHRleHQtc2hhZG93OiBAaGVhcnRTZWxlY3RlZFRleHRTaGFkb3cgIWltcG9ydGFudDtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgIFN0YXRlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRGlzYWJsZWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogZGlzYWJsZWQgcmF0aW5nICovXG4udWkuZGlzYWJsZWQucmF0aW5nIC5pY29uIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgVXNlciBJbnRlcmFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTZWxlY3RlZCBSYXRpbmcgKi9cbi51aS5yYXRpbmcuc2VsZWN0ZWQgLmFjdGl2ZS5pY29uIHtcbiAgb3BhY2l0eTogQGludGVyYWN0aXZlQWN0aXZlSWNvbk9wYWNpdHk7XG59XG4udWkucmF0aW5nLnNlbGVjdGVkIC5pY29uLnNlbGVjdGVkLFxuLnVpLnJhdGluZyAuaWNvbi5zZWxlY3RlZCB7XG4gIG9wYWNpdHk6IEBpbnRlcmFjdGl2ZVNlbGVjdGVkSWNvbk9wYWNpdHk7XG59XG5cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5taW5pLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogQG1pbmk7XG59XG4udWkudGlueS5yYXRpbmcge1xuICBmb250LXNpemU6IEB0aW55O1xufVxuLnVpLnNtYWxsLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogQHNtYWxsO1xufVxuLnVpLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogQG1lZGl1bTtcbn1cbi51aS5sYXJnZS5yYXRpbmcge1xuICBmb250LXNpemU6IEBsYXJnZTtcbn1cbi51aS5odWdlLnJhdGluZyB7XG4gIGZvbnQtc2l6ZTogQGh1Z2U7XG59XG4udWkubWFzc2l2ZS5yYXRpbmcge1xuICBmb250LXNpemU6IEBtYXNzaXZlO1xufVxuXG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICBUaGVtZSBPdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JhdGluZyc7XG4gIHNyYzpcbiAgICB1cmwoZGF0YTphcHBsaWNhdGlvbi94LWZvbnQtdHRmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdUMU12TWdnakNCc0FBQUM4QUFBQVlHTnRZWENqMnBtOEFBQUJIQUFBQUtSbllYTndBQUFBRUFBQUFjQUFBQUFJWjJ4NVpsSmJYTVlBQUFISUFBQVJuR2hsWVdRQkdBZTVBQUFUWkFBQUFEWm9hR1ZoQStJQi9RQUFFNXdBQUFBa2FHMTBlQ3pnQUVNQUFCUEFBQUFBY0d4dlkyRXdYQ3hPQUFBVU1BQUFBRHB0WVhod0FDSUFuQUFBRkd3QUFBQWdibUZ0WmZDMW4wNEFBQlNNQUFBQlBIQnZjM1FBQXdBQUFBQVZ5QUFBQUNBQUF3SUFBWkFBQlFBQUFVd0JaZ0FBQUVjQlRBRm1BQUFBOVFBWkFJUUFBQUFBQUFBQUFBQUFBQUFBQUFBQkVBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQUFBRHhaUUhnLytELzRBSGdBQ0FBQUFBQkFBQUFBQUFBQUFBQUFBQWdBQUFBQUFBQ0FBQUFBd0FBQUJRQUF3QUJBQUFBRkFBRUFKQUFBQUFnQUNBQUJBQUFBQUVBSU9ZRjhBYndEZkFqOEM3d2J2Qnc4SXJ3bC9DYzhTUHhaZi85Ly84QUFBQUFBQ0RtQVBBRThBendJL0F1OEc3d2NQQ0g4SmZ3blBFajhXVC8vZi8vQUFILzR4b0VFQVlRQVEvc0QrSVBvdytpRDR3UGdBOThEdllPdGdBREFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkFBSC8vd0FQQUFFQUFBQUFBQUFBQUFBQ0FBQTNPUUVBQUFBQUFRQUFBQUFBQUFBQUFBSUFBRGM1QVFBQUFBQUJBQUFBQUFBQUFBQUFBZ0FBTnprQkFBQUFBQUlBQVAvdEFnQUIwd0FLQUJVQUFBRXZBUThCRndjM0Z5YzNCUWMzSno4Qkh3RUhGeWNDQUxGUFQ3R0FIcDZlSG9EL0FIQVdXMzA0T0gxYkZuQUJHUnFnb0JwOHNGTlRzSHl5T254WUVuRnhFbGg4T2dBQUFBQUNBQUQvN1FJQUFkTUFDZ0FTQUFBQkx3RVBBUmNITnhjbk53VXhFUjhCQnhjbkFnQ3hUMCt4Z0I2ZW5oNkEvd0E0ZlZzV2NBRVpHcUNnR255d1UxT3dmTElCSFhFU1dIdzZBQUFBQVFBQS8rMENBQUhUQUFvQUFBRXZBUThCRndjM0Z5YzNBZ0N4VDAreGdCNmVuaDZBQVJrYW9LQWFmTEJUVTdCOEFBQUFBQUVBQUFBQUFnQUJ3QUFyQUFBQkZBNENCekVIRGdNaklpNENMd0V1QXpVMFBnSXpNaDRDRno0RE16SWVBaFVDQUFjTUVndWdCZ3dNREFZR0RBd01CcUFMRWd3SEZ5ZzJIaEFmR3hrS0Noa2JIeEFlTmlnWEFTMFFIeHNaQ3FBR0N3a0dCUWtMQnFBS0dSc2ZFQjQyS0JjSERCSUxDeElNQnhjb05oNEFBQUFBQWdBQUFBQUNBQUhBQUNzQVdBQUFBVFF1QWlNaURnSUhMZ01qSWc0Q0ZSUWVBaGN4Rng0RE16SStBajhCUGdNMUR3RWlGQ0lHTVRBbUlqUWpKeTRETlRRK0FqTXlIZ0lmQVRjK0F6TXlIZ0lWRkE0Q0J3SUFGeWcySGhBZkd4a0tDaGtiSHhBZU5pZ1hCd3dTQzZBR0RBd01CZ1lNREF3R29Bc1NEQWRib2dFQkFRRUJBYUlHQ2djRURSY2VFUWtSRUE0R0x5OEdEaEFSQ1JFZUZ3MEVCd29HQVMwZU5pZ1hCd3dTQ3dzU0RBY1hLRFllRUI4YkdRcWdCZ3NKQmdVSkN3YWdDaGtiSHhBK29nRUJBUUdpQmc0UUVRa1JIaGNOQkFjS0JqUTBCZ29IQkEwWEhoRUpFUkFPQmdBQkFBQUFBQUlBQWNBQU1RQUFBUlFPQWdjeEJ3NERJeUl1QWk4QkxnTTFORDRDTXpJZUFoY0hGd2MzSnpjK0F6TXlIZ0lWQWdBSERCSUxvQVlNREF3R0Jnd01EQWFnQ3hJTUJ4Y29OaDRLRlJNU0NDOXdRTEJ3SndVSkNna0ZIallvRndFdEVCOGJHUXFnQmdzSkJnVUpDd2FnQ2hrYkh4QWVOaWdYQXdVSUJVdEFvTUJBT3dFQ0FRRVhLRFllQUFBQkFBQUFBQUlBQWJjQUtnQUFFelEzTmpNeUZ4WVhGaGNXRnpZM05qYzJOell6TWhjV0ZSUVBBUVlqSWk4QkppY21KeVluSmljbU5RQWtKVUFSRXhJUUVBc01DZ29NQ3hBUUVoTVJRQ1VrUWJJR0J3Y0dzZ01GQlFzS0NRa0dCd0V4UHlNa0JnWUxDZ2tLQ2dvS0NRb0xCZ1lrSXo4L1Fhd0ZCYXdDQmdVTkRnNE9GUlFUQUFBQUFRQUFBQTBCMndIU0FDWUFBQk0wUHdJMkZ6WWZBaFlWRkE4QkZ4UVZGQWNHQnlZdkFRY0dCeVluSmpVMFB3RW5KalVBRUk5QkJRa0lCa0NQRUFkb0dRTURCZ1VHZ0lFR0JRWURBd0VZYUFjQkl3c0NGb0VNQVFFTWdSWUNDd1lJWkpBQkJRVUZBd0VCQWtWRkFnRUJBd1VGQXdPUVpBa0ZBQUFBQUFJQUFBQU5BZHNCMGdBa0FDNEFBQk0wUHdJMkZ6WWZBaFlWRkE4QkZ4UVZGQWNtTHdFSEJnY21KeVkxTkQ4Qkp5WTFId0VITnhjbk55OEJCd0FRajBFRkNRZ0dRSThRQjJnWkRBVUdnSUVHQlFZREF3RVlhQWMvV0JWc2F4UlhlRFkyQVNNTEFoYUJEQUVCRElFV0Fnc0dDR1NRQVFVTkFRRUNSVVVDQVFFREJRVURBNUJrQ1FVUlZYZzRPSGhWRVc1dUFBQUJBQ01BS1FIZEFYd0FHZ0FBTnpRL0FUWVhOaDhCTnpZWE5oOEJGaFVVRHdFR0J5WXZBU1kxSXdnbUNBd0xDRlM4Q0FzTUNDWUlDUFVJREFzSWpnalNDd2ttQ1FFQkNWUzdDUUVCQ1NZSkNnMEg5Z2NCQVFlUEJ3d0FBQUVBSHdBZkFYTUJjd0FzQUFBM05EOEJKeVkxTkQ4Qk5qTXlId0UzTmpNeUh3RVdGUlFQQVJjV0ZSUVBBUVlqSWk4QkJ3WWpJaThCSmpVZkNGUlVDQWduQ0F3TENGUlVDQXdMQ0NjSUNGUlVDQWduQ0FzTUNGUlVDQXNNQ0NjSVlnc0lWRlFJREFzSUp3Z0lWRlFJQ0NjSUN3d0lWRlFJQ3d3SUp3Z0lWRlFJQ0NjSURBQUFBQUFDQUFBQUpRRkpBYmNBSHdBckFBQTNOVFEzTmpzQk5UUTNOak15RnhZZEFUTXlGeFlkQVJRSEJpTWhJaWNtTlRjek5UUW5KaU1pQndZZEFRQUlDQXNLSlNZMU5DWW1DUXNJQ0FnSUMvN3RDd2dJVzVNV0ZSNGZGUlpBcFFzSUNEYzBKaVltSmpRM0NBZ0xwUXNJQ0FnSUM4QTNIaFlWRlJZZU53QUFBUUFBQUFjQmJnRzNBQ0VBQURjUk5EYzJOell6SVRJWEZoY1dGUkVVQndZSEJpTWlMd0VIQmlNaUp5WW5KalVBQmdVS0JnWUJMQVlHQ2dVR0JnVUtCUWNPQ241K0NnNEdCZ29GQmljQmNBb0lDQU1EQXdNSUNBcitrQW9JQ0FRQ0NYbDVDUUlFQ0FnS0FBQUFBd0FBQUNVQ0FBRnVBQmdBTVFCS0FBQTNORGMyTnpZek1oY1dGeFlWRkFjR0J3WWpJaWNtSnlZMU14WVhGak15TnpZM0ppY1dGUlFIQmlNaUp5WTFORGNHQnpjVUZ4WXpNamMyTlRRM05qTXlOelkxTkNjbUl5SUhCaFVBQmloRFJFdExSRU1vQmdZb1EwUkxTMFJES0FZbEpqazVRME01T1NZclFSRW1KVFUxSlNZUlFTdUVCQVFHQmdRRUVSRVpCZ1FFQkFRR0pCa2F5UW9LUVNnb0tDaEJDZ29LQ2tFb0p5Y29RUW9LT2lNakl5TTZSQ0VlSWpVbUpTVW1OU0llSVVRbEJnUUVCQVFHR0JJUkJBUUdCZ1FFR2hvakFBQUFCUUFBQUFrQ0FBR0pBQ3dBT0FCUkFHZ0FjQUFBTnpRM05qYzJNeklYTnpZek1oY1dGeFlYRmhjV0Z4WVZGREVHQndZUEFRWWpJaWNtTlRRM0ppY21KeVkxTXhZWE55WW5KalUwTndZSE54UVhGak15TnpZMU5EYzJNekkzTmpVMEp5WWpJZ2NHRlJjM05qYzJOeVluTnhZWEZoY1dGUlFIQmdjR0J3WWpQd0VXRlJRSEJnY0FCaXRCUVUwWkdoQURCUUVFQkFVRkJBVUVCUUVFSGp3OEhnNERCUVFpQlEwcEl5SVpCaVV2U3hZWkRnNFJRU3VFQkFRR0JnUUVFUkVaQmdRRUJBUUdKQmthVnhVOU16UWlJREFTR3hrWkVBWUdDeFFyT0RrL0xsQUNGeFlseVFzSlF5Y25CUndFQWdFREF3SURBd0lCQXdVQ05teHNOaGtGRkFNRkJCVVRIaDhuQ1F0S0lTZ1NIQnNmSWg0aFJDVUdCQVFFQkFZWUVoRUVCQVlHQkFRYUdpUEpKUVVpSWpZeklTQVNHaGtiQ2dvS0NoSVhNUnNiVVpBTkN5Z2hJQThBQUFNQUFBQUFBYmNCMndBNUFFb0FsQUFBTnpVME56WTdBVFkzTmpjMk56WTNOamMyTXpJWEZoY1dGUlFITXpJWEZoVVVCeFlWRkFjVUZSUUhGZ2NHS3dFaUp5WW5KaXNCSWljbU5UY1VGeFl6TWpjMk5UUW5KaU1pQndZVkZ6TXlGeFlYRmhjV0Z4WVhGaGNXT3dFeU5UUW5OamMyTlRRbk5qVTBKeVluTmpjMk5UUW5KaXNCTkRjMk5UUW5KaU1HQndZSEJnY0dCd1lIQmdjR0J3WUhCZ2NHQndZckFSVUFDd29RVGdvZEVRNEdCQU1GQmd3TER4Z1RFd29LRGpNZEZoWU9BZ29SQVJrWktDVWJHeHNqSVFaU0VBb0xKUVVGQ0FjR0JRVUdCd2dGQlVrSkJBVUZCQVFIQndNREJ3Y0NQQ1VqTndJSkJRVUZEd01EQkFrR0Jnc0xEbVVPRGdvSkd3Z0RBd1lGREFZUUFRVUdBd1FHQmdZRkJnVUdCZ1FKU2JjUEN3c0dKaFVQQ0JFUkV4TU1DZ2tKRkJRaEd4d1dGUjRaRlFvS0ZoTUdCaDBXS0JjWEJnY01EQW9MRHhJSEJRWUdCUWNJQlFZR0JRZ1NBUUVCQVFJQ0FRRURBZ0VVTHdnSUJRb0xDZ3NKRGhRSENRa0VBUTBOQ2c4TEN4QWRIUkVjRFE0SUVCRVRFdzBHRkFFSEJ3VUVDQWdGQlFVRkFnTzNBQUFEQUFELzJ3RzNBYmNBUEFCTkFKa0FBRGMxTkRjMk93RXlOelkzTmpzQk1oY1dCeFVXRlJRVkZoVVVCeFlWRkFjR0t3RVdGUlFIQmdjR0l5SW5KaWNtSnlZbkppY21KeVluSXlJbkpqVTNGQmNXTXpJM05qVTBKeVlqSWdjR0ZSY3pNaGNXRnhZWEZoY1dGeFlYRmhjV0Z4WVhGaGNXRnpJM05qVTBKeVkxTXpJM05qVTBKeVlqTmpjMk5UUW5OalUwSnlZbk5qVTBKeVlyQVNJSElnY0dCd1lIQmdjR0l3WXJBUlVBQ3dvUVVnWWhKUnNiSGlBb0dSa0JFUW9DRGhZV0hUTU9DZ29URXhnUEN3b0ZCZ0lCQkFNRkRoRWRDazRRQ2dzbEJRVUlCd1lGQlFZSENBVUZTUWtFQmdZRkJnVUdCZ1lFQXdZRkFSQUdEQVVHQXdNSUd3a0tEZzVsRGdzTEJnWUpCQU1ERHdVRkJRa0NEZzRaSlNVOEFnY0hBd01IQndRRUJRVUVDYmUzRHdzS0RBd0hCaGNXSndJV0hRWUdFeFlLQ2hVWkhoWVZIUm9pRXhRSkNnc0pEZzRNREF3TkJnNFdKUWNMQ3cra0J3VUdCZ1VIQ0FVR0JnVUlwQU1DQlFZRkJRY0lCQVVIQndJVEJ3d1RFeEVSQncwT0hCRWRIUkFMQ3c4S0RRMEZDUWtIRkE0SkN3b0xDZ1VJQ0JnTUN4VURBZ0VCQWdNQkFRRzNBQUFBQVFBQUFBMEE3Z0hTQUJRQUFCTTBQd0kyRnhFSEJnY21KeVkxTkQ4Qkp5WTFBQkNQUVFVSmdRWUZCZ01EQVJob0J3RWpDd0lXZ1F3Qi9vTkZBZ0VCQXdVRkF3T1FaQWtGQUFBQUFBSUFBQUFBQWdBQnR3QXFBRmtBQUJNME56WXpNaGNXRnhZWEZoYzJOelkzTmpjMk16SVhGaFVVRHdFR0l5SXZBU1luSmljbUp5WW5KalV6RkI4Qk56WTFOQ2NtSnlZbkppY21JeUlIQmdjR0J3WUhCaU1pSnlZbkppY21KeVlqSWdjR0J3WUhCZ2NHRlFBa0pVQVJFeElRRUFzTUNnb01DeEFRRWhNUlFDVWtRYklHQndjR3NnTUZCUXNLQ1FrR0J5VTFwcVkxQmdZSkNnNE5EZzBQRGhJUkRnOEtDZ2NGQ1FrRkJ3b0tEdzRSRWc0UERRNE5EZ29KQmdZQk1UOGpKQVlHQ3dvSkNnb0tDZ2tLQ3dZR0pDTS9QMEdzQlFXc0FnWUZEUTRPRGhVVUV6QTFvSjgyTUJjU0Vnb0xCZ2NDQWdjSEN3c0tDUWdIQndnSkNnc0xCd2NDQWdjR0N3b1NFaGNBQUFBQ0FBQUFCd0Z1QWJjQUlRQW9BQUEzRVRRM05qYzJNeUV5RnhZWEZoVVJGQWNHQndZaklpOEJCd1lqSWljbUp5WTFQd0VmQVJFaEVRQUdCUW9HQmdFc0JnWUtCUVlHQlFvRkJ3NEtmbjRLRGdZR0NnVUdKWklaZWY3Y0p3RndDZ2dJQXdNREF3Z0lDdjZRQ2dnSUJBSUplWGtKQWdRSUNBb0lqUmwwQVdQK25RQUFBQUFCQUFBQUpRSGJBYmNBTWdBQU56VTBOelk3QVRVME56WXpNaGNXSFFFVUJ3WXJBU0luSmowQk5DY21JeUlIQmgwQk16SVhGaDBCRkFjR0l5RWlKeVkxQUFnSUM4QW1KalExSmlVRkJRZ1NDQVVGRmhVZkhoVVdIQXNJQ0FnSUMvN3RDd2dJUUtVTENBZzNOU1VtSmlVMVNRZ0ZCZ1lGQ0VrZUZoVVZGaDQzQ0FnTHBRc0lDQWdJQ3dBQUFBSUFBUUFOQWRzQjBnQWlBQzBBQUJNMlB3STJNeklmQWhZWEZnOEJGeFlIQmlNaUx3RUhCaU1pSnlZL0FTY21OeDhDTHdFL0FTOENFd0VEREpCQUJnZ0pCVUdPRGdJRENtY1lBZ1FDQ0FNSWY0SUZCZ1lFQWdFWmFRZ0M3aEJiRWdJTlNua0lMZ0VCSmdnQ0ZZSUxDNElWQWdnSUNXV1BDZ1VGQTBSRUF3VUZDbzlsQ1FpcENUQm1FdzFIRWhGYy91MEFBQUFEQUFBQUFBSEpBYmNBRkFBbEFIa0FBRGMxTkRjMk93RXlGeFlkQVJRSEJpc0JJaWNtTlRjVUZ4WXpNamMyTlRRbkppTWlCd1lWRnpVME56WXpOamMyTnpZM05qYzJOelkzTmpjMk56WTNOak15RnhZWEZoY1dGeFlYRmhVVUZSUUhCZ2NHQnhRSEJnY0dCek15RnhZVkZBY1dGUllIRmdjR0J4WUhCZ2NqSWljbUp5WW5KaWNpSnlZMUFBVUdCMU1IQlFZR0JRZFRCd1lGSlFVRkNBY0dCUVVHQndnRkJXUUZCUWdHRHc4T0ZBa0ZCQVFCQVFNQ0FRSUVCQVlGQnc0S0NnY0hCUVFDQXdFQkFnTURBZ1lDQWdJQkFVOFhFQkFRQlFFT0JRVUVDd01SRWlZbEV4WVhEQXdXSkFvSEJRWTN0d2NHQlFVR0I3Y0lCUVVGQlFna0J3WUZCUVlIQ0FVR0JnVUlKTGNIQlFZQkVCQVRHUWtGQ1FnR0JRd0xCZ2NJQ1FVR0F3TUZCQWNIQmdZSUNRUUVCd3NMQ3dZR0NnSURCQU1DQkJFUUZoa1NEQW9WRWhBUkVBc2dGQlVCQkFVRUJBY01BUVVGQ0FBQUFBQURBQUQvMndISkFaSUFGQUFsQUhrQUFEY1VGeFlYTnhZM05qMEJOQ2NtQnljR0J3WWRBVGMwTnpZM0ZoY1dGUlFIQmljR0p5WTFGelUwTnpZM0ZqYzJOelkzTmpjWE5oY1dCeFlYRmdjV0J4UUhGaFVVQndZSEp4WVhGaGNXRlJZWEZoY1dGUlFWRkFjR0J3WUhCZ2NHQndZbkJpY21KeVluSmljbUp5WW5KaWNtSnlZbkppY2lKeVkxQUFVR0IxTUhCUVlHQlFkVEJ3WUZKUVVGQ0FjR0JRVUdCd2dGQldRR0JRY0tKQllNREJjV0V5VW1FaEVEQ3dRRkJRNEJCUkFRRUJkUEFRRUNBZ0lHQWdNREFnRUJBd0lFQlFjSENnb09Cd1VHQkFRQ0FRSURBUUVFQkFVSkZBNFBEd1lJQlFXbEJ3WUZBUUVCQndRSnRRa0VCd0VCQVFVR0I3ZVRCd1lFQVFFRUJnY0pCQVlCQVFZRUNaUzRCd1lFQWdFTkJ3VUNCZ01CQVFFWEV5RUpFaEFSRUJjSURoQWFGaEVQQVFFRkFnUUNCUUVMQlFjS0RBa0lCQVVIQ2dVR0J3Z0RCZ0lFQVFFSEJRa0lCd1VNQ3djRUNnY0dDUm9SRVE4Q0JnUUlBQUFBQVFBQUFBRUFBSnRoNTdkZkR6ejFBQXNDQUFBQUFBRFAvR09EQUFBQUFNLzhZNE1BQVAvYkFnQUIyd0FBQUFnQUFnQUFBQUFBQUFBQkFBQUI0UC9nQUFBQ0FBQUFBQUFDQUFBQkFBQUFBQUFBQUFBQUFBQUFBQUFBSEFBQUFBQUFBQUFBQUFBQUFBRUFBQUFDQUFBQUFnQUFBQUlBQUFBQ0FBQUFBZ0FBQUFJQUFBQUNBQUFBQWR3QUFBSGNBQUFDQUFBakFaTUFId0ZKQUFBQmJnQUFBZ0FBQUFJQUFBQUNBQUFBQWdBQUFBRUFBQUFDQUFBQUFXNEFBQUhjQUFBQjNBQUJBZHdBQUFIY0FBQUFBQUFBQUFvQUZBQWVBRW9BY0FDS0FNb0JRQUdJQWN3Q0NnSlVBb0lDeGdNRUF6b0RwZ1JLQlJnRjdBWVNCcGdHMmdjZ0Iyb0lHQWpPQUFBQUFRQUFBQndBbWdBRkFBQUFBQUFDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUE0QXJnQUJBQUFBQUFBQkFBd0FBQUFCQUFBQUFBQUNBQTRBUUFBQkFBQUFBQUFEQUF3QUlnQUJBQUFBQUFBRUFBd0FUZ0FCQUFBQUFBQUZBQllBREFBQkFBQUFBQUFHQUFZQUxnQUJBQUFBQUFBS0FEUUFXZ0FEQUFFRUNRQUJBQXdBQUFBREFBRUVDUUFDQUE0QVFBQURBQUVFQ1FBREFBd0FJZ0FEQUFFRUNRQUVBQXdBVGdBREFBRUVDUUFGQUJZQURBQURBQUVFQ1FBR0FBd0FOQUFEQUFFRUNRQUtBRFFBV2dCeUFHRUFkQUJwQUc0QVp3QldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREFBY2dCaEFIUUFhUUJ1QUdkeVlYUnBibWNBY2dCaEFIUUFhUUJ1QUdjQVVnQmxBR2NBZFFCc0FHRUFjZ0J5QUdFQWRBQnBBRzRBWndCR0FHOEFiZ0IwQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCSkFHTUFid0JOQUc4QWJ3QnVBQzRBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT0pIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JrOVVWRThBQUJjVUFBb0FBQUFBRnN3QUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJEUmtZZ0FBQUE5QUFBRXVFQUFCTGhvNlR2SUU5VEx6SUFBQlBZQUFBQVlBQUFBR0FJSXdnYlkyMWhjQUFBRkRnQUFBQ2tBQUFBcEtQYW1ieG5ZWE53QUFBVTNBQUFBQWdBQUFBSUFBQUFFR2hsWVdRQUFCVGtBQUFBTmdBQUFEWUJHQWU1YUdobFlRQUFGUndBQUFBa0FBQUFKQVBpQWYxb2JYUjRBQUFWUUFBQUFIQUFBQUJ3TE9BQVEyMWhlSEFBQUJXd0FBQUFCZ0FBQUFZQUhGQUFibUZ0WlFBQUZiZ0FBQUU4QUFBQlBQQzFuMDV3YjNOMEFBQVc5QUFBQUNBQUFBQWdBQU1BQUFFQUJBUUFBUUVCQjNKaGRHbHVad0FCQWdBQkFEcjRIQUw0R3dQNEdBUWVDZ0FaVS8rTGl4NEtBQmxULzR1TERBZUxadmlVK0hRRkhRQUFBUDBQSFFBQUFRSVJIUUFBQUFrZEFBQVMyQklBSFFFQkJ3MFBFUlFaSGlNb0xUSTNQRUZHUzFCVldsOWthVzV6ZUgyQ2g0eHlZWFJwYm1keVlYUnBibWQxTUhVeGRUSXdkVVUyTURCMVJUWXdNWFZGTmpBeWRVVTJNRE4xUlRZd05IVkZOakExZFVZd01EUjFSakF3TlhWR01EQTJkVVl3TUVOMVJqQXdSSFZHTURJemRVWXdNa1YxUmpBMlJYVkdNRGN3ZFVZd09EZDFSakE0T0hWR01EZzVkVVl3T0VGMVJqQTVOM1ZHTURsRGRVWXhNak4xUmpFMk5IVkdNVFkxQUFBQ0FZa0FHZ0FjQWdBQkFBUUFCd0FLQUEwQVZnQ1dBTDBCQWdHTUFlUUNid0x3QTRjRDVRUjBCUU1GZGdaZ0I4TUprUXR4QzdvTTJRMWpEZ2dPbVJBWUVacjhsQTc4bEE3OGxBNzdsQTc0bFBldEZmdEZwVHozTkR6N05QdEZjZmNVK3hCdCswVDNNdDczTWpodDkwVDNGUGNRQmZ1VSswWVYrd1JSb2ZjUU1PUDNFWjNEOXdYRCt3WDNFWGt3TTZIN0VQc0V4UVVPK0pUM3JSWDdSYVU4OXpROCt6VDdSWEgzRlBzUWJmdEU5ekxlOXpJNGJmZEU5eFQzRUFYN2xQdEdGWXVMaS9leHcvc0Y5eEY1TURPaCt4RDdCTVVGRHZpVTk2MFYrMFdsUFBjMFBQczArMFZ4OXhUN0VHMzdSUGN5M3ZjeU9HMzNSUGNVOXhBRkR2aVU5OEVWaTJCNFpHNXdDSXVMK3pUN05BVjdlM3Q3ZTR0N2kzdWJlNXNJK3pUM05BVnVwbml5aTdhTDNNM04zSXUyaTdKNHBtNm1xTEtldG92Y2k4MUppem9JRHZpVTk4RVZpOXhKelRxTFlJdGtlSEJ1Y0toa25tQ0xPb3RKU1lzNmkyQ2VaS2h3Q0l1TDl6VDdOQVdiZTV0N200dWJpNXVibTVzSTl6VDNOQVdvcHA2eWk3WUlNRTBWK3piN05nV0tpb3FLaW91S2k0cU1pb3dJK3piM05nVjZtNEdoaTZPTHViQ3d1WXVqaTZHQm0zb0l1bGU2dndXYm5LR1ZvNHU1aTdCbWkxMkxjNEYxZW5zSUR2aVU5OEVWaTJCNFpHNXdDSXVMK3pUN05BVjdlM3Q3ZTR0N2kzdWJlNXNJK3pUM05BVnVwbml5aTdhTDNNM04zSXVuaTZXRG9YNElYRUQzQkV0TCt6VDNSUGRVK3dUTHNzWUZsNDZZalppTDNJdk5TWXM2Q0E2TDk4VVZpN1dYcktPaW82T3RsN2FMbG91WGlaaUhsNGVXaFphRWxvU1VoWktGazRTU2haS0VrcEtTa1pPU2twR1VrWmFTQ0phU2xwR1hqNWlQbDQyV2k3YUxyWCtqYzZOMGwycUxZWXRoZFdCZ1lBajdSdnRBQlllSWg0bUdpNGFMaDQySGpnajdSdmRBQlltTmlZMkhqNGlPaHBHRGxJU1VoWldGbElXVmhwYUhtWWFZaVppTG1BZ09aNHYzdHhXTGtwQ1BsbzBJOXlPZ3pQY1dCWTZTa0krUmk1Q0xrSWVQaEFqTCt4YjNJM1lGbG9tUWg0dUVpNGFKaDRhR0NDTW1wUHNqQll1S2k0bUxpSXVIaW9pSmlJbUlpSXFIaTRpTGg0eUhqUWo3Rk0vN0ZVY0ZoNG1IaW9pTGg0dUlqSW1PaVk2S2pvdVBpNHlMall5T0NLUDNJeVB3QllhUWlaQ0xqd2dPWjR2M3R4V0xrcENQbG8wSTl5T2d6UGNXQlk2U2tJK1JpNUNMa0llUGhBakwreGIzSTNZRmxvbVFoNHVFaTRhSmg0YUdDQ01tcFBzakJZdUtpNG1MaUl1Q2g0YURpNGlMaDR5SGpRajdGTS83RlVjRmg0bUhpb2lMaDR1SWpJbU9pWTZLam91UGk0eUxqWXlPQ0tQM0l5UHdCWWFRaVpDTGp3aktlUlhqTjNiN0RmY0F4UFpTZC9jTjR0LzdESjFWOXdGVit3RUZEcTczWmhXTGs0MlJrWkVJc2JJRmtaQ1JqcE9Ma291U2lKQ0dDTjgyOTFEM1VBV1FrSktPa291VGk1R0lrWVlJc1dRRmtZYU5oSXVFaTRPSmhZV0ZDUHVKKzRrRmhZV0ZpWU9MaEl1RWpZYVJDUHNpOXlJRmhaQ0prb3VTQ0E3N0FhcnRGWXVTanBLUWtBamYzemZmQllhUWlKS0xrNHVTanBLUWtBaXlzZ1dSa0pHT2s0dVNpNUtJa0lZSTN6ZmYzd1dRa0pLT2s0dVNpNUtJa0lZSXNtUUZrSWFPaEl1RWk0T0loSWFHQ0RjMzN6Y0ZrSWFPaEl1RWk0T0loWWFGQ0dSa0JZYUdoSWlFaTRPTGhJNkdrQWczM3pjM0JZYUdoSWlFaTRPTGhZNkZrQWhrc2dXR2tZaVJpNU1JRHZ0TGk4c1ZpL2M1Qll1U2pwS1FrSkNRa282U2l3aVZpNHZDQll1dWw2bWtwS1NrcXBpdWk2NkxxWDZrY3FSeW1HMkxhQWlMVkpTTEJaS0xrb2lRaHBDR2pvU0xoQWlMK3prRmk0T0loWWFHaG9XRWlZU0xDUHVuaXdXRWk0U05ocEdHa0lpUmk1TUk1dmRVRmZjbmk0dkNCWXVmaEp4OG1uMlplcEozaTNhTGVvUjlmWDE4ZzNxTGR3aUxWQVVPK3lhTHNoV0wrQVFGaTVHTmtZK1JqcENRajVLTmo0MlBqSStMQ1BmQWl3V1BpNCtLajRtUmlaQ0hqNGFQaFkyRmk0VUlpL3dFQll1RWlZV0hob2VHaG9lRmlJaUtob3FIaTRHTGhJNkVrUWo3RXZjTit4TDdEUVdFaFlPSWdvdUhpNGVMaDQyRWpvYVBpSkNIa0ltUmk1SUlEb3YzWFJXTGtvMlJqNUtsdHErdnVLVzRwYnVadll1OWk3dDl1SEc0Y2E5bnBXQ1BoSTJGaTRTTGhZbUVoNFJ4WUdkb1huQUlYbkZiZmxtTFdZdGJtRjZsWHFabnJuRzJoNUtKa291UkNMQ0xGYVJrcTJ5eGRMRjB0SCs0aTdpTHRKZXhvckdpcTZxa3NtNjRaNjFnb1paM2tYYUxkSXRuZm0xeWNuSnliWDlvaXdob2kyMlhjcVJ5cEg2cGk2K0xvcEdnbHA5Z2RXZHBibDRJOXhpd0ZZdUhqSWlPaUk2SWpvcVBpNCtMam95T2pvMk9qWTZMajR1YmtKbVhsNWVXbVpHYmk0K0xqb3lPam8yT2pZNkxqd2lMajRtT2lZNklqWWlOaDR0emkzZUNlbnA2ZW9KM2kzTUlEb3YzWFJXTGtvMlNqNUdvdUsrdXRxVzNwYnFZdm91Y2k1eUpuSWdJbTZjRmpZNk5qSStMakl1Tmk0MkpqWXFPaW8rSmpvbU9pWTZLam9tT2lZNkpqb3FOaW95S2pvbU1pWXVIaTRxTGlvdUxDSGRuYlZWalEyTkRiVlYzWndoOWNnV0ppSWlKaUl1SmkzNlNkSmlJalltT2k0NkxqWStVbEpsdmwzS2NkSjkwb0hlaWU2V0hrWW1TaTVJSXNJc1ZxbHEwWjcxMUNLR3pCWHFYZnBxQ25vS2RocDZMb0l1aWthQ1duMkIxWjJsdVhnajNHTEFWaTRlTWlJNklqb2lPaW8rTGo0dU9qSTZPalk2TmpvdVBpNXVRbVplWGw1YVprWnVMajR1T2pJNk9qWTZOam91UENJdVBpWTZKam9pTmlJMkhpM09MZDRKNmVucDZnbmVMY3dqaSsxMFZvTEFGdEkrd21LMmhycUtucUtLdmRxMXdwMnVoQ0oyckJaMS9uSHljZXB4Nm1IcVdlWStFallXTGhJdUVpWVdIaElSL2dIMStmRzlxYVhKbWVXVjVZNEpoaXdpNTNCWGI5eVFGaklLTWc0dUVpM0NEYzN4MWZIVjNmSE9CQ0E2TDFCV0w5MHNGaTVXUGxKS1NrcEtUajVhTENObUxCWktQbUpxZXBKYVpsWmVWbFkrUWo1T05sNDJXanBlT21JK1lrWldUazVPU2s0NlZpNXVMbVlpWWhaaUZsSUdTZmdpU2ZvNTVpM1dMZVlkNWdYZ0l2b3NGbjR1Y2hKbDhtbjJTZW90M2kzcUdmSUo5allTTGhZdUVpM3lJZm9SK2k0ZUxoNHVIaTNlR2VuOTlpM0NEZG50OENIdDhkWU53aXdobWl3VjVpM21OZVk5NWtIZVJjNU4xazM2UGg0c0lPWXNGZ0l1RGpvU1NoSktIbEl1VkNMQ2RGWXVHakllUGlJK0hqNG1RaTVDTGo0MlBqNDZPalkrTGtJdVFpWkNJam9lUGg0MkdpNGFMaDRtSGg0ZUlpb2FMaGdqVWVSV1Vpd1dOaTQ2TGo0cU9pNCtLallxT2k0K0tqNG1RaW82S2pZcU5pbytLajRtUWlvNktqSXF6ZnF1RXBJc0lyb3NGcjR1ZW1vdXJpNUNLa1lxUWtZNlFrSTZTanBLTmtvdVNpNUtKa29pUmxaV1Fsb3VZaTVDS2tJbVJpWkdKajRpT0NKR01rSStQbEkrVWpaS0xrb3VWaUpPRGs0U1NnbytDaXdnbWl3V0xscENhbEo2VW5wQ2JpNWFMbm9pWWhKU0ZsSCtRZVl1R2hvZURpWUNKZjRoL2gzK0lmb1dCZzRLSGg0U0NnSDRJaTRxSWlZaUdoNGFJaDRtSWlJaUloNGVHaDRhSGg0ZUhpSWlIaUllSGlJaUhpSWVLaDRtSWlvaUxDSUtMaS90TEJRNkw5MHNWaS9kTEJZdVZqNU9TazVLU2s0Nldpd2pkaXdXUGk1aVBvWk9razZDUm5aQ2RqNTZObjRzSXE0c0Zwb3VnZzV4OG0zeVRkNHR4Q0l1SkJaZDhrSHVMZDR1SGk0ZUxoNUoram42TGZJdUVpNFNKaFpSOWtIeUxlb3QzaEhwOGZIMTllb1IzaXdoWWl3V1ZlSTk1aTNtTGRJaDZoSDZFZm9LQmZvVitoWDJIZTR1Qmk0T1BnNUtGa1lhVGg1U0hsWWlUaXBPS2s0cVRpSk1JaVpTSWtZaVBnWlNCbDRDYWVLUittb1NQQ0QyTEJZQ0xnNCtFa29TU2g1U0xsUWl3OXpnVmk0YU1oNCtJajRlUGlaQ0xrSXVQalkrUGpvNk5qNHVRaTVDSmtJaU9oNCtIallhTGhvdUhpWWVIaDRpS2hvdUdDTlQ3T0JXVWl3V09pNDZLajRtUGlvK0lqb2lQaDQrSWpvZVBpSStIajRhUGhvNkhqb2lOaUk2SGo0YU9obzZJaTRxV2ZwS0RqNFlJazRPUmdZNStqMzZPZ0kxL2pZQ1BnNUNHbll1WGo1R1VrcFNPbVl1ZWk1YUdtb0tmZ3A2R21vdVdDUENMQlpTTGxJK1NrcE9UanBPTGxZdVNpWktIbEllVWhvK0ZpNDZQalkrTmtZMlJqSkNMa0l1WWhwYUJsWTZSalpLTGtnaUxrb21TaUpLSWtvYVFoWTZNa0l5Umk1Q0xtNGFYZ3BPQmtuNlBlNHNJWm9zRmNvdHJoR045aW91SWlvYUpoNHFIaW9tS2lZcUlpb2FLaDRtSGlvaUtpWXVIaW9pTGg0cUlpNG1MQ0lLTGkvdExCUTc3bEl2M3R4V0xrcENQbG8wSTl5T2d6UGNXQlk2U2tJK1Jpd2lML0JMN0ZVY0ZoNG1IaW9pTGg0dUlqSW1PaVk2S2pvdVBpNHlMall5T0NLUDNJeVB3QllhUWlaQ0xqd2dPaS9mRkZZdTFsNnlqb3FPanJaZTJpNWFMbDRtWWg1ZUhsb1dXaEphRWxJV1NoWk9Fa29XU2hKS1NrcEdUa3BLUmxKR1drZ2lXa3BhUmw0K1lqNWVObG91Mmk2MS9vM09qZEpkcWkyR0xZWFZnWUdBSSswYjdRQVdIaUllSmhvdUdpNGVOaDQ0SSswYjNRQVdKalltTmg0K0lqb2FSZzVTRWxJV1ZoWlNGbFlhV2g1bUdtSW1ZaTVnSXNJc1ZpMnVjYWE5b0NQYzYrelQzT3ZjekJhK3ZuSzJMcTR1YmlaaUhsNGVYaHBTRmtvU1NnNUdDajRLUWdvMkNqWU9OZ1l1Qmk0S0xnSWwvaG9DR2dJV0NoQWlCZzRPRmhJU0VoWWFGaG9hSWhvYUpoWXVGaTRhTmlKQ0drSWFSaEpHRWtvT1JnWk9Da29DUmdKQi9rSUNOZ29zSWdZdUJpNE9KZ29tQ2lZS0dnb2VEaFlTRWhZU0dnb2QvaDMrSmZvdDdDQTc3Sm91eUZZdjRCQVdMa1kyUmo1R09rSkNQa28yUGpZK01qNHNJOThDTEJZK0xqNHFQaVpHSmtJZVBobytGallXTGhRaUwvQVFGaTRTSmhZZUdoNGFHaDRXSWlJcUdpb2VMZ1l1RWpvU1JDUHNTOXczN0V2c05CWVNGZzRpQ2k0ZUxoNHVIallTT2hvK0lrSWVRaVpHTGtnaXdreFgzSnZjaHBITDNEZnNJaS9mMys3aUxpL3YzQlE1bmk4c1ZpL2M1Qll1U2pwS1FrSkNRa282U2l3ajNWSXVMd2dXTHJwaXBwS1NrcEttWXJvdXZpNmwrcEhLa2NwZHRpMmdJaTBJRmk0YUtob2VJaDRlSGlZYUxDSG1MQllhTGg0MkhqNGVPaXBDTGtBaUwxQVdMbjRPY2ZacDltWHFTZG90M2kzcUVmWDE4ZklSNmkzY0lpMVNuaXdXU2k1S0lrSWFRaG82RWk0UUlpL3M1Qll1RGlJV0dob2FGaEltRWl3ajdwNHNGaEl1RWpZYVJocENJa1l1VENBNW5qUGU2Rll5UWtJNlVqUWozSTZETTl4WUZqNUtQajVHTGtJdVFoNCtFQ012N0Z2Y2pkZ1dVaVpDSWpZYU5ob2lGaFlVSUl5YWsreU1GaklXS2hvbUhpWWlJaVlhTGlJdUhqSWVOQ1BzVXovc1ZSd1dIaVllS2lJdUhpNGVOaVk2Smo0dVFqSkVJby9jakkvQUZoWkdKa1kyUUNQZUIrejBWbklMbFczcnhpSjZabU5UUyt3eWRncHhlNTR2N3B3VU9aNHZDRll2M1N3V0xrSTJQam8rUGpvK05rSXNJM29zRmtJdVBpWTZJajRlTmg0dUdDSXY3U3dXTGhvbUhoNGVJaDRlS2hvc0lPSXNGaG91SGpJZVBpSStKajR1UUNMQ3ZGWXVHakllUGg0NklrSW1RaTVDTGo0MlBqbzZQalkrTGtJdVFpWkNJam9lUGg0MkdpNGFMaG9tSWg0ZUlpb2FMaGdqdlp4V0w5MHNGaTVDTmo0Nk9qNCtQalpDTGo0eVNrSldXbFphVmw1U1htSnVWbDVHUmpvNk9rSTZSalpDTmtJeVBqSTZNa1kyVENJeVNqSkdNajR5UGpaQ09rWTZSanBDUGpvNlBqNDJRaTVTTGs0cVNpWktKa1lpUGlKQ0lqb2lQaG82R2pZZU1od2lOaDR5R2pJYU1oWXVIaTRpTGlJdUhpNGVMZzR1RWlZU0poSW1GaVllSmg0bUZoNFdMaW9xSmlvbUppSXFKaW9rSWk0cUtpSXFKQ05xTEJacUxtSVdXZ0phQWtIK0xmSXQ2aG4yQWY0NkRqWVNMaEl0OWgzNkNmNCtCaTMrSGdJbUFoWUtFaEkxMmhubUFmZ2gvZlhpRGNvc0lab3NGZm90K2pIeU9mSTUvam9PT2c0MS9qMzJRYzVOOGo0U01ob3VIallpT2g0K0pqNHVRQ0E1bmkvYzVGWXVHallhT2lJK0hqNG1RaXdqZWl3V1FpNCtOam8rUGpvMlFpNUFJaS9kS0JZdVFpWkNIam9pUGg0Mkdpd2c0aXdXR2k0ZUpoNGVJaUltR2k0WUlpL3RLQmJEM0poV0xrSXlQajQrT2pwQ05rSXVRaTQrSmo0aU9oNDJIaTRhTGhvbUhpSWVIaDRlS2hvdUdpNGFNaUkrSGo0cVBpNUFJNy9zbkZZdjNTd1dMa0kyUWo0Nk9qNCtOa0l1U2k1cVBvNU9aa0plUGs0NlRqWmVPbW82YWpwaU1tSXNJc0lzRnBJdWVnNWQ5bG42UWVvbDFrb1NSZ28yQWo0Q0xnSWVBbEgrUGZvdDlpNFdKaElpQ2xvQ1FmSXQ3aTN5RmZvR0FDSUNBZm9aOGl3Zzhpd1dNaUl5Smk0bU1pWXlKalltTWlJeUtpNG1QaEkyR2pZZU5oNDJHallPTWhJeUVpNFNMaG91SGk0aUxpWXVHaW9ZSWlvV0tob21IaW9lSmg0aUdoNGVJaDRhSWg0aUZpSVNKaEltRGlvS0xob3VIallpUGg0K0lqNGlSaUpHSmtJcVBDSXFQaXBHS2tvbVRpcEdLajRxT2laQ0prWWlRaUpDSWpvV1NnWlorbklLWGdaYUJsb0dXaEpHSGk0YUxoNDJIandpSWpvbVFpNDhJRHZpVUZQaVVGWXNNQ2dBQUFBQURBZ0FCa0FBRkFBQUJUQUZtQUFBQVJ3Rk1BV1lBQUFEMUFCa0FoQUFBQUFBQUFBQUFBQUFBQUFBQUFBRVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFFQUFBUEZsQWVELzRQL2dBZUFBSUFBQUFBRUFBQUFBQUFBQUFBQUFBQ0FBQUFBQUFBSUFBQUFEQUFBQUZBQURBQUVBQUFBVUFBUUFrQUFBQUNBQUlBQUVBQUFBQVFBZzVnWHdCdkFOOENQd0x2QnU4SER3aXZDWDhKenhJL0ZsLy8zLy93QUFBQUFBSU9ZQThBVHdEUEFqOEM3d2J2Qnc4SWZ3bC9DYzhTUHhaUC85Ly84QUFmL2pHZ1FRQmhBQkQrd1A0ZytqRDZJUGpBK0FEM3dPOWc2MkFBTUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRUFBZi8vQUE4QUFRQUFBQUVBQUpyVmxMSmZEenoxQUFzQ0FBQUFBQURQL0dPREFBQUFBTS84WTRNQUFQL2JBZ0FCMndBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFCNFAvZ0FBQUNBQUFBQUFBQ0FBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUhBQUFBQUFBQUFBQUFBQUFBQUVBQUFBQ0FBQUFBZ0FBQUFJQUFBQUNBQUFBQWdBQUFBSUFBQUFDQUFBQUFkd0FBQUhjQUFBQ0FBQWpBWk1BSHdGSkFBQUJiZ0FBQWdBQUFBSUFBQUFDQUFBQUFnQUFBQUVBQUFBQ0FBQUFBVzRBQUFIY0FBQUIzQUFCQWR3QUFBSGNBQUFBQUZBQUFCd0FBQUFBQUE0QXJnQUJBQUFBQUFBQkFBd0FBQUFCQUFBQUFBQUNBQTRBUUFBQkFBQUFBQUFEQUF3QUlnQUJBQUFBQUFBRUFBd0FUZ0FCQUFBQUFBQUZBQllBREFBQkFBQUFBQUFHQUFZQUxnQUJBQUFBQUFBS0FEUUFXZ0FEQUFFRUNRQUJBQXdBQUFBREFBRUVDUUFDQUE0QVFBQURBQUVFQ1FBREFBd0FJZ0FEQUFFRUNRQUVBQXdBVGdBREFBRUVDUUFGQUJZQURBQURBQUVFQ1FBR0FBd0FOQUFEQUFFRUNRQUtBRFFBV2dCeUFHRUFkQUJwQUc0QVp3QldBR1VBY2dCekFHa0Fid0J1QUNBQU1RQXVBREFBY2dCaEFIUUFhUUJ1QUdkeVlYUnBibWNBY2dCaEFIUUFhUUJ1QUdjQVVnQmxBR2NBZFFCc0FHRUFjZ0J5QUdFQWRBQnBBRzRBWndCR0FHOEFiZ0IwQUNBQVp3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCSkFHTUFid0JOQUc4QWJ3QnVBQzRBQXdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBPT0pIGZvcm1hdCgnd29mZicpXG4gIDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLnVpLnJhdGluZyAuaWNvbiB7XG4gIGZvbnQtZmFtaWx5OiAnUmF0aW5nJztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIEVtcHR5IFN0YXIgKi9cbi51aS5yYXRpbmcgLmljb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwNSc7XG59XG4vKiBBY3RpdmUgU3RhciAqL1xuLnVpLnJhdGluZyAuYWN0aXZlLmljb246YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAwNSc7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBTdGFyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIFVuZmlsbGVkIFN0YXIgKi9cbi51aS5zdGFyLnJhdGluZyAuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDA1Jztcbn1cbi8qIEFjdGl2ZSBTdGFyICovXG4udWkuc3Rhci5yYXRpbmcgLmFjdGl2ZS5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDUnO1xufVxuXG4vKiBQYXJ0aWFsICovXG4udWkuc3Rhci5yYXRpbmcgLnBhcnRpYWwuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDA2Jztcbn1cbi51aS5zdGFyLnJhdGluZyAucGFydGlhbC5pY29uIHtcbiAgY29udGVudDogJ1xcZjAwNSc7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBIZWFydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBFbXB0eSBIZWFydFxuLnVpLmhlYXJ0LnJhdGluZyAuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDhhJztcbn1cbiovXG4udWkuaGVhcnQucmF0aW5nIC5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwMDQnO1xufVxuLyogQWN0aXZlICovXG4udWkuaGVhcnQucmF0aW5nIC5hY3RpdmUuaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDA0Jztcbn1cbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIFNlYXJjaFxuICogaHR0cDovL2dpdGh1Yi5jb20vc2VtYW50aWMtb3JnL3NlbWFudGljLXVpL1xuICpcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKi9cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ21vZHVsZSc7XG5AZWxlbWVudCA6ICdzZWFyY2gnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgU2VhcmNoXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc2VhcmNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWkuc2VhcmNoID4gLnByb21wdCB7XG4gIG1hcmdpbjogMGVtO1xuICBvdXRsaW5lOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG5cbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IEBub3JtYWw7XG5cbiAgbGluZS1oZWlnaHQ6IEBwcm9tcHRMaW5lSGVpZ2h0O1xuICBwYWRkaW5nOiBAcHJvbXB0UGFkZGluZztcbiAgZm9udC1zaXplOiBAcHJvbXB0Rm9udFNpemU7XG5cbiAgYmFja2dyb3VuZDogQHByb21wdEJhY2tncm91bmQ7XG4gIGJvcmRlcjogQHByb21wdEJvcmRlcjtcbiAgY29sb3I6IEBwcm9tcHRDb2xvcjtcbiAgYm94LXNoYWRvdzogQHByb21wdEJveFNoYWRvdztcbiAgdHJhbnNpdGlvbjogQHByb21wdFRyYW5zaXRpb247XG59XG5cbi51aS5zZWFyY2ggLnByb21wdCB7XG4gIGJvcmRlci1yYWRpdXM6IEBwcm9tcHRCb3JkZXJSYWRpdXM7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBJY29uXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2VhcmNoIC5wcm9tcHQgfiAuc2VhcmNoLmljb24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBSZXN1bHRzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwJTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgYmFja2dyb3VuZDogQHJlc3VsdHNCYWNrZ3JvdW5kO1xuXG4gIG1hcmdpbi10b3A6IEByZXN1bHRzRGlzdGFuY2U7XG4gIHdpZHRoOiBAcmVzdWx0c1dpZHRoO1xuXG4gIGJvcmRlci1yYWRpdXM6IEByZXN1bHRzQm9yZGVyUmFkaXVzO1xuICBib3gtc2hhZG93OiBAcmVzdWx0c0JveFNoYWRvdztcbiAgYm9yZGVyOiBAcmVzdWx0c0JvcmRlcjtcbiAgei1pbmRleDogQHJlc3VsdHNaSW5kZXg7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiBAcmVzdWx0c0JvcmRlclJhZGl1cyBAcmVzdWx0c0JvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwZW0gMGVtIEByZXN1bHRzQm9yZGVyUmFkaXVzIEByZXN1bHRzQm9yZGVyUmFkaXVzO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgUmVzdWx0XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogQHJlc3VsdEZvbnRTaXplO1xuICBwYWRkaW5nOiBAcmVzdWx0UGFkZGluZztcbiAgY29sb3I6IEByZXN1bHRUZXh0Q29sb3I7XG4gIGxpbmUtaGVpZ2h0OiBAcmVzdWx0TGluZUhlaWdodDtcbiAgYm9yZGVyLWJvdHRvbTogQHJlc3VsdERpdmlkZXI7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogQHJlc3VsdExhc3REaXZpZGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qIEltYWdlICovXG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdCAuaW1hZ2Uge1xuICBmbG9hdDogQHJlc3VsdEltYWdlRmxvYXQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IEByZXN1bHRJbWFnZUJhY2tncm91bmQ7XG4gIHdpZHRoOiBAcmVzdWx0SW1hZ2VXaWR0aDtcbiAgaGVpZ2h0OiBAcmVzdWx0SW1hZ2VIZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IEByZXN1bHRJbWFnZUJvcmRlclJhZGl1cztcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSW5mb1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLmltYWdlICsgLmNvbnRlbnQge1xuICBtYXJnaW46IEByZXN1bHRJbWFnZU1hcmdpbjtcbn1cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLnRpdGxlIHtcbiAgbWFyZ2luOiBAcmVzdWx0VGl0bGVNYXJnaW47XG4gIGZvbnQtZmFtaWx5OiBAcmVzdWx0VGl0bGVGb250O1xuICBmb250LXdlaWdodDogQHJlc3VsdFRpdGxlRm9udFdlaWdodDtcbiAgZm9udC1zaXplOiBAcmVzdWx0VGl0bGVGb250U2l6ZTtcbiAgY29sb3I6IEByZXN1bHRUaXRsZUNvbG9yO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQgLmRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogQHJlc3VsdERlc2NyaXB0aW9uRGlzdGFuY2U7XG4gIGZvbnQtc2l6ZTogQHJlc3VsdERlc2NyaXB0aW9uRm9udFNpemU7XG4gIGNvbG9yOiBAcmVzdWx0RGVzY3JpcHRpb25Db2xvcjtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0IC5wcmljZSB7XG4gIGZsb2F0OiBAcmVzdWx0UHJpY2VGbG9hdDtcbiAgY29sb3I6IEByZXN1bHRQcmljZUNvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgTWVzc2FnZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gLm1lc3NhZ2Uge1xuICBwYWRkaW5nOiBAbWVzc2FnZVZlcnRpY2FsUGFkZGluZyBAbWVzc2FnZUhvcml6b250YWxQYWRkaW5nO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzID4gLm1lc3NhZ2UgLmhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBAaGVhZGVyRm9udDtcbiAgZm9udC1zaXplOiBAbWVzc2FnZUhlYWRlckZvbnRTaXplO1xuICBmb250LXdlaWdodDogQG1lc3NhZ2VIZWFkZXJGb250V2VpZ2h0O1xuICBjb2xvcjogQG1lc3NhZ2VIZWFkZXJDb2xvcjtcbn1cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IC5tZXNzYWdlIC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IEBtZXNzYWdlRGVzY3JpcHRpb25EaXN0YW5jZTtcbiAgZm9udC1zaXplOiBAbWVzc2FnZURlc2NyaXB0aW9uRm9udFNpemU7XG4gIGNvbG9yOiBAbWVzc2FnZURlc2NyaXB0aW9uQ29sb3I7XG59XG5cbi8qIFZpZXcgQWxsIFJlc3VsdHMgKi9cbi51aS5zZWFyY2ggPiAucmVzdWx0cyA+IC5hY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXRvcDogQGFjdGlvbkJvcmRlcjtcbiAgYmFja2dyb3VuZDogQGFjdGlvbkJhY2tncm91bmQ7XG4gIHBhZGRpbmc6IEBhY3Rpb25QYWRkaW5nO1xuICBjb2xvcjogQGFjdGlvbkNvbG9yO1xuICBmb250LXdlaWdodDogQGFjdGlvbkZvbnRXZWlnaHQ7XG4gIHRleHQtYWxpZ246IEBhY3Rpb25BbGlnbjtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RhdGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgRm9jdXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zZWFyY2ggPiAucHJvbXB0OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiBAcHJvbXB0Rm9jdXNCb3JkZXJDb2xvcjtcbiAgYmFja2dyb3VuZDogQHByb21wdEZvY3VzQmFja2dyb3VuZDtcbiAgY29sb3I6IEBwcm9tcHRGb2N1c0NvbG9yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgTG9hZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmxvYWRpbmcuc2VhcmNoIC5pbnB1dCA+IGkuaWNvbjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuXG4gIG1hcmdpbjogQGxvYWRlck1hcmdpbjtcbiAgd2lkdGg6IEBsb2FkZXJTaXplO1xuICBoZWlnaHQ6IEBsb2FkZXJTaXplO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcbiAgYm9yZGVyOiBAbG9hZGVyTGluZVdpZHRoIHNvbGlkIEBsb2FkZXJGaWxsQ29sb3I7XG59XG4udWkubG9hZGluZy5zZWFyY2ggLmlucHV0ID4gaS5pY29uOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcblxuICBtYXJnaW46IEBsb2FkZXJNYXJnaW47XG4gIHdpZHRoOiBAbG9hZGVyU2l6ZTtcbiAgaGVpZ2h0OiBAbG9hZGVyU2l6ZTtcblxuICBhbmltYXRpb246IGJ1dHRvbi1zcGluIEBsb2FkZXJTcGVlZCBsaW5lYXI7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuXG4gIGJvcmRlci1yYWRpdXM6IEBjaXJjdWxhclJhZGl1cztcblxuICBib3JkZXItY29sb3I6IEBsb2FkZXJMaW5lQ29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogQGxvYWRlckxpbmVXaWR0aDtcblxuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggdHJhbnNwYXJlbnQ7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgSG92ZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0OmhvdmVyLFxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogQHJlc3VsdEhvdmVyQmFja2dyb3VuZDtcbn1cbi51aS5zZWFyY2ggLmFjdGlvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IEBhY3Rpb25Ib3ZlckJhY2tncm91bmQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEFjdGl2ZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeS5hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiBAY2F0ZWdvcnlBY3RpdmVCYWNrZ3JvdW5kO1xufVxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeS5hY3RpdmUgPiAubmFtZSB7XG4gIGNvbG9yOiBAY2F0ZWdvcnlOYW1lQWN0aXZlQ29sb3I7XG59XG5cbi51aS5zZWFyY2ggPiAucmVzdWx0cyAucmVzdWx0LmFjdGl2ZSxcbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkgLnJlc3VsdC5hY3RpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiBAcmVzdWx0QWN0aXZlQm9yZGVyTGVmdDtcbiAgYmFja2dyb3VuZDogQHJlc3VsdEFjdGl2ZUJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IEByZXN1bHRBY3RpdmVCb3hTaGFkb3c7XG59XG4udWkuc2VhcmNoID4gLnJlc3VsdHMgLnJlc3VsdC5hY3RpdmUgLnRpdGxlIHtcbiAgY29sb3I6IEByZXN1bHRBY3RpdmVUaXRsZUNvbG9yO1xufVxuLnVpLnNlYXJjaCA+IC5yZXN1bHRzIC5yZXN1bHQuYWN0aXZlIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiBAcmVzdWx0QWN0aXZlRGVzY3JpcHRpb25Db2xvcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAgICBEaXNhYmxlZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIERpc2FibGVkICovXG4udWkuZGlzYWJsZWQuc2VhcmNoIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogQGRpc2FibGVkT3BhY2l0eTtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBUeXBlc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIFNlbGVjdGlvblxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnNlYXJjaC5zZWxlY3Rpb24gLnByb21wdCB7XG4gIGJvcmRlci1yYWRpdXM6IEBzZWxlY3Rpb25Qcm9tcHRCb3JkZXJSYWRpdXM7XG59XG5cbi8qIFJlbW92ZSBpbnB1dCAqL1xuLnVpLnNlYXJjaC5zZWxlY3Rpb24gPiAuaWNvbi5pbnB1dCA+IC5yZW1vdmUuaWNvbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiBAc2VsZWN0aW9uQ2xvc2VJY29uQ29sb3I7XG4gIHRvcDogQHNlbGVjdGlvbkNsb3NlVG9wO1xuICByaWdodDogQHNlbGVjdGlvbkNsb3NlUmlnaHQ7XG4gIHRyYW5zaXRpb246IEBzZWxlY3Rpb25DbG9zZVRyYW5zaXRpb247XG59XG4udWkuc2VhcmNoLnNlbGVjdGlvbiA+IC5pY29uLmlucHV0ID4gLmFjdGl2ZS5yZW1vdmUuaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogQHNlbGVjdGlvbkNsb3NlSWNvbk9wYWNpdHk7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuLnVpLnNlYXJjaC5zZWxlY3Rpb24gPiAuaWNvbi5pbnB1dDpub3QoW2NsYXNzKj1cImxlZnQgaWNvblwiXSkgPiAuaWNvbiB+IC5yZW1vdmUuaWNvbiB7XG4gIHJpZ2h0OiBAc2VsZWN0aW9uQ2xvc2VJY29uSW5wdXRSaWdodDtcbn1cbi51aS5zZWFyY2guc2VsZWN0aW9uID4gLmljb24uaW5wdXQgPiAucmVtb3ZlLmljb246aG92ZXIge1xuICBvcGFjaXR5OiBAc2VsZWN0aW9uQ2xvc2VJY29uSG92ZXJPcGFjaXR5O1xuICBjb2xvcjogQHNlbGVjdGlvbkNsb3NlSWNvbkhvdmVyQ29sb3I7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENhdGVnb3J5XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuY2F0ZWdvcnkuc2VhcmNoIC5yZXN1bHRzIHtcbiAgd2lkdGg6IEBjYXRlZ29yeVJlc3VsdHNXaWR0aDtcbn1cblxuLnVpLmNhdGVnb3J5LnNlYXJjaCAucmVzdWx0cy5hbmltYXRpbmcsXG4udWkuY2F0ZWdvcnkuc2VhcmNoIC5yZXN1bHRzLnZpc2libGUge1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLyogQ2F0ZWdvcnkgKi9cbi51aS5jYXRlZ29yeS5zZWFyY2ggPiAucmVzdWx0cyAuY2F0ZWdvcnkge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIGJhY2tncm91bmQ6IEBjYXRlZ29yeUJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6IEBjYXRlZ29yeUJveFNoYWRvdztcbiAgdHJhbnNpdGlvbjogQGNhdGVnb3J5VHJhbnNpdGlvbjtcbn1cblxuLyogTGFzdCBDYXRlZ29yeSAqL1xuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLyogRmlyc3QgLyBMYXN0ICovXG4udWkuY2F0ZWdvcnkuc2VhcmNoID4gLnJlc3VsdHMgLmNhdGVnb3J5OmZpcnN0LWNoaWxkIC5uYW1lICsgLnJlc3VsdCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSBAcmVzdWx0c0JvcmRlclJhZGl1cyAwZW0gMGVtO1xufVxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeTpsYXN0LWNoaWxkIC5yZXN1bHQ6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAwZW0gQHJlc3VsdHNCb3JkZXJSYWRpdXMgMGVtO1xufVxuXG4vKiBDYXRlZ29yeSBSZXN1bHQgTmFtZSAqL1xuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSA+IC5uYW1lIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdpZHRoOiBAY2F0ZWdvcnlOYW1lV2lkdGg7XG4gIHdoaXRlLXNwYWNlOiBAY2F0ZWdvcnlOYW1lV2hpdGVzcGFjZTtcbiAgYmFja2dyb3VuZDogQGNhdGVnb3J5TmFtZUJhY2tncm91bmQ7XG4gIGZvbnQtZmFtaWx5OiBAY2F0ZWdvcnlOYW1lRm9udDtcbiAgZm9udC1zaXplOiBAY2F0ZWdvcnlOYW1lRm9udFNpemU7XG4gIHBhZGRpbmc6IEBjYXRlZ29yeU5hbWVQYWRkaW5nO1xuICBmb250LXdlaWdodDogQGNhdGVnb3J5TmFtZUZvbnRXZWlnaHQ7XG4gIGNvbG9yOiBAY2F0ZWdvcnlOYW1lQ29sb3I7XG4gIGJvcmRlci1ib3R0b206IEBjYXRlZ29yeURpdmlkZXI7XG59XG5cbi8qIENhdGVnb3J5IFJlc3VsdCAqL1xuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0cyB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIGJhY2tncm91bmQ6IEBjYXRlZ29yeVJlc3VsdEJhY2tncm91bmQ7XG4gIGJvcmRlci1sZWZ0OiBAY2F0ZWdvcnlSZXN1bHRMZWZ0Qm9yZGVyO1xuICBib3JkZXItYm90dG9tOiBAY2F0ZWdvcnlEaXZpZGVyO1xufVxuLnVpLmNhdGVnb3J5LnNlYXJjaCA+IC5yZXN1bHRzIC5jYXRlZ29yeSAucmVzdWx0IHtcbiAgYm9yZGVyLWJvdHRvbTogQGNhdGVnb3J5UmVzdWx0RGl2aWRlcjtcbiAgdHJhbnNpdGlvbjogQGNhdGVnb3J5UmVzdWx0VHJhbnNpdGlvbjtcbiAgcGFkZGluZzogQGNhdGVnb3J5UmVzdWx0UGFkZGluZztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgVmFyaWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgIExlZnQgLyBSaWdodFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWlbY2xhc3MqPVwibGVmdCBhbGlnbmVkXCJdLnNlYXJjaCA+IC5yZXN1bHRzIHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDAlO1xufVxuLnVpW2NsYXNzKj1cInJpZ2h0IGFsaWduZWRcIl0uc2VhcmNoID4gLnJlc3VsdHMge1xuICByaWdodDogMCU7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBGbHVpZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLmZsdWlkLnNlYXJjaCAucmVzdWx0cyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIFNpemVzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubWluaS5zZWFyY2gge1xuICBmb250LXNpemU6IEByZWxhdGl2ZU1pbmk7XG59XG4udWkuc21hbGwuc2VhcmNoIHtcbiAgZm9udC1zaXplOiBAcmVsYXRpdmVTbWFsbDtcbn1cbi51aS5zZWFyY2gge1xuICBmb250LXNpemU6IEByZWxhdGl2ZU1lZGl1bTtcbn1cbi51aS5sYXJnZS5zZWFyY2gge1xuICBmb250LXNpemU6IEByZWxhdGl2ZUxhcmdlO1xufVxuLnVpLmJpZy5zZWFyY2gge1xuICBmb250LXNpemU6IEByZWxhdGl2ZUJpZztcbn1cbi51aS5odWdlLnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogQHJlbGF0aXZlSHVnZTtcbn1cbi51aS5tYXNzaXZlLnNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogQHJlbGF0aXZlTWFzc2l2ZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgTW9iaWxlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IEBsYXJnZXN0TW9iaWxlU2NyZWVuKSB7XG4gIC51aS5zZWFyY2ggLnJlc3VsdHMge1xuICAgIG1heC13aWR0aDogQG1vYmlsZU1heFdpZHRoO1xuICB9XG59XG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIFNoYXBlXG4gKiBodHRwOi8vZ2l0aHViLmNvbS9zZW1hbnRpYy1vcmcvc2VtYW50aWMtdWkvXG4gKlxuICpcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVFxuICpcbiAqL1xuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdtb2R1bGUnO1xuQGVsZW1lbnQgOiAnc2hhcGUnO1xuXG5AaW1wb3J0IChtdWx0aXBsZSkgJy4uLy4uL3RoZW1lLmNvbmZpZyc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgIFNoYXBlXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc2hhcGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGRpc3BsYXk6IEBkaXNwbGF5O1xuICBwZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cblxuLnVpLnNoYXBlIC5zaWRlcyB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG59XG5cbi51aS5zaGFwZSAuc2lkZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIG1hcmdpbjogQHNpZGVNYXJnaW4gIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogQGJhY2tmYWNlVmlzaWJpbGl0eTtcbn1cblxuLnVpLnNoYXBlIC5zaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLnNoYXBlIC5zaWRlICoge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5jdWJlLnNoYXBlIC5zaWRlIHtcbiAgbWluLXdpZHRoOiBAY3ViZVNpemU7XG4gIGhlaWdodDogQGN1YmVTaXplO1xuXG4gIHBhZGRpbmc6IEBjdWJlUGFkZGluZztcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAY3ViZUJhY2tncm91bmQ7XG4gIGNvbG9yOiBAY3ViZVRleHRDb2xvcjtcbiAgYm94LXNoYWRvdzogQGN1YmVCb3hTaGFkb3c7XG59XG4udWkuY3ViZS5zaGFwZSAuc2lkZSA+IC5jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogdGFibGU7XG5cbiAgdGV4dC1hbGlnbjogQGN1YmVUZXh0QWxpZ247XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xufVxuLnVpLmN1YmUuc2hhcGUgLnNpZGUgPiAuY29udGVudCA+IGRpdiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogQGN1YmVGb250U2l6ZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkudGV4dC5zaGFwZS5hbmltYXRpbmcgLnNpZGVzIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbn1cbi51aS50ZXh0LnNoYXBlIC5zaWRlIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi51aS50ZXh0LnNoYXBlIC5zaWRlID4gKiB7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBMb2FkaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkubG9hZGluZy5zaGFwZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICBsZWZ0OiAtOTk5OXB4O1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBBbmltYXRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zaGFwZSAuYW5pbWF0aW5nLnNpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiBAYW5pbWF0aW5nWkluZGV4O1xufVxuLnVpLnNoYXBlIC5oaWRkZW4uc2lkZSB7XG4gIG9wYWNpdHk6IEBoaWRkZW5TaWRlT3BhY2l0eTtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBDU1Ncbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5zaGFwZS5hbmltYXRpbmcgLnNpZGVzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuLnVpLnNoYXBlLmFuaW1hdGluZyAuc2lkZXMge1xuICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cbi51aS5zaGFwZS5hbmltYXRpbmcgLnNpZGUge1xuICB0cmFuc2l0aW9uOiBAc2lkZVRyYW5zaXRpb247XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQWN0aXZlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2hhcGUgLmFjdGl2ZS5zaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5sb2FkVUlPdmVycmlkZXMoKTtcbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIFNpZGViYXJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVGhlbWVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkB0eXBlICAgIDogJ21vZHVsZSc7XG5AZWxlbWVudCA6ICdzaWRlYmFyJztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU2lkZWJhclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyogU2lkZWJhciBNZW51ICovXG4udWkuc2lkZWJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDBlbSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBlbSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy15OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IEB0b3BMYXllcjtcbn1cblxuLyogR1BVIExheWVycyBmb3IgQ2hpbGQgRWxlbWVudHMgKi9cbi51aS5zaWRlYmFyID4gKiB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBEaXJlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5sZWZ0LnNpZGViYXIge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbn1cbi51aS5yaWdodC5zaWRlYmFyIHtcbiAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCUsIDApO1xufVxuXG4udWkudG9wLnNpZGViYXIsXG4udWkuYm90dG9tLnNpZGViYXIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi51aS50b3Auc2lkZWJhciB7XG4gIHRvcDogMHB4ICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbn1cbi51aS5ib3R0b20uc2lkZWJhciB7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBib3R0b206IDBweCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgUHVzaGFibGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi5wdXNoYWJsZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nOiAwZW0gIWltcG9ydGFudDtcbn1cblxuLyogV2hvbGUgUGFnZSAqL1xuYm9keS5wdXNoYWJsZSB7XG4gIGJhY2tncm91bmQ6IEBjYW52YXNCYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBhZ2UgQ29udGV4dCAqL1xuLnB1c2hhYmxlOm5vdChib2R5KSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG4ucHVzaGFibGU6bm90KGJvZHkpID4gLnVpLnNpZGViYXIsXG4ucHVzaGFibGU6bm90KGJvZHkpID4gLmZpeGVkLFxuLnB1c2hhYmxlOm5vdChib2R5KSA+IC5wdXNoZXI6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBGaXhlZFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnB1c2hhYmxlID4gLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB6LWluZGV4OiBAZml4ZWRMYXllcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBQYWdlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4ucHVzaGFibGUgPiAucHVzaGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbiAgei1pbmRleDogQG1pZGRsZUxheWVyO1xufVxuXG5ib2R5LnB1c2hhYmxlID4gLnB1c2hlciB7XG4gIGJhY2tncm91bmQ6IEBwYWdlQmFja2dyb3VuZDtcbn1cblxuLyogUHVzaGVyIHNob3VsZCBpbmhlcml0IGJhY2tncm91bmQgZnJvbSBjb250ZXh0ICovXG4ucHVzaGFibGUgPiAucHVzaGVyIHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBEaW1tZXJcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi5wdXNoYWJsZSA+IC5wdXNoZXI6YWZ0ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMHB4O1xuICByaWdodDogMHB4O1xuICBjb250ZW50OiAnJztcbiAgYmFja2dyb3VuZC1jb2xvcjogQGRpbW1lckNvbG9yO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBAZGltbWVyVHJhbnNpdGlvbjtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG4gIHotaW5kZXg6IEBkaW1tZXJMYXllcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgIENvdXBsaW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkuc2lkZWJhci5tZW51IC5pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMGVtICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRGltbWVkXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4ucHVzaGFibGUgPiAucHVzaGVyLmRpbW1lZDphZnRlciB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBBbmltYXRpbmdcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS5hbmltYXRpbmcuc2lkZWJhciB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgVmlzaWJsZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnVpLnZpc2libGUuc2lkZWJhciB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi8qIFNoYWRvdyBEaXJlY3Rpb24gKi9cbi51aS5sZWZ0LnZpc2libGUuc2lkZWJhcixcbi51aS5yaWdodC52aXNpYmxlLnNpZGViYXIge1xuICBib3gtc2hhZG93OiBAaG9yaXpvbnRhbEJveFNoYWRvdztcbn1cbi51aS50b3AudmlzaWJsZS5zaWRlYmFyLFxuLnVpLmJvdHRvbS52aXNpYmxlLnNpZGViYXIge1xuICBib3gtc2hhZG93OiBAdmVydGljYWxCb3hTaGFkb3c7XG59XG5cbi8qIFZpc2libGUgT24gTG9hZCAqL1xuLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHdpZHRoLCAwLCAwKTtcbn1cbi51aS52aXNpYmxlLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUB3aWR0aCwgMCwgMCk7XG59XG4udWkudmlzaWJsZS50b3Auc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRvcC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgQGhlaWdodCwgMCk7XG59XG4udWkudmlzaWJsZS5ib3R0b20uc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLmJvdHRvbS5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLUBoZWlnaHQsIDApO1xufVxuXG4vKiBvcHBvc2l0ZSBzaWRlcyB2aXNpYmxlIGZvcmNlcyBjb250ZW50IG92ZXJsYXkgKi9cbi51aS52aXNpYmxlLmxlZnQuc2lkZWJhciB+IC51aS52aXNpYmxlLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAudWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlcixcbi51aS52aXNpYmxlLnJpZ2h0LnNpZGViYXIgfiAudWkudmlzaWJsZS5sZWZ0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5yaWdodC5zaWRlYmFyIH4gLnVpLnZpc2libGUubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgICBpT1Ncbi0tLS0tLS0tLS0tLS0tLSovXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBWYXJpYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFdpZHRoXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBMZWZ0IC8gUmlnaHQgKi9cbi51aS50aGluLmxlZnQuc2lkZWJhcixcbi51aS50aGluLnJpZ2h0LnNpZGViYXIge1xuICB3aWR0aDogQHRoaW5XaWR0aDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ubGVmdC5zaWRlYmFyLFxuLnVpW2NsYXNzKj1cInZlcnkgdGhpblwiXS5yaWdodC5zaWRlYmFyIHtcbiAgd2lkdGg6IEB2ZXJ5VGhpbldpZHRoO1xufVxuLnVpLmxlZnQuc2lkZWJhcixcbi51aS5yaWdodC5zaWRlYmFyIHtcbiAgd2lkdGg6IEB3aWR0aDtcbn1cbi51aS53aWRlLmxlZnQuc2lkZWJhcixcbi51aS53aWRlLnJpZ2h0LnNpZGViYXIge1xuICB3aWR0aDogQHdpZGVXaWR0aDtcbn1cbi51aVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ubGVmdC5zaWRlYmFyLFxuLnVpW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5yaWdodC5zaWRlYmFyIHtcbiAgd2lkdGg6IEB2ZXJ5V2lkZVdpZHRoO1xufVxuXG4vKiBMZWZ0IFZpc2libGUgKi9cbi51aS52aXNpYmxlLnRoaW4ubGVmdC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUudGhpbi5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAdGhpbldpZHRoLCAwLCAwKTtcbn1cbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5sZWZ0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHRoaW5cIl0ubGVmdC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHZlcnlUaGluV2lkdGgsIDAsIDApO1xufVxuLnVpLnZpc2libGUud2lkZS5sZWZ0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS53aWRlLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB3aWRlV2lkdGgsIDAsIDApO1xufVxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLmxlZnQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgd2lkZVwiXS5sZWZ0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAdmVyeVdpZGVXaWR0aCwgMCwgMCk7XG59XG5cbi8qIFJpZ2h0IFZpc2libGUgKi9cbi51aS52aXNpYmxlLnRoaW4ucmlnaHQuc2lkZWJhciB+IC5maXhlZCxcbi51aS52aXNpYmxlLnRoaW4ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC1AdGhpbldpZHRoLCAwLCAwKTtcbn1cbi51aS52aXNpYmxlW2NsYXNzKj1cInZlcnkgdGhpblwiXS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB0aGluXCJdLnJpZ2h0LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtQHZlcnlUaGluV2lkdGgsIDAsIDApO1xufVxuLnVpLnZpc2libGUud2lkZS5yaWdodC5zaWRlYmFyIH4gLmZpeGVkLFxuLnVpLnZpc2libGUud2lkZS5yaWdodC5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUB3aWRlV2lkdGgsIDAsIDApO1xufVxuLnVpLnZpc2libGVbY2xhc3MqPVwidmVyeSB3aWRlXCJdLnJpZ2h0LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZVtjbGFzcyo9XCJ2ZXJ5IHdpZGVcIl0ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC1AdmVyeVdpZGVXaWR0aCwgMCwgMCk7XG59XG5cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBPdmVybGF5XG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBTZXQtdXAgKi9cbi51aS5vdmVybGF5LnNpZGViYXIge1xuICB6LWluZGV4OiBAdG9wTGF5ZXI7XG59XG5cbi8qIEluaXRpYWwgKi9cbi51aS5sZWZ0Lm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAlLCAwKTtcbn1cbi51aS5yaWdodC5vdmVybGF5LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAlLCAwKTtcbn1cbi51aS50b3Aub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgLTEwMCUsIDApO1xufVxuLnVpLmJvdHRvbS5vdmVybGF5LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAxMDAlLCAwKTtcbn1cblxuLyogQW5pbWF0aW9uICovXG4uYW5pbWF0aW5nLnVpLm92ZXJsYXkuc2lkZWJhcixcbi51aS52aXNpYmxlLm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbn1cblxuLyogRW5kIC0gU2lkZWJhciAqL1xuLnVpLnZpc2libGUubGVmdC5vdmVybGF5LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwJSwgMCk7XG59XG4udWkudmlzaWJsZS5yaWdodC5vdmVybGF5LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwJSwgMCk7XG59XG4udWkudmlzaWJsZS50b3Aub3ZlcmxheS5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMCUsIDApO1xufVxuLnVpLnZpc2libGUuYm90dG9tLm92ZXJsYXkuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAlLCAwKTtcbn1cblxuLyogRW5kIC0gUHVzaGVyICovXG4udWkudmlzaWJsZS5vdmVybGF5LnNpZGViYXIgfiAuZml4ZWQsXG4udWkudmlzaWJsZS5vdmVybGF5LnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBQdXNoXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJbml0aWFsICovXG4udWkucHVzaC5zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xuICB6LWluZGV4OiBAdG9wTGF5ZXI7XG59XG5cbi8qIFNpZGViYXIgLSBJbml0aWFsICovXG4udWkubGVmdC5wdXNoLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbn1cbi51aS5yaWdodC5wdXNoLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xufVxuLnVpLnRvcC5wdXNoLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAtMTAwJSwgMCk7XG59XG4udWkuYm90dG9tLnB1c2guc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDEwMCUsIDApO1xufVxuXG4vKiBFbmQgKi9cbi51aS52aXNpYmxlLnB1c2guc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAsIDApO1xufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICBVbmNvdmVyXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKiBJbml0aWFsICovXG4udWkudW5jb3Zlci5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogQGJvdHRvbUxheWVyO1xufVxuXG4vKiBFbmQgKi9cbi51aS52aXNpYmxlLnVuY292ZXIuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTbGlkZSBBbG9uZ1xuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogSW5pdGlhbCAqL1xuLnVpLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICB6LWluZGV4OiBAYm90dG9tTGF5ZXI7XG59XG5cbi8qIFNpZGViYXIgLSBJbml0aWFsICovXG4udWkubGVmdC5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbn1cbi51aS5yaWdodC5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xufVxuLnVpLnRvcC5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbn1cbi51aS5ib3R0b20uc2xpZGUuYWxvbmcuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDUwJSwgMCk7XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuLnVpLmFuaW1hdGluZy5zbGlkZS5hbG9uZy5zaWRlYmFyIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEBkdXJhdGlvbiBAZWFzaW5nO1xufVxuXG4vKiBFbmQgKi9cbi51aS52aXNpYmxlLnNsaWRlLmFsb25nLnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICBTbGlkZSBPdXRcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi8qIEluaXRpYWwgKi9cbi51aS5zbGlkZS5vdXQuc2lkZWJhciB7XG4gIHotaW5kZXg6IEBib3R0b21MYXllcjtcbn1cblxuLyogU2lkZWJhciAtIEluaXRpYWwgKi9cbi51aS5sZWZ0LnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MCUsIDAsIDApO1xufVxuLnVpLnJpZ2h0LnNsaWRlLm91dC5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbn1cbi51aS50b3Auc2xpZGUub3V0LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCA1MCUsIDApO1xufVxuLnVpLmJvdHRvbS5zbGlkZS5vdXQuc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIC01MCUsIDApO1xufVxuXG4vKiBBbmltYXRpb24gKi9cbi51aS5hbmltYXRpbmcuc2xpZGUub3V0LnNpZGViYXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gQGR1cmF0aW9uIEBlYXNpbmc7XG59XG5cbi8qIEVuZCAqL1xuLnVpLnZpc2libGUuc2xpZGUub3V0LnNpZGViYXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgU2NhbGUgRG93blxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogSW5pdGlhbCAqL1xuLnVpLnNjYWxlLmRvd24uc2lkZWJhciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbiAgei1pbmRleDogQHRvcExheWVyO1xufVxuXG4vKiBTaWRlYmFyIC0gSW5pdGlhbCAgKi9cbi51aS5sZWZ0LnNjYWxlLmRvd24uc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xufVxuLnVpLnJpZ2h0LnNjYWxlLmRvd24uc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG59XG4udWkudG9wLnNjYWxlLmRvd24uc2lkZWJhciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIC0xMDAlLCAwKTtcbn1cbi51aS5ib3R0b20uc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgMTAwJSwgMCk7XG59XG5cbi8qIFB1c2hlciAtIEluaXRpYWwgKi9cbi51aS5zY2FsZS5kb3duLmxlZnQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA3NSUgNTAlO1xufVxuLnVpLnNjYWxlLmRvd24ucmlnaHQuc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAyNSUgNTAlO1xufVxuLnVpLnNjYWxlLmRvd24udG9wLnNpZGViYXIgfiAucHVzaGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDc1JTtcbn1cbi51aS5zY2FsZS5kb3duLmJvdHRvbS5zaWRlYmFyIH4gLnB1c2hlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAyNSU7XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuLnVpLmFuaW1hdGluZy5zY2FsZS5kb3duID4gLnZpc2libGUudWkuc2lkZWJhciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSBAZHVyYXRpb24gQGVhc2luZztcbn1cbi51aS52aXNpYmxlLnNjYWxlLmRvd24uc2lkZWJhciB+IC5wdXNoZXIsXG4udWkuYW5pbWF0aW5nLnNjYWxlLmRvd24uc2lkZWJhciB+IC5wdXNoZXIge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8qIEVuZCAqL1xuLnVpLnZpc2libGUuc2NhbGUuZG93bi5zaWRlYmFyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbi51aS52aXNpYmxlLnNjYWxlLmRvd24uc2lkZWJhciB+IC5wdXNoZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBTdGlja3lcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdtb2R1bGUnO1xuQGVsZW1lbnQgOiAnc3RpY2t5JztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgU3RpY2t5XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkuc3RpY2t5IHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gIHotaW5kZXg6IEB6SW5kZXg7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIEJvdW5kICovXG4udWkuc3RpY2t5LmJvdW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbn1cblxuLyogRml4ZWQgKi9cbi51aS5zdGlja3kuZml4ZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xufVxuXG4vKiBCb3VuZC9GaXhlZCBQb3NpdGlvbiAqL1xuLnVpLnN0aWNreS5ib3VuZC50b3AsXG4udWkuc3RpY2t5LmZpeGVkLnRvcCB7XG4gIHRvcDogMHB4O1xuICBib3R0b206IGF1dG87XG59XG4udWkuc3RpY2t5LmJvdW5kLmJvdHRvbSxcbi51aS5zdGlja3kuZml4ZWQuYm90dG9tIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDBweDtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICAgVHlwZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi51aS5uYXRpdmUuc3RpY2t5IHtcbiAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICBwb3NpdGlvbjogLW1vei1zdGlja3k7XG4gIHBvc2l0aW9uOiAtbXMtc3RpY2t5O1xuICBwb3NpdGlvbjogLW8tc3RpY2t5O1xuICBwb3NpdGlvbjogc3RpY2t5O1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKiFcbiAqICMgU2VtYW50aWMgVUkgLSBUYWJcbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdtb2R1bGUnO1xuQGVsZW1lbnQgOiAndGFiJztcblxuQGltcG9ydCAobXVsdGlwbGUpICcuLi8uLi90aGVtZS5jb25maWcnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgICBVSSBUYWJzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4udWkudGFiIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBBY3RpdmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi51aS50YWIuYWN0aXZlLFxuLnVpLnRhYi5vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgICBMb2FkaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4udWkudGFiLmxvYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiBAbG9hZGluZ01pbkhlaWdodDtcbn1cbi51aS50YWIubG9hZGluZyAqIHtcbiAgcG9zaXRpb246IEBsb2FkaW5nQ29udGVudFBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIGxlZnQ6IEBsb2FkaW5nQ29udGVudE9mZnNldCAhaW1wb3J0YW50O1xufVxuXG4udWkudGFiLmxvYWRpbmc6YmVmb3JlLFxuLnVpLnRhYi5sb2FkaW5nLnNlZ21lbnQ6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiBAbG9hZGVyRGlzdGFuY2VGcm9tVG9wO1xuICBsZWZ0OiA1MCU7XG5cbiAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICB3aWR0aDogQGxvYWRlclNpemU7XG4gIGhlaWdodDogQGxvYWRlclNpemU7XG5cbiAgYm9yZGVyLXJhZGl1czogQGNpcmN1bGFyUmFkaXVzO1xuICBib3JkZXI6IEBsb2FkZXJMaW5lV2lkdGggc29saWQgQGxvYWRlckZpbGxDb2xvcjtcbn1cbi51aS50YWIubG9hZGluZzphZnRlcixcbi51aS50YWIubG9hZGluZy5zZWdtZW50OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgdG9wOiBAbG9hZGVyRGlzdGFuY2VGcm9tVG9wO1xuICBsZWZ0OiA1MCU7XG5cbiAgbWFyZ2luOiBAbG9hZGVyTWFyZ2luO1xuICB3aWR0aDogQGxvYWRlclNpemU7XG4gIGhlaWdodDogQGxvYWRlclNpemU7XG5cbiAgYW5pbWF0aW9uOiBidXR0b24tc3BpbiBAbG9hZGVyU3BlZWQgbGluZWFyO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcblxuICBib3JkZXItcmFkaXVzOiBAY2lyY3VsYXJSYWRpdXM7XG5cbiAgYm9yZGVyLWNvbG9yOiBAbG9hZGVyTGluZUNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IEBsb2FkZXJMaW5lV2lkdGg7XG5cbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHRyYW5zcGFyZW50O1xufVxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFRyYW5zaXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKlxuICBTb21lIHRyYW5zaXRpb25zIGFkYXB0ZWQgZnJvbSBBbmltYXRlIENTU1xuICBodHRwczovL2dpdGh1Yi5jb20vZGFuZWRlbi9hbmltYXRlLmNzc1xuXG4gIEFkZGl0aW9uYWwgdHJhbnNpdGlvbnMgYWRhcHRlZCBmcm9tIEdsaWRlXG4gIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGVcbiovXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgQnJvd3NlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udHJhbnNpdGlvbi5icm93c2Uge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xufVxuLnRyYW5zaXRpb24uYnJvd3NlLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGJyb3dzZUluO1xufVxuLnRyYW5zaXRpb24uYnJvd3NlLm91dCxcbi50cmFuc2l0aW9uLmJyb3dzZS5sZWZ0Lm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBicm93c2VPdXRMZWZ0O1xufVxuLnRyYW5zaXRpb24uYnJvd3NlLnJpZ2h0Lm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBicm93c2VPdXRSaWdodDtcbn1cblxuLyogSW4gKi9cbkBrZXlmcmFtZXMgYnJvd3NlSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooMHB4KTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKDBweCk7XG4gICAgei1pbmRleDogLTE7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KSB0cmFuc2xhdGVaKDBweCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVaKDBweCk7XG4gICAgei1pbmRleDogOTk5O1xuICB9XG59XG5cbi8qIE91dCAqL1xuQGtleWZyYW1lcyBicm93c2VPdXRMZWZ0IHtcbiAgMCUge1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHJvdGF0ZVkoMGRlZykgcm90YXRlWCgwZGVnKTtcbiAgfVxuICA1MCUge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTA1JSkgcm90YXRlWSgzNWRlZykgcm90YXRlWCgxMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gIH1cbiAgODAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVooLTEwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYnJvd3NlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgcm90YXRlWSgwZGVnKSByb3RhdGVYKDBkZWcpO1xuICB9XG4gIDUwJSB7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTA1JSkgcm90YXRlWSgzNWRlZykgcm90YXRlWCgxMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gIH1cbiAgODAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSByb3RhdGVZKDBkZWcpIHJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWigtMTBweCk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgRHJvcFxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLmRyb3AudHJhbnNpdGlvbiB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNDAwbXM7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM0LCAxLjYxLCAwLjcsIDEpO1xufVxuLmRyb3AudHJhbnNpdGlvbi5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBkcm9wSW47XG59XG4uZHJvcC50cmFuc2l0aW9uLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBkcm9wT3V0O1xufVxuXG4vKiBEcm9wICovXG5Aa2V5ZnJhbWVzIGRyb3BJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGRyb3BPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgICBGYWRlXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udHJhbnNpdGlvbi5mYWRlLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgdXBcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGRvd25cIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgbGVmdFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSByaWdodFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cblxuLnRyYW5zaXRpb24uZmFkZS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgdXBcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZhZGUgZG93blwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmYWRlIGxlZnRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmFkZSByaWdodFwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG4vKiBJbiAqL1xuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5cbi8qIE91dCAqL1xuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUlKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNSUpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIEZsaXBzXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4uZmxpcC50cmFuc2l0aW9uLmluLFxuLmZsaXAudHJhbnNpdGlvbi5vdXQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDYwMG1zO1xufVxuLmhvcml6b250YWwuZmxpcC50cmFuc2l0aW9uLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGhvcml6b250YWxGbGlwSW47XG59XG4uaG9yaXpvbnRhbC5mbGlwLnRyYW5zaXRpb24ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGhvcml6b250YWxGbGlwT3V0O1xufVxuLnZlcnRpY2FsLmZsaXAudHJhbnNpdGlvbi5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiB2ZXJ0aWNhbEZsaXBJbjtcbn1cbi52ZXJ0aWNhbC5mbGlwLnRyYW5zaXRpb24ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHZlcnRpY2FsRmxpcE91dDtcbn1cblxuLyogSW4gKi9cbkBrZXlmcmFtZXMgaG9yaXpvbnRhbEZsaXBJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyB2ZXJ0aWNhbEZsaXBJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vKiBPdXQgKi9cbkBrZXlmcmFtZXMgaG9yaXpvbnRhbEZsaXBPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyB2ZXJ0aWNhbEZsaXBPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgU2NhbGVcbi0tLS0tLS0tLS0tLS0tLSovXG5cbi5zY2FsZS50cmFuc2l0aW9uLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNjYWxlSW47XG59XG4uc2NhbGUudHJhbnNpdGlvbi5vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2NhbGVPdXQ7XG59XG5cbkBrZXlmcmFtZXMgc2NhbGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuLyogT3V0ICovXG5Aa2V5ZnJhbWVzIHNjYWxlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxufVxuXG5cbi8qLS0tLS0tLS0tLS0tLS1cbiAgICAgIEZseVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLyogSW53YXJkICovXG4udHJhbnNpdGlvbi5mbHkge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xufVxuLnRyYW5zaXRpb24uZmx5LmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IHVwXCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseUluVXA7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgZG93blwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlJbkRvd247XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgbGVmdFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlJbkxlZnQ7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgcmlnaHRcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmx5SW5SaWdodDtcbn1cblxuLyogT3V0d2FyZCAqL1xuLnRyYW5zaXRpb24uZmx5Lm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbHlPdXQ7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgdXBcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseU91dFVwO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwiZmx5IGRvd25cIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZseU91dERvd247XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJmbHkgbGVmdFwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmx5T3V0TGVmdDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cImZseSByaWdodFwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmx5T3V0UmlnaHQ7XG59XG5cbi8qIEluICovXG5Aa2V5ZnJhbWVzIGZseUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmx5SW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTUwMHB4LCAwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1MDBweCwgMCk7XG4gIH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmx5SW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNTAwcHgsIDAsIDApO1xuICB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbHlJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUwMHB4LCAwLCAwKTtcbiAgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4vKiBPdXQgKi9cbkBrZXlmcmFtZXMgZmx5T3V0IHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dFVwIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dERvd24ge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZseU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICBTbGlkZVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnRyYW5zaXRpb24uc2xpZGUuaW4sXG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBkb3duXCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5ZO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic2xpZGUgdXBcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBsZWZ0XCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5YO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgcmlnaHQ7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSByaWdodFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluWDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7XG59XG5cbi50cmFuc2l0aW9uLnNsaWRlLm91dCxcbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIGRvd25cIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0WTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHVwXCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzbGlkZSBsZWZ0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInNsaWRlIHJpZ2h0XCJdLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBsZWZ0O1xufVxuXG4vKiBJbiAqL1xuQGtleWZyYW1lcyBzbGlkZUluWSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJblgge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB9XG59XG5cbi8qIE91dCAqL1xuQGtleWZyYW1lcyBzbGlkZU91dFkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0WCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIH1cbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgIFN3aW5nXG4tLS0tLS0tLS0tLS0tLS0qL1xuXG4udHJhbnNpdGlvbi5zd2luZyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG59XG5cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGRvd25cIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdJblg7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG59XG4udHJhbnNpdGlvbltjbGFzcyo9XCJzd2luZyB1cFwiXS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZ0luWDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGxlZnRcIl0uaW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdJblk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIHJpZ2h0XCJdLmluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nSW5ZO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgbGVmdDtcbn1cblxuLnRyYW5zaXRpb24uc3dpbmcub3V0LFxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgZG93blwiXS5vdXQge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmdPdXRYO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgdXBcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGNlbnRlcjtcbn1cbi50cmFuc2l0aW9uW2NsYXNzKj1cInN3aW5nIGxlZnRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHJpZ2h0O1xufVxuLnRyYW5zaXRpb25bY2xhc3MqPVwic3dpbmcgcmlnaHRcIl0ub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nT3V0WTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGxlZnQ7XG59XG5cbi8qIEluICovXG5Aa2V5ZnJhbWVzIHN3aW5nSW5YIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMTVkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTcuNWRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3dpbmdJblkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTcuNWRlZyk7XG4gIH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSg3LjVkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDBkZWcpO1xuICB9XG59XG5cbi8qIE91dCAqL1xuQGtleWZyYW1lcyBzd2luZ091dFgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gIH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWCgtNy41ZGVnKTtcbiAgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDE3LjVkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVgoLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHN3aW5nT3V0WSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgwZGVnKTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMTAwMHB4KSByb3RhdGVZKDcuNWRlZyk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDEwMDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgxMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLVxuICAgICAgWm9vbVxuLS0tLS0tLS0tLS0tLS0tKi9cblxuLnRyYW5zaXRpb24uem9vbS5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG59XG4udHJhbnNpdGlvbi56b29tLm91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xufVxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgIFN0YXRpYyBBbmltYXRpb25zXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKi0tLS0tLS0tLS0tLS0tXG4gICAgRW1waGFzaXNcbi0tLS0tLS0tLS0tLS0tLSovXG5cblxuLmZsYXNoLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zO1xuICBhbmltYXRpb24tbmFtZTogZmxhc2g7XG59XG4uc2hha2UudHJhbnNpdGlvbiB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cbi5ib3VuY2UudHJhbnNpdGlvbiB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG59XG4udGFkYS50cmFuc2l0aW9uIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcztcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG4ucHVsc2UudHJhbnNpdGlvbiB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbn1cbi5qaWdnbGUudHJhbnNpdGlvbiB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXM7XG4gIGFuaW1hdGlvbi1uYW1lOiBqaWdnbGU7XG59XG4udHJhbnNpdGlvbi5nbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDAwbXM7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE5MCwgMS4wMDAsIDAuMjIwLCAxLjAwMCk7XG59XG4udHJhbnNpdGlvbi5nbG93IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGdsb3c7XG59XG5cblxuLyogRmxhc2ggKi9cbkBrZXlmcmFtZXMgZmxhc2gge1xuICAwJSwgNTAlLCAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8qIFNoYWtlICovXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxufVxuXG4vKiBCb3VuY2UgKi9cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE1cHgpO1xuICB9XG59XG5cbi8qIFRhZGEgKi9cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDEwJSwgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gIH1cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gIH1cbn1cblxuLyogUHVsc2UgKi9cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxufVxuXG4vKiBKaWdnbGUgKi9cbkBrZXlmcmFtZXMgamlnZ2xlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuICA2NSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICB9XG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi8qIEdsb3cgKi9cbkBrZXlmcmFtZXMgZ2xvdyB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGQ0ZEO1xuICB9XG4gIDMwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjZDRDtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGQ0ZEO1xuICB9XG59XG5cbiIsIi8qIVxuICogIyBTZW1hbnRpYyBVSSAtIFRyYW5zaXRpb25cbiAqIGh0dHA6Ly9naXRodWIuY29tL3NlbWFudGljLW9yZy9zZW1hbnRpYy11aS9cbiAqXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICovXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICAgIFRoZW1lXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AdHlwZSAgICA6ICdtb2R1bGUnO1xuQGVsZW1lbnQgOiAndHJhbnNpdGlvbic7XG5cbkBpbXBvcnQgKG11bHRpcGxlKSAnLi4vLi4vdGhlbWUuY29uZmlnJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAgICAgICBUcmFuc2l0aW9uc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICBhbmltYXRpb24tZHVyYXRpb246IEB0cmFuc2l0aW9uRGVmYXVsdER1cmF0aW9uO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAdHJhbnNpdGlvbkRlZmF1bHRFYXNpbmc7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IEB0cmFuc2l0aW9uRGVmYXVsdEZpbGw7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgICAgICAgICBTdGF0ZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cblxuLyogQW5pbWF0aW5nICovXG4uYW5pbWF0aW5nLnRyYW5zaXRpb24ge1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAYmFja2ZhY2VWaXNpYmlsaXR5O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi8qIExvYWRpbmcgKi9cbi5sb2FkaW5nLnRyYW5zaXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTk5cHg7XG4gIGxlZnQ6IC05OTk5OXB4O1xufVxuXG4vKiBIaWRkZW4gKi9cbi5oaWRkZW4udHJhbnNpdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLyogVmlzaWJsZSAqL1xuLnZpc2libGUudHJhbnNpdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbi8qICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAYmFja2ZhY2VWaXNpYmlsaXR5O1xuICB0cmFuc2Zvcm06IEB1c2UzREFjY2VsZXJhdGlvbjsqL1xufVxuXG4vKiBEaXNhYmxlZCAqL1xuLmRpc2FibGVkLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICAgICAgIFZhcmlhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5sb29waW5nLnRyYW5zaXRpb24ge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuXG4ubG9hZFVJT3ZlcnJpZGVzKCk7XG4iXX0= */
