Files
vuefilemanager/public/chunks/settings.js
T
2021-03-26 16:42:58 +01:00

2 lines
143 KiB
JavaScript
Vendored

(window.webpackJsonp=window.webpackJsonp||[]).push([[46],{"0ppm":function(t,n,e){(t.exports=e("I1BE")(!1)).push([t.i,".content-sidebar[data-v-7f84dd9c] {\n background: rgba(244, 245, 246, 0.6);\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n padding-top: 25px;\n overflow-y: auto;\n flex: 0 0 225px;\n}\n@media only screen and (max-width: 1024px) {\n.content-sidebar[data-v-7f84dd9c] {\n flex: 0 0 205px;\n}\n}\n@media only screen and (max-width: 690px) {\n.content-sidebar[data-v-7f84dd9c] {\n display: none;\n}\n}\n@media (prefers-color-scheme: dark) {\n.content-sidebar[data-v-7f84dd9c] {\n background: rgba(30, 32, 36, 0.2);\n}\n}\n",""])},"0rhn":function(t,n,e){var a=e("MWZw");"string"==typeof a&&(a=[[t.i,a,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(a,i);a.locals&&(t.exports=a.locals)},"1nld":function(t,n,e){var a=e("krgs");"string"==typeof a&&(a=[[t.i,a,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(a,i);a.locals&&(t.exports=a.locals)},"1pgO":function(t,n,e){"use strict";var a=e("I7+L");e.n(a).a},"2Sb1":function(t,n,e){"use strict";var a={name:"PageHeader",props:["title","canBack"],components:{ChevronLeftIcon:e("CjXH").g}},i=(e("JOXf"),e("KHd+")),r=Object(i.a)(a,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{staticClass:"page-header"},[t.canBack?e("div",{staticClass:"go-back",on:{click:function(n){return t.$router.back()}}},[e("chevron-left-icon",{attrs:{size:"17"}})],1):t._e(),t._v(" "),e("div",{staticClass:"content"},[e("h1",{staticClass:"title"},[t._v(t._s(t.title))])])])}),[],!1,null,"9fd0a424",null);n.a=r.exports},"3eeM":function(t,n,e){(t.exports=e("I1BE")(!1)).push([t.i,".page-header[data-v-9fd0a424] {\n display: flex;\n align-items: center;\n background: white;\n z-index: 9;\n width: 100%;\n position: -webkit-sticky;\n position: sticky;\n top: 0;\n padding-top: 20px;\n padding-bottom: 20px;\n}\n.page-header .title[data-v-9fd0a424] {\n font-size: 1.125em;\n font-weight: 700;\n color: #1B2539;\n}\n.page-header .go-back[data-v-9fd0a424] {\n margin-right: 10px;\n cursor: pointer;\n}\n.page-header .go-back svg[data-v-9fd0a424] {\n vertical-align: middle;\n margin-top: -4px;\n}\n@media only screen and (max-width: 960px) {\n.page-header .title[data-v-9fd0a424] {\n font-size: 1.125em;\n}\n}\n@media only screen and (max-width: 690px) {\n.page-header[data-v-9fd0a424] {\n display: none;\n}\n}\n@media (prefers-color-scheme: dark) {\n.page-header[data-v-9fd0a424] {\n background: #131414;\n}\n.page-header .title[data-v-9fd0a424] {\n color: #bec6cf;\n}\n.page-header .icon path[data-v-9fd0a424] {\n fill: #00BC7E;\n}\n}\n",""])},"5ZiY":function(t,n,e){"use strict";var a=e("KE6z");e.n(a).a},"9JAZ":function(t,n,e){(t.exports=e("I1BE")(!1)).push([t.i,".text-label[data-v-943e24b4] {\n padding-left: 25px;\n font-size: 0.75em;\n color: #AFAFAF;\n font-weight: 700;\n display: block;\n margin-bottom: 5px;\n}\n@media only screen and (max-width: 1024px) {\n.text-label[data-v-943e24b4] {\n padding-left: 20px;\n}\n}\n@media (prefers-color-scheme: dark) {\n.text-label[data-v-943e24b4] {\n opacity: 0.35;\n}\n}\n",""])},GgfX:function(t,n,e){"use strict";e.r(n);var a=e("LtV2"),i=e("hXay"),r=e("Rbea"),s=e("D62o"),o=e("Nv84"),l=e("KnjL"),c=e("2Sb1"),d=e("kPoH"),p=e("zTYo"),u=e("L2JU"),f=e("CjXH");function v(t,n){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),e.push.apply(e,a)}return e}function m(t,n,e){return n in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}var b={name:"Settings",components:{ContentSidebar:a.a,CreditCardIcon:f.n,UserImageInput:r.a,HardDriveIcon:f.A,FileTextIcon:f.w,MobileHeader:s.a,ContentGroup:i.a,ButtonBase:o.a,ColorLabel:d.a,PageHeader:c.a,CloudIcon:f.j,UserIcon:f.db,LockIcon:f.H,Spinner:p.a,InfoBox:l.a},computed:function(t){for(var n=1;n<arguments.length;n++){var e=null!=arguments[n]?arguments[n]:{};n%2?v(Object(e),!0).forEach((function(n){m(t,n,e[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):v(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))}))}return t}({},Object(u.b)(["user","config"]),{subscriptionStatus:function(){return this.user.data.attributes.subscription?this.$t("global.premium"):this.$t("global.free")},subscriptionColor:function(){return this.user.data.attributes.subscription?"green":"purple"},canShowSubscriptionSettings:function(){return this.config.isSaaS&&this.config.app_payments_active},canShowUpgradeWarning:function(){return this.config.storageLimit&&this.user.data.attributes.storage.used>95},canShowIncompletePayment:function(){return this.user.data.attributes.incomplete_payment}}),data:function(){return{avatar:void 0,isLoading:!1}}},g=(e("5ZiY"),e("KHd+")),h=Object(g.a)(b,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("section",{attrs:{id:"viewport"}},[e("ContentSidebar",[e("ContentGroup",{staticClass:"navigator",attrs:{title:"Menu"}},[e("div",{staticClass:"menu-list-wrapper vertical"},[e("router-link",{staticClass:"menu-list-item link",attrs:{replace:"",to:{name:"Profile"}}},[e("div",{staticClass:"icon text-theme"},[e("user-icon",{attrs:{size:"17"}})],1),t._v(" "),e("div",{staticClass:"label text-theme"},[t._v("\n "+t._s(t.$t("menu.profile"))+"\n ")])]),t._v(" "),e("router-link",{staticClass:"menu-list-item link",attrs:{replace:"",to:{name:"Storage"}}},[e("div",{staticClass:"icon text-theme"},[e("hard-drive-icon",{attrs:{size:"17"}})],1),t._v(" "),e("div",{staticClass:"label text-theme"},[t._v("\n "+t._s(t.$t("menu.storage"))+"\n ")])]),t._v(" "),e("router-link",{staticClass:"menu-list-item link",attrs:{replace:"",to:{name:"Password"}}},[e("div",{staticClass:"icon text-theme"},[e("lock-icon",{attrs:{size:"17"}})],1),t._v(" "),e("div",{staticClass:"label text-theme"},[t._v("\n "+t._s(t.$t("menu.password"))+"\n ")])])],1)]),t._v(" "),t.canShowSubscriptionSettings?e("ContentGroup",{staticClass:"navigator",attrs:{title:"Subscription"}},[e("div",{staticClass:"menu-list-wrapper vertical"},[e("router-link",{staticClass:"menu-list-item link",attrs:{replace:"",to:{name:"Subscription"}}},[e("div",{staticClass:"icon text-theme"},[e("cloud-icon",{attrs:{size:"17"}})],1),t._v(" "),e("div",{staticClass:"label text-theme"},[t._v("\n "+t._s(t.$t("menu.subscription"))+"\n ")])]),t._v(" "),e("router-link",{staticClass:"menu-list-item link",attrs:{replace:"",to:{name:"PaymentMethods"}}},[e("div",{staticClass:"icon text-theme"},[e("credit-card-icon",{attrs:{size:"17"}})],1),t._v(" "),e("div",{staticClass:"label text-theme"},[t._v("\n "+t._s(t.$t("menu.payment_cards"))+"\n ")])]),t._v(" "),e("router-link",{staticClass:"menu-list-item link",attrs:{replace:"",to:{name:"Invoice"}}},[e("div",{staticClass:"icon text-theme"},[e("file-text-icon",{attrs:{size:"17"}})],1),t._v(" "),e("div",{staticClass:"label text-theme"},[t._v("\n "+t._s(t.$t("menu.invoices"))+"\n ")])])],1)]):t._e()],1),t._v(" "),t.user?e("div",{attrs:{id:"single-page"}},[t.isLoading?t._e():e("div",{staticClass:"medium-width",attrs:{id:"page-content"}},[e("MobileHeader",{attrs:{title:t.$router.currentRoute.meta.title}}),t._v(" "),e("div",{staticClass:"content-page"},[e("div",{staticClass:"page-detail-headline"},[e("div",{staticClass:"user-thumbnail"},[e("div",{staticClass:"avatar"},[e("UserImageInput",{attrs:{avatar:t.user.data.relationships.settings.data.attributes.avatar},model:{value:t.avatar,callback:function(n){t.avatar=n},expression:"avatar"}})],1),t._v(" "),e("div",{staticClass:"info"},[e("b",{staticClass:"name"},[t._v("\n "+t._s(t.user.data.relationships.settings.data.attributes.name)+"\n "),t.config.isSaaS?e("ColorLabel",{attrs:{color:t.subscriptionColor}},[t._v("\n "+t._s(t.subscriptionStatus)+"\n ")]):t._e()],1),t._v(" "),e("span",{staticClass:"email"},[t._v(t._s(t.user.data.attributes.email))])])]),t._v(" "),t.config.storageLimit&&t.config.isSaaS&&t.config.app_payments_active&&!t.canShowIncompletePayment?e("div",{staticClass:"headline-actions"},[e("router-link",{attrs:{to:{name:"UpgradePlan"}}},[e("ButtonBase",{staticClass:"upgrade-button",attrs:{"button-style":"secondary",type:"button"}},[t._v("\n "+t._s(t.$t("global.upgrade_plan"))+"\n ")])],1)],1):t._e()]),t._v(" "),t.canShowIncompletePayment?e("InfoBox",{staticClass:"message-box",attrs:{type:"error"}},[e("i18n",{attrs:{path:"incomplete_payment.description",tag:"p"}},[e("a",{attrs:{href:t.user.data.attributes.incomplete_payment}},[t._v(t._s(t.$t("incomplete_payment.href")))])])],1):t._e(),t._v(" "),t.canShowUpgradeWarning&&!t.canShowIncompletePayment?e("InfoBox",{staticClass:"message-box",attrs:{type:"error"}},[e("p",[t._v(t._s(t.$t("upgrade_banner.title")))])]):t._e(),t._v(" "),e("router-view",{attrs:{user:t.user}})],1)],1),t._v(" "),t.isLoading?e("div",{attrs:{id:"loader"}},[e("Spinner")],1):t._e()]):t._e()],1)}),[],!1,null,"68f6540c",null);n.default=h.exports},"I7+L":function(t,n,e){var a=e("JBik");"string"==typeof a&&(a=[[t.i,a,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(a,i);a.locals&&(t.exports=a.locals)},IpYI:function(t,n,e){(t.exports=e("I1BE")(!1)).push([t.i,".dropzone[data-v-fe27b9b2] {\n position: relative;\n line-height: 0;\n}\n.dropzone input[type='file'][data-v-fe27b9b2] {\n opacity: 0;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 2;\n width: 100%;\n cursor: pointer;\n}\n.dropzone .image-preview[data-v-fe27b9b2] {\n width: 62px;\n height: 62px;\n -o-object-fit: cover;\n object-fit: cover;\n border-radius: 8px;\n z-index: 1;\n position: relative;\n}\n.dropzone .blurred[data-v-fe27b9b2] {\n position: absolute;\n left: 0;\n top: 2px;\n z-index: 0;\n -webkit-filter: blur(8px);\n filter: blur(8px);\n opacity: 0.5;\n}\n",""])},JBik:function(t,n,e){(t.exports=e("I1BE")(!1)).push([t.i,".content-group[data-v-4118306c] {\n margin-bottom: 30px;\n transition: all 300ms;\n}\n.content-group .group-title[data-v-4118306c] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 5px;\n}\n.content-group .group-title .title[data-v-4118306c] {\n margin-bottom: 0;\n}\n.content-group .group-title .icon[data-v-4118306c] {\n margin-right: 19px;\n opacity: 0.25;\n transition: 0.3s all ease;\n}\n.content-group.collapsable .group-title[data-v-4118306c] {\n cursor: pointer;\n}\n.content-group.is-collapsed[data-v-4118306c] {\n margin-bottom: 15px;\n}\n.content-group.is-collapsed .icon[data-v-4118306c] {\n transform: rotate(180deg);\n}\n.list-enter[data-v-4118306c],\n.list-leave-to[data-v-4118306c] {\n visibility: hidden;\n height: 0;\n margin: 0;\n padding: 0;\n opacity: 0;\n}\n.list-enter-active[data-v-4118306c],\n.list-leave-active[data-v-4118306c] {\n transition: all 300ms;\n}\n",""])},JOXf:function(t,n,e){"use strict";var a=e("nr4+");e.n(a).a},KE6z:function(t,n,e){var a=e("P2KN");"string"==typeof a&&(a=[[t.i,a,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(a,i);a.locals&&(t.exports=a.locals)},KkJ4:function(t,n,e){var a=e("IpYI");"string"==typeof a&&(a=[[t.i,a,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(a,i);a.locals&&(t.exports=a.locals)},KnjL:function(t,n,e){"use strict";var a={name:"InfoBox",props:["type"]},i=(e("pFam"),e("KHd+")),r=Object(i.a)(a,(function(){var t=this.$createElement;return(this._self._c||t)("div",{staticClass:"info-box",class:this.type},[this._t("default")],2)}),[],!1,null,"8e7c42f6",null);n.a=r.exports},LtV2:function(t,n,e){"use strict";var a={name:"ContentSidebar"},i=(e("p4YY"),e("KHd+")),r=Object(i.a)(a,(function(){var t=this.$createElement;return(this._self._c||t)("section",{staticClass:"content-sidebar",attrs:{id:"content-sidebar"}},[this._t("default")],2)}),[],!1,null,"7f84dd9c",null);n.a=r.exports},MWZw:function(t,n,e){(t.exports=e("I1BE")(!1)).push([t.i,".color-label[data-v-5c508dbf] {\n text-transform: capitalize;\n font-size: 0.75em;\n display: inline-block;\n border-radius: 6px;\n font-weight: 700;\n padding: 4px 6px;\n}\n.color-label.purple[data-v-5c508dbf] {\n color: #9D66FE;\n background: rgba(157, 102, 254, 0.1);\n}\n.color-label.yellow[data-v-5c508dbf] {\n color: #FFBD2D;\n background: rgba(255, 189, 45, 0.1);\n}\n.color-label.green[data-v-5c508dbf] {\n color: #00BC7E;\n background: rgba(0, 188, 126, 0.1);\n}\n.color-label.red[data-v-5c508dbf] {\n color: #fd397a;\n background: rgba(253, 57, 122, 0.1);\n}\n",""])},P2KN:function(t,n,e){(t.exports=e("I1BE")(!1)).push([t.i,".page-detail-headline[data-v-68f6540c] {\n display: flex;\n justify-content: space-between;\n margin-bottom: 50px;\n margin-top: 30px;\n}\n.user-thumbnail[data-v-68f6540c] {\n display: flex;\n align-items: center;\n cursor: pointer;\n}\n.user-thumbnail .avatar[data-v-68f6540c] {\n margin-right: 20px;\n}\n.user-thumbnail .avatar img[data-v-68f6540c] {\n line-height: 0;\n width: 62px;\n height: 62px;\n border-radius: 12px;\n z-index: 1;\n position: relative;\n}\n.user-thumbnail .info .name[data-v-68f6540c] {\n display: block;\n font-size: 1.0625em;\n line-height: 1;\n}\n.user-thumbnail .info .email[data-v-68f6540c] {\n color: rgba(27, 37, 57, 0.7);\n font-size: 0.875em;\n}\n.message-box[data-v-68f6540c] {\n margin-top: -15px;\n}\n@media (prefers-color-scheme: dark) {\n.user-thumbnail .info .name[data-v-68f6540c] {\n color: #bec6cf;\n}\n.user-thumbnail .info .email[data-v-68f6540c] {\n color: #7d858c;\n}\n}\n@media only screen and (max-width: 690px) {\n.page-detail-headline[data-v-68f6540c] {\n display: block;\n margin-bottom: 30px;\n margin-top: 10px;\n}\n.page-detail-headline .headline-actions[data-v-68f6540c] {\n margin-top: 20px;\n}\n.page-detail-headline .headline-actions .upgrade-button[data-v-68f6540c] {\n width: 100%;\n}\n}\n",""])},"Qqv+":function(t,n,e){var a=e("biqn");"string"==typeof a&&(a=[[t.i,a,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(a,i);a.locals&&(t.exports=a.locals)},Rbea:function(t,n,e){"use strict";var a={props:["label","name","avatar","info","error"],data:function(){return{imagePreview:void 0}},watch:{imagePreview:function(t){this.$store.commit("UPDATE_AVATAR",t)}},methods:{showImagePreview:function(t){var n=this,e=t.target.files[0].name,a=e.substring(e.lastIndexOf(".")+1).toLowerCase();if(["png","jpg","jpeg"].includes(a)){var i=t.target.files[0],r=new FileReader;r.onload=function(){return n.imagePreview=r.result},r.readAsDataURL(i),this.$updateImage("/user/profile","avatar",t.target.files[0])}else alert(this.$t("validation_errors.wrong_image"))}},created:function(){this.avatar&&(this.imagePreview=this.avatar)}},i=(e("wMTY"),e("KHd+")),r=Object(i.a)(a,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{staticClass:"dropzone",class:{"is-error":t.error}},[e("input",{ref:"file",staticClass:"dummy",attrs:{type:"file",name:t.name},on:{change:function(n){return t.showImagePreview(n)}}}),t._v(" "),t.imagePreview?e("img",{ref:"image",staticClass:"image-preview",attrs:{src:t.imagePreview}}):t._e(),t._v(" "),t.imagePreview?e("img",{ref:"image",staticClass:"image-preview blurred",attrs:{src:t.imagePreview}}):t._e()])}),[],!1,null,"fe27b9b2",null);n.a=r.exports},biqn:function(t,n,e){(t.exports=e("I1BE")(!1)).push([t.i,".info-box[data-v-8e7c42f6] {\n padding: 20px;\n border-radius: 8px;\n margin-bottom: 32px;\n background: #f4f5f6;\n text-align: left;\n}\n.info-box.error[data-v-8e7c42f6] {\n background: rgba(253, 57, 122, 0.1);\n}\n.info-box.error p[data-v-8e7c42f6], .info-box.error a[data-v-8e7c42f6] {\n color: #fd397a;\n}\n.info-box.error a[data-v-8e7c42f6] {\n text-decoration: underline;\n}\n.info-box p[data-v-8e7c42f6] {\n font-size: 15px;\n line-height: 1.6;\n word-break: break-word;\n font-weight: 600;\n}\n.info-box p[data-v-8e7c42f6] a {\n font-size: 15px;\n}\n.info-box p[data-v-8e7c42f6] b {\n font-size: 15px;\n font-weight: 700;\n}\n.info-box b[data-v-8e7c42f6] {\n font-weight: 700;\n}\n.info-box a[data-v-8e7c42f6] {\n font-weight: 700;\n font-size: 0.9375em;\n line-height: 1.6;\n}\n.info-box ul[data-v-8e7c42f6] {\n margin-top: 15px;\n display: block;\n}\n.info-box ul li[data-v-8e7c42f6] {\n display: block;\n}\n.info-box ul li a[data-v-8e7c42f6] {\n display: block;\n}\n@media only screen and (max-width: 690px) {\n.info-box[data-v-8e7c42f6] {\n padding: 15px;\n}\n}\n@media (prefers-color-scheme: dark) {\n.info-box[data-v-8e7c42f6] {\n background: #1e2024;\n}\n.info-box p[data-v-8e7c42f6] {\n color: #bec6cf;\n}\n.info-box ul li[data-v-8e7c42f6] {\n color: #bec6cf;\n}\n}\n",""])},dP6t:function(t,n,e){var a=e("0ppm");"string"==typeof a&&(a=[[t.i,a,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(a,i);a.locals&&(t.exports=a.locals)},fC5u:function(t,n,e){var a=e("9JAZ");"string"==typeof a&&(a=[[t.i,a,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(a,i);a.locals&&(t.exports=a.locals)},hXay:function(t,n,e){"use strict";var a={name:"TextLabel"},i=(e("wD4H"),e("KHd+")),r=Object(i.a)(a,(function(){var t=this.$createElement;return(this._self._c||t)("b",{staticClass:"text-label"},[this._t("default")],2)}),[],!1,null,"943e24b4",null).exports,s={name:"ContentGroup",props:["title","canCollapse","slug"],components:{ChevronUpIcon:e("CjXH").i,TextLabel:r},data:function(){return{isVisible:!0,canCollapseWrapper:!1}},methods:{hideGroup:function(){this.canCollapseWrapper&&(this.isVisible=!this.isVisible,localStorage.setItem("panel-group-"+this.slug,this.isVisible))}},created:function(){if(this.canCollapse){var t=localStorage.getItem("panel-group-"+this.slug);this.isVisible=!t||!!JSON.parse(String(t).toLowerCase()),this.canCollapseWrapper=!0}}},o=(e("1pgO"),Object(i.a)(s,(function(){var t=this,n=t.$createElement,e=t._self._c||n;return e("div",{staticClass:"content-group",class:{"is-collapsed":!t.isVisible,collapsable:t.canCollapse}},[e("div",{staticClass:"group-title",on:{click:t.hideGroup}},[e("TextLabel",{staticClass:"title"},[t._v(t._s(t.title))]),t._v(" "),t.canCollapseWrapper?e("chevron-up-icon",{staticClass:"icon",attrs:{size:"12"}}):t._e()],1),t._v(" "),e("transition",{attrs:{name:"list"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:t.isVisible,expression:"isVisible"}],staticClass:"wrapper"},[t._t("default")],2)])],1)}),[],!1,null,"4118306c",null));n.a=o.exports},kPoH:function(t,n,e){"use strict";var a={name:"ColorLabel",props:["color"]},i=(e("m6y/"),e("KHd+")),r=Object(i.a)(a,(function(){var t=this.$createElement;return(this._self._c||t)("b",{staticClass:"color-label",class:this.color},[this._t("default")],2)}),[],!1,null,"5c508dbf",null);n.a=r.exports},krgs:function(t,n,e){(t.exports=e("I1BE")(!1)).push([t.i,"#loading-bar-spinner.spinner[data-v-1df66002] {\n left: 50%;\n margin-left: -20px;\n top: 50%;\n margin-top: -20px;\n position: absolute;\n z-index: 19 !important;\n -webkit-animation: loading-bar-spinner-data-v-1df66002 400ms linear infinite;\n animation: loading-bar-spinner-data-v-1df66002 400ms linear infinite;\n}\n#loading-bar-spinner.spinner .spinner-icon[data-v-1df66002] {\n width: 40px;\n height: 40px;\n border: solid 4px transparent;\n border-radius: 50%;\n}\n@-webkit-keyframes loading-bar-spinner-data-v-1df66002 {\n0% {\n transform: rotate(0deg);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n@keyframes loading-bar-spinner-data-v-1df66002 {\n0% {\n transform: rotate(0deg);\n}\n100% {\n transform: rotate(360deg);\n}\n}\n",""])},"m6y/":function(t,n,e){"use strict";var a=e("0rhn");e.n(a).a},"nr4+":function(t,n,e){var a=e("3eeM");"string"==typeof a&&(a=[[t.i,a,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(a,i);a.locals&&(t.exports=a.locals)},p4YY:function(t,n,e){"use strict";var a=e("dP6t");e.n(a).a},pFam:function(t,n,e){"use strict";var a=e("Qqv+");e.n(a).a},ts7n:function(t,n,e){"use strict";var a=e("1nld");e.n(a).a},wD4H:function(t,n,e){"use strict";var a=e("fC5u");e.n(a).a},wMTY:function(t,n,e){"use strict";var a=e("KkJ4");e.n(a).a},zTYo:function(t,n,e){"use strict";var a={name:"Spinner"},i=(e("ts7n"),e("KHd+")),r=Object(i.a)(a,(function(){var t=this.$createElement;this._self._c;return this._m(0)}),[function(){var t=this.$createElement,n=this._self._c||t;return n("div",{staticClass:"spinner",attrs:{id:"loading-bar-spinner"}},[n("div",{staticClass:"spinner-icon border-top-theme border-left-theme"})])}],!1,null,"1df66002",null);n.a=r.exports}}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9TaWRlYmFyL0NvbnRlbnRTaWRlYmFyLnZ1ZT8xMzgyIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Db2xvckxhYmVsLnZ1ZT9lODc4Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0ZpbGVzVmlldy9TcGlubmVyLnZ1ZT84OGNhIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL1NpZGViYXIvQ29udGVudEdyb3VwLnZ1ZT8zNTg0Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QYWdlSGVhZGVyLnZ1ZT81ZWM5Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QYWdlSGVhZGVyLnZ1ZT80YjE3Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGFnZUhlYWRlci52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXIudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QYWdlSGVhZGVyLnZ1ZT9iZjdhIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9Qcm9maWxlLnZ1ZT8xNjExIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9UZXh0TGFiZWwudnVlPzgxN2IiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL1Byb2ZpbGUudnVlPzNiMjkiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy92aWV3cy9Qcm9maWxlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvUHJvZmlsZS52dWU/MWI0NyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvUHJvZmlsZS52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvU2lkZWJhci9Db250ZW50R3JvdXAudnVlP2YyZTkiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1VzZXJJbWFnZUlucHV0LnZ1ZT9kNzMzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL1NpZGViYXIvQ29udGVudEdyb3VwLnZ1ZT9hYzg1Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QYWdlSGVhZGVyLnZ1ZT9lYmM1Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9Qcm9maWxlLnZ1ZT8xNzJiIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Vc2VySW1hZ2VJbnB1dC52dWU/ZmJlZCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveC52dWU/MThmNSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveC52dWU/NTdlOCIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0luZm9Cb3gudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9TaWRlYmFyL0NvbnRlbnRTaWRlYmFyLnZ1ZT9mZjQwIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL1NpZGViYXIvQ29udGVudFNpZGViYXIudnVlPzJkODYiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL1NpZGViYXIvQ29udGVudFNpZGViYXIudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL1NpZGViYXIvQ29udGVudFNpZGViYXIudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Db2xvckxhYmVsLnZ1ZT9iMmJiIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9Qcm9maWxlLnZ1ZT9iODJmIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT85OGU2Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Vc2VySW1hZ2VJbnB1dC52dWU/YmI4MiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvVXNlckltYWdlSW5wdXQudnVlPzgxMzIiLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Vc2VySW1hZ2VJbnB1dC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1VzZXJJbWFnZUlucHV0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveC52dWU/ODNiZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9TaWRlYmFyL0NvbnRlbnRTaWRlYmFyLnZ1ZT9hOWE0Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9UZXh0TGFiZWwudnVlPzJkMDEiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvU2lkZWJhci9Db250ZW50R3JvdXAudnVlPzc0ZjIiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1RleHRMYWJlbC52dWU/MWQ3OSIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1RleHRMYWJlbC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1RleHRMYWJlbC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1RleHRMYWJlbC52dWU/M2UzOSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9TaWRlYmFyL0NvbnRlbnRHcm91cC52dWU/MGMwMSIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvU2lkZWJhci9Db250ZW50R3JvdXAudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL1NpZGViYXIvQ29udGVudEdyb3VwLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbC52dWU/N2MyYyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbC52dWU/ZjBlZiIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0NvbG9yTGFiZWwudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Db2xvckxhYmVsLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9GaWxlc1ZpZXcvU3Bpbm5lci52dWU/NDA1MyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbC52dWU/MGEzYiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGFnZUhlYWRlci52dWU/M2UyNyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9TaWRlYmFyL0NvbnRlbnRTaWRlYmFyLnZ1ZT80MzI3Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT85NDcwIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0ZpbGVzVmlldy9TcGlubmVyLnZ1ZT8wNjcyIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9UZXh0TGFiZWwudnVlPzVlZDAiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1VzZXJJbWFnZUlucHV0LnZ1ZT85MTIxIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0ZpbGVzVmlldy9TcGlubmVyLnZ1ZT80MDFlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0ZpbGVzVmlldy9TcGlubmVyLnZ1ZT8zM2M3Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9GaWxlc1ZpZXcvU3Bpbm5lci52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvRmlsZXNWaWV3L1NwaW5uZXIudnVlIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJwdXNoIiwiaSIsImNvbnRlbnQiLCJvcHRpb25zIiwidHJhbnNmb3JtIiwidW5kZWZpbmVkIiwibG9jYWxzIiwiY29tcG9uZW50IiwiX3ZtIiwidGhpcyIsIl9oIiwiJGNyZWF0ZUVsZW1lbnQiLCJfYyIsIl9zZWxmIiwic3RhdGljQ2xhc3MiLCJvbiIsIiRldmVudCIsIiRyb3V0ZXIiLCJiYWNrIiwiYXR0cnMiLCJfZSIsIl92IiwiX3MiLCJ0aXRsZSIsIm5hbWUiLCIkdCIsImlzTG9hZGluZyIsImN1cnJlbnRSb3V0ZSIsIm1ldGEiLCJ1c2VyIiwiZGF0YSIsInJlbGF0aW9uc2hpcHMiLCJzZXR0aW5ncyIsImF0dHJpYnV0ZXMiLCJhdmF0YXIiLCJtb2RlbCIsInZhbHVlIiwiY2FsbGJhY2siLCIkJHYiLCJleHByZXNzaW9uIiwiY29uZmlnIiwic3Vic2NyaXB0aW9uQ29sb3IiLCJzdWJzY3JpcHRpb25TdGF0dXMiLCJlbWFpbCIsInN0b3JhZ2VMaW1pdCIsImlzU2FhUyIsImFwcF9wYXltZW50c19hY3RpdmUiLCJjYW5TaG93SW5jb21wbGV0ZVBheW1lbnQiLCJpbmNvbXBsZXRlX3BheW1lbnQiLCJjYW5TaG93VXBncmFkZVdhcm5pbmciLCJjbGFzcyIsInR5cGUiLCJfdCIsImVycm9yIiwicmVmIiwic2hvd0ltYWdlUHJldmlldyIsImltYWdlUHJldmlldyIsImlzVmlzaWJsZSIsImNhbkNvbGxhcHNlIiwiaGlkZUdyb3VwIiwiZGlyZWN0aXZlcyIsInJhd05hbWUiLCJjb2xvciIsIl9tIl0sIm1hcHBpbmdzIjoia0ZBQVVBLEVBQU9DLFFBQVUsRUFBUSxPQUFSLEVBQStELElBS2xGQyxLQUFLLENBQUNGLEVBQU9HLEVBQUksZ21CQUFpbUIsTSx1QkNKMW5CLElBQUlDLEVBQVUsRUFBUSxRQUVBLGlCQUFaQSxJQUFzQkEsRUFBVSxDQUFDLENBQUNKLEVBQU9HLEVBQUlDLEVBQVMsTUFPaEUsSUFBSUMsRUFBVSxDQUFDLEtBQU0sRUFFckIsZUFQSUMsRUFRSixnQkFBcUJDLEdBRVIsRUFBUSxPQUFSLENBQW1FSCxFQUFTQyxHQUV0RkQsRUFBUUksU0FBUVIsRUFBT0MsUUFBVUcsRUFBUUksUyx1QkNoQjVDLElBQUlKLEVBQVUsRUFBUSxRQUVBLGlCQUFaQSxJQUFzQkEsRUFBVSxDQUFDLENBQUNKLEVBQU9HLEVBQUlDLEVBQVMsTUFPaEUsSUFBSUMsRUFBVSxDQUFDLEtBQU0sRUFFckIsZUFQSUMsRUFRSixnQkFBcUJDLEdBRVIsRUFBUSxPQUFSLENBQW1FSCxFQUFTQyxHQUV0RkQsRUFBUUksU0FBUVIsRUFBT0MsUUFBVUcsRUFBUUksUyxvQ0NqQjVDLHVCQUFrZCxHLG9DQ0FsZCxJQ0FnTixFQ2NoTixDQUNFLEtBQUYsYUFDRSxNQUFGLENBQ0EsbUJBRUUsV0FBRixDQUNJLGdCLFVBQUosSSx3QkNaSUMsRUFBWSxZQUNkLEdIVFcsV0FBYSxJQUFJQyxFQUFJQyxLQUFTQyxFQUFHRixFQUFJRyxlQUFtQkMsRUFB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RUFDQSxLQUNBLFdBQ0EsTUFJYSxJQUFBN0MsRSwrQkNuQkxULEVBQU9DLFFBQVUsRUFBUSxPQUFSLEVBQStELElBS2xGQyxLQUFLLENBQUNGLEVBQU9HLEVBQUkscXdCQUFzd0IsTSxvQ0NML3hCLHVCQUFnZCxHLHVCQ0NoZCxJQUFJQyxFQUFVLEVBQVEsUUFFQSxpQkFBWkEsSUFBc0JBLEVBQVUsQ0FBQyxDQUFDSixFQUFPRyxFQUFJQyxFQUFTLE1BT2hFLElBQUlDLEVBQVUsQ0FBQyxLQUFNLEVBRXJCLGVBUElDLEVBUUosZ0JBQXFCQyxHQUVSLEVBQVEsT0FBUixDQUFtRUgsRUFBU0MsR0FFdEZELEVBQVFJLFNBQVFSLEVBQU9DLFFBQVVHLEVBQVFJLFMsa0NDakI1Qyx1QkFBb2QsRyxrQ0NBcGQsdUJBQStkLEcsa0NDQS9kLHVCQUE2YyxHLGtDQ0E3Yyx1QkFBK2MsRyxrQ0NBL2MsdUJBQW9kLEcsa0NDQXBkLElDQTZNLEVDTzdNLENBQ0UsS0FBRixXLHdCQ0FJQyxFQUFZLFlBQ2QsR0hUVyxXQUFhLElBQWlCRyxFQUFURCxLQUFnQkUsZUFBaEJGLEtBQTBDSSxNQUFNRCxHQUFPLE9BQXZESCxLQUFrRXNELEdBQUcsS0FDakYsQ0FBQyxXQUFhLElBQWlCckQsRUFBVEQsS0FBZ0JFLGVBQW1CQyxFQUFuQ0gsS0FBMENJLE1BQU1ELElBQUlGLEVBQUcsT0FBT0UsRUFBRyxNQUFNLENBQUNFLFlBQVksVUFBVUssTUFBTSxDQUFDLEdBQUssd0JBQXdCLENBQUNQLEVBQUcsTUFBTSxDQUFDRSxZQUFZLHlER1duTSxFQUNBLEtBQ0EsV0FDQSxNQUlhLElBQUFQLEUiLCJmaWxlIjoiY2h1bmtzL3NldHRpbmdzLmpzP2lkPTA1Nzc5NzU4MWYzMTE5NTZjODczIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIuY29udGVudC1zaWRlYmFyW2RhdGEtdi03Zjg0ZGQ5Y10ge1xcbiAgYmFja2dyb3VuZDogcmdiYSgyNDQsIDI0NSwgMjQ2LCAwLjYpO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHBhZGRpbmctdG9wOiAyNXB4O1xcbiAgb3ZlcmZsb3cteTogYXV0bztcXG4gIGZsZXg6IDAgMCAyMjVweDtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcXG4uY29udGVudC1zaWRlYmFyW2RhdGEtdi03Zjg0ZGQ5Y10ge1xcbiAgICBmbGV4OiAwIDAgMjA1cHg7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLmNvbnRlbnQtc2lkZWJhcltkYXRhLXYtN2Y4NGRkOWNdIHtcXG4gICAgZGlzcGxheTogbm9uZTtcXG59XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4uY29udGVudC1zaWRlYmFyW2RhdGEtdi03Zjg0ZGQ5Y10ge1xcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDMwLCAzMiwgMzYsIDAuMik7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjNTA4ZGJmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29sb3JMYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01YzUwOGRiZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjNTA4ZGJmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTFkZjY2MDAyJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3Bpbm5lci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xZGY2NjAwMiZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTFkZjY2MDAyJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250ZW50R3JvdXAudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NDExODMwNmMmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250ZW50R3JvdXAudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NDExODMwNmMmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicGFnZS1oZWFkZXJcIn0sWyhfdm0uY2FuQmFjayk/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiZ28tYmFja1wiLG9uOntcImNsaWNrXCI6ZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLiRyb3V0ZXIuYmFjaygpfX19LFtfYygnY2hldnJvbi1sZWZ0LWljb24nLHthdHRyczp7XCJzaXplXCI6XCIxN1wifX0pXSwxKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNvbnRlbnRcIn0sW19jKCdoMScse3N0YXRpY0NsYXNzOlwidGl0bGVcIn0sW192bS5fdihfdm0uX3MoX3ZtLnRpdGxlKSldKV0pXSl9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2UtaGVhZGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnby1iYWNrXCIgdi1pZj1cImNhbkJhY2tcIiBAY2xpY2s9XCIkcm91dGVyLmJhY2soKVwiPlxuICAgICAgICAgICAgPGNoZXZyb24tbGVmdC1pY29uIHNpemU9XCIxN1wiPjwvY2hldnJvbi1sZWZ0LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzPVwidGl0bGVcIj57eyB0aXRsZSB9fTwvaDE+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBpbXBvcnQgeyBDaGV2cm9uTGVmdEljb24gfSBmcm9tICd2dWUtZmVhdGhlci1pY29ucydcblxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ1BhZ2VIZWFkZXInLFxuICAgICAgICBwcm9wczogW1xuICAgICAgICAgICAgJ3RpdGxlJywgJ2NhbkJhY2snXG4gICAgICAgIF0sXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIENoZXZyb25MZWZ0SWNvblxuICAgICAgICB9LFxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZ28tYmFjayB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuXG4gICAgICAgIC5wYWdlLWhlYWRlciB7XG5cbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjkwcHgpIHtcbiAgICAgICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG5cbiAgICAgICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX21vZGVfYmFja2dyb3VuZDtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6ICR0aGVtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTlmZDBhNDI0JnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTlmZDBhNDI0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiOWZkMGE0MjRcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5wYWdlLWhlYWRlcltkYXRhLXYtOWZkMGE0MjRdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgYmFja2dyb3VuZDogd2hpdGU7XFxuICB6LWluZGV4OiA5O1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XFxuICBwb3NpdGlvbjogc3RpY2t5O1xcbiAgdG9wOiAwO1xcbiAgcGFkZGluZy10b3A6IDIwcHg7XFxuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcXG59XFxuLnBhZ2UtaGVhZGVyIC50aXRsZVtkYXRhLXYtOWZkMGE0MjRdIHtcXG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBjb2xvcjogIzFCMjUzOTtcXG59XFxuLnBhZ2UtaGVhZGVyIC5nby1iYWNrW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4ucGFnZS1oZWFkZXIgLmdvLWJhY2sgc3ZnW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIG1hcmdpbi10b3A6IC00cHg7XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4ucGFnZS1oZWFkZXIgLnRpdGxlW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgICBmb250LXNpemU6IDEuMTI1ZW07XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLnBhZ2UtaGVhZGVyW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgICBkaXNwbGF5OiBub25lO1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5wYWdlLWhlYWRlcltkYXRhLXYtOWZkMGE0MjRdIHtcXG4gICAgYmFja2dyb3VuZDogIzEzMTQxNDtcXG59XFxuLnBhZ2UtaGVhZGVyIC50aXRsZVtkYXRhLXYtOWZkMGE0MjRdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5wYWdlLWhlYWRlciAuaWNvbiBwYXRoW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgICBmaWxsOiAjMDBCQzdFO1xcbn1cXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUHJvZmlsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02OGY2NTQwYyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1Byb2ZpbGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NjhmNjU0MGMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIudGV4dC1sYWJlbFtkYXRhLXYtOTQzZTI0YjRdIHtcXG4gIHBhZGRpbmctbGVmdDogMjVweDtcXG4gIGZvbnQtc2l6ZTogMC43NWVtO1xcbiAgY29sb3I6ICNBRkFGQUY7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW4tYm90dG9tOiA1cHg7XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XFxuLnRleHQtbGFiZWxbZGF0YS12LTk0M2UyNGI0XSB7XFxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcXG59XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4udGV4dC1sYWJlbFtkYXRhLXYtOTQzZTI0YjRdIHtcXG4gICAgb3BhY2l0eTogMC4zNTtcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdzZWN0aW9uJyx7YXR0cnM6e1wiaWRcIjpcInZpZXdwb3J0XCJ9fSxbX2MoJ0NvbnRlbnRTaWRlYmFyJyxbX2MoJ0NvbnRlbnRHcm91cCcse3N0YXRpY0NsYXNzOlwibmF2aWdhdG9yXCIsYXR0cnM6e1widGl0bGVcIjpcIk1lbnVcIn19LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJtZW51LWxpc3Qtd3JhcHBlciB2ZXJ0aWNhbFwifSxbX2MoJ3JvdXRlci1saW5rJyx7c3RhdGljQ2xhc3M6XCJtZW51LWxpc3QtaXRlbSBsaW5rXCIsYXR0cnM6e1wicmVwbGFjZVwiOlwiXCIsXCJ0b1wiOntuYW1lOiAnUHJvZmlsZSd9fX0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImljb24gdGV4dC10aGVtZVwifSxbX2MoJ3VzZXItaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE3XCJ9fSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwibGFiZWwgdGV4dC10aGVtZVwifSxbX3ZtLl92KFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgnbWVudS5wcm9maWxlJykpK1wiXFxuICAgICAgICAgICAgICAgICAgICBcIildKV0pLF92bS5fdihcIiBcIiksX2MoJ3JvdXRlci1saW5rJyx7c3RhdGljQ2xhc3M6XCJtZW51LWxpc3QtaXRlbSBsaW5rXCIsYXR0cnM6e1wicmVwbGFjZVwiOlwiXCIsXCJ0b1wiOntuYW1lOiAnU3RvcmFnZSd9fX0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImljb24gdGV4dC10aGVtZVwifSxbX2MoJ2hhcmQtZHJpdmUtaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE3XCJ9fSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwibGFiZWwgdGV4dC10aGVtZVwifSxbX3ZtLl92KFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgnbWVudS5zdG9yYWdlJykpK1wiXFxuICAgICAgICAgICAgICAgICAgICBcIildKV0pLF92bS5fdihcIiBcIiksX2MoJ3JvdXRlci1saW5rJyx7c3RhdGljQ2xhc3M6XCJtZW51LWxpc3QtaXRlbSBsaW5rXCIsYXR0cnM6e1wicmVwbGFjZVwiOlwiXCIsXCJ0b1wiOntuYW1lOiAnUGFzc3dvcmQnfX19LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJpY29uIHRleHQtdGhlbWVcIn0sW19jKCdsb2NrLWljb24nLHthdHRyczp7XCJzaXplXCI6XCIxN1wifX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImxhYmVsIHRleHQtdGhlbWVcIn0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uJHQoJ21lbnUucGFzc3dvcmQnKSkrXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiKV0pXSldLDEpXSksX3ZtLl92KFwiIFwiKSwoX3ZtLmNhblNob3dTdWJzY3JpcHRpb25TZXR0aW5ncyk/X2MoJ0NvbnRlbnRHcm91cCcse3N0YXRpY0NsYXNzOlwibmF2aWdhdG9yXCIsYXR0cnM6e1widGl0bGVcIjpcIlN1YnNjcmlwdGlvblwifX0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcIm1lbnUtbGlzdC13cmFwcGVyIHZlcnRpY2FsXCJ9LFtfYygncm91dGVyLWxpbmsnLHtzdGF0aWNDbGFzczpcIm1lbnUtbGlzdC1pdGVtIGxpbmtcIixhdHRyczp7XCJyZXBsYWNlXCI6XCJcIixcInRvXCI6e25hbWU6ICdTdWJzY3JpcHRpb24nfX19LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJpY29uIHRleHQtdGhlbWVcIn0sW19jKCdjbG91ZC1pY29uJyx7YXR0cnM6e1wic2l6ZVwiOlwiMTdcIn19KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJsYWJlbCB0ZXh0LXRoZW1lXCJ9LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdtZW51LnN1YnNjcmlwdGlvbicpKStcIlxcbiAgICAgICAgICAgICAgICAgICAgXCIpXSldKSxfdm0uX3YoXCIgXCIpLF9jKCdyb3V0ZXItbGluaycse3N0YXRpY0NsYXNzOlwibWVudS1saXN0LWl0ZW0gbGlua1wiLGF0dHJzOntcInJlcGxhY2VcIjpcIlwiLFwidG9cIjp7bmFtZTogJ1BheW1lbnRNZXRob2RzJ319fSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiaWNvbiB0ZXh0LXRoZW1lXCJ9LFtfYygnY3JlZGl0LWNhcmQtaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE3XCJ9fSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwibGFiZWwgdGV4dC10aGVtZVwifSxbX3ZtLl92KFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgnbWVudS5wYXltZW50X2NhcmRzJykpK1wiXFxuICAgICAgICAgICAgICAgICAgICBcIildKV0pLF92bS5fdihcIiBcIiksX2MoJ3JvdXRlci1saW5rJyx7c3RhdGljQ2xhc3M6XCJtZW51LWxpc3QtaXRlbSBsaW5rXCIsYXR0cnM6e1wicmVwbGFjZVwiOlwiXCIsXCJ0b1wiOntuYW1lOiAnSW52b2ljZSd9fX0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImljb24gdGV4dC10aGVtZVwifSxbX2MoJ2ZpbGUtdGV4dC1pY29uJyx7YXR0cnM6e1wic2l6ZVwiOlwiMTdcIn19KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJsYWJlbCB0ZXh0LXRoZW1lXCJ9LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdtZW51Lmludm9pY2VzJykpK1wiXFxuICAgICAgICAgICAgICAgICAgICBcIildKV0pXSwxKV0pOl92bS5fZSgpXSwxKSxfdm0uX3YoXCIgXCIpLChfdm0udXNlcik/X2MoJ2Rpdicse2F0dHJzOntcImlkXCI6XCJzaW5nbGUtcGFnZVwifX0sWyghIF92bS5pc0xvYWRpbmcpP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcIm1lZGl1bS13aWR0aFwiLGF0dHJzOntcImlkXCI6XCJwYWdlLWNvbnRlbnRcIn19LFtfYygnTW9iaWxlSGVhZGVyJyx7YXR0cnM6e1widGl0bGVcIjpfdm0uJHJvdXRlci5jdXJyZW50Um91dGUubWV0YS50aXRsZX19KSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNvbnRlbnQtcGFnZVwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicGFnZS1kZXRhaWwtaGVhZGxpbmVcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInVzZXItdGh1bWJuYWlsXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJhdmF0YXJcIn0sW19jKCdVc2VySW1hZ2VJbnB1dCcse2F0dHJzOntcImF2YXRhclwiOl92bS51c2VyLmRhdGEucmVsYXRpb25zaGlwcy5zZXR0aW5ncy5kYXRhLmF0dHJpYnV0ZXMuYXZhdGFyfSxtb2RlbDp7dmFsdWU6KF92bS5hdmF0YXIpLGNhbGxiYWNrOmZ1bmN0aW9uICgkJHYpIHtfdm0uYXZhdGFyPSQkdn0sZXhwcmVzc2lvbjpcImF2YXRhclwifX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImluZm9cIn0sW19jKCdiJyx7c3RhdGljQ2xhc3M6XCJuYW1lXCJ9LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0udXNlci5kYXRhLnJlbGF0aW9uc2hpcHMuc2V0dGluZ3MuZGF0YS5hdHRyaWJ1dGVzLm5hbWUpK1wiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiksKF92bS5jb25maWcuaXNTYWFTKT9fYygnQ29sb3JMYWJlbCcse2F0dHJzOntcImNvbG9yXCI6X3ZtLnN1YnNjcmlwdGlvbkNvbG9yfX0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uc3Vic2NyaXB0aW9uU3RhdHVzKStcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIpXSk6X3ZtLl9lKCldLDEpLF92bS5fdihcIiBcIiksX2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVtYWlsXCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS51c2VyLmRhdGEuYXR0cmlidXRlcy5lbWFpbCkpXSldKV0pLF92bS5fdihcIiBcIiksKF92bS5jb25maWcuc3RvcmFnZUxpbWl0ICYmIF92bS5jb25maWcuaXNTYWFTICYmIF92bS5jb25maWcuYXBwX3BheW1lbnRzX2FjdGl2ZSAmJiAhX3ZtLmNhblNob3dJbmNvbXBsZXRlUGF5bWVudCk/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiaGVhZGxpbmUtYWN0aW9uc1wifSxbX2MoJ3JvdXRlci1saW5rJyx7YXR0cnM6e1widG9cIjp7bmFtZTogJ1VwZ3JhZGVQbGFuJ319fSxbX2MoJ0J1dHRvbkJhc2UnLHtzdGF0aWNDbGFzczpcInVwZ3JhZGUtYnV0dG9uXCIsYXR0cnM6e1wiYnV0dG9uLXN0eWxlXCI6XCJzZWNvbmRhcnlcIixcInR5cGVcIjpcImJ1dHRvblwifX0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgnZ2xvYmFsLnVwZ3JhZGVfcGxhbicpKStcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIildKV0sMSldLDEpOl92bS5fZSgpXSksX3ZtLl92KFwiIFwiKSwoX3ZtLmNhblNob3dJbmNvbXBsZXRlUGF5bWVudCk/X2MoJ0luZm9Cb3gnLHtzdGF0aWNDbGFzczpcIm1lc3NhZ2UtYm94XCIsYXR0cnM6e1widHlwZVwiOlwiZXJyb3JcIn19LFtfYygnaTE4bicse2F0dHJzOntcInBhdGhcIjpcImluY29tcGxldGVfcGF5bWVudC5kZXNjcmlwdGlvblwiLFwidGFnXCI6XCJwXCJ9fSxbX2MoJ2EnLHthdHRyczp7XCJocmVmXCI6X3ZtLnVzZXIuZGF0YS5hdHRyaWJ1dGVzLmluY29tcGxldGVfcGF5bWVudH19LFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgnaW5jb21wbGV0ZV9wYXltZW50LmhyZWYnKSkpXSldKV0sMSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwoX3ZtLmNhblNob3dVcGdyYWRlV2FybmluZyAmJiAhX3ZtLmNhblNob3dJbmNvbXBsZXRlUGF5bWVudCk/X2MoJ0luZm9Cb3gnLHtzdGF0aWNDbGFzczpcIm1lc3NhZ2UtYm94XCIsYXR0cnM6e1widHlwZVwiOlwiZXJyb3JcIn19LFtfYygncCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCd1cGdyYWRlX2Jhbm5lci50aXRsZScpKSldKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ3JvdXRlci12aWV3Jyx7YXR0cnM6e1widXNlclwiOl92bS51c2VyfX0pXSwxKV0sMSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwoX3ZtLmlzTG9hZGluZyk/X2MoJ2Rpdicse2F0dHJzOntcImlkXCI6XCJsb2FkZXJcIn19LFtfYygnU3Bpbm5lcicpXSwxKTpfdm0uX2UoKV0pOl92bS5fZSgpXSwxKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiPHRlbXBsYXRlPlxuICAgIDxzZWN0aW9uIGlkPVwidmlld3BvcnRcIj5cblxuICAgICAgICA8Q29udGVudFNpZGViYXI+XG5cbiAgICAgICAgICAgIDwhLS1TZXR0aW5ncy0tPlxuICAgICAgICAgICAgPENvbnRlbnRHcm91cCB0aXRsZT1cIk1lbnVcIiBjbGFzcz1cIm5hdmlnYXRvclwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWxpc3Qtd3JhcHBlciB2ZXJ0aWNhbFwiPlxuICAgICAgICAgICAgICAgICAgICA8cm91dGVyLWxpbmsgcmVwbGFjZSA6dG89XCJ7bmFtZTogJ1Byb2ZpbGUnfVwiIGNsYXNzPVwibWVudS1saXN0LWl0ZW0gbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24gdGV4dC10aGVtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VyLWljb24gc2l6ZT1cIjE3XCI+PC91c2VyLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB0ZXh0LXRoZW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJHQoJ21lbnUucHJvZmlsZScpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9yb3V0ZXItbGluaz5cblxuICAgICAgICAgICAgICAgICAgICA8cm91dGVyLWxpbmsgcmVwbGFjZSA6dG89XCJ7bmFtZTogJ1N0b3JhZ2UnfVwiIGNsYXNzPVwibWVudS1saXN0LWl0ZW0gbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24gdGV4dC10aGVtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoYXJkLWRyaXZlLWljb24gc2l6ZT1cIjE3XCI+PC9oYXJkLWRyaXZlLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB0ZXh0LXRoZW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJHQoJ21lbnUuc3RvcmFnZScpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9yb3V0ZXItbGluaz5cblxuICAgICAgICAgICAgICAgICAgICA8cm91dGVyLWxpbmsgcmVwbGFjZSA6dG89XCJ7bmFtZTogJ1Bhc3N3b3JkJ31cIiBjbGFzcz1cIm1lbnUtbGlzdC1pdGVtIGxpbmtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHRleHQtdGhlbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bG9jay1pY29uIHNpemU9XCIxN1wiPjwvbG9jay1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGFiZWwgdGV4dC10aGVtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdtZW51LnBhc3N3b3JkJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3JvdXRlci1saW5rPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9Db250ZW50R3JvdXA+XG4gICAgICAgICAgICA8Q29udGVudEdyb3VwIHRpdGxlPVwiU3Vic2NyaXB0aW9uXCIgY2xhc3M9XCJuYXZpZ2F0b3JcIiB2LWlmPVwiY2FuU2hvd1N1YnNjcmlwdGlvblNldHRpbmdzXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1lbnUtbGlzdC13cmFwcGVyIHZlcnRpY2FsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxyb3V0ZXItbGluayByZXBsYWNlIDp0bz1cIntuYW1lOiAnU3Vic2NyaXB0aW9uJ31cIiBjbGFzcz1cIm1lbnUtbGlzdC1pdGVtIGxpbmtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uIHRleHQtdGhlbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xvdWQtaWNvbiBzaXplPVwiMTdcIj48L2Nsb3VkLWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB0ZXh0LXRoZW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJHQoJ21lbnUuc3Vic2NyaXB0aW9uJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3JvdXRlci1saW5rPlxuXG4gICAgICAgICAgICAgICAgICAgIDxyb3V0ZXItbGluayByZXBsYWNlIDp0bz1cIntuYW1lOiAnUGF5bWVudE1ldGhvZHMnfVwiIGNsYXNzPVwibWVudS1saXN0LWl0ZW0gbGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24gdGV4dC10aGVtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjcmVkaXQtY2FyZC1pY29uIHNpemU9XCIxN1wiPjwvY3JlZGl0LWNhcmQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxhYmVsIHRleHQtdGhlbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkdCgnbWVudS5wYXltZW50X2NhcmRzJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3JvdXRlci1saW5rPlxuXG4gICAgICAgICAgICAgICAgICAgIDxyb3V0ZXItbGluayByZXBsYWNlIDp0bz1cIntuYW1lOiAnSW52b2ljZSd9XCIgY2xhc3M9XCJtZW51LWxpc3QtaXRlbSBsaW5rXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbiB0ZXh0LXRoZW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpbGUtdGV4dC1pY29uIHNpemU9XCIxN1wiPjwvZmlsZS10ZXh0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbCB0ZXh0LXRoZW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJHQoJ21lbnUuaW52b2ljZXMnKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvcm91dGVyLWxpbms+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L0NvbnRlbnRHcm91cD5cbiAgICAgICAgPC9Db250ZW50U2lkZWJhcj5cblxuICAgICAgICA8ZGl2IGlkPVwic2luZ2xlLXBhZ2VcIiB2LWlmPVwidXNlclwiPlxuICAgICAgICAgICAgPGRpdiBpZD1cInBhZ2UtY29udGVudFwiIGNsYXNzPVwibWVkaXVtLXdpZHRoXCIgdi1pZj1cIiEgaXNMb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAgPE1vYmlsZUhlYWRlciA6dGl0bGU9XCIkcm91dGVyLmN1cnJlbnRSb3V0ZS5tZXRhLnRpdGxlXCIvPlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQtcGFnZVwiPlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS1Vc2VyIHRodW1ibmFpbC0tPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS1kZXRhaWwtaGVhZGxpbmVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1c2VyLXRodW1ibmFpbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhdmF0YXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFVzZXJJbWFnZUlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1tb2RlbD1cImF2YXRhclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmF2YXRhcj1cInVzZXIuZGF0YS5yZWxhdGlvbnNoaXBzLnNldHRpbmdzLmRhdGEuYXR0cmlidXRlcy5hdmF0YXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbmZvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdXNlci5kYXRhLnJlbGF0aW9uc2hpcHMuc2V0dGluZ3MuZGF0YS5hdHRyaWJ1dGVzLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDb2xvckxhYmVsIHYtaWY9XCJjb25maWcuaXNTYWFTXCIgOmNvbG9yPVwic3Vic2NyaXB0aW9uQ29sb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBzdWJzY3JpcHRpb25TdGF0dXMgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ29sb3JMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVtYWlsXCI+e3sgdXNlci5kYXRhLmF0dHJpYnV0ZXMuZW1haWwgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgdi1pZj1cImNvbmZpZy5zdG9yYWdlTGltaXQgJiYgY29uZmlnLmlzU2FhUyAmJiBjb25maWcuYXBwX3BheW1lbnRzX2FjdGl2ZSAmJiAhY2FuU2hvd0luY29tcGxldGVQYXltZW50XCIgY2xhc3M9XCJoZWFkbGluZS1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJvdXRlci1saW5rIDp0bz1cIntuYW1lOiAnVXBncmFkZVBsYW4nfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uQmFzZSBjbGFzcz1cInVwZ3JhZGUtYnV0dG9uXCIgYnV0dG9uLXN0eWxlPVwic2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJHQoJ2dsb2JhbC51cGdyYWRlX3BsYW4nKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbkJhc2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yb3V0ZXItbGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tSW5jb21wbGV0ZSBQYXltZW50IFdhcm5pbmctLT5cbiAgICAgICAgICAgICAgICAgICAgPEluZm9Cb3ggdi1pZj1cImNhblNob3dJbmNvbXBsZXRlUGF5bWVudFwiIHR5cGU9XCJlcnJvclwiIGNsYXNzPVwibWVzc2FnZS1ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpMThuIHBhdGg9XCJpbmNvbXBsZXRlX3BheW1lbnQuZGVzY3JpcHRpb25cIiB0YWc9XCJwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgOmhyZWY9XCJ1c2VyLmRhdGEuYXR0cmlidXRlcy5pbmNvbXBsZXRlX3BheW1lbnRcIj57eyAkdCgnaW5jb21wbGV0ZV9wYXltZW50LmhyZWYnKSB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaTE4bj5cbiAgICAgICAgICAgICAgICAgICAgPC9JbmZvQm94PlxuXG4gICAgICAgICAgICAgICAgICAgIDwhLS1VcGdyYWRlIFN0b3JhZ2UgUGxhbiBXYXJuaW5nLS0+XG4gICAgICAgICAgICAgICAgICAgIDxJbmZvQm94IHYtaWY9XCJjYW5TaG93VXBncmFkZVdhcm5pbmcgJiYgIWNhblNob3dJbmNvbXBsZXRlUGF5bWVudFwiIHR5cGU9XCJlcnJvclwiIGNsYXNzPVwibWVzc2FnZS1ib3hcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPnt7ICR0KCd1cGdyYWRlX2Jhbm5lci50aXRsZScpIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICA8L0luZm9Cb3g+XG5cbiAgICAgICAgICAgICAgICAgICAgPCEtLVJvdXRlciBDb250ZW50LS0+XG4gICAgICAgICAgICAgICAgICAgIDxyb3V0ZXItdmlldyA6dXNlcj1cInVzZXJcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGlkPVwibG9hZGVyXCIgdi1pZj1cImlzTG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxTcGlubmVyPjwvU3Bpbm5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgaW1wb3J0IENvbnRlbnRTaWRlYmFyIGZyb20gJ0AvY29tcG9uZW50cy9TaWRlYmFyL0NvbnRlbnRTaWRlYmFyJ1xuICAgIGltcG9ydCBDb250ZW50R3JvdXAgZnJvbSAnQC9jb21wb25lbnRzL1NpZGViYXIvQ29udGVudEdyb3VwJ1xuICAgIGltcG9ydCBVc2VySW1hZ2VJbnB1dCBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL1VzZXJJbWFnZUlucHV0J1xuICAgIGltcG9ydCBNb2JpbGVIZWFkZXIgZnJvbSAnQC9jb21wb25lbnRzL01vYmlsZS9Nb2JpbGVIZWFkZXInXG4gICAgaW1wb3J0IEJ1dHRvbkJhc2UgZnJvbSAnQC9jb21wb25lbnRzL0ZpbGVzVmlldy9CdXR0b25CYXNlJ1xuICAgIGltcG9ydCBJbmZvQm94IGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveCdcbiAgICBpbXBvcnQgUGFnZUhlYWRlciBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXInXG4gICAgaW1wb3J0IENvbG9yTGFiZWwgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Db2xvckxhYmVsJ1xuICAgIGltcG9ydCBTcGlubmVyIGZyb20gJ0AvY29tcG9uZW50cy9GaWxlc1ZpZXcvU3Bpbm5lcidcbiAgICBpbXBvcnQgeyBtYXBHZXR0ZXJzIH0gZnJvbSAndnVleCdcbiAgICBpbXBvcnQge1xuICAgICAgICBDcmVkaXRDYXJkSWNvbixcbiAgICAgICAgSGFyZERyaXZlSWNvbixcbiAgICAgICAgRmlsZVRleHRJY29uLFxuICAgICAgICBDbG91ZEljb24sXG4gICAgICAgIFVzZXJJY29uLFxuICAgICAgICBMb2NrSWNvbixcbiAgICB9IGZyb20gJ3Z1ZS1mZWF0aGVyLWljb25zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnU2V0dGluZ3MnLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBDb250ZW50U2lkZWJhcixcbiAgICAgICAgICAgIENyZWRpdENhcmRJY29uLFxuICAgICAgICAgICAgVXNlckltYWdlSW5wdXQsXG4gICAgICAgICAgICBIYXJkRHJpdmVJY29uLFxuICAgICAgICAgICAgRmlsZVRleHRJY29uLFxuICAgICAgICAgICAgTW9iaWxlSGVhZGVyLFxuICAgICAgICAgICAgQ29udGVudEdyb3VwLFxuICAgICAgICAgICAgQnV0dG9uQmFzZSxcbiAgICAgICAgICAgIENvbG9yTGFiZWwsXG4gICAgICAgICAgICBQYWdlSGVhZGVyLFxuICAgICAgICAgICAgQ2xvdWRJY29uLFxuICAgICAgICAgICAgVXNlckljb24sXG4gICAgICAgICAgICBMb2NrSWNvbixcbiAgICAgICAgICAgIFNwaW5uZXIsXG4gICAgICAgICAgICBJbmZvQm94LFxuICAgICAgICB9LFxuICAgICAgICBjb21wdXRlZDoge1xuICAgICAgICAgICAgLi4ubWFwR2V0dGVycyhbJ3VzZXInLCAnY29uZmlnJ10pLFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uU3RhdHVzKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnVzZXIuZGF0YS5hdHRyaWJ1dGVzLnN1YnNjcmlwdGlvbiA/IHRoaXMuJHQoJ2dsb2JhbC5wcmVtaXVtJykgOiB0aGlzLiR0KCdnbG9iYWwuZnJlZScpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uQ29sb3IoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlci5kYXRhLmF0dHJpYnV0ZXMuc3Vic2NyaXB0aW9uID8gJ2dyZWVuJyA6ICdwdXJwbGUnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY2FuU2hvd1N1YnNjcmlwdGlvblNldHRpbmdzKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5pc1NhYVMgJiYgdGhpcy5jb25maWcuYXBwX3BheW1lbnRzX2FjdGl2ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNhblNob3dVcGdyYWRlV2FybmluZygpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuc3RvcmFnZUxpbWl0ICYmIHRoaXMudXNlci5kYXRhLmF0dHJpYnV0ZXMuc3RvcmFnZS51c2VkID4gOTVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjYW5TaG93SW5jb21wbGV0ZVBheW1lbnQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlci5kYXRhLmF0dHJpYnV0ZXMuaW5jb21wbGV0ZV9wYXltZW50XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGF2YXRhcjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5wYWdlLWRldGFpbC1oZWFkbGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG5cbiAgICAudXNlci10aHVtYm5haWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MnB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mbyB7XG5cbiAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTcpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZW1haWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lc3NhZ2UtYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAudXNlci10aHVtYm5haWwge1xuXG4gICAgICAgICAgICAuaW5mbyB7XG5cbiAgICAgICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZW1haWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3NlY29uZGFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XG5cbiAgICAgICAgLnBhZ2UtZGV0YWlsLWhlYWRsaW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgICAgIC5oZWFkbGluZS1hY3Rpb25zIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgLnVwZ3JhZGUtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUHJvZmlsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUHJvZmlsZS52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1Byb2ZpbGUudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTY4ZjY1NDBjJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1Byb2ZpbGUudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9Qcm9maWxlLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Qcm9maWxlLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY4ZjY1NDBjJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNjhmNjU0MGNcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250ZW50R3JvdXAudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NDExODMwNmMmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250ZW50R3JvdXAudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NDExODMwNmMmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29udGVudEdyb3VwLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTQxMTgzMDZjJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5kcm9wem9uZVtkYXRhLXYtZmUyN2I5YjJdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbn1cXG4uZHJvcHpvbmUgaW5wdXRbdHlwZT0nZmlsZSddW2RhdGEtdi1mZTI3YjliMl0ge1xcbiAgb3BhY2l0eTogMDtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIHRvcDogMDtcXG4gIGxlZnQ6IDA7XFxuICByaWdodDogMDtcXG4gIGJvdHRvbTogMDtcXG4gIHotaW5kZXg6IDI7XFxuICB3aWR0aDogMTAwJTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmRyb3B6b25lIC5pbWFnZS1wcmV2aWV3W2RhdGEtdi1mZTI3YjliMl0ge1xcbiAgd2lkdGg6IDYycHg7XFxuICBoZWlnaHQ6IDYycHg7XFxuICAtby1vYmplY3QtZml0OiBjb3ZlcjtcXG4gICAgIG9iamVjdC1maXQ6IGNvdmVyO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgei1pbmRleDogMTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmRyb3B6b25lIC5ibHVycmVkW2RhdGEtdi1mZTI3YjliMl0ge1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgbGVmdDogMDtcXG4gIHRvcDogMnB4O1xcbiAgei1pbmRleDogMDtcXG4gIC13ZWJraXQtZmlsdGVyOiBibHVyKDhweCk7XFxuICAgICAgICAgIGZpbHRlcjogYmx1cig4cHgpO1xcbiAgb3BhY2l0eTogMC41O1xcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5jb250ZW50LWdyb3VwW2RhdGEtdi00MTE4MzA2Y10ge1xcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcXG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcztcXG59XFxuLmNvbnRlbnQtZ3JvdXAgLmdyb3VwLXRpdGxlW2RhdGEtdi00MTE4MzA2Y10ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiA1cHg7XFxufVxcbi5jb250ZW50LWdyb3VwIC5ncm91cC10aXRsZSAudGl0bGVbZGF0YS12LTQxMTgzMDZjXSB7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbn1cXG4uY29udGVudC1ncm91cCAuZ3JvdXAtdGl0bGUgLmljb25bZGF0YS12LTQxMTgzMDZjXSB7XFxuICBtYXJnaW4tcmlnaHQ6IDE5cHg7XFxuICBvcGFjaXR5OiAwLjI1O1xcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZTtcXG59XFxuLmNvbnRlbnQtZ3JvdXAuY29sbGFwc2FibGUgLmdyb3VwLXRpdGxlW2RhdGEtdi00MTE4MzA2Y10ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uY29udGVudC1ncm91cC5pcy1jb2xsYXBzZWRbZGF0YS12LTQxMTgzMDZjXSB7XFxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xcbn1cXG4uY29udGVudC1ncm91cC5pcy1jb2xsYXBzZWQgLmljb25bZGF0YS12LTQxMTgzMDZjXSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xcbn1cXG4ubGlzdC1lbnRlcltkYXRhLXYtNDExODMwNmNdLFxcbi5saXN0LWxlYXZlLXRvW2RhdGEtdi00MTE4MzA2Y10ge1xcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xcbiAgaGVpZ2h0OiAwO1xcbiAgbWFyZ2luOiAwO1xcbiAgcGFkZGluZzogMDtcXG4gIG9wYWNpdHk6IDA7XFxufVxcbi5saXN0LWVudGVyLWFjdGl2ZVtkYXRhLXYtNDExODMwNmNdLFxcbi5saXN0LWxlYXZlLWFjdGl2ZVtkYXRhLXYtNDExODMwNmNdIHtcXG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcztcXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05ZmQwYTQyNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OWZkMGE0MjQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUHJvZmlsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02OGY2NTQwYyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1Byb2ZpbGUudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NjhmNjU0MGMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUHJvZmlsZS52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02OGY2NTQwYyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiXG52YXIgY29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXNlckltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ZmUyN2I5YjImbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VySW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1mZTI3YjliMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VySW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1mZTI3YjliMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5cdFx0aWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG5cblx0XHR2YXIgbG9jYWxzID0gKGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdHZhciBrZXksIGlkeCA9IDA7XG5cblx0XHRcdGZvcihrZXkgaW4gYSkge1xuXHRcdFx0XHRpZighYiB8fCBhW2tleV0gIT09IGJba2V5XSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRpZHgrKztcblx0XHRcdH1cblxuXHRcdFx0Zm9yKGtleSBpbiBiKSBpZHgtLTtcblxuXHRcdFx0cmV0dXJuIGlkeCA9PT0gMDtcblx0XHR9KGNvbnRlbnQubG9jYWxzLCBuZXdDb250ZW50LmxvY2FscykpO1xuXG5cdFx0aWYoIWxvY2FscykgdGhyb3cgbmV3IEVycm9yKCdBYm9ydGluZyBDU1MgSE1SIGR1ZSB0byBjaGFuZ2VkIGNzcy1tb2R1bGVzIGxvY2Fscy4nKTtcblxuXHRcdHVwZGF0ZShuZXdDb250ZW50KTtcblx0fSk7XG5cblx0bW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiaW5mby1ib3hcIixjbGFzczpfdm0udHlwZX0sW192bS5fdChcImRlZmF1bHRcIildLDIpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJpbmZvLWJveFwiIDpjbGFzcz1cInR5cGVcIj5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdJbmZvQm94JyxcbiAgICAgICAgcHJvcHM6IFsndHlwZSddXG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAuaW5mby1ib3gge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodF9iYWNrZ3JvdW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICYuZXJyb3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZGFuZ2VyLCAwLjEpO1xuXG4gICAgICAgICAgICBwLCBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhbmdlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgL2RlZXAvIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgL2RlZXAvIGIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XG5cbiAgICAgICAgLmluZm8tYm94IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcblxuICAgICAgICAuaW5mby1ib3gge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPThlN2M0MmY2JnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThlN2M0MmY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiOGU3YzQyZjZcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnc2VjdGlvbicse3N0YXRpY0NsYXNzOlwiY29udGVudC1zaWRlYmFyXCIsYXR0cnM6e1wiaWRcIjpcImNvbnRlbnQtc2lkZWJhclwifX0sW192bS5fdChcImRlZmF1bHRcIildLDIpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0NvbnRlbnRTaWRlYmFyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250ZW50U2lkZWJhci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJjb250ZW50LXNpZGViYXJcIiBpZD1cImNvbnRlbnQtc2lkZWJhclwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgPC9zZWN0aW9uPlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdDb250ZW50U2lkZWJhcicsXG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBzY29wZWQgbGFuZz1cInNjc3NcIj5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAuY29udGVudC1zaWRlYmFyIHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNDYsIDI0NSwgMjQxLCAwLjQpIDAlLCByZ2JhKDI0MywgMjQ0LCAyNDYsIDAuNCkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGxpZ2h0X2JhY2tncm91bmQsIDAuNik7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgZmxleDogMCAwIDIyNXB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5jb250ZW50LXNpZGViYXIge1xuICAgICAgICAgICAgZmxleDogMCAwIDIwNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OTBweCkge1xuICAgICAgICAuY29udGVudC1zaWRlYmFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG5cbiAgICAgICAgLmNvbnRlbnQtc2lkZWJhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRkYXJrX21vZGVfZm9yZWdyb3VuZCwgMC4yKTtcbiAgICAgICAgfVxuICAgIH1cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0NvbnRlbnRTaWRlYmFyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD03Zjg0ZGQ5YyZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9Db250ZW50U2lkZWJhci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0NvbnRlbnRTaWRlYmFyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Db250ZW50U2lkZWJhci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD03Zjg0ZGQ5YyZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjdmODRkZDljXCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIuY29sb3ItbGFiZWxbZGF0YS12LTVjNTA4ZGJmXSB7XFxuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcXG4gIGZvbnQtc2l6ZTogMC43NWVtO1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIHBhZGRpbmc6IDRweCA2cHg7XFxufVxcbi5jb2xvci1sYWJlbC5wdXJwbGVbZGF0YS12LTVjNTA4ZGJmXSB7XFxuICBjb2xvcjogIzlENjZGRTtcXG4gIGJhY2tncm91bmQ6IHJnYmEoMTU3LCAxMDIsIDI1NCwgMC4xKTtcXG59XFxuLmNvbG9yLWxhYmVsLnllbGxvd1tkYXRhLXYtNWM1MDhkYmZdIHtcXG4gIGNvbG9yOiAjRkZCRDJEO1xcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDE4OSwgNDUsIDAuMSk7XFxufVxcbi5jb2xvci1sYWJlbC5ncmVlbltkYXRhLXYtNWM1MDhkYmZdIHtcXG4gIGNvbG9yOiAjMDBCQzdFO1xcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAxODgsIDEyNiwgMC4xKTtcXG59XFxuLmNvbG9yLWxhYmVsLnJlZFtkYXRhLXYtNWM1MDhkYmZdIHtcXG4gIGNvbG9yOiAjZmQzOTdhO1xcbiAgYmFja2dyb3VuZDogcmdiYSgyNTMsIDU3LCAxMjIsIDAuMSk7XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLnBhZ2UtZGV0YWlsLWhlYWRsaW5lW2RhdGEtdi02OGY2NTQwY10ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XFxuICBtYXJnaW4tdG9wOiAzMHB4O1xcbn1cXG4udXNlci10aHVtYm5haWxbZGF0YS12LTY4ZjY1NDBjXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLnVzZXItdGh1bWJuYWlsIC5hdmF0YXJbZGF0YS12LTY4ZjY1NDBjXSB7XFxuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XFxufVxcbi51c2VyLXRodW1ibmFpbCAuYXZhdGFyIGltZ1tkYXRhLXYtNjhmNjU0MGNdIHtcXG4gIGxpbmUtaGVpZ2h0OiAwO1xcbiAgd2lkdGg6IDYycHg7XFxuICBoZWlnaHQ6IDYycHg7XFxuICBib3JkZXItcmFkaXVzOiAxMnB4O1xcbiAgei1pbmRleDogMTtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLnVzZXItdGh1bWJuYWlsIC5pbmZvIC5uYW1lW2RhdGEtdi02OGY2NTQwY10ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBmb250LXNpemU6IDEuMDYyNWVtO1xcbiAgbGluZS1oZWlnaHQ6IDE7XFxufVxcbi51c2VyLXRodW1ibmFpbCAuaW5mbyAuZW1haWxbZGF0YS12LTY4ZjY1NDBjXSB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjcpO1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbn1cXG4ubWVzc2FnZS1ib3hbZGF0YS12LTY4ZjY1NDBjXSB7XFxuICBtYXJnaW4tdG9wOiAtMTVweDtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi51c2VyLXRodW1ibmFpbCAuaW5mbyAubmFtZVtkYXRhLXYtNjhmNjU0MGNdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi51c2VyLXRodW1ibmFpbCAuaW5mbyAuZW1haWxbZGF0YS12LTY4ZjY1NDBjXSB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OTBweCkge1xcbi5wYWdlLWRldGFpbC1oZWFkbGluZVtkYXRhLXYtNjhmNjU0MGNdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XFxuICAgIG1hcmdpbi10b3A6IDEwcHg7XFxufVxcbi5wYWdlLWRldGFpbC1oZWFkbGluZSAuaGVhZGxpbmUtYWN0aW9uc1tkYXRhLXYtNjhmNjU0MGNdIHtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG59XFxuLnBhZ2UtZGV0YWlsLWhlYWRsaW5lIC5oZWFkbGluZS1hY3Rpb25zIC51cGdyYWRlLWJ1dHRvbltkYXRhLXYtNjhmNjU0MGNdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThlN2M0MmY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04ZTdjNDJmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThlN2M0MmY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJkcm9wem9uZVwiLGNsYXNzOnsgJ2lzLWVycm9yJzogX3ZtLmVycm9yIH19LFtfYygnaW5wdXQnLHtyZWY6XCJmaWxlXCIsc3RhdGljQ2xhc3M6XCJkdW1teVwiLGF0dHJzOntcInR5cGVcIjpcImZpbGVcIixcIm5hbWVcIjpfdm0ubmFtZX0sb246e1wiY2hhbmdlXCI6ZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLnNob3dJbWFnZVByZXZpZXcoJGV2ZW50KX19fSksX3ZtLl92KFwiIFwiKSwoX3ZtLmltYWdlUHJldmlldyk/X2MoJ2ltZycse3JlZjpcImltYWdlXCIsc3RhdGljQ2xhc3M6XCJpbWFnZS1wcmV2aWV3XCIsYXR0cnM6e1wic3JjXCI6X3ZtLmltYWdlUHJldmlld319KTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLChfdm0uaW1hZ2VQcmV2aWV3KT9fYygnaW1nJyx7cmVmOlwiaW1hZ2VcIixzdGF0aWNDbGFzczpcImltYWdlLXByZXZpZXcgYmx1cnJlZFwiLGF0dHJzOntcInNyY1wiOl92bS5pbWFnZVByZXZpZXd9fSk6X3ZtLl9lKCldKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VySW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXNlckltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJkcm9wem9uZVwiIDpjbGFzcz1cInsgJ2lzLWVycm9yJzogZXJyb3IgfVwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICByZWY9XCJmaWxlXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiZmlsZVwiXG4gICAgICAgICAgICAgICAgQGNoYW5nZT1cInNob3dJbWFnZVByZXZpZXcoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgOm5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImR1bW15XCJcbiAgICAgICAgLz5cbiAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgIHJlZj1cImltYWdlXCJcbiAgICAgICAgICAgICAgICA6c3JjPVwiaW1hZ2VQcmV2aWV3XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlLXByZXZpZXdcIlxuICAgICAgICAgICAgICAgIHYtaWY9XCJpbWFnZVByZXZpZXdcIlxuICAgICAgICAvPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgcmVmPVwiaW1hZ2VcIlxuICAgICAgICAgICAgICAgIDpzcmM9XCJpbWFnZVByZXZpZXdcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaW1hZ2UtcHJldmlldyBibHVycmVkXCJcbiAgICAgICAgICAgICAgICB2LWlmPVwiaW1hZ2VQcmV2aWV3XCJcbiAgICAgICAgLz5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIHByb3BzOiBbJ2xhYmVsJywgJ25hbWUnLCAnYXZhdGFyJywgJ2luZm8nLCAnZXJyb3InXSxcbiAgICAgICAgZGF0YSgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaW1hZ2VQcmV2aWV3OiB1bmRlZmluZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgd2F0Y2g6IHtcbiAgICAgICAgICAgIGltYWdlUHJldmlldyh2YWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5jb21taXQoJ1VQREFURV9BVkFUQVInLCB2YWwpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZHM6IHtcbiAgICAgICAgICAgIHNob3dJbWFnZVByZXZpZXcoZXZlbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbWdQYXRoID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGV4dG4gPSBpbWdQYXRoXG4gICAgICAgICAgICAgICAgICAgICAgICAuc3Vic3RyaW5nKGltZ1BhdGgubGFzdEluZGV4T2YoJy4nKSArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAudG9Mb3dlckNhc2UoKVxuXG4gICAgICAgICAgICAgICAgaWYgKFsncG5nJywgJ2pwZycsICdqcGVnJ10uaW5jbHVkZXMoZXh0bikpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1swXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKClcblxuICAgICAgICAgICAgICAgICAgICByZWFkZXIub25sb2FkID0gKCkgPT4gKHRoaXMuaW1hZ2VQcmV2aWV3ID0gcmVhZGVyLnJlc3VsdClcblxuICAgICAgICAgICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSB1c2VyIGF2YXRhclxuICAgICAgICAgICAgICAgICAgICB0aGlzLiR1cGRhdGVJbWFnZSgnL3VzZXIvcHJvZmlsZScsICdhdmF0YXInLCBldmVudC50YXJnZXQuZmlsZXNbMF0pXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgYWxlcnQoIHRoaXMuJHQoJ3ZhbGlkYXRpb25fZXJyb3JzLndyb25nX2ltYWdlJykgKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlZCgpIHtcbiAgICAgICAgICAgIC8vIElmIGhhcyBkZWZhdWx0IGltYWdlIHRoZW4gbG9hZFxuICAgICAgICAgICAgaWYgKHRoaXMuYXZhdGFyKSB0aGlzLmltYWdlUHJldmlldyA9IHRoaXMuYXZhdGFyXG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5kcm9wem9uZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAgICAgaW5wdXRbdHlwZT0nZmlsZSddIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2UtcHJldmlldyB7XG4gICAgICAgICAgICB3aWR0aDogNjJweDtcbiAgICAgICAgICAgIGhlaWdodDogNjJweDtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ibHVycmVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJsdXJyZWQtaW1hZ2U7XG4gICAgICAgIH1cbiAgICB9XG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9Vc2VySW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9ZmUyN2I5YjImc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vVXNlckltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9Vc2VySW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vVXNlckltYWdlSW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9ZmUyN2I5YjImbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCJmZTI3YjliMlwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmluZm8tYm94W2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgcGFkZGluZzogMjBweDtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIG1hcmdpbi1ib3R0b206IDMycHg7XFxuICBiYWNrZ3JvdW5kOiAjZjRmNWY2O1xcbiAgdGV4dC1hbGlnbjogbGVmdDtcXG59XFxuLmluZm8tYm94LmVycm9yW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgYmFja2dyb3VuZDogcmdiYSgyNTMsIDU3LCAxMjIsIDAuMSk7XFxufVxcbi5pbmZvLWJveC5lcnJvciBwW2RhdGEtdi04ZTdjNDJmNl0sIC5pbmZvLWJveC5lcnJvciBhW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgY29sb3I6ICNmZDM5N2E7XFxufVxcbi5pbmZvLWJveC5lcnJvciBhW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XFxufVxcbi5pbmZvLWJveCBwW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbiAgbGluZS1oZWlnaHQ6IDEuNjtcXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XFxuICBmb250LXdlaWdodDogNjAwO1xcbn1cXG4uaW5mby1ib3ggcFtkYXRhLXYtOGU3YzQyZjZdIGEge1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbn1cXG4uaW5mby1ib3ggcFtkYXRhLXYtOGU3YzQyZjZdIGIge1xcbiAgZm9udC1zaXplOiAxNXB4O1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmluZm8tYm94IGJbZGF0YS12LThlN2M0MmY2XSB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uaW5mby1ib3ggYVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbiAgbGluZS1oZWlnaHQ6IDEuNjtcXG59XFxuLmluZm8tYm94IHVsW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgbWFyZ2luLXRvcDogMTVweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uaW5mby1ib3ggdWwgbGlbZGF0YS12LThlN2M0MmY2XSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmluZm8tYm94IHVsIGxpIGFbZGF0YS12LThlN2M0MmY2XSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OTBweCkge1xcbi5pbmZvLWJveFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gICAgcGFkZGluZzogMTVweDtcXG59XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4uaW5mby1ib3hbZGF0YS12LThlN2M0MmY2XSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxufVxcbi5pbmZvLWJveCBwW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLmluZm8tYm94IHVsIGxpW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0NvbnRlbnRTaWRlYmFyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTdmODRkZDljJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29udGVudFNpZGViYXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9N2Y4NGRkOWMmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29udGVudFNpZGViYXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9N2Y4NGRkOWMmc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RleHRMYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05NDNlMjRiNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RleHRMYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05NDNlMjRiNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UZXh0TGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OTQzZTI0YjQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNvbnRlbnQtZ3JvdXBcIixjbGFzczp7J2lzLWNvbGxhcHNlZCc6ICEgX3ZtLmlzVmlzaWJsZSwgJ2NvbGxhcHNhYmxlJzogX3ZtLmNhbkNvbGxhcHNlfX0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImdyb3VwLXRpdGxlXCIsb246e1wiY2xpY2tcIjpfdm0uaGlkZUdyb3VwfX0sW19jKCdUZXh0TGFiZWwnLHtzdGF0aWNDbGFzczpcInRpdGxlXCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS50aXRsZSkpXSksX3ZtLl92KFwiIFwiKSwoX3ZtLmNhbkNvbGxhcHNlV3JhcHBlcik/X2MoJ2NoZXZyb24tdXAtaWNvbicse3N0YXRpY0NsYXNzOlwiaWNvblwiLGF0dHJzOntcInNpemVcIjpcIjEyXCJ9fSk6X3ZtLl9lKCldLDEpLF92bS5fdihcIiBcIiksX2MoJ3RyYW5zaXRpb24nLHthdHRyczp7XCJuYW1lXCI6XCJsaXN0XCJ9fSxbX2MoJ2Rpdicse2RpcmVjdGl2ZXM6W3tuYW1lOlwic2hvd1wiLHJhd05hbWU6XCJ2LXNob3dcIix2YWx1ZTooX3ZtLmlzVmlzaWJsZSksZXhwcmVzc2lvbjpcImlzVmlzaWJsZVwifV0sc3RhdGljQ2xhc3M6XCJ3cmFwcGVyXCJ9LFtfdm0uX3QoXCJkZWZhdWx0XCIpXSwyKV0pXSwxKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9UZXh0TGFiZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RleHRMYWJlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGIgY2xhc3M9XCJ0ZXh0LWxhYmVsXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICA8L2I+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ1RleHRMYWJlbCcsXG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAudGV4dC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcbiAgICAgICAgY29sb3I6ICNBRkFGQUY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLnRleHQtbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAudGV4dC1sYWJlbCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM1O1xuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vVGV4dExhYmVsLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD05NDNlMjRiNCZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9UZXh0TGFiZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9UZXh0TGFiZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1RleHRMYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05NDNlMjRiNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjk0M2UyNGI0XCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2InLHtzdGF0aWNDbGFzczpcInRleHQtbGFiZWxcIn0sW192bS5fdChcImRlZmF1bHRcIildLDIpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0NvbnRlbnRHcm91cC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29udGVudEdyb3VwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1ncm91cFwiIDpjbGFzcz1cInsnaXMtY29sbGFwc2VkJzogISBpc1Zpc2libGUsICdjb2xsYXBzYWJsZSc6IGNhbkNvbGxhcHNlfVwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJncm91cC10aXRsZVwiIEBjbGljaz1cImhpZGVHcm91cFwiPlxuICAgICAgICAgICAgPFRleHRMYWJlbCBjbGFzcz1cInRpdGxlXCI+e3sgdGl0bGUgfX08L1RleHRMYWJlbD5cbiAgICAgICAgICAgIDxjaGV2cm9uLXVwLWljb24gdi1pZj1cImNhbkNvbGxhcHNlV3JhcHBlclwiIHNpemU9XCIxMlwiIGNsYXNzPVwiaWNvblwiIC8+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDx0cmFuc2l0aW9uIG5hbWU9XCJsaXN0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiIHYtc2hvdz1cImlzVmlzaWJsZVwiPlxuICAgICAgICAgICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RyYW5zaXRpb24+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCBUZXh0TGFiZWwgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9UZXh0TGFiZWwnXG4gICAgaW1wb3J0IHsgQ2hldnJvblVwSWNvbiB9IGZyb20gJ3Z1ZS1mZWF0aGVyLWljb25zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnQ29udGVudEdyb3VwJyxcbiAgICAgICAgcHJvcHM6IFsndGl0bGUnLCAnY2FuQ29sbGFwc2UnLCAnc2x1ZyddLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBDaGV2cm9uVXBJY29uLFxuICAgICAgICAgICAgVGV4dExhYmVsLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhKCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBpc1Zpc2libGU6IHRydWUsXG4gICAgICAgICAgICAgICAgY2FuQ29sbGFwc2VXcmFwcGVyOiBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICBoaWRlR3JvdXAoKSB7XG4gICAgICAgICAgICAgICAgaWYgKCEgdGhpcy5jYW5Db2xsYXBzZVdyYXBwZXIpXG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuXG4gICAgICAgICAgICAgICAgdGhpcy5pc1Zpc2libGUgPSAhdGhpcy5pc1Zpc2libGVcbiAgICAgICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgncGFuZWwtZ3JvdXAtJyArIHRoaXMuc2x1ZywgdGhpcy5pc1Zpc2libGUpXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZWQoKSB7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmNhbkNvbGxhcHNlKSB7XG5cbiAgICAgICAgICAgICAgICBsZXQgc2F2ZWRWaXNpYmlsaXR5ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3BhbmVsLWdyb3VwLScgKyB0aGlzLnNsdWcpXG5cbiAgICAgICAgICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHNhdmVkVmlzaWJpbGl0eSA/ICEhSlNPTi5wYXJzZShTdHJpbmcoc2F2ZWRWaXNpYmlsaXR5KS50b0xvd2VyQ2FzZSgpKSA6IHRydWVcbiAgICAgICAgICAgICAgICB0aGlzLmNhbkNvbGxhcHNlV3JhcHBlciA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgc2NvcGVkIGxhbmc9XCJzY3NzXCI+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5jb250ZW50LWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuXG4gICAgICAgIC5ncm91cC10aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOXB4O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY29sbGFwc2FibGUge1xuICAgICAgICAgICAgLmdyb3VwLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWNvbGxhcHNlZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3QtZW50ZXIsXG4gICAgLmxpc3QtbGVhdmUtdG8ge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIC5saXN0LWVudGVyLWFjdGl2ZSxcbiAgICAubGlzdC1sZWF2ZS1hY3RpdmUge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vQ29udGVudEdyb3VwLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00MTE4MzA2YyZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9Db250ZW50R3JvdXAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9Db250ZW50R3JvdXAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0NvbnRlbnRHcm91cC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00MTE4MzA2YyZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjQxMTgzMDZjXCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2InLHtzdGF0aWNDbGFzczpcImNvbG9yLWxhYmVsXCIsY2xhc3M6X3ZtLmNvbG9yfSxbX3ZtLl90KFwiZGVmYXVsdFwiKV0sMil9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29sb3JMYWJlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29sb3JMYWJlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGIgY2xhc3M9XCJjb2xvci1sYWJlbFwiIDpjbGFzcz1cImNvbG9yXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICA8L2I+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ0NvbG9yTGFiZWwnLFxuICAgICAgICBwcm9wczogWydjb2xvciddLFxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLmNvbG9yLWxhYmVsIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBwYWRkaW5nOiA0cHggNnB4O1xuXG4gICAgICAgICYucHVycGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHVycGxlLCAwLjEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi55ZWxsb3cge1xuICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR5ZWxsb3csIDAuMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmdyZWVuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR0aGVtZSwgMC4xKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZGFuZ2VyLCAwLjEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcblxuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcblxuICAgIH1cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0NvbG9yTGFiZWwudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTVjNTA4ZGJmJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0NvbG9yTGFiZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjNTA4ZGJmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNWM1MDhkYmZcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIiNsb2FkaW5nLWJhci1zcGlubmVyLnNwaW5uZXJbZGF0YS12LTFkZjY2MDAyXSB7XFxuICBsZWZ0OiA1MCU7XFxuICBtYXJnaW4tbGVmdDogLTIwcHg7XFxuICB0b3A6IDUwJTtcXG4gIG1hcmdpbi10b3A6IC0yMHB4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogMTkgIWltcG9ydGFudDtcXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkaW5nLWJhci1zcGlubmVyLWRhdGEtdi0xZGY2NjAwMiA0MDBtcyBsaW5lYXIgaW5maW5pdGU7XFxuICAgICAgICAgIGFuaW1hdGlvbjogbG9hZGluZy1iYXItc3Bpbm5lci1kYXRhLXYtMWRmNjYwMDIgNDAwbXMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4jbG9hZGluZy1iYXItc3Bpbm5lci5zcGlubmVyIC5zcGlubmVyLWljb25bZGF0YS12LTFkZjY2MDAyXSB7XFxuICB3aWR0aDogNDBweDtcXG4gIGhlaWdodDogNDBweDtcXG4gIGJvcmRlcjogc29saWQgNHB4IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbn1cXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGluZy1iYXItc3Bpbm5lci1kYXRhLXYtMWRmNjYwMDIge1xcbjAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxufVxcbjEwMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbn1cXG59XFxuQGtleWZyYW1lcyBsb2FkaW5nLWJhci1zcGlubmVyLWRhdGEtdi0xZGY2NjAwMiB7XFxuMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG59XFxuMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjNTA4ZGJmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29sb3JMYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01YzUwOGRiZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTlmZDBhNDI0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05ZmQwYTQyNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTlmZDBhNDI0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db250ZW50U2lkZWJhci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD03Zjg0ZGQ5YyZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0NvbnRlbnRTaWRlYmFyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTdmODRkZDljJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OGU3YzQyZjYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThlN2M0MmY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NwaW5uZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MWRmNjYwMDImc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTFkZjY2MDAyJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RleHRMYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05NDNlMjRiNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1RleHRMYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05NDNlMjRiNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Vc2VySW1hZ2VJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1mZTI3YjliMiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VzZXJJbWFnZUlucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWZlMjdiOWIyJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF92bS5fbSgwKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzcGlubmVyXCIsYXR0cnM6e1wiaWRcIjpcImxvYWRpbmctYmFyLXNwaW5uZXJcIn19LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzcGlubmVyLWljb24gYm9yZGVyLXRvcC10aGVtZSBib3JkZXItbGVmdC10aGVtZVwifSldKX1dXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NwaW5uZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NwaW5uZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgaWQ9XCJsb2FkaW5nLWJhci1zcGlubmVyXCIgY2xhc3M9XCJzcGlubmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyLWljb24gYm9yZGVyLXRvcC10aGVtZSBib3JkZXItbGVmdC10aGVtZVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdTcGlubmVyJ1xuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgc2NvcGVkIGxhbmc9XCJzY3NzXCI+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgI2xvYWRpbmctYmFyLXNwaW5uZXIuc3Bpbm5lciB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTkgIWltcG9ydGFudDtcbiAgICAgICAgYW5pbWF0aW9uOiBsb2FkaW5nLWJhci1zcGlubmVyIDQwMG1zIGxpbmVhciBpbmZpbml0ZTtcbiAgICB9XG5cbiAgICAjbG9hZGluZy1iYXItc3Bpbm5lci5zcGlubmVyIC5zcGlubmVyLWljb24ge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3JkZXI6IHNvbGlkIDRweCB0cmFuc3BhcmVudDtcbiAgICAgICAgLy9ib3JkZXItdG9wLWNvbG9yOiAkdGhlbWUgIWltcG9ydGFudDtcbiAgICAgICAgLy9ib3JkZXItbGVmdC1jb2xvcjogJHRoZW1lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICBAa2V5ZnJhbWVzIGxvYWRpbmctYmFyLXNwaW5uZXIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIH1cbiAgICB9XG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD0xZGY2NjAwMiZzY29wZWQ9dHJ1ZSZcIlxuaW1wb3J0IHNjcmlwdCBmcm9tIFwiLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vU3Bpbm5lci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vU3Bpbm5lci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xZGY2NjAwMiZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjFkZjY2MDAyXCIsXG4gIG51bGxcbiAgXG4pXG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==