mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-05-18 03:05:01 +00:00
2 lines
405 KiB
JavaScript
Vendored
2 lines
405 KiB
JavaScript
Vendored
(window.webpackJsonp=window.webpackJsonp||[]).push([[64],{"0rhn":function(a,t,e){var n=e("MWZw");"string"==typeof n&&(n=[[a.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(n,r);n.locals&&(a.exports=n.locals)},"1nld":function(a,t,e){var n=e("krgs");"string"==typeof n&&(n=[[a.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(n,r);n.locals&&(a.exports=n.locals)},"2Sb1":function(a,t,e){"use strict";var n={name:"PageHeader",props:["title","canBack"],components:{ChevronLeftIcon:e("CjXH").g}},r=(e("JOXf"),e("KHd+")),i=Object(r.a)(n,(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("div",{staticClass:"page-header"},[a.canBack?e("div",{staticClass:"go-back",on:{click:function(t){return a.$router.back()}}},[e("chevron-left-icon",{attrs:{size:"17"}})],1):a._e(),a._v(" "),e("div",{staticClass:"content"},[e("h1",{staticClass:"title"},[a._v(a._s(a.title))])])])}),[],!1,null,"9fd0a424",null);t.a=i.exports},"3GDE":function(a,t,e){var n=e("UqlB");"string"==typeof n&&(n=[[a.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(n,r);n.locals&&(a.exports=n.locals)},"3eeM":function(a,t,e){(a.exports=e("I1BE")(!1)).push([a.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",""])},"4TWA":function(a,t,e){"use strict";var n=e("CjXH"),r={name:"SelectInput",props:["options","isError","default","placeholder"],components:{Edit2Icon:n.r,UserIcon:n.db,ChevronDownIcon:n.f},data:function(){return{selected:void 0,isOpen:!1}},methods:{selectOption:function(a){this.$emit("input",a.value),this.selected=a,this.isOpen=!1},openMenu:function(){this.isOpen=!this.isOpen}},created:function(){var a=this;this.default&&(this.selected=this.options.find((function(t){return t.value===a.default})))}},i=(e("F+Qg"),e("KHd+")),s=Object(i.a)(r,(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("div",{staticClass:"select"},[e("div",{staticClass:"input-area",class:{"is-active":a.isOpen,"is-error":a.isError},on:{click:a.openMenu}},[a.selected?e("div",{staticClass:"selected"},[a.selected.icon?e("div",{staticClass:"option-icon"},["user"===a.selected.icon?e("user-icon",{attrs:{size:"14"}}):a._e(),a._v(" "),"user-edit"===a.selected.icon?e("edit2-icon",{attrs:{size:"14"}}):a._e()],1):a._e(),a._v(" "),e("span",{staticClass:"option-value"},[a._v(a._s(a.selected.label))])]):a._e(),a._v(" "),a.selected?a._e():e("div",{staticClass:"not-selected"},[e("span",{staticClass:"option-value placehoder"},[a._v(a._s(a.placeholder))])]),a._v(" "),e("chevron-down-icon",{staticClass:"chevron",attrs:{size:"19"}})],1),a._v(" "),e("transition",{attrs:{name:"slide-in"}},[a.isOpen?e("ul",{staticClass:"input-options"},a._l(a.options,(function(t,n){return e("li",{key:n,staticClass:"option-item",on:{click:function(e){return a.selectOption(t)}}},[t.icon?e("div",{staticClass:"option-icon"},["user"===t.icon?e("user-icon",{attrs:{size:"14"}}):a._e(),a._v(" "),"user-edit"===t.icon?e("edit2-icon",{attrs:{size:"14"}}):a._e()],1):a._e(),a._v(" "),e("span",{staticClass:"option-value"},[a._v(a._s(t.label))])])})),0):a._e()])],1)}),[],!1,null,"14b1d6a3",null);t.a=s.exports},"6KZ8":function(a,t,e){var n=e("ElKT");"string"==typeof n&&(n=[[a.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(n,r);n.locals&&(a.exports=n.locals)},ElKT:function(a,t,e){(a.exports=e("I1BE")(!1)).push([a.i,".plan[data-v-1057f6d0] {\n text-align: center;\n flex: 0 0 33%;\n padding: 0 25px;\n margin-bottom: 45px;\n}\n.plan .plan-wrapper[data-v-1057f6d0] {\n box-shadow: 0 7px 20px 5px rgba(26, 36, 55, 0.03);\n padding: 25px;\n border-radius: 8px;\n transition: 0.3s all ease;\n}\n.plan .plan-wrapper[data-v-1057f6d0]:hover {\n transform: translateY(-20px) scale(1.05);\n box-shadow: 0 15px 25px 5px rgba(26, 36, 55, 0.08);\n}\n.plan .plan-header .icon path[data-v-1057f6d0], .plan .plan-header .icon line[data-v-1057f6d0], .plan .plan-header .icon polyline[data-v-1057f6d0], .plan .plan-header .icon rect[data-v-1057f6d0], .plan .plan-header .icon circle[data-v-1057f6d0] {\n color: inherit;\n}\n.plan .plan-header .title[data-v-1057f6d0] {\n font-size: 1.375em;\n font-weight: 800;\n}\n.plan .plan-header .description[data-v-1057f6d0] {\n font-size: 0.875em;\n font-weight: 600;\n}\n.plan .plan-features[data-v-1057f6d0] {\n margin: 65px 0;\n}\n.plan .plan-features .storage-size[data-v-1057f6d0] {\n font-size: 3em;\n font-weight: 900;\n line-height: 1.1;\n}\n.plan .plan-features .storage-description[data-v-1057f6d0] {\n display: block;\n font-size: 0.9375em;\n font-weight: 800;\n}\n.plan .plan-footer .sign-in-button[data-v-1057f6d0] {\n width: 100%;\n text-align: center;\n}\n.plan .plan-footer .price[data-v-1057f6d0] {\n font-size: 1.125em;\n display: block;\n margin-bottom: 20px;\n}\n.plan .plan-footer .price .vat-disclaimer[data-v-1057f6d0] {\n font-size: 0.6875em;\n color: #1B2539;\n display: block;\n font-weight: 300;\n opacity: 0.45;\n margin-top: 5px;\n}\n.plans-wrapper[data-v-1057f6d0] {\n display: flex;\n flex-wrap: wrap;\n margin: 0 -25px;\n justify-content: center;\n}\n@media only screen and (max-width: 960px) {\n.plans-wrapper[data-v-1057f6d0] {\n display: block;\n margin: 0;\n}\n}\n@media (prefers-color-scheme: dark) {\n.plan .plan-wrapper[data-v-1057f6d0] {\n background: #1e2024;\n}\n.plan .plan-header .title[data-v-1057f6d0] {\n color: #bec6cf;\n}\n.plan .plan-header .description[data-v-1057f6d0] {\n color: #7d858c;\n}\n.plan .plan-features .storage-size[data-v-1057f6d0] {\n color: #bec6cf;\n}\n.plan .plan-features .storage-description[data-v-1057f6d0] {\n color: #bec6cf;\n}\n.plan .plan-footer .sign-in-button[data-v-1057f6d0] {\n background: rgba(0, 188, 126, 0.1);\n}\n.plan .plan-footer .sign-in-button[data-v-1057f6d0] .content {\n color: #00BC7E;\n}\n.plan .plan-footer .price .vat-disclaimer[data-v-1057f6d0] {\n color: #bec6cf;\n}\n}\n",""])},"F+Qg":function(a,t,e){"use strict";var n=e("3GDE");e.n(n).a},GxOr:function(a,t,e){"use strict";e.r(t);var n=e("o0o1"),r=e.n(n),i=e("A5+z"),s=e("wz3J"),o=e("4TWA"),l=e("eZ9V"),d=e("D62o"),c=e("Nv84"),p=e("KnjL"),b=e("kPoH"),u=e("2Sb1"),v=e("zTYo"),m=e("CjXH"),g=e("TJPC"),f=e("L2JU"),_=e("xCqy"),h=e("vDqi"),y=e.n(h);function x(a,t,e,n,r,i,s){try{var o=a[i](s),l=o.value}catch(a){return void e(a)}o.done?t(l):Promise.resolve(l).then(n,r)}function w(a,t){var e=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(a,t).enumerable}))),e.push.apply(e,n)}return e}function k(a,t,e){return t in a?Object.defineProperty(a,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):a[t]=e,a}var C=void 0,P=void 0,$={name:"UpgradePlan",components:{ValidationProvider:i.ValidationProvider,ValidationObserver:i.ValidationObserver,PlanPricingTables:s.a,CreditCardIcon:m.n,MobileHeader:d.a,SelectInput:o.a,ButtonBase:c.a,PageHeader:u.a,ColorLabel:b.a,FormLabel:l.a,required:g.a,Spinner:v.a,InfoBox:p.a},computed:function(a){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?w(Object(e),!0).forEach((function(t){k(a,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(e)):w(Object(e)).forEach((function(t){Object.defineProperty(a,t,Object.getOwnPropertyDescriptor(e,t))}))}return a}({},Object(f.b)(["requestedPlan","config","countries"]),{billing:function(){return this.$store.getters.user.data.relationships.settings.data.attributes},taxRates:function(){var a=this;return this.requestedPlan.data.attributes.tax_rates.find((function(t){return t.country===a.billing.country}))}}),data:function(){return{complete:!1,stripeOptions:{hidePostalCode:!1},isLoading:!0,isSubmitted:!1,PaymentMethods:void 0,defaultPaymentMethod:void 0,errorMessage:void 0,isError:!1,payByNewCard:!1,clientSecret:void 0}},methods:{initStripe:function(){var a=(C=Stripe(this.config.stripe_public_key)).elements();(P=a.create("card")).mount(this.$refs.stripeCard)},payByNewCardForm:function(){this.payByNewCard=!0,this.isError=!1},successOrder:function(){this.$store.dispatch("getAppData"),_.a.$emit("toaster",{type:"success",message:this.$t("toaster.account_upgraded")}),this.$router.push({name:"Subscription"})},errorOrder:function(a){402===a.response.status&&(window.location.href=a.response.data.message),400===a.response.status&&(this.isError=!0,this.errorMessage=a.response.data.message),500===a.response.status&&(this.isError=!0,this.errorMessage=a.response.data.message,_.a.$emit("alert:open",{title:this.$t("popup_error.title"),message:this.$t("popup_error.message")}))},submitOrder:function(){var a,t=this;return(a=r.a.mark((function a(){var e,n,i;return r.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,t.$refs.order.validate();case 2:if(a.sent){a.next=5;break}return a.abrupt("return");case 5:if(t.isError=!1,t.isSubmitted=!0,t.defaultPaymentMethod&&!t.payByNewCard){a.next=14;break}return a.next=10,C.confirmCardSetup(t.clientSecret,{payment_method:{card:P}});case 10:e=a.sent,n=e.setupIntent,(i=e.error)?(t.isError=!0,t.isSubmitted=!1,t.errorMessage=i.message):y.a.post("/api/user/subscription/upgrade",{billing:{billing_address:t.billing.address,billing_city:t.billing.city,billing_country:t.billing.country,billing_name:t.billing.name,billing_phone_number:t.billing.phone_number,billing_postal_code:t.billing.postal_code,billing_state:t.billing.state},plan:t.requestedPlan,payment:{type:"stripe",meta:{pm:n.payment_method}}}).then((function(){t.successOrder()})).catch((function(a){t.errorOrder(a)})).finally((function(){t.isSubmitted=!1}));case 14:t.defaultPaymentMethod&&!t.payByNewCard&&y.a.post("/api/user/subscription/upgrade",{billing:{billing_address:t.billing.address,billing_city:t.billing.city,billing_country:t.billing.country,billing_name:t.billing.name,billing_phone_number:t.billing.phone_number,billing_postal_code:t.billing.postal_code,billing_state:t.billing.state},plan:t.requestedPlan,payment:{type:"stripe"}}).then((function(){t.successOrder()})).catch((function(a){t.errorOrder(a)})).finally((function(){t.isSubmitted=!1}));case 15:case"end":return a.stop()}}),a)})),function(){var t=this,e=arguments;return new Promise((function(n,r){var i=a.apply(t,e);function s(a){x(i,n,r,s,o,"next",a)}function o(a){x(i,n,r,s,o,"throw",a)}s(void 0)}))})()}},mounted:function(){this.requestedPlan?this.initStripe():this.$router.push({name:"UpgradePlan"})},created:function(){var a=this;y.a.get("/api/user/subscription/setup-intent").then((function(t){a.clientSecret=t.data.client_secret})).catch((function(){a.$isSomethingWrong()})),y.a.get("/api/user/payments").then((function(t){a.defaultPaymentMethod=t.data.default,a.PaymentMethods=t.data.others})).catch((function(){a.$isSomethingWrong()})).finally((function(){a.isLoading=!1}))}},z=(e("jOxv"),e("KHd+")),O=Object(z.a)($,(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("div",{attrs:{id:"single-page"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:!a.isLoading,expression:"! isLoading"}],staticClass:"large-width center-page",attrs:{id:"page-content"}},[e("MobileHeader",{attrs:{title:a.$router.currentRoute.meta.title}}),a._v(" "),e("div",{staticClass:"content-page"},[e("div",{staticClass:"plan-title"},[e("credit-card-icon",{staticClass:"title-icon text-theme",attrs:{size:"42"}}),a._v(" "),e("h1",[a._v(a._s(a.$t("page_upgrade_account.title")))]),a._v(" "),e("h2",[a._v(a._s(a.$t("page_upgrade_account.desription")))])],1),a._v(" "),e("div",{staticClass:"order"},[e("div",{staticClass:"steps"},[e("div",{staticClass:"payment-card"},[e("FormLabel",[a._v(a._s(a.$t("page_upgrade_account.section_card")))]),a._v(" "),e("div",{directives:[{name:"show",rawName:"v-show",value:!a.defaultPaymentMethod||a.payByNewCard,expression:"! defaultPaymentMethod || payByNewCard"}],staticClass:"register-card"},[a.config.isDemo||a.config.isDev?e("InfoBox",[e("p",[a._v("For test your payment please use "),e("b",[a._v("4242 4242 4242 4242")]),a._v(" or "),e("b",[a._v("5555 5555 5555 4444")]),a._v(" as a card number, "),e("b",[a._v("11/22")]),a._v("\n as the expiration date and "),e("b",[a._v("123")]),a._v(" as CVC number and ZIP "),e("b",[a._v("12345")]),a._v(".")])]):a._e(),a._v(" "),e("div",{ref:"stripeCard",staticClass:"stripe-card",class:{"is-error":a.isError}}),a._v(" "),a.isError?e("div",{staticClass:"card-error-message"},[e("span",[a._v(a._s(a.errorMessage))])]):a._e()],1),a._v(" "),a.defaultPaymentMethod&&!a.payByNewCard?e("div",{staticClass:"registered-cards"},[e("div",{staticClass:"credit-card",class:{"is-error":a.isError}},[e("div",{staticClass:"card-number"},[e("img",{staticClass:"credit-card-icon",attrs:{src:a.$getCreditCardBrand(a.defaultPaymentMethod.data.attributes.brand),alt:a.defaultPaymentMethod.data.attributes.brand}}),a._v(" "),e("div",{staticClass:"credit-card-numbers"},[a._v("\n •••• "+a._s(a.defaultPaymentMethod.data.attributes.last4)+"\n ")]),a._v(" "),e("ColorLabel",{attrs:{color:"purple"}},[a._v(a._s(a.$t("global.default")))])],1),a._v(" "),e("div",{staticClass:"expiration-date"},[e("span",[a._v(a._s(a.defaultPaymentMethod.data.attributes.exp_month)+" / "+a._s(a.defaultPaymentMethod.data.attributes.exp_year))])])]),a._v(" "),a.isError?a._e():e("div",{staticClass:"change-payment"},[e("span",[a._v("\n "+a._s(a.$t("page_upgrade_account.change_payment.you_can"))+"\n ")]),a._v(" "),a.PaymentMethods.data.length>0?e("router-link",{attrs:{to:{name:"PaymentMethods"}}},[a._v("\n "+a._s(a.$t("page_upgrade_account.change_payment.change_payment"))+"\n ")]):a._e(),a._v(" "),a.PaymentMethods.data.length>0?e("span",[a._v("\n "+a._s(a.$t("global.or"))+"\n ")]):a._e(),a._v(" "),e("a",{on:{click:a.payByNewCardForm}},[a._v("\n "+a._s(a.$t("page_upgrade_account.change_payment.pay_by_new_card"))+"\n ")])],1),a._v(" "),a.isError?e("div",{staticClass:"card-error-message"},[e("span",[a._v(a._s(a.errorMessage))]),a._v(" "),e("span",{staticClass:"link",on:{click:a.payByNewCardForm}},[a._v("\n "+a._s(a.$t("page_upgrade_account.errors.pay_by_another_card"))+"\n ")]),a._v(" "),e("span",[a._v("\n "+a._s(a.$t("global.or"))+"\n ")]),a._v(" "),e("router-link",{staticClass:"link",attrs:{to:{name:"PaymentMethods"}}},[a._v("\n "+a._s(a.$t("page_upgrade_account.change_payment.change_payment"))+"\n ")])],1):a._e()]):a._e()],1),a._v(" "),a.billing?e("div",{staticClass:"billing"},[e("FormLabel",[a._v(a._s(a.$t("page_upgrade_account.section_billing")))]),a._v(" "),e("ValidationObserver",{ref:"order",staticClass:"form block-form",attrs:{tag:"form"},scopedSlots:a._u([{key:"default",fn:function(t){t.invalid;return[e("div",{staticClass:"form block-form"},[e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.name"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_name"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.name,expression:"billing.name"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.name_plac"),type:"text"},domProps:{value:a.billing.name},on:{input:function(t){t.target.composing||a.$set(a.billing,"name",t.target.value)}}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.address"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_address"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.address,expression:"billing.address"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.address_plac"),type:"text"},domProps:{value:a.billing.address},on:{input:function(t){t.target.composing||a.$set(a.billing,"address",t.target.value)}}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),e("div",{staticClass:"wrapper-inline"},[e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.city"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_city"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.city,expression:"billing.city"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.city_plac"),type:"text"},domProps:{value:a.billing.city},on:{input:function(t){t.target.composing||a.$set(a.billing,"city",t.target.value)}}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.postal_code"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_postal_code"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.postal_code,expression:"billing.postal_code"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.postal_code_plac"),type:"text"},domProps:{value:a.billing.postal_code},on:{input:function(t){t.target.composing||a.$set(a.billing,"postal_code",t.target.value)}}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1)]),a._v(" "),e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.country"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_country"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("SelectInput",{attrs:{default:a.billing.country,options:a.countries,placeholder:a.$t("user_settings.country_plac"),isError:n[0]},model:{value:a.billing.country,callback:function(t){a.$set(a.billing,"country",t)},expression:"billing.country"}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.state"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_state"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.state,expression:"billing.state"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.state_plac"),type:"text"},domProps:{value:a.billing.state},on:{input:function(t){t.target.composing||a.$set(a.billing,"state",t.target.value)}}}),a._v(" "),e("small",{staticClass:"input-help"},[a._v("\n State, county, province, or region.\n ")]),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.phone_number"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_phone_number"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.phone_number,expression:"billing.phone_number"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.phone_number_plac"),type:"text"},domProps:{value:a.billing.phone_number},on:{input:function(t){t.target.composing||a.$set(a.billing,"phone_number",t.target.value)}}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1)])]}}],null,!1,1811729775)})],1):a._e()]),a._v(" "),e("div",{staticClass:"summary"},[e("FormLabel",[a._v(a._s(a.$t("page_upgrade_account.section_summary")))]),a._v(" "),a.requestedPlan?e("div",{staticClass:"summary-list",class:{"is-error":a.isError}},[e("div",{staticClass:"row"},[e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.requestedPlan.data.attributes.name))]),a._v(" "),e("small",[a._v(a._s(a.$t("page_upgrade_account.summary.period")))])]),a._v(" "),e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.requestedPlan.data.attributes.price))])])]),a._v(" "),a.taxRates?e("div",{staticClass:"row"},[e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.$t("page_upgrade_account.summary.vat"))+" - ("+a._s(a.taxRates.country)+" "+a._s(a.taxRates.percentage)+"%)")])]),a._v(" "),e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.taxRates.plan_price_formatted))])])]):a._e(),a._v(" "),a.taxRates?a._e():e("div",{staticClass:"row"},[e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.$t("global.total")))])]),a._v(" "),e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.requestedPlan.data.attributes.price))])])]),a._v(" "),a.taxRates?e("div",{staticClass:"row"},[e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.$t("page_upgrade_account.summary.total_with_vat")))])]),a._v(" "),e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.taxRates.plan_price_formatted))])])]):a._e(),a._v(" "),e("ButtonBase",{staticClass:"next-submit",attrs:{disabled:a.isSubmitted,loading:a.isSubmitted,type:"submit","button-style":"theme-solid"},nativeOn:{click:function(t){return a.submitOrder(t)}}},[a._v("\n "+a._s(a.$t("page_upgrade_account.summary.submit_button"))+"\n ")]),a._v(" "),a.isError?e("p",{staticClass:"error-message"},[a._v(a._s(a.errorMessage))]):a._e(),a._v(" "),e("small",{staticClass:"disclaimer"},[a._v("\n "+a._s(a.$t("page_upgrade_account.summary.submit_disclaimer",{app:a.config.app_name}))+"\n ")])],1):a._e()],1)])])],1),a._v(" "),a.isLoading?e("div",{attrs:{id:"loader"}},[e("Spinner")],1):a._e()])}),[],!1,null,"4a52c7b1",null);t.default=O.exports},JOXf:function(a,t,e){"use strict";var n=e("nr4+");e.n(n).a},KTPF:function(a,t,e){var n=e("Zhpj");"string"==typeof n&&(n=[[a.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(n,r);n.locals&&(a.exports=n.locals)},KnjL:function(a,t,e){"use strict";var n={name:"InfoBox",props:["type"]},r=(e("pFam"),e("KHd+")),i=Object(r.a)(n,(function(){var a=this.$createElement;return(this._self._c||a)("div",{staticClass:"info-box",class:this.type},[this._t("default")],2)}),[],!1,null,"8e7c42f6",null);t.a=i.exports},MWZw:function(a,t,e){(a.exports=e("I1BE")(!1)).push([a.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",""])},"Qqv+":function(a,t,e){var n=e("biqn");"string"==typeof n&&(n=[[a.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(n,r);n.locals&&(a.exports=n.locals)},S9YC:function(a,t,e){"use strict";var n=e("a7Lq");e.n(n).a},TJPC:function(a,t,e){"use strict";e.d(t,"a",(function(){return i}));function n(a){return null==a}function r(a){return Array.isArray(a)&&0===a.length}var i={validate:function(a,t){var e=(void 0===t?{allowFalse:!0}:t).allowFalse,i={valid:!1,required:!0};return n(a)||r(a)?i:!1!==a||e?(i.valid=!!String(a).trim().length,i):i},params:[{name:"allowFalse",default:!0}],computesRequired:!0}},UqlB:function(a,t,e){(a.exports=e("I1BE")(!1)).push([a.i,".select[data-v-14b1d6a3] {\n position: relative;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n width: 100%;\n}\n.input-options[data-v-14b1d6a3] {\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.12);\n background: white;\n border-radius: 8px;\n position: absolute;\n overflow: hidden;\n top: 65px;\n left: 0;\n right: 0;\n z-index: 9;\n max-height: 295px;\n overflow-y: auto;\n}\n.input-options .option-item[data-v-14b1d6a3] {\n padding: 13px 20px;\n display: block;\n cursor: pointer;\n}\n.input-options .option-item[data-v-14b1d6a3]:hover {\n color: #00BC7E;\n background: #f4f5f6;\n}\n.input-options .option-item[data-v-14b1d6a3]:last-child {\n border-bottom: none;\n}\n.input-area[data-v-14b1d6a3] {\n border-width: 1px;\n border-style: solid;\n border-color: transparent;\n justify-content: space-between;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n transition: 150ms all ease;\n align-items: center;\n border-radius: 8px;\n padding: 13px 20px;\n display: flex;\n outline: 0;\n width: 100%;\n cursor: pointer;\n}\n.input-area .chevron[data-v-14b1d6a3] {\n transition: 150ms all ease;\n}\n.input-area.is-active .chevron[data-v-14b1d6a3] {\n transform: rotate(180deg);\n}\n.input-area.is-error[data-v-14b1d6a3] {\n border-color: #fd397a;\n box-shadow: 0 0 7px rgba(253, 57, 122, 0.3);\n}\n.option-icon[data-v-14b1d6a3] {\n width: 20px;\n display: inline-block;\n font-size: 0.625em;\n}\n.option-icon svg[data-v-14b1d6a3] {\n margin-top: -4px;\n vertical-align: middle;\n}\n.option-value[data-v-14b1d6a3] {\n font-size: 0.875em;\n font-weight: 700;\n width: 100%;\n vertical-align: middle;\n}\n.option-value.placehoder[data-v-14b1d6a3] {\n color: rgba(27, 37, 57, 0.5);\n}\n.slide-in-enter-active[data-v-14b1d6a3] {\n transition: all 150ms ease;\n}\n.slide-in-enter[data-v-14b1d6a3] {\n opacity: 0;\n transform: translateY(-50px);\n}\n@media (prefers-color-scheme: dark) {\n.input-area[data-v-14b1d6a3] {\n background: #1e2024;\n border-color: #1e2024;\n}\n.popup-wrapper .input-area[data-v-14b1d6a3] {\n background: #25272c;\n}\n.input-options[data-v-14b1d6a3] {\n background: #1e2024;\n}\n.input-options .option-item[data-v-14b1d6a3] {\n border-bottom: none;\n}\n.input-options .option-item[data-v-14b1d6a3]:hover {\n background: #2a2c32;\n}\n.input-options .option-item:hover .option-icon path[data-v-14b1d6a3], .input-options .option-item:hover .option-icon circle[data-v-14b1d6a3] {\n color: inherit;\n}\n.input-options .option-item[data-v-14b1d6a3]:last-child {\n border-bottom: none;\n}\n.option-value.placehoder[data-v-14b1d6a3] {\n color: #7d858c;\n}\n}\n",""])},WP52:function(a,t,e){"use strict";var n=e("fLvH");e.n(n).a},Zhpj:function(a,t,e){(a.exports=e("I1BE")(!1)).push([a.i,'.form[data-v-4a52c7b1] {\n max-width: 700px;\n}\n.form.inline-form[data-v-4a52c7b1] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-4a52c7b1] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-4a52c7b1] {\n position: absolute;\n left: 0;\n bottom: -25px;\n}\n.form.block-form .wrapper-inline[data-v-4a52c7b1] {\n display: flex;\n margin: 0 -15px;\n}\n.form.block-form .wrapper-inline .block-wrapper[data-v-4a52c7b1] {\n width: 100%;\n padding: 0 15px;\n}\n.form.block-form .block-wrapper[data-v-4a52c7b1] {\n margin-bottom: 32px;\n}\n.form.block-form .block-wrapper label[data-v-4a52c7b1] {\n font-size: 0.875em;\n color: rgba(27, 37, 57, 0.8);\n font-weight: 700;\n display: block;\n margin-bottom: 7px;\n text-align: left;\n}\n.form.block-form .block-wrapper[data-v-4a52c7b1]:last-child {\n margin-bottom: 0;\n}\n.form.block-form .button[data-v-4a52c7b1] {\n margin-top: 50px;\n}\n.form .inline-wrapper[data-v-4a52c7b1] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.form .inline-wrapper .switch-label .input-help[data-v-4a52c7b1] {\n padding-top: 0;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-4a52c7b1] {\n font-weight: 700;\n color: #1B2539;\n font-size: 1em;\n margin-bottom: 5px;\n}\n.form .input-help[data-v-4a52c7b1] {\n font-size: 0.75em;\n color: rgba(27, 37, 57, 0.7);\n line-height: 1.35;\n padding-top: 10px;\n display: block;\n}\n.single-line-form[data-v-4a52c7b1] {\n display: flex;\n}\n.single-line-form .submit-button[data-v-4a52c7b1] {\n margin-left: 20px;\n}\n.error-message[data-v-4a52c7b1] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-4a52c7b1] {\n width: 100%;\n}\ninput[type="color"][data-v-4a52c7b1] {\n width: 38px;\n height: 40px;\n border: none;\n outline: none;\n background: none;\n}\ntextarea[data-v-4a52c7b1],\ninput[type="password"][data-v-4a52c7b1],\ninput[type="text"][data-v-4a52c7b1],\ninput[type="number"][data-v-4a52c7b1],\ninput[type="email"][data-v-4a52c7b1] {\n border: 1px solid transparent;\n transition: 150ms all ease;\n font-size: 1em;\n border-radius: 8px;\n padding: 13px 20px;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n font-weight: 700;\n outline: 0;\n width: 100%;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n}\ntextarea.is-error[data-v-4a52c7b1],\ninput[type="password"].is-error[data-v-4a52c7b1],\ninput[type="text"].is-error[data-v-4a52c7b1],\ninput[type="number"].is-error[data-v-4a52c7b1],\ninput[type="email"].is-error[data-v-4a52c7b1] {\n border-color: #fd397a;\n}\ntextarea[data-v-4a52c7b1]::-webkit-input-placeholder, input[type="password"][data-v-4a52c7b1]::-webkit-input-placeholder, input[type="text"][data-v-4a52c7b1]::-webkit-input-placeholder, input[type="number"][data-v-4a52c7b1]::-webkit-input-placeholder, input[type="email"][data-v-4a52c7b1]::-webkit-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-4a52c7b1]::-moz-placeholder, input[type="password"][data-v-4a52c7b1]::-moz-placeholder, input[type="text"][data-v-4a52c7b1]::-moz-placeholder, input[type="number"][data-v-4a52c7b1]::-moz-placeholder, input[type="email"][data-v-4a52c7b1]::-moz-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-4a52c7b1]:-ms-input-placeholder, input[type="password"][data-v-4a52c7b1]:-ms-input-placeholder, input[type="text"][data-v-4a52c7b1]:-ms-input-placeholder, input[type="number"][data-v-4a52c7b1]:-ms-input-placeholder, input[type="email"][data-v-4a52c7b1]:-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-4a52c7b1]::-ms-input-placeholder, input[type="password"][data-v-4a52c7b1]::-ms-input-placeholder, input[type="text"][data-v-4a52c7b1]::-ms-input-placeholder, input[type="number"][data-v-4a52c7b1]::-ms-input-placeholder, input[type="email"][data-v-4a52c7b1]::-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-4a52c7b1]::placeholder,\ninput[type="password"][data-v-4a52c7b1]::placeholder,\ninput[type="text"][data-v-4a52c7b1]::placeholder,\ninput[type="number"][data-v-4a52c7b1]::placeholder,\ninput[type="email"][data-v-4a52c7b1]::placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[disabled][data-v-4a52c7b1],\ninput[type="password"][disabled][data-v-4a52c7b1],\ninput[type="text"][disabled][data-v-4a52c7b1],\ninput[type="number"][disabled][data-v-4a52c7b1],\ninput[type="email"][disabled][data-v-4a52c7b1] {\n background: white;\n color: rgba(27, 37, 57, 0.8);\n -webkit-text-fill-color: rgba(27, 37, 57, 0.8);\n opacity: 1;\n cursor: not-allowed;\n}\n.additional-link[data-v-4a52c7b1] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-4a52c7b1], .additional-link a[data-v-4a52c7b1] {\n cursor: pointer;\n}\n.additional-link b[data-v-4a52c7b1]:hover, .additional-link a[data-v-4a52c7b1]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 1024px) {\n.form[data-v-4a52c7b1] {\n max-width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-4a52c7b1] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-4a52c7b1], .form textarea[data-v-4a52c7b1] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-4a52c7b1] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-4a52c7b1] {\n width: 100%;\n padding-right: 0;\n display: block;\n margin-bottom: 7px;\n text-align: left !important;\n font-size: 0.875em;\n padding-top: 0;\n}\n.form.block-form .button[data-v-4a52c7b1] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-4a52c7b1] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-4a52c7b1] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-4a52c7b1] {\n padding: 14px 32px;\n}\n.single-line-form[data-v-4a52c7b1] {\n display: block;\n}\n.single-line-form .submit-button[data-v-4a52c7b1] {\n margin-left: 0;\n margin-top: 20px;\n width: 100%;\n}\ntextarea[data-v-4a52c7b1],\n input[type="password"][data-v-4a52c7b1],\n input[type="number"][data-v-4a52c7b1],\n input[type="text"][data-v-4a52c7b1],\n input[type="email"][data-v-4a52c7b1] {\n padding: 14px 20px;\n}\n}\n@media only screen and (max-width: 690px) {\n.form.block-form .wrapper-inline[data-v-4a52c7b1] {\n display: block;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form .input-help[data-v-4a52c7b1] {\n color: #7d858c;\n}\n.form.block-form .block-wrapper label[data-v-4a52c7b1] {\n color: #bec6cf;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-4a52c7b1] {\n color: #bec6cf;\n}\ntextarea[data-v-4a52c7b1],\n input[type="password"][data-v-4a52c7b1],\n input[type="text"][data-v-4a52c7b1],\n input[type="number"][data-v-4a52c7b1],\n input[type="email"][data-v-4a52c7b1] {\n border-color: #1e2024;\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-4a52c7b1]::-webkit-input-placeholder, input[type="password"][data-v-4a52c7b1]::-webkit-input-placeholder, input[type="text"][data-v-4a52c7b1]::-webkit-input-placeholder, input[type="number"][data-v-4a52c7b1]::-webkit-input-placeholder, input[type="email"][data-v-4a52c7b1]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-4a52c7b1]::-moz-placeholder, input[type="password"][data-v-4a52c7b1]::-moz-placeholder, input[type="text"][data-v-4a52c7b1]::-moz-placeholder, input[type="number"][data-v-4a52c7b1]::-moz-placeholder, input[type="email"][data-v-4a52c7b1]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-4a52c7b1]:-ms-input-placeholder, input[type="password"][data-v-4a52c7b1]:-ms-input-placeholder, input[type="text"][data-v-4a52c7b1]:-ms-input-placeholder, input[type="number"][data-v-4a52c7b1]:-ms-input-placeholder, input[type="email"][data-v-4a52c7b1]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-4a52c7b1]::-ms-input-placeholder, input[type="password"][data-v-4a52c7b1]::-ms-input-placeholder, input[type="text"][data-v-4a52c7b1]::-ms-input-placeholder, input[type="number"][data-v-4a52c7b1]::-ms-input-placeholder, input[type="email"][data-v-4a52c7b1]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-4a52c7b1]::placeholder,\n input[type="password"][data-v-4a52c7b1]::placeholder,\n input[type="text"][data-v-4a52c7b1]::placeholder,\n input[type="number"][data-v-4a52c7b1]::placeholder,\n input[type="email"][data-v-4a52c7b1]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-4a52c7b1],\n input[type="password"][disabled][data-v-4a52c7b1],\n input[type="text"][disabled][data-v-4a52c7b1],\n input[type="number"][disabled][data-v-4a52c7b1],\n input[type="email"][disabled][data-v-4a52c7b1] {\n background: #1e2024;\n color: rgba(125, 133, 140, 0.8);\n -webkit-text-fill-color: rgba(125, 133, 140, 0.8);\n}\n.popup-wrapper textarea[data-v-4a52c7b1],\n .popup-wrapper input[type="password"][data-v-4a52c7b1],\n .popup-wrapper input[type="text"][data-v-4a52c7b1],\n .popup-wrapper input[type="number"][data-v-4a52c7b1],\n .popup-wrapper input[type="email"][data-v-4a52c7b1] {\n background: #25272c;\n}\n}\n.change-payment[data-v-4a52c7b1] {\n padding-top: 10px;\n}\n.change-payment span[data-v-4a52c7b1] {\n font-weight: 600;\n}\n.change-payment a[data-v-4a52c7b1] {\n cursor: pointer;\n font-weight: 700;\n}\n.change-payment a[data-v-4a52c7b1]:hover {\n text-decoration: underline;\n}\n.change-payment span[data-v-4a52c7b1], .change-payment a[data-v-4a52c7b1] {\n color: rgba(27, 37, 57, 0.7);\n font-size: 0.875em;\n}\n.card-error-message[data-v-4a52c7b1] {\n padding-top: 10px;\n}\n.card-error-message span[data-v-4a52c7b1], .card-error-message a[data-v-4a52c7b1] {\n font-size: 0.875em;\n font-weight: 600;\n color: #fd397a;\n}\n.card-error-message .link[data-v-4a52c7b1], .card-error-message a[data-v-4a52c7b1] {\n text-decoration: underline;\n cursor: pointer;\n}\n.card-error-message .link[data-v-4a52c7b1]:hover, .card-error-message a[data-v-4a52c7b1]:hover {\n text-decoration: none;\n}\n.registered-cards[data-v-4a52c7b1] {\n margin-bottom: 50px;\n}\n.register-card[data-v-4a52c7b1] {\n margin-bottom: 55px;\n}\n.credit-card[data-v-4a52c7b1] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n background: #f4f5f6;\n border-radius: 8px;\n margin-top: 20px;\n}\n.credit-card.is-error[data-v-4a52c7b1] {\n box-shadow: 0 0 7px rgba(253, 57, 122, 0.3);\n border: 2px solid #fd397a;\n border-radius: 4px;\n}\n.credit-card span[data-v-4a52c7b1] {\n font-weight: 700;\n}\n.credit-card .card-number[data-v-4a52c7b1] {\n display: flex;\n}\n.credit-card .credit-card-numbers[data-v-4a52c7b1] {\n vertical-align: middle;\n margin-right: 10px;\n}\n.credit-card .credit-card-icon[data-v-4a52c7b1] {\n vertical-align: middle;\n max-height: 20px;\n margin-right: 8px;\n}\n.stripe-card[data-v-4a52c7b1] {\n box-sizing: border-box;\n padding: 13px 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n background-color: white;\n box-shadow: 0 1px 3px 0 #e6ebf1;\n transition: box-shadow 150ms ease;\n}\n.stripe-card.is-error[data-v-4a52c7b1] {\n box-shadow: 0 0 7px rgba(253, 57, 122, 0.3);\n border: 2px solid #fd397a;\n border-radius: 4px;\n}\n.stripe-card.StripeElement--focus[data-v-4a52c7b1] {\n box-shadow: 0 1px 3px 0 #cfd7df;\n}\n.stripe-card.StripeElement--invalid[data-v-4a52c7b1] {\n border-color: #fa755a;\n}\n.stripe-card.StripeElement--webkit-autofill[data-v-4a52c7b1] {\n background-color: #fefde5 !important;\n}\n.stripe-card iframe .InputContainer .InputElement[data-v-4a52c7b1] {\n color: white;\n}\n.summary-list[data-v-4a52c7b1] {\n box-shadow: 0 7px 20px 5px rgba(26, 36, 55, 0.06);\n border-radius: 8px;\n position: -webkit-sticky;\n position: sticky;\n padding: 25px;\n top: 30px;\n}\n.summary-list.is-error[data-v-4a52c7b1] {\n border: 2px solid #fd397a;\n box-shadow: 0 7px 20px 5px rgba(253, 57, 122, 0.06);\n}\n.summary-list .error-message[data-v-4a52c7b1] {\n font-weight: 600;\n}\n.summary-list .next-submit[data-v-4a52c7b1] {\n width: 100%;\n margin-top: 20px;\n}\n.summary-list .disclaimer[data-v-4a52c7b1] {\n font-size: 0.75em;\n line-height: 1.6;\n display: block;\n margin-top: 12px;\n}\n.summary-list .row[data-v-4a52c7b1] {\n display: flex;\n justify-content: space-between;\n padding: 15px 0;\n}\n.summary-list .row[data-v-4a52c7b1]:first-child {\n padding-top: 0;\n}\n.summary-list .row[data-v-4a52c7b1]:last-of-type {\n border-top: 1px solid #F8F8F8;\n padding-bottom: 0;\n}\n.summary-list .row:last-of-type b[data-v-4a52c7b1] {\n font-weight: 800;\n}\n.summary-list .cell b[data-v-4a52c7b1] {\n display: block;\n font-size: 1.125em;\n}\n.summary-list .cell small[data-v-4a52c7b1] {\n color: rgba(27, 37, 57, 0.7);\n font-size: 0.75em;\n}\n.order[data-v-4a52c7b1] {\n display: flex;\n margin-bottom: 30px;\n}\n.order .steps[data-v-4a52c7b1] {\n flex: 0 0 65%;\n padding-right: 30px;\n}\n.order .steps .form[data-v-4a52c7b1] {\n max-width: 100%;\n}\n.order .summary[data-v-4a52c7b1] {\n flex: 0 0 34%;\n}\n.plan-title[data-v-4a52c7b1] {\n text-align: center;\n max-width: 600px;\n margin: 0 auto 80px;\n}\n.plan-title path[data-v-4a52c7b1], .plan-title line[data-v-4a52c7b1], .plan-title polyline[data-v-4a52c7b1], .plan-title rect[data-v-4a52c7b1], .plan-title circle[data-v-4a52c7b1] {\n color: inherit;\n}\n.plan-title h1[data-v-4a52c7b1] {\n font-size: 2.375em;\n font-weight: 800;\n margin-bottom: 5px;\n}\n.plan-title h2[data-v-4a52c7b1] {\n font-size: 1.25em;\n font-weight: 500;\n}\n@media (prefers-color-scheme: dark) {\n.plan-title h1[data-v-4a52c7b1] {\n color: #bec6cf;\n}\n.plan-title h2[data-v-4a52c7b1] {\n color: #7d858c;\n}\n.credit-card[data-v-4a52c7b1] {\n background: #1e2024;\n}\n.credit-card span[data-v-4a52c7b1], .credit-card .credit-card-numbers[data-v-4a52c7b1] {\n color: #bec6cf;\n}\n.change-payment span[data-v-4a52c7b1] {\n color: #7d858c;\n}\n.change-payment a[data-v-4a52c7b1] {\n color: #00BC7E;\n}\n.summary-list[data-v-4a52c7b1] {\n background: #1e2024;\n}\n.summary-list .disclaimer[data-v-4a52c7b1] {\n color: #7d858c;\n}\n.summary-list .row[data-v-4a52c7b1]:last-of-type {\n border-top: 1px solid rgba(255, 255, 255, 0.02);\n}\n.summary-list .row:last-of-type b[data-v-4a52c7b1] {\n color: #bec6cf;\n}\n.summary-list .cell b[data-v-4a52c7b1] {\n color: #bec6cf;\n}\n.summary-list .cell small[data-v-4a52c7b1] {\n color: #7d858c;\n}\n.stripe-card[data-v-4a52c7b1] {\n border: 1px solid transparent;\n box-shadow: none;\n}\n.stripe-card.StripeElement--webkit-autofill[data-v-4a52c7b1] {\n background-color: #1e2024 !important;\n}\n.stripe-card.StripeElement--focus[data-v-4a52c7b1] {\n box-shadow: none;\n border-color: #00BC7E;\n box-shadow: 0 1px 5px rgba(0, 188, 126, 0.3);\n}\n}\n@media only screen and (max-width: 960px) {\n.order[data-v-4a52c7b1] {\n display: block;\n}\n.order .steps[data-v-4a52c7b1] {\n margin-bottom: 70px;\n}\n}\n',""])},a7Lq:function(a,t,e){var n=e("yIs6");"string"==typeof n&&(n=[[a.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(n,r);n.locals&&(a.exports=n.locals)},biqn:function(a,t,e){(a.exports=e("I1BE")(!1)).push([a.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",""])},bmCq:function(a,t,e){(a.exports=e("I1BE")(!1)).push([a.i,".form-label[data-v-c8899810] {\n display: flex;\n align-items: center;\n margin-bottom: 30px;\n}\n.form-label .icon[data-v-c8899810] {\n margin-right: 10px;\n}\n.form-label .icon path[data-v-c8899810] {\n color: inherit;\n}\n.form-label .label[data-v-c8899810] {\n font-size: 1.125em;\n font-weight: 700;\n}\n@media (prefers-color-scheme: dark) {\n.form-label .label[data-v-c8899810] {\n color: #bec6cf;\n}\n}\n",""])},ePVn:function(a,t,e){"use strict";e.r(t);var n=e("o0o1"),r=e.n(n),i=e("A5+z"),s=e("wz3J"),o=e("4TWA"),l=e("eZ9V"),d=e("D62o"),c=e("Nv84"),p=e("KnjL"),b=e("kPoH"),u=e("2Sb1"),v=e("zTYo"),m=e("CjXH"),g=e("TJPC"),f=e("L2JU"),_=e("xCqy"),h=e("vDqi"),y=e.n(h);function x(a,t,e,n,r,i,s){try{var o=a[i](s),l=o.value}catch(a){return void e(a)}o.done?t(l):Promise.resolve(l).then(n,r)}function w(a,t){var e=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(a,t).enumerable}))),e.push.apply(e,n)}return e}function k(a,t,e){return t in a?Object.defineProperty(a,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):a[t]=e,a}var C=void 0,P=void 0,$={name:"SelectPlan",components:{ValidationProvider:i.ValidationProvider,ValidationObserver:i.ValidationObserver,PlanPricingTables:s.a,CreditCardIcon:m.n,MobileHeader:d.a,SelectInput:o.a,ButtonBase:c.a,PageHeader:u.a,ColorLabel:b.a,FormLabel:l.a,required:g.a,Spinner:v.a,InfoBox:p.a},computed:function(a){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?w(Object(e),!0).forEach((function(t){k(a,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(e)):w(Object(e)).forEach((function(t){Object.defineProperty(a,t,Object.getOwnPropertyDescriptor(e,t))}))}return a}({},Object(f.b)(["requestedPlan","config","countries"]),{billing:function(){return this.$store.getters.user.data.relationships.settings.data.attributes},taxRates:function(){var a=this;return this.requestedPlan.data.attributes.tax_rates.find((function(t){return t.country===a.billing.country}))}}),data:function(){return{complete:!1,stripeOptions:{hidePostalCode:!1},isLoading:!0,isSubmitted:!1,errorMessage:void 0,isError:!1,clientSecret:void 0}},methods:{initStripe:function(){var a=(C=Stripe(this.config.stripe_public_key)).elements();(P=a.create("card")).mount(this.$refs.stripeCard)},successOrder:function(){this.$store.dispatch("getAppData"),_.a.$emit("toaster",{type:"success",message:this.$t("toaster.account_upgraded")}),this.$router.push({name:"Files"})},errorOrder:function(a){402===a.response.status&&(window.location.href=a.response.data.message),400===a.response.status&&(this.isError=!0,this.errorMessage=a.response.data.message),500===a.response.status&&(this.isError=!0,this.errorMessage=a.response.data.message,_.a.$emit("alert:open",{title:this.$t("popup_error.title"),message:this.$t("popup_error.message")}))},submitOrder:function(){var a,t=this;return(a=r.a.mark((function a(){var e,n,i;return r.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.next=2,t.$refs.order.validate();case 2:if(a.sent){a.next=5;break}return a.abrupt("return");case 5:return t.isError=!1,t.isSubmitted=!0,a.next=9,C.confirmCardSetup(t.clientSecret,{payment_method:{card:P}});case 9:e=a.sent,n=e.setupIntent,(i=e.error)?(t.isError=!0,t.isSubmitted=!1,t.errorMessage=i.message):y.a.post("/api/oasis/subscribe",{billing:{billing_address:t.billing.address,billing_city:t.billing.city,billing_country:t.billing.country,billing_name:t.billing.name,billing_phone_number:t.billing.phone_number,billing_postal_code:t.billing.postal_code,billing_state:t.billing.state},plan:t.requestedPlan,payment:{type:"stripe",meta:{pm:n.payment_method}}}).then((function(){t.successOrder()})).catch((function(a){t.errorOrder(a)})).finally((function(){t.isSubmitted=!1}));case 13:case"end":return a.stop()}}),a)})),function(){var t=this,e=arguments;return new Promise((function(n,r){var i=a.apply(t,e);function s(a){x(i,n,r,s,o,"next",a)}function o(a){x(i,n,r,s,o,"throw",a)}s(void 0)}))})()}},mounted:function(){this.requestedPlan?this.initStripe():this.$router.push({name:"SetUpPlan"})},created:function(){var a=this;y.a.get("/api/user/subscription/setup-intent").then((function(t){a.clientSecret=t.data.client_secret,a.isLoading=!1})).catch((function(){a.$isSomethingWrong()}))}},z=(e("S9YC"),e("KHd+")),O=Object(z.a)($,(function(){var a=this,t=a.$createElement,e=a._self._c||t;return e("div",{attrs:{id:"single-page"}},[e("div",{directives:[{name:"show",rawName:"v-show",value:!a.isLoading,expression:"! isLoading"}],staticClass:"large-width center-page",attrs:{id:"page-content"}},[e("MobileHeader",{attrs:{title:a.$router.currentRoute.meta.title}}),a._v(" "),e("div",{staticClass:"content-page"},[e("div",{staticClass:"plan-title"},[e("credit-card-icon",{staticClass:"title-icon text-theme",attrs:{size:"42"}}),a._v(" "),e("h1",[a._v(a._s(a.$t("page_upgrade_account.title")))]),a._v(" "),e("h2",[a._v(a._s(a.$t("page_upgrade_account.desription")))])],1),a._v(" "),e("div",{staticClass:"order"},[e("div",{staticClass:"steps"},[e("div",{staticClass:"payment-card"},[e("FormLabel",[a._v(a._s(a.$t("page_upgrade_account.section_card")))]),a._v(" "),e("div",{staticClass:"register-card"},[a.config.isDemo||a.config.isDev?e("InfoBox",[e("p",[a._v("For test your payment please use "),e("b",[a._v("4242 4242 4242 4242")]),a._v(" or "),e("b",[a._v("5555 5555 5555 4444")]),a._v(" as a card number, "),e("b",[a._v("11/22")]),a._v("\n as the expiration date and "),e("b",[a._v("123")]),a._v(" as CVC number and ZIP "),e("b",[a._v("12345")]),a._v(".")])]):a._e(),a._v(" "),e("div",{ref:"stripeCard",staticClass:"stripe-card",class:{"is-error":a.isError}}),a._v(" "),a.isError?e("div",{staticClass:"card-error-message"},[e("span",[a._v(a._s(a.errorMessage))])]):a._e()],1)],1),a._v(" "),a.billing?e("div",{staticClass:"billing"},[e("FormLabel",[a._v(a._s(a.$t("page_upgrade_account.section_billing")))]),a._v(" "),e("ValidationObserver",{ref:"order",staticClass:"form block-form",attrs:{tag:"form"},scopedSlots:a._u([{key:"default",fn:function(t){t.invalid;return[e("div",{staticClass:"form block-form"},[e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.name"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_name"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.name,expression:"billing.name"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.name_plac"),type:"text"},domProps:{value:a.billing.name},on:{input:function(t){t.target.composing||a.$set(a.billing,"name",t.target.value)}}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.address"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_address"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.address,expression:"billing.address"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.address_plac"),type:"text"},domProps:{value:a.billing.address},on:{input:function(t){t.target.composing||a.$set(a.billing,"address",t.target.value)}}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),e("div",{staticClass:"wrapper-inline"},[e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.city"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_city"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.city,expression:"billing.city"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.city_plac"),type:"text"},domProps:{value:a.billing.city},on:{input:function(t){t.target.composing||a.$set(a.billing,"city",t.target.value)}}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.postal_code"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_postal_code"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.postal_code,expression:"billing.postal_code"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.postal_code_plac"),type:"text"},domProps:{value:a.billing.postal_code},on:{input:function(t){t.target.composing||a.$set(a.billing,"postal_code",t.target.value)}}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1)]),a._v(" "),e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.country"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_country"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("SelectInput",{attrs:{default:a.billing.country,options:a.countries,placeholder:a.$t("user_settings.country_plac"),isError:n[0]},model:{value:a.billing.country,callback:function(t){a.$set(a.billing,"country",t)},expression:"billing.country"}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.state"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_state"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.state,expression:"billing.state"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.state_plac"),type:"text"},domProps:{value:a.billing.state},on:{input:function(t){t.target.composing||a.$set(a.billing,"state",t.target.value)}}}),a._v(" "),e("small",{staticClass:"input-help"},[a._v("\n State, county, province, or region.\n ")]),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1),a._v(" "),e("div",{staticClass:"block-wrapper"},[e("label",[a._v(a._s(a.$t("user_settings.phone_number"))+":")]),a._v(" "),e("ValidationProvider",{staticClass:"input-wrapper",attrs:{tag:"div",mode:"passive",rules:"required",name:"billing_phone_number"},scopedSlots:a._u([{key:"default",fn:function(t){var n=t.errors;return[e("input",{directives:[{name:"model",rawName:"v-model",value:a.billing.phone_number,expression:"billing.phone_number"}],staticClass:"focus-border-theme",class:{"is-error":n[0]},attrs:{placeholder:a.$t("user_settings.phone_number_plac"),type:"text"},domProps:{value:a.billing.phone_number},on:{input:function(t){t.target.composing||a.$set(a.billing,"phone_number",t.target.value)}}}),a._v(" "),n[0]?e("span",{staticClass:"error-message"},[a._v(a._s(n[0]))]):a._e()]}}],null,!0)})],1)])]}}],null,!1,1811729775)})],1):a._e()]),a._v(" "),e("div",{staticClass:"summary"},[e("FormLabel",[a._v(a._s(a.$t("page_upgrade_account.section_summary")))]),a._v(" "),a.requestedPlan?e("div",{staticClass:"summary-list",class:{"is-error":a.isError}},[e("div",{staticClass:"row"},[e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.requestedPlan.data.attributes.name))]),a._v(" "),e("small",[a._v(a._s(a.$t("page_upgrade_account.summary.period")))])]),a._v(" "),e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.requestedPlan.data.attributes.price))])])]),a._v(" "),a.taxRates?e("div",{staticClass:"row"},[e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.$t("page_upgrade_account.summary.vat"))+" - ("+a._s(a.taxRates.country)+" "+a._s(a.taxRates.percentage)+"%)")])]),a._v(" "),e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.taxRates.plan_price_formatted))])])]):a._e(),a._v(" "),a.taxRates?a._e():e("div",{staticClass:"row"},[e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.$t("global.total")))])]),a._v(" "),e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.requestedPlan.data.attributes.price))])])]),a._v(" "),a.taxRates?e("div",{staticClass:"row"},[e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.$t("page_upgrade_account.summary.total_with_vat")))])]),a._v(" "),e("div",{staticClass:"cell"},[e("b",[a._v(a._s(a.taxRates.plan_price_formatted))])])]):a._e(),a._v(" "),e("ButtonBase",{staticClass:"next-submit",attrs:{disabled:a.isSubmitted,loading:a.isSubmitted,type:"submit","button-style":"theme-solid"},nativeOn:{click:function(t){return a.submitOrder(t)}}},[a._v("\n "+a._s(a.$t("page_upgrade_account.summary.submit_button"))+"\n ")]),a._v(" "),a.isError?e("p",{staticClass:"error-message"},[a._v(a._s(a.errorMessage))]):a._e(),a._v(" "),e("small",{staticClass:"disclaimer"},[a._v("\n "+a._s(a.$t("page_upgrade_account.summary.submit_disclaimer",{app:a.config.app_name}))+"\n ")])],1):a._e()],1)])])],1),a._v(" "),a.isLoading?e("div",{attrs:{id:"loader"}},[e("Spinner")],1):a._e()])}),[],!1,null,"b40c00a4",null);t.default=O.exports},eZ9V:function(a,t,e){"use strict";var n={name:"FormLabel",components:{Edit2Icon:e("CjXH").r}},r=(e("WP52"),e("KHd+")),i=Object(r.a)(n,(function(){var a=this.$createElement,t=this._self._c||a;return t("div",{staticClass:"form-label"},[t("edit-2-icon",{staticClass:"icon text-theme",attrs:{size:"22"}}),this._v(" "),t("b",{staticClass:"label"},[this._t("default")],2)],1)}),[],!1,null,"c8899810",null);t.a=i.exports},fLvH:function(a,t,e){var n=e("bmCq");"string"==typeof n&&(n=[[a.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(n,r);n.locals&&(a.exports=n.locals)},jOxv:function(a,t,e){"use strict";var n=e("KTPF");e.n(n).a},kPoH:function(a,t,e){"use strict";var n={name:"ColorLabel",props:["color"]},r=(e("m6y/"),e("KHd+")),i=Object(r.a)(n,(function(){var a=this.$createElement;return(this._self._c||a)("b",{staticClass:"color-label",class:this.color},[this._t("default")],2)}),[],!1,null,"5c508dbf",null);t.a=i.exports},krgs:function(a,t,e){(a.exports=e("I1BE")(!1)).push([a.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(a,t,e){"use strict";var n=e("0rhn");e.n(n).a},mUdl:function(a,t,e){"use strict";var n=e("6KZ8");e.n(n).a},"nr4+":function(a,t,e){var n=e("3eeM");"string"==typeof n&&(n=[[a.i,n,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};e("aET+")(n,r);n.locals&&(a.exports=n.locals)},pFam:function(a,t,e){"use strict";var n=e("Qqv+");e.n(n).a},ts7n:function(a,t,e){"use strict";var n=e("1nld");e.n(n).a},wz3J:function(a,t,e){"use strict";var n=e("Nv84"),r=e("CjXH"),i=e("L2JU"),s=e("vDqi"),o=e.n(s);function l(a,t){var e=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(a,t).enumerable}))),e.push.apply(e,n)}return e}function d(a,t,e){return t in a?Object.defineProperty(a,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):a[t]=e,a}var c={name:"PlanPricingTables",components:{HardDriveIcon:r.A,ButtonBase:n.a},props:["customRoute"],data:function(){return{plans:void 0}},computed:function(a){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?l(Object(e),!0).forEach((function(t){d(a,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(e)):l(Object(e)).forEach((function(t){Object.defineProperty(a,t,Object.getOwnPropertyDescriptor(e,t))}))}return a}({},Object(i.b)(["user"])),methods:{selectPlan:function(a){this.$emit("selected-plan",a);var t=this.customRoute?this.customRoute:"UpgradeBilling";this.$router.push({name:t})}},created:function(){var a=this;o.a.get("/api/pricing").then((function(t){a.plans=t.data.filter((function(t){return t.data.attributes.capacity>a.user.data.attributes.storage_capacity})),a.$emit("load",!1)}))}},p=(e("mUdl"),e("KHd+")),b=Object(p.a)(c,(function(){var a=this,t=a.$createElement,e=a._self._c||t;return a.plans?e("div",{staticClass:"plans-wrapper"},a._l(a.plans,(function(t,n){return e("article",{key:n,staticClass:"plan"},[e("div",{staticClass:"plan-wrapper"},[e("header",{staticClass:"plan-header"},[e("div",{staticClass:"icon"},[e("hard-drive-icon",{staticClass:"text-theme",attrs:{size:"26"}})],1),a._v(" "),e("h1",{staticClass:"title"},[a._v(a._s(t.data.attributes.name))]),a._v(" "),e("h2",{staticClass:"description"},[a._v(a._s(t.data.attributes.description))])]),a._v(" "),e("section",{staticClass:"plan-features"},[e("b",{staticClass:"storage-size"},[a._v(a._s(t.data.attributes.capacity_formatted))]),a._v(" "),e("span",{staticClass:"storage-description"},[a._v(a._s(a.$t("page_pricing_tables.storage_capacity")))])]),a._v(" "),e("footer",{staticClass:"plan-footer"},[e("b",{staticClass:"price text-theme"},[a._v("\n "+a._s(t.data.attributes.price)+"/"+a._s(a.$t("global.monthly_ac"))+"\n "),t.data.attributes.tax_rates.length>0?e("small",{staticClass:"vat-disclaimer"},[a._v(a._s(a.$t("page_pricing_tables.vat_excluded")))]):a._e()]),a._v(" "),e("ButtonBase",{staticClass:"sign-in-button",attrs:{type:"submit","button-style":"secondary"},nativeOn:{click:function(e){return a.selectPlan(t)}}},[a._v("\n "+a._s(a.$t("global.get_it"))+"\n ")])],1)])])})),0):a._e()}),[],!1,null,"1057f6d0",null);t.a=b.exports},yIs6:function(a,t,e){(a.exports=e("I1BE")(!1)).push([a.i,'.form[data-v-b40c00a4] {\n max-width: 700px;\n}\n.form.inline-form[data-v-b40c00a4] {\n display: flex;\n position: relative;\n justify-content: center;\n margin: 0 auto;\n}\n.form.inline-form .input-wrapper[data-v-b40c00a4] {\n position: relative;\n}\n.form.inline-form .input-wrapper .error-message[data-v-b40c00a4] {\n position: absolute;\n left: 0;\n bottom: -25px;\n}\n.form.block-form .wrapper-inline[data-v-b40c00a4] {\n display: flex;\n margin: 0 -15px;\n}\n.form.block-form .wrapper-inline .block-wrapper[data-v-b40c00a4] {\n width: 100%;\n padding: 0 15px;\n}\n.form.block-form .block-wrapper[data-v-b40c00a4] {\n margin-bottom: 32px;\n}\n.form.block-form .block-wrapper label[data-v-b40c00a4] {\n font-size: 0.875em;\n color: rgba(27, 37, 57, 0.8);\n font-weight: 700;\n display: block;\n margin-bottom: 7px;\n text-align: left;\n}\n.form.block-form .block-wrapper[data-v-b40c00a4]:last-child {\n margin-bottom: 0;\n}\n.form.block-form .button[data-v-b40c00a4] {\n margin-top: 50px;\n}\n.form .inline-wrapper[data-v-b40c00a4] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.form .inline-wrapper .switch-label .input-help[data-v-b40c00a4] {\n padding-top: 0;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-b40c00a4] {\n font-weight: 700;\n color: #1B2539;\n font-size: 1em;\n margin-bottom: 5px;\n}\n.form .input-help[data-v-b40c00a4] {\n font-size: 0.75em;\n color: rgba(27, 37, 57, 0.7);\n line-height: 1.35;\n padding-top: 10px;\n display: block;\n}\n.single-line-form[data-v-b40c00a4] {\n display: flex;\n}\n.single-line-form .submit-button[data-v-b40c00a4] {\n margin-left: 20px;\n}\n.error-message[data-v-b40c00a4] {\n font-size: 0.875em;\n color: #fd397a;\n padding-top: 5px;\n display: block;\n text-align: left;\n}\ntextarea[data-v-b40c00a4] {\n width: 100%;\n}\ninput[type="color"][data-v-b40c00a4] {\n width: 38px;\n height: 40px;\n border: none;\n outline: none;\n background: none;\n}\ntextarea[data-v-b40c00a4],\ninput[type="password"][data-v-b40c00a4],\ninput[type="text"][data-v-b40c00a4],\ninput[type="number"][data-v-b40c00a4],\ninput[type="email"][data-v-b40c00a4] {\n border: 1px solid transparent;\n transition: 150ms all ease;\n font-size: 1em;\n border-radius: 8px;\n padding: 13px 20px;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n font-weight: 700;\n outline: 0;\n width: 100%;\n box-shadow: 0 1px 5px rgba(0, 0, 0, 0.12);\n}\ntextarea.is-error[data-v-b40c00a4],\ninput[type="password"].is-error[data-v-b40c00a4],\ninput[type="text"].is-error[data-v-b40c00a4],\ninput[type="number"].is-error[data-v-b40c00a4],\ninput[type="email"].is-error[data-v-b40c00a4] {\n border-color: #fd397a;\n}\ntextarea[data-v-b40c00a4]::-webkit-input-placeholder, input[type="password"][data-v-b40c00a4]::-webkit-input-placeholder, input[type="text"][data-v-b40c00a4]::-webkit-input-placeholder, input[type="number"][data-v-b40c00a4]::-webkit-input-placeholder, input[type="email"][data-v-b40c00a4]::-webkit-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-b40c00a4]::-moz-placeholder, input[type="password"][data-v-b40c00a4]::-moz-placeholder, input[type="text"][data-v-b40c00a4]::-moz-placeholder, input[type="number"][data-v-b40c00a4]::-moz-placeholder, input[type="email"][data-v-b40c00a4]::-moz-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-b40c00a4]:-ms-input-placeholder, input[type="password"][data-v-b40c00a4]:-ms-input-placeholder, input[type="text"][data-v-b40c00a4]:-ms-input-placeholder, input[type="number"][data-v-b40c00a4]:-ms-input-placeholder, input[type="email"][data-v-b40c00a4]:-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-b40c00a4]::-ms-input-placeholder, input[type="password"][data-v-b40c00a4]::-ms-input-placeholder, input[type="text"][data-v-b40c00a4]::-ms-input-placeholder, input[type="number"][data-v-b40c00a4]::-ms-input-placeholder, input[type="email"][data-v-b40c00a4]::-ms-input-placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[data-v-b40c00a4]::placeholder,\ninput[type="password"][data-v-b40c00a4]::placeholder,\ninput[type="text"][data-v-b40c00a4]::placeholder,\ninput[type="number"][data-v-b40c00a4]::placeholder,\ninput[type="email"][data-v-b40c00a4]::placeholder {\n color: rgba(27, 37, 57, 0.5);\n font-size: 0.9375em;\n}\ntextarea[disabled][data-v-b40c00a4],\ninput[type="password"][disabled][data-v-b40c00a4],\ninput[type="text"][disabled][data-v-b40c00a4],\ninput[type="number"][disabled][data-v-b40c00a4],\ninput[type="email"][disabled][data-v-b40c00a4] {\n background: white;\n color: rgba(27, 37, 57, 0.8);\n -webkit-text-fill-color: rgba(27, 37, 57, 0.8);\n opacity: 1;\n cursor: not-allowed;\n}\n.additional-link[data-v-b40c00a4] {\n font-size: 1em;\n margin-top: 50px;\n display: block;\n}\n.additional-link b[data-v-b40c00a4], .additional-link a[data-v-b40c00a4] {\n cursor: pointer;\n}\n.additional-link b[data-v-b40c00a4]:hover, .additional-link a[data-v-b40c00a4]:hover {\n text-decoration: underline;\n}\n@media only screen and (max-width: 1024px) {\n.form[data-v-b40c00a4] {\n max-width: 100%;\n}\n}\n@media only screen and (max-width: 960px) {\n.form .button[data-v-b40c00a4] {\n margin-top: 20px;\n width: 100%;\n margin-left: 0;\n margin-right: 0;\n}\n.form input[data-v-b40c00a4], .form textarea[data-v-b40c00a4] {\n width: 100%;\n min-width: 100%;\n}\n.form.block-form .block-wrapper[data-v-b40c00a4] {\n display: block;\n}\n.form.block-form .block-wrapper label[data-v-b40c00a4] {\n width: 100%;\n padding-right: 0;\n display: block;\n margin-bottom: 7px;\n text-align: left !important;\n font-size: 0.875em;\n padding-top: 0;\n}\n.form.block-form .button[data-v-b40c00a4] {\n margin-top: 25px;\n margin-left: 0;\n margin-right: 0;\n}\n.form.inline-form[data-v-b40c00a4] {\n display: block;\n}\n.form.inline-form .input-wrapper .error-message[data-v-b40c00a4] {\n position: relative;\n bottom: 0;\n}\n.form .button[data-v-b40c00a4] {\n padding: 14px 32px;\n}\n.single-line-form[data-v-b40c00a4] {\n display: block;\n}\n.single-line-form .submit-button[data-v-b40c00a4] {\n margin-left: 0;\n margin-top: 20px;\n width: 100%;\n}\ntextarea[data-v-b40c00a4],\n input[type="password"][data-v-b40c00a4],\n input[type="number"][data-v-b40c00a4],\n input[type="text"][data-v-b40c00a4],\n input[type="email"][data-v-b40c00a4] {\n padding: 14px 20px;\n}\n}\n@media only screen and (max-width: 690px) {\n.form.block-form .wrapper-inline[data-v-b40c00a4] {\n display: block;\n}\n}\n@media (prefers-color-scheme: dark) {\n.form .input-help[data-v-b40c00a4] {\n color: #7d858c;\n}\n.form.block-form .block-wrapper label[data-v-b40c00a4] {\n color: #bec6cf;\n}\n.form .inline-wrapper .switch-label .input-label[data-v-b40c00a4] {\n color: #bec6cf;\n}\ntextarea[data-v-b40c00a4],\n input[type="password"][data-v-b40c00a4],\n input[type="text"][data-v-b40c00a4],\n input[type="number"][data-v-b40c00a4],\n input[type="email"][data-v-b40c00a4] {\n border-color: #1e2024;\n background: #1e2024;\n color: #bec6cf;\n}\ntextarea[data-v-b40c00a4]::-webkit-input-placeholder, input[type="password"][data-v-b40c00a4]::-webkit-input-placeholder, input[type="text"][data-v-b40c00a4]::-webkit-input-placeholder, input[type="number"][data-v-b40c00a4]::-webkit-input-placeholder, input[type="email"][data-v-b40c00a4]::-webkit-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-b40c00a4]::-moz-placeholder, input[type="password"][data-v-b40c00a4]::-moz-placeholder, input[type="text"][data-v-b40c00a4]::-moz-placeholder, input[type="number"][data-v-b40c00a4]::-moz-placeholder, input[type="email"][data-v-b40c00a4]::-moz-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-b40c00a4]:-ms-input-placeholder, input[type="password"][data-v-b40c00a4]:-ms-input-placeholder, input[type="text"][data-v-b40c00a4]:-ms-input-placeholder, input[type="number"][data-v-b40c00a4]:-ms-input-placeholder, input[type="email"][data-v-b40c00a4]:-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-b40c00a4]::-ms-input-placeholder, input[type="password"][data-v-b40c00a4]::-ms-input-placeholder, input[type="text"][data-v-b40c00a4]::-ms-input-placeholder, input[type="number"][data-v-b40c00a4]::-ms-input-placeholder, input[type="email"][data-v-b40c00a4]::-ms-input-placeholder {\n color: #7d858c;\n}\ntextarea[data-v-b40c00a4]::placeholder,\n input[type="password"][data-v-b40c00a4]::placeholder,\n input[type="text"][data-v-b40c00a4]::placeholder,\n input[type="number"][data-v-b40c00a4]::placeholder,\n input[type="email"][data-v-b40c00a4]::placeholder {\n color: #7d858c;\n}\ntextarea[disabled][data-v-b40c00a4],\n input[type="password"][disabled][data-v-b40c00a4],\n input[type="text"][disabled][data-v-b40c00a4],\n input[type="number"][disabled][data-v-b40c00a4],\n input[type="email"][disabled][data-v-b40c00a4] {\n background: #1e2024;\n color: rgba(125, 133, 140, 0.8);\n -webkit-text-fill-color: rgba(125, 133, 140, 0.8);\n}\n.popup-wrapper textarea[data-v-b40c00a4],\n .popup-wrapper input[type="password"][data-v-b40c00a4],\n .popup-wrapper input[type="text"][data-v-b40c00a4],\n .popup-wrapper input[type="number"][data-v-b40c00a4],\n .popup-wrapper input[type="email"][data-v-b40c00a4] {\n background: #25272c;\n}\n}\n.change-payment[data-v-b40c00a4] {\n padding-top: 10px;\n}\n.change-payment span[data-v-b40c00a4] {\n font-weight: 600;\n}\n.change-payment a[data-v-b40c00a4] {\n cursor: pointer;\n font-weight: 700;\n}\n.change-payment a[data-v-b40c00a4]:hover {\n text-decoration: underline;\n}\n.change-payment span[data-v-b40c00a4], .change-payment a[data-v-b40c00a4] {\n color: rgba(27, 37, 57, 0.7);\n font-size: 0.875em;\n}\n.card-error-message[data-v-b40c00a4] {\n padding-top: 10px;\n}\n.card-error-message span[data-v-b40c00a4], .card-error-message a[data-v-b40c00a4] {\n font-size: 0.875em;\n font-weight: 600;\n color: #fd397a;\n}\n.card-error-message .link[data-v-b40c00a4], .card-error-message a[data-v-b40c00a4] {\n text-decoration: underline;\n cursor: pointer;\n}\n.card-error-message .link[data-v-b40c00a4]:hover, .card-error-message a[data-v-b40c00a4]:hover {\n text-decoration: none;\n}\n.registered-cards[data-v-b40c00a4] {\n margin-bottom: 50px;\n}\n.register-card[data-v-b40c00a4] {\n margin-bottom: 55px;\n}\n.credit-card[data-v-b40c00a4] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px;\n background: #f4f5f6;\n border-radius: 8px;\n margin-top: 20px;\n}\n.credit-card.is-error[data-v-b40c00a4] {\n box-shadow: 0 0 7px rgba(253, 57, 122, 0.3);\n border: 2px solid #fd397a;\n border-radius: 4px;\n}\n.credit-card span[data-v-b40c00a4] {\n font-weight: 700;\n}\n.credit-card .card-number[data-v-b40c00a4] {\n display: flex;\n}\n.credit-card .credit-card-numbers[data-v-b40c00a4] {\n vertical-align: middle;\n margin-right: 10px;\n}\n.credit-card .credit-card-icon[data-v-b40c00a4] {\n vertical-align: middle;\n max-height: 20px;\n margin-right: 8px;\n}\n.stripe-card[data-v-b40c00a4] {\n box-sizing: border-box;\n padding: 13px 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n background-color: white;\n box-shadow: 0 1px 3px 0 #e6ebf1;\n transition: box-shadow 150ms ease;\n}\n.stripe-card.is-error[data-v-b40c00a4] {\n box-shadow: 0 0 7px rgba(253, 57, 122, 0.3);\n border: 2px solid #fd397a;\n border-radius: 4px;\n}\n.stripe-card.StripeElement--focus[data-v-b40c00a4] {\n box-shadow: 0 1px 3px 0 #cfd7df;\n}\n.stripe-card.StripeElement--invalid[data-v-b40c00a4] {\n border-color: #fa755a;\n}\n.stripe-card.StripeElement--webkit-autofill[data-v-b40c00a4] {\n background-color: #fefde5 !important;\n}\n.stripe-card iframe .InputContainer .InputElement[data-v-b40c00a4] {\n color: white;\n}\n.summary-list[data-v-b40c00a4] {\n box-shadow: 0 7px 20px 5px rgba(26, 36, 55, 0.06);\n border-radius: 8px;\n position: -webkit-sticky;\n position: sticky;\n padding: 25px;\n top: 30px;\n}\n.summary-list.is-error[data-v-b40c00a4] {\n border: 2px solid #fd397a;\n box-shadow: 0 7px 20px 5px rgba(253, 57, 122, 0.06);\n}\n.summary-list .error-message[data-v-b40c00a4] {\n font-weight: 600;\n}\n.summary-list .next-submit[data-v-b40c00a4] {\n width: 100%;\n margin-top: 20px;\n}\n.summary-list .disclaimer[data-v-b40c00a4] {\n font-size: 0.75em;\n line-height: 1.6;\n display: block;\n margin-top: 12px;\n}\n.summary-list .row[data-v-b40c00a4] {\n display: flex;\n justify-content: space-between;\n padding: 15px 0;\n}\n.summary-list .row[data-v-b40c00a4]:first-child {\n padding-top: 0;\n}\n.summary-list .row[data-v-b40c00a4]:last-of-type {\n border-top: 1px solid #F8F8F8;\n padding-bottom: 0;\n}\n.summary-list .row:last-of-type b[data-v-b40c00a4] {\n font-weight: 800;\n}\n.summary-list .cell b[data-v-b40c00a4] {\n display: block;\n font-size: 1.125em;\n}\n.summary-list .cell small[data-v-b40c00a4] {\n color: rgba(27, 37, 57, 0.7);\n font-size: 0.75em;\n}\n.order[data-v-b40c00a4] {\n display: flex;\n margin-bottom: 30px;\n}\n.order .steps[data-v-b40c00a4] {\n flex: 0 0 65%;\n padding-right: 30px;\n}\n.order .steps .form[data-v-b40c00a4] {\n max-width: 100%;\n}\n.order .summary[data-v-b40c00a4] {\n flex: 0 0 34%;\n}\n.plan-title[data-v-b40c00a4] {\n text-align: center;\n max-width: 600px;\n margin: 0 auto 80px;\n}\n.plan-title path[data-v-b40c00a4], .plan-title line[data-v-b40c00a4], .plan-title polyline[data-v-b40c00a4], .plan-title rect[data-v-b40c00a4], .plan-title circle[data-v-b40c00a4] {\n color: inherit;\n}\n.plan-title h1[data-v-b40c00a4] {\n font-size: 2.375em;\n font-weight: 800;\n margin-bottom: 5px;\n}\n.plan-title h2[data-v-b40c00a4] {\n font-size: 1.25em;\n font-weight: 500;\n}\n@media (prefers-color-scheme: dark) {\n.plan-title h1[data-v-b40c00a4] {\n color: #bec6cf;\n}\n.plan-title h2[data-v-b40c00a4] {\n color: #7d858c;\n}\n.credit-card[data-v-b40c00a4] {\n background: #1e2024;\n}\n.credit-card span[data-v-b40c00a4], .credit-card .credit-card-numbers[data-v-b40c00a4] {\n color: #bec6cf;\n}\n.change-payment span[data-v-b40c00a4] {\n color: #7d858c;\n}\n.change-payment a[data-v-b40c00a4] {\n color: #00BC7E;\n}\n.summary-list[data-v-b40c00a4] {\n background: #1e2024;\n}\n.summary-list .disclaimer[data-v-b40c00a4] {\n color: #7d858c;\n}\n.summary-list .row[data-v-b40c00a4]:last-of-type {\n border-top: 1px solid rgba(255, 255, 255, 0.02);\n}\n.summary-list .row:last-of-type b[data-v-b40c00a4] {\n color: #bec6cf;\n}\n.summary-list .cell b[data-v-b40c00a4] {\n color: #bec6cf;\n}\n.summary-list .cell small[data-v-b40c00a4] {\n color: #7d858c;\n}\n.stripe-card[data-v-b40c00a4] {\n border: 1px solid transparent;\n box-shadow: none;\n}\n.stripe-card.StripeElement--webkit-autofill[data-v-b40c00a4] {\n background-color: #1e2024 !important;\n}\n.stripe-card.StripeElement--focus[data-v-b40c00a4] {\n box-shadow: none;\n border-color: #00BC7E;\n box-shadow: 0 1px 5px rgba(0, 188, 126, 0.3);\n}\n}\n@media only screen and (max-width: 960px) {\n.order[data-v-b40c00a4] {\n display: block;\n}\n.order .steps[data-v-b40c00a4] {\n margin-bottom: 70px;\n}\n}\n',""])},zTYo:function(a,t,e){"use strict";var n={name:"Spinner"},r=(e("ts7n"),e("KHd+")),i=Object(r.a)(n,(function(){var a=this.$createElement;this._self._c;return this._m(0)}),[function(){var a=this.$createElement,t=this._self._c||a;return t("div",{staticClass:"spinner",attrs:{id:"loading-bar-spinner"}},[t("div",{staticClass:"spinner-icon border-top-theme border-left-theme"})])}],!1,null,"1df66002",null);t.a=i.exports}}]);
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbC52dWU/ZTg3OCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9GaWxlc1ZpZXcvU3Bpbm5lci52dWU/ODhjYSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGFnZUhlYWRlci52dWU/NWVjOSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGFnZUhlYWRlci52dWU/NGIxNyIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXIudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QYWdlSGVhZGVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlPzZjZjIiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXIudnVlP2JmN2EiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0LnZ1ZT8zZWQzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWU/YjU4NCIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvU2VsZWN0SW5wdXQudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QbGFuUHJpY2luZ1RhYmxlcy52dWU/NWQ5MCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGxhblByaWNpbmdUYWJsZXMudnVlPzA5YjIiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0LnZ1ZT9jMTBmIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9VcGdyYWRlL1VwZ3JhZGVCaWxsaW5nLnZ1ZT80NjQ1Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvdmlld3MvVXBncmFkZS9VcGdyYWRlQmlsbGluZy52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL1VwZ3JhZGUvVXBncmFkZUJpbGxpbmcudnVlPzY3NTkiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL3ZpZXdzL1VwZ3JhZGUvVXBncmFkZUJpbGxpbmcudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QYWdlSGVhZGVyLnZ1ZT9lYmM1Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9VcGdyYWRlL1VwZ3JhZGVCaWxsaW5nLnZ1ZT83NmIwIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT8xOGY1Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT81N2U4Iiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0luZm9Cb3gudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Db2xvckxhYmVsLnZ1ZT9iMmJiIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94LnZ1ZT85OGU2Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9PbmJvYXJkaW5nL1BheUZvclBsYW4udnVlPzA4MTQiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3ZlZS12YWxpZGF0ZS9kaXN0L3J1bGVzLmpzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dC52dWU/YzFhNCIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsLnZ1ZT8wOTgwIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy92aWV3cy9VcGdyYWRlL1VwZ3JhZGVCaWxsaW5nLnZ1ZT9lMDE4Iiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9PbmJvYXJkaW5nL1BheUZvclBsYW4udnVlPzY5NjYiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0luZm9Cb3gudnVlPzgzYmUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWU/NWRiNiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvT2FzaXMvT25ib2FyZGluZy9QYXlGb3JQbGFuLnZ1ZT8zMDYwIiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvT2FzaXMvT25ib2FyZGluZy9QYXlGb3JQbGFuLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvT2FzaXMvT25ib2FyZGluZy9QYXlGb3JQbGFuLnZ1ZT81NDhjIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9PbmJvYXJkaW5nL1BheUZvclBsYW4udnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9Gb3JtTGFiZWwudnVlPzg2MjgiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWU/ZmZkOSIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0Zvcm1MYWJlbC52dWU/MmNmMSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvdmlld3MvVXBncmFkZS9VcGdyYWRlQmlsbGluZy52dWU/YTQzNyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbC52dWU/N2MyYyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbC52dWU/ZjBlZiIsIndlYnBhY2s6Ly8vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0NvbG9yTGFiZWwudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9Db2xvckxhYmVsLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9GaWxlc1ZpZXcvU3Bpbm5lci52dWU/NDA1MyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbC52dWU/MGEzYiIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGxhblByaWNpbmdUYWJsZXMudnVlPzI2MGYiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXIudnVlPzNlMjciLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL0luZm9Cb3gudnVlPzk0NzAiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvRmlsZXNWaWV3L1NwaW5uZXIudnVlPzA2NzIiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvT3RoZXJzL1BsYW5QcmljaW5nVGFibGVzLnZ1ZT8yYjBkIiwid2VicGFjazovLy9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGxhblByaWNpbmdUYWJsZXMudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL090aGVycy9QbGFuUHJpY2luZ1RhYmxlcy52dWU/ZTdjMyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9PdGhlcnMvUGxhblByaWNpbmdUYWJsZXMudnVlIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9PYXNpcy9PbmJvYXJkaW5nL1BheUZvclBsYW4udnVlPzk3ZjciLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvRmlsZXNWaWV3L1NwaW5uZXIudnVlPzQwMWUiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2NvbXBvbmVudHMvRmlsZXNWaWV3L1NwaW5uZXIudnVlPzMzYzciLCJ3ZWJwYWNrOi8vL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0ZpbGVzVmlldy9TcGlubmVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9GaWxlc1ZpZXcvU3Bpbm5lci52dWUiXSwibmFtZXMiOlsiY29udGVudCIsIm1vZHVsZSIsImkiLCJvcHRpb25zIiwidHJhbnNmb3JtIiwidW5kZWZpbmVkIiwibG9jYWxzIiwiZXhwb3J0cyIsImNvbXBvbmVudCIsIl92bSIsInRoaXMiLCJfaCIsIiRjcmVhdGVFbGVtZW50IiwiX2MiLCJfc2VsZiIsInN0YXRpY0NsYXNzIiwib24iLCIkZXZlbnQiLCIkcm91dGVyIiwiYmFjayIsImF0dHJzIiwiX2UiLCJfdiIsIl9zIiwidGl0bGUiLCJwdXNoIiwiY2xhc3MiLCJpc09wZW4iLCJpc0Vycm9yIiwib3Blbk1lbnUiLCJzZWxlY3RlZCIsImljb24iLCJsYWJlbCIsInBsYWNlaG9sZGVyIiwiX2wiLCJvcHRpb24iLCJrZXkiLCJzZWxlY3RPcHRpb24iLCJkaXJlY3RpdmVzIiwibmFtZSIsInJhd05hbWUiLCJ2YWx1ZSIsImlzTG9hZGluZyIsImV4cHJlc3Npb24iLCJjdXJyZW50Um91dGUiLCJtZXRhIiwiJHQiLCJkZWZhdWx0UGF5bWVudE1ldGhvZCIsInBheUJ5TmV3Q2FyZCIsImNvbmZpZyIsImlzRGVtbyIsImlzRGV2IiwicmVmIiwiZXJyb3JNZXNzYWdlIiwiJGdldENyZWRpdENhcmRCcmFuZCIsImRhdGEiLCJhdHRyaWJ1dGVzIiwiYnJhbmQiLCJsYXN0NCIsImV4cF9tb250aCIsImV4cF95ZWFyIiwiUGF5bWVudE1ldGhvZHMiLCJsZW5ndGgiLCJwYXlCeU5ld0NhcmRGb3JtIiwic2NvcGVkU2xvdHMiLCJfdSIsImZuIiwiaW52YWxpZCIsImVycm9ycyIsImJpbGxpbmciLCJkb21Qcm9wcyIsInRhcmdldCIsImNvbXBvc2luZyIsIiRzZXQiLCJjb3VudHJ5IiwiY291bnRyaWVzIiwibW9kZWwiLCJjYWxsYmFjayIsIiQkdiIsInJlcXVlc3RlZFBsYW4iLCJwcmljZSIsInRheFJhdGVzIiwicGVyY2VudGFnZSIsInBsYW5fcHJpY2VfZm9ybWF0dGVkIiwiaXNTdWJtaXR0ZWQiLCJuYXRpdmVPbiIsInN1Ym1pdE9yZGVyIiwiYXBwIiwiYXBwX25hbWUiLCJ0eXBlIiwiX3QiLCJpc051bGxPclVuZGVmaW5lZCIsImlzRW1wdHlBcnJheSIsImFyciIsIkFycmF5IiwiaXNBcnJheSIsInJlcXVpcmVkIiwidmFsaWRhdGUiLCJfYSIsImFsbG93RmFsc2UiLCJyZXN1bHQiLCJ2YWxpZCIsIlN0cmluZyIsInRyaW0iLCJwYXJhbXMiLCJkZWZhdWx0IiwiY29tcHV0ZXNSZXF1aXJlZCIsImNvbG9yIiwicGxhbiIsImRlc2NyaXB0aW9uIiwiY2Fw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dW5rcy91cGdyYWRlLWJpbGxpbmcuanM/aWQ9Yjc4YWRkNjU2ODEzMzA0ZDQ3OTIiLCJzb3VyY2VzQ29udGVudCI6WyJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjNTA4ZGJmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29sb3JMYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01YzUwOGRiZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjNTA4ZGJmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTFkZjY2MDAyJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3Bpbm5lci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xZGY2NjAwMiZzY29wZWQ9dHJ1ZSZsYW5nPXNjc3MmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTFkZjY2MDAyJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJwYWdlLWhlYWRlclwifSxbKF92bS5jYW5CYWNrKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJnby1iYWNrXCIsb246e1wiY2xpY2tcIjpmdW5jdGlvbigkZXZlbnQpe3JldHVybiBfdm0uJHJvdXRlci5iYWNrKCl9fX0sW19jKCdjaGV2cm9uLWxlZnQtaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE3XCJ9fSldLDEpOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY29udGVudFwifSxbX2MoJ2gxJyx7c3RhdGljQ2xhc3M6XCJ0aXRsZVwifSxbX3ZtLl92KF92bS5fcyhfdm0udGl0bGUpKV0pXSldKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwicGFnZS1oZWFkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdvLWJhY2tcIiB2LWlmPVwiY2FuQmFja1wiIEBjbGljaz1cIiRyb3V0ZXIuYmFjaygpXCI+XG4gICAgICAgICAgICA8Y2hldnJvbi1sZWZ0LWljb24gc2l6ZT1cIjE3XCI+PC9jaGV2cm9uLWxlZnQtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XG4gICAgICAgICAgICA8aDEgY2xhc3M9XCJ0aXRsZVwiPnt7IHRpdGxlIH19PC9oMT5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCB7IENoZXZyb25MZWZ0SWNvbiB9IGZyb20gJ3Z1ZS1mZWF0aGVyLWljb25zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnUGFnZUhlYWRlcicsXG4gICAgICAgIHByb3BzOiBbXG4gICAgICAgICAgICAndGl0bGUnLCAnY2FuQmFjaydcbiAgICAgICAgXSxcbiAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgQ2hldnJvbkxlZnRJY29uXG4gICAgICAgIH0sXG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nby1iYWNrIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG5cbiAgICAgICAgLnBhZ2UtaGVhZGVyIHtcblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OTBweCkge1xuICAgICAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcblxuICAgICAgICAucGFnZS1oZWFkZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfbW9kZV9iYWNrZ3JvdW5kO1xuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmljb24gcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHRoZW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9OWZkMGE0MjQmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OWZkMGE0MjQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI5ZmQwYTQyNFwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLnBhZ2UtaGVhZGVyW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIHotaW5kZXg6IDk7XFxuICB3aWR0aDogMTAwJTtcXG4gIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcXG4gIHBvc2l0aW9uOiBzdGlja3k7XFxuICB0b3A6IDA7XFxuICBwYWRkaW5nLXRvcDogMjBweDtcXG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xcbn1cXG4ucGFnZS1oZWFkZXIgLnRpdGxlW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbn1cXG4ucGFnZS1oZWFkZXIgLmdvLWJhY2tbZGF0YS12LTlmZDBhNDI0XSB7XFxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxufVxcbi5wYWdlLWhlYWRlciAuZ28tYmFjayBzdmdbZGF0YS12LTlmZDBhNDI0XSB7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbiAgbWFyZ2luLXRvcDogLTRweDtcXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xcbi5wYWdlLWhlYWRlciAudGl0bGVbZGF0YS12LTlmZDBhNDI0XSB7XFxuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjkwcHgpIHtcXG4ucGFnZS1oZWFkZXJbZGF0YS12LTlmZDBhNDI0XSB7XFxuICAgIGRpc3BsYXk6IG5vbmU7XFxufVxcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLnBhZ2UtaGVhZGVyW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMTMxNDE0O1xcbn1cXG4ucGFnZS1oZWFkZXIgLnRpdGxlW2RhdGEtdi05ZmQwYTQyNF0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLnBhZ2UtaGVhZGVyIC5pY29uIHBhdGhbZGF0YS12LTlmZDBhNDI0XSB7XFxuICAgIGZpbGw6ICMwMEJDN0U7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzZWxlY3RcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImlucHV0LWFyZWFcIixjbGFzczp7J2lzLWFjdGl2ZSc6IF92bS5pc09wZW4sICdpcy1lcnJvcic6IF92bS5pc0Vycm9yfSxvbjp7XCJjbGlja1wiOl92bS5vcGVuTWVudX19LFsoX3ZtLnNlbGVjdGVkKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzZWxlY3RlZFwifSxbKF92bS5zZWxlY3RlZC5pY29uKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJvcHRpb24taWNvblwifSxbKF92bS5zZWxlY3RlZC5pY29uID09PSAndXNlcicpP19jKCd1c2VyLWljb24nLHthdHRyczp7XCJzaXplXCI6XCIxNFwifX0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKF92bS5zZWxlY3RlZC5pY29uID09PSAndXNlci1lZGl0Jyk/X2MoJ2VkaXQyLWljb24nLHthdHRyczp7XCJzaXplXCI6XCIxNFwifX0pOl92bS5fZSgpXSwxKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJvcHRpb24tdmFsdWVcIn0sW192bS5fdihfdm0uX3MoX3ZtLnNlbGVjdGVkLmxhYmVsKSldKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksKCEgX3ZtLnNlbGVjdGVkKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJub3Qtc2VsZWN0ZWRcIn0sW19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJvcHRpb24tdmFsdWUgcGxhY2Vob2RlclwifSxbX3ZtLl92KF92bS5fcyhfdm0ucGxhY2Vob2xkZXIpKV0pXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnY2hldnJvbi1kb3duLWljb24nLHtzdGF0aWNDbGFzczpcImNoZXZyb25cIixhdHRyczp7XCJzaXplXCI6XCIxOVwifX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCd0cmFuc2l0aW9uJyx7YXR0cnM6e1wibmFtZVwiOlwic2xpZGUtaW5cIn19LFsoX3ZtLmlzT3Blbik/X2MoJ3VsJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC1vcHRpb25zXCJ9LF92bS5fbCgoX3ZtLm9wdGlvbnMpLGZ1bmN0aW9uKG9wdGlvbixpKXtyZXR1cm4gX2MoJ2xpJyx7a2V5Omksc3RhdGljQ2xhc3M6XCJvcHRpb24taXRlbVwiLG9uOntcImNsaWNrXCI6ZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLnNlbGVjdE9wdGlvbihvcHRpb24pfX19LFsob3B0aW9uLmljb24pP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcIm9wdGlvbi1pY29uXCJ9LFsob3B0aW9uLmljb24gPT09ICd1c2VyJyk/X2MoJ3VzZXItaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE0XCJ9fSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwob3B0aW9uLmljb24gPT09ICd1c2VyLWVkaXQnKT9fYygnZWRpdDItaWNvbicse2F0dHJzOntcInNpemVcIjpcIjE0XCJ9fSk6X3ZtLl9lKCldLDEpOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcIm9wdGlvbi12YWx1ZVwifSxbX3ZtLl92KF92bS5fcyhvcHRpb24ubGFiZWwpKV0pXSl9KSwwKTpfdm0uX2UoKV0pXSwxKX1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RcIj5cblxuICAgICAgICA8IS0tQXJlYS0tPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtYXJlYVwiIDpjbGFzcz1cInsnaXMtYWN0aXZlJzogaXNPcGVuLCAnaXMtZXJyb3InOiBpc0Vycm9yfVwiIEBjbGljaz1cIm9wZW5NZW51XCI+XG5cbiAgICAgICAgICAgIDwhLS1JZiBpcyBzZWxlY3RlZC0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkXCIgdi1pZj1cInNlbGVjdGVkXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9wdGlvbi1pY29uXCIgdi1pZj1cInNlbGVjdGVkLmljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPHVzZXItaWNvbiB2LWlmPVwic2VsZWN0ZWQuaWNvbiA9PT0gJ3VzZXInXCIgc2l6ZT1cIjE0XCI+PC91c2VyLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxlZGl0Mi1pY29uIHYtaWY9XCJzZWxlY3RlZC5pY29uID09PSAndXNlci1lZGl0J1wiIHNpemU9XCIxNFwiPjwvZWRpdDItaWNvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm9wdGlvbi12YWx1ZVwiPnt7IHNlbGVjdGVkLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDwhLS1JZiBpcyBlbXB0eS0tPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vdC1zZWxlY3RlZFwiIHYtaWY9XCIhIHNlbGVjdGVkXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJvcHRpb24tdmFsdWUgcGxhY2Vob2RlclwiPnt7IHBsYWNlaG9sZGVyIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxjaGV2cm9uLWRvd24taWNvbiBzaXplPVwiMTlcIiBjbGFzcz1cImNoZXZyb25cIiAvPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tT3B0aW9ucy0tPlxuICAgICAgICA8dHJhbnNpdGlvbiBuYW1lPVwic2xpZGUtaW5cIj5cbiAgICAgICAgICAgIDx1bCBjbGFzcz1cImlucHV0LW9wdGlvbnNcIiB2LWlmPVwiaXNPcGVuXCI+XG4gICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwib3B0aW9uLWl0ZW1cIiBAY2xpY2s9XCJzZWxlY3RPcHRpb24ob3B0aW9uKVwiIHYtZm9yPVwiKG9wdGlvbiwgaSkgaW4gb3B0aW9uc1wiIDprZXk9XCJpXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJvcHRpb24taWNvblwiIHYtaWY9XCJvcHRpb24uaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHVzZXItaWNvbiB2LWlmPVwib3B0aW9uLmljb24gPT09ICd1c2VyJ1wiIHNpemU9XCIxNFwiPjwvdXNlci1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGVkaXQyLWljb24gdi1pZj1cIm9wdGlvbi5pY29uID09PSAndXNlci1lZGl0J1wiIHNpemU9XCIxNFwiPjwvZWRpdDItaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwib3B0aW9uLXZhbHVlXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICA8L3RyYW5zaXRpb24+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCB7IENoZXZyb25Eb3duSWNvbiwgRWRpdDJJY29uLCBVc2VySWNvbiB9IGZyb20gJ3Z1ZS1mZWF0aGVyLWljb25zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOidTZWxlY3RJbnB1dCcsXG4gICAgICAgIHByb3BzOiBbJ29wdGlvbnMnLCAnaXNFcnJvcicsICdkZWZhdWx0JywgJ3BsYWNlaG9sZGVyJ10sXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIEVkaXQySWNvbixcbiAgICAgICAgICAgIFVzZXJJY29uLFxuICAgICAgICAgICAgQ2hldnJvbkRvd25JY29uXG4gICAgICAgIH0sXG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgaXNPcGVuOiBmYWxzZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgbWV0aG9kczoge1xuICAgICAgICAgICAgc2VsZWN0T3B0aW9uKG9wdGlvbikge1xuXG4gICAgICAgICAgICAgICAgLy8gRW1pdCBzZWxlY3RlZFxuICAgICAgICAgICAgICAgIHRoaXMuJGVtaXQoJ2lucHV0Jywgb3B0aW9uLnZhbHVlKVxuXG4gICAgICAgICAgICAgICAgLy8gR2V0IHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IG9wdGlvblxuXG4gICAgICAgICAgICAgICAgLy8gQ2xvc2UgbWVudVxuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcGVuTWVudSgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzT3BlbiA9ICEgdGhpcy5pc09wZW5cbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGNyZWF0ZWQoKSB7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmRlZmF1bHQpXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMub3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMuZGVmYXVsdClcbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLnNlbGVjdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5pbnB1dC1vcHRpb25zIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRvcDogNjVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI5NXB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAgIC5vcHRpb24taXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRfYmFja2dyb3VuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlucHV0LWFyZWEge1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiAkbGlnaHRfbW9kZV9pbnB1dF9iYWNrZ3JvdW5kO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDE1MG1zKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmNoZXZyb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigxNTBtcyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAvL2JveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgkdGhlbWUsIDAuMyk7XG5cbiAgICAgICAgICAgIC5jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1lcnJvciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRkYW5nZXI7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoJGRhbmdlciwgMC4zKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb24taWNvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMCk7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9wdGlvbi12YWx1ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICYucGxhY2Vob2RlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgkdGV4dCwgMC41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZS1pbi1lbnRlci1hY3RpdmUge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgZWFzZTtcbiAgICB9XG5cbiAgICAuc2xpZGUtaW4tZW50ZXIgLyogLmxpc3QtbGVhdmUtYWN0aXZlIGJlbG93IHZlcnNpb24gMi4xLjggKi9cbiAgICB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuXG4gICAgICAgIC5pbnB1dC1hcmVhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvcHVwLXdyYXBwZXIge1xuICAgICAgICAgICAgLmlucHV0LWFyZWEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGRhcmtfbW9kZV9mb3JlZ3JvdW5kLCAzJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQtb3B0aW9ucyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19tb2RlX2ZvcmVncm91bmQ7XG5cbiAgICAgICAgICAgIC5vcHRpb24taXRlbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRkYXJrX21vZGVfZm9yZWdyb3VuZCwgNSUpO1xuXG4gICAgICAgICAgICAgICAgICAgIC5vcHRpb24taWNvbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgsIGNpcmNsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcHRpb24tdmFsdWUge1xuXG4gICAgICAgICAgICAmLnBsYWNlaG9kZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG48L3N0eWxlPlxuIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTRiMWQ2YTMmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vU2VsZWN0SW5wdXQudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTRiMWQ2YTMmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIxNGIxZDZhM1wiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BsYW5QcmljaW5nVGFibGVzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTEwNTdmNmQwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGxhblByaWNpbmdUYWJsZXMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTA1N2Y2ZDAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiLCBmdW5jdGlvbigpIHtcblx0XHR2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGxhblByaWNpbmdUYWJsZXMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTA1N2Y2ZDAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLnBsYW5bZGF0YS12LTEwNTdmNmQwXSB7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxuICBmbGV4OiAwIDAgMzMlO1xcbiAgcGFkZGluZzogMCAyNXB4O1xcbiAgbWFyZ2luLWJvdHRvbTogNDVweDtcXG59XFxuLnBsYW4gLnBsYW4td3JhcHBlcltkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gIGJveC1zaGFkb3c6IDAgN3B4IDIwcHggNXB4IHJnYmEoMjYsIDM2LCA1NSwgMC4wMyk7XFxuICBwYWRkaW5nOiAyNXB4O1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZTtcXG59XFxuLnBsYW4gLnBsYW4td3JhcHBlcltkYXRhLXYtMTA1N2Y2ZDBdOmhvdmVyIHtcXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkgc2NhbGUoMS4wNSk7XFxuICBib3gtc2hhZG93OiAwIDE1cHggMjVweCA1cHggcmdiYSgyNiwgMzYsIDU1LCAwLjA4KTtcXG59XFxuLnBsYW4gLnBsYW4taGVhZGVyIC5pY29uIHBhdGhbZGF0YS12LTEwNTdmNmQwXSwgLnBsYW4gLnBsYW4taGVhZGVyIC5pY29uIGxpbmVbZGF0YS12LTEwNTdmNmQwXSwgLnBsYW4gLnBsYW4taGVhZGVyIC5pY29uIHBvbHlsaW5lW2RhdGEtdi0xMDU3ZjZkMF0sIC5wbGFuIC5wbGFuLWhlYWRlciAuaWNvbiByZWN0W2RhdGEtdi0xMDU3ZjZkMF0sIC5wbGFuIC5wbGFuLWhlYWRlciAuaWNvbiBjaXJjbGVbZGF0YS12LTEwNTdmNmQwXSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG59XFxuLnBsYW4gLnBsYW4taGVhZGVyIC50aXRsZVtkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gIGZvbnQtc2l6ZTogMS4zNzVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5wbGFuIC5wbGFuLWhlYWRlciAuZGVzY3JpcHRpb25bZGF0YS12LTEwNTdmNmQwXSB7XFxuICBmb250LXNpemU6IDAuODc1ZW07XFxuICBmb250LXdlaWdodDogNjAwO1xcbn1cXG4ucGxhbiAucGxhbi1mZWF0dXJlc1tkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gIG1hcmdpbjogNjVweCAwO1xcbn1cXG4ucGxhbiAucGxhbi1mZWF0dXJlcyAuc3RvcmFnZS1zaXplW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgZm9udC1zaXplOiAzZW07XFxuICBmb250LXdlaWdodDogOTAwO1xcbiAgbGluZS1oZWlnaHQ6IDEuMTtcXG59XFxuLnBsYW4gLnBsYW4tZmVhdHVyZXMgLnN0b3JhZ2UtZGVzY3JpcHRpb25bZGF0YS12LTEwNTdmNmQwXSB7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxuICBmb250LXdlaWdodDogODAwO1xcbn1cXG4ucGxhbiAucGxhbi1mb290ZXIgLnNpZ24taW4tYnV0dG9uW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgd2lkdGg6IDEwMCU7XFxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XFxufVxcbi5wbGFuIC5wbGFuLWZvb3RlciAucHJpY2VbZGF0YS12LTEwNTdmNmQwXSB7XFxuICBmb250LXNpemU6IDEuMTI1ZW07XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XFxufVxcbi5wbGFuIC5wbGFuLWZvb3RlciAucHJpY2UgLnZhdC1kaXNjbGFpbWVyW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgZm9udC1zaXplOiAwLjY4NzVlbTtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBmb250LXdlaWdodDogMzAwO1xcbiAgb3BhY2l0eTogMC40NTtcXG4gIG1hcmdpbi10b3A6IDVweDtcXG59XFxuLnBsYW5zLXdyYXBwZXJbZGF0YS12LTEwNTdmNmQwXSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgZmxleC13cmFwOiB3cmFwO1xcbiAgbWFyZ2luOiAwIC0yNXB4O1xcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4ucGxhbnMtd3JhcHBlcltkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIG1hcmdpbjogMDtcXG59XFxufVxcbkBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcXG4ucGxhbiAucGxhbi13cmFwcGVyW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbn1cXG4ucGxhbiAucGxhbi1oZWFkZXIgLnRpdGxlW2RhdGEtdi0xMDU3ZjZkMF0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLnBsYW4gLnBsYW4taGVhZGVyIC5kZXNjcmlwdGlvbltkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbi5wbGFuIC5wbGFuLWZlYXR1cmVzIC5zdG9yYWdlLXNpemVbZGF0YS12LTEwNTdmNmQwXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG4ucGxhbiAucGxhbi1mZWF0dXJlcyAuc3RvcmFnZS1kZXNjcmlwdGlvbltkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5wbGFuIC5wbGFuLWZvb3RlciAuc2lnbi1pbi1idXR0b25bZGF0YS12LTEwNTdmNmQwXSB7XFxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTg4LCAxMjYsIDAuMSk7XFxufVxcbi5wbGFuIC5wbGFuLWZvb3RlciAuc2lnbi1pbi1idXR0b25bZGF0YS12LTEwNTdmNmQwXSAuY29udGVudCB7XFxuICAgIGNvbG9yOiAjMDBCQzdFO1xcbn1cXG4ucGxhbiAucGxhbi1mb290ZXIgLnByaWNlIC52YXQtZGlzY2xhaW1lcltkYXRhLXYtMTA1N2Y2ZDBdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TZWxlY3RJbnB1dC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xNGIxZDZhMyZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NlbGVjdElucHV0LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTE0YjFkNmEzJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdkaXYnLHthdHRyczp7XCJpZFwiOlwic2luZ2xlLXBhZ2VcIn19LFtfYygnZGl2Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJzaG93XCIscmF3TmFtZTpcInYtc2hvd1wiLHZhbHVlOighIF92bS5pc0xvYWRpbmcpLGV4cHJlc3Npb246XCIhIGlzTG9hZGluZ1wifV0sc3RhdGljQ2xhc3M6XCJsYXJnZS13aWR0aCBjZW50ZXItcGFnZVwiLGF0dHJzOntcImlkXCI6XCJwYWdlLWNvbnRlbnRcIn19LFtfYygnTW9iaWxlSGVhZGVyJyx7YXR0cnM6e1widGl0bGVcIjpfdm0uJHJvdXRlci5jdXJyZW50Um91dGUubWV0YS50aXRsZX19KSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNvbnRlbnQtcGFnZVwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicGxhbi10aXRsZVwifSxbX2MoJ2NyZWRpdC1jYXJkLWljb24nLHtzdGF0aWNDbGFzczpcInRpdGxlLWljb24gdGV4dC10aGVtZVwiLGF0dHJzOntcInNpemVcIjpcIjQyXCJ9fSksX3ZtLl92KFwiIFwiKSxfYygnaDEnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV91cGdyYWRlX2FjY291bnQudGl0bGUnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnaDInLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV91cGdyYWRlX2FjY291bnQuZGVzcmlwdGlvbicpKSldKV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJvcmRlclwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwic3RlcHNcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInBheW1lbnQtY2FyZFwifSxbX2MoJ0Zvcm1MYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zZWN0aW9uX2NhcmQnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJzaG93XCIscmF3TmFtZTpcInYtc2hvd1wiLHZhbHVlOighIF92bS5kZWZhdWx0UGF5bWVudE1ldGhvZCB8fCBfdm0ucGF5QnlOZXdDYXJkKSxleHByZXNzaW9uOlwiISBkZWZhdWx0UGF5bWVudE1ldGhvZCB8fCBwYXlCeU5ld0NhcmRcIn1dLHN0YXRpY0NsYXNzOlwicmVnaXN0ZXItY2FyZFwifSxbKF92bS5jb25maWcuaXNEZW1vIHx8IF92bS5jb25maWcuaXNEZXYpP19jKCdJbmZvQm94JyxbX2MoJ3AnLFtfdm0uX3YoXCJGb3IgdGVzdCB5b3VyIHBheW1lbnQgcGxlYXNlIHVzZSBcIiksX2MoJ2InLFtfdm0uX3YoXCI0MjQyIDQyNDIgNDI0MiA0MjQyXCIpXSksX3ZtLl92KFwiIG9yIFwiKSxfYygnYicsW192bS5fdihcIjU1NTUgNTU1NSA1NTU1IDQ0NDRcIildKSxfdm0uX3YoXCIgYXMgYSBjYXJkIG51bWJlciwgXCIpLF9jKCdiJyxbX3ZtLl92KFwiMTEvMjJcIildKSxfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyB0aGUgZXhwaXJhdGlvbiBkYXRlIGFuZCBcIiksX2MoJ2InLFtfdm0uX3YoXCIxMjNcIildKSxfdm0uX3YoXCIgYXMgQ1ZDIG51bWJlciBhbmQgWklQIFwiKSxfYygnYicsW192bS5fdihcIjEyMzQ1XCIpXSksX3ZtLl92KFwiLlwiKV0pXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7cmVmOlwic3RyaXBlQ2FyZFwiLHN0YXRpY0NsYXNzOlwic3RyaXBlLWNhcmRcIixjbGFzczp7J2lzLWVycm9yJzogX3ZtLmlzRXJyb3IgfX0pLF92bS5fdihcIiBcIiksKF92bS5pc0Vycm9yKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjYXJkLWVycm9yLW1lc3NhZ2VcIn0sW19jKCdzcGFuJyxbX3ZtLl92KF92bS5fcyhfdm0uZXJyb3JNZXNzYWdlKSldKV0pOl92bS5fZSgpXSwxKSxfdm0uX3YoXCIgXCIpLChfdm0uZGVmYXVsdFBheW1lbnRNZXRob2QgJiYgISBfdm0ucGF5QnlOZXdDYXJkKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJyZWdpc3RlcmVkLWNhcmRzXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjcmVkaXQtY2FyZFwiLGNsYXNzOnsnaXMtZXJyb3InOiBfdm0uaXNFcnJvcn19LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjYXJkLW51bWJlclwifSxbX2MoJ2ltZycse3N0YXRpY0NsYXNzOlwiY3JlZGl0LWNhcmQtaWNvblwiLGF0dHJzOntcInNyY1wiOl92bS4kZ2V0Q3JlZGl0Q2FyZEJyYW5kKF92bS5kZWZhdWx0UGF5bWVudE1ldGhvZC5kYXRhLmF0dHJpYnV0ZXMuYnJhbmQpLFwiYWx0XCI6X3ZtLmRlZmF1bHRQYXltZW50TWV0aG9kLmRhdGEuYXR0cmlidXRlcy5icmFuZH19KSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNyZWRpdC1jYXJkLW51bWJlcnNcIn0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDigKLigKLigKLigKIgXCIrX3ZtLl9zKF92bS5kZWZhdWx0UGF5bWVudE1ldGhvZC5kYXRhLmF0dHJpYnV0ZXMubGFzdDQpK1wiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIpXSksX3ZtLl92KFwiIFwiKSxfYygnQ29sb3JMYWJlbCcse2F0dHJzOntcImNvbG9yXCI6XCJwdXJwbGVcIn19LFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgnZ2xvYmFsLmRlZmF1bHQnKSkpXSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiZXhwaXJhdGlvbi1kYXRlXCJ9LFtfYygnc3BhbicsW192bS5fdihfdm0uX3MoX3ZtLmRlZmF1bHRQYXltZW50TWV0aG9kLmRhdGEuYXR0cmlidXRlcy5leHBfbW9udGgpK1wiIC8gXCIrX3ZtLl9zKF92bS5kZWZhdWx0UGF5bWVudE1ldGhvZC5kYXRhLmF0dHJpYnV0ZXMuZXhwX3llYXIpKV0pXSldKSxfdm0uX3YoXCIgXCIpLCghIF92bS5pc0Vycm9yKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjaGFuZ2UtcGF5bWVudFwifSxbX2MoJ3NwYW4nLFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5jaGFuZ2VfcGF5bWVudC55b3VfY2FuJykpK1wiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIildKSxfdm0uX3YoXCIgXCIpLChfdm0uUGF5bWVudE1ldGhvZHMuZGF0YS5sZW5ndGggPiAwKT9fYygncm91dGVyLWxpbmsnLHthdHRyczp7XCJ0b1wiOntuYW1lOiAnUGF5bWVudE1ldGhvZHMnfX19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5jaGFuZ2VfcGF5bWVudC5jaGFuZ2VfcGF5bWVudCcpKStcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIpXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwoX3ZtLlBheW1lbnRNZXRob2RzLmRhdGEubGVuZ3RoID4gMCk/X2MoJ3NwYW4nLFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdnbG9iYWwub3InKSkrXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ2EnLHtvbjp7XCJjbGlja1wiOl92bS5wYXlCeU5ld0NhcmRGb3JtfX0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LmNoYW5nZV9wYXltZW50LnBheV9ieV9uZXdfY2FyZCcpKStcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIpXSldLDEpOl92bS5fZSgpLF92bS5fdihcIiBcIiksKF92bS5pc0Vycm9yKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjYXJkLWVycm9yLW1lc3NhZ2VcIn0sW19jKCdzcGFuJyxbX3ZtLl92KF92bS5fcyhfdm0uZXJyb3JNZXNzYWdlKSldKSxfdm0uX3YoXCIgXCIpLF9jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJsaW5rXCIsb246e1wiY2xpY2tcIjpfdm0ucGF5QnlOZXdDYXJkRm9ybX19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5lcnJvcnMucGF5X2J5X2Fub3RoZXJfY2FyZCcpKStcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIpXSksX3ZtLl92KFwiIFwiKSxfYygnc3BhbicsW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uJHQoJ2dsb2JhbC5vcicpKStcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIpXSksX3ZtLl92KFwiIFwiKSxfYygncm91dGVyLWxpbmsnLHtzdGF0aWNDbGFzczpcImxpbmtcIixhdHRyczp7XCJ0b1wiOntuYW1lOiAnUGF5bWVudE1ldGhvZHMnfX19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5jaGFuZ2VfcGF5bWVudC5jaGFuZ2VfcGF5bWVudCcpKStcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIpXSldLDEpOl92bS5fZSgpXSk6X3ZtLl9lKCldLDEpLF92bS5fdihcIiBcIiksKF92bS5iaWxsaW5nKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJiaWxsaW5nXCJ9LFtfYygnRm9ybUxhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnNlY3Rpb25fYmlsbGluZycpKSldKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uT2JzZXJ2ZXInLHtyZWY6XCJvcmRlclwiLHN0YXRpY0NsYXNzOlwiZm9ybSBibG9jay1mb3JtXCIsYXR0cnM6e1widGFnXCI6XCJmb3JtXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGludmFsaWQgPSByZWYuaW52YWxpZDtcbnJldHVybiBbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiZm9ybSBibG9jay1mb3JtXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgndXNlcl9zZXR0aW5ncy5uYW1lJykpK1wiOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIixcIm5hbWVcIjpcImJpbGxpbmdfbmFtZVwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLmJpbGxpbmcubmFtZSksZXhwcmVzc2lvbjpcImJpbGxpbmcubmFtZVwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgndXNlcl9zZXR0aW5ncy5uYW1lX3BsYWMnKSxcInR5cGVcIjpcInRleHRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLmJpbGxpbmcubmFtZSl9LG9uOntcImlucHV0XCI6ZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS4kc2V0KF92bS5iaWxsaW5nLCBcIm5hbWVcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSl9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCd1c2VyX3NldHRpbmdzLmFkZHJlc3MnKSkrXCI6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwiLFwibmFtZVwiOlwiYmlsbGluZ19hZGRyZXNzXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0uYmlsbGluZy5hZGRyZXNzKSxleHByZXNzaW9uOlwiYmlsbGluZy5hZGRyZXNzXCJ9XSxzdGF0aWNDbGFzczpcImZvY3VzLWJvcmRlci10aGVtZVwiLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCd1c2VyX3NldHRpbmdzLmFkZHJlc3NfcGxhYycpLFwidHlwZVwiOlwidGV4dFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0uYmlsbGluZy5hZGRyZXNzKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLmJpbGxpbmcsIFwiYWRkcmVzc1wiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwid3JhcHBlci1pbmxpbmVcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCd1c2VyX3NldHRpbmdzLmNpdHknKSkrXCI6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwiLFwibmFtZVwiOlwiYmlsbGluZ19jaXR5XCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0uYmlsbGluZy5jaXR5KSxleHByZXNzaW9uOlwiYmlsbGluZy5jaXR5XCJ9XSxzdGF0aWNDbGFzczpcImZvY3VzLWJvcmRlci10aGVtZVwiLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCd1c2VyX3NldHRpbmdzLmNpdHlfcGxhYycpLFwidHlwZVwiOlwidGV4dFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0uYmlsbGluZy5jaXR5KX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLmJpbGxpbmcsIFwiY2l0eVwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3VzZXJfc2V0dGluZ3MucG9zdGFsX2NvZGUnKSkrXCI6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwiLFwibmFtZVwiOlwiYmlsbGluZ19wb3N0YWxfY29kZVwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLmJpbGxpbmcucG9zdGFsX2NvZGUpLGV4cHJlc3Npb246XCJiaWxsaW5nLnBvc3RhbF9jb2RlXCJ9XSxzdGF0aWNDbGFzczpcImZvY3VzLWJvcmRlci10aGVtZVwiLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCd1c2VyX3NldHRpbmdzLnBvc3RhbF9jb2RlX3BsYWMnKSxcInR5cGVcIjpcInRleHRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLmJpbGxpbmcucG9zdGFsX2NvZGUpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0uYmlsbGluZywgXCJwb3N0YWxfY29kZVwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgndXNlcl9zZXR0aW5ncy5jb3VudHJ5JykpK1wiOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIixcIm5hbWVcIjpcImJpbGxpbmdfY291bnRyeVwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnU2VsZWN0SW5wdXQnLHthdHRyczp7XCJkZWZhdWx0XCI6X3ZtLmJpbGxpbmcuY291bnRyeSxcIm9wdGlvbnNcIjpfdm0uY291bnRyaWVzLFwicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ3VzZXJfc2V0dGluZ3MuY291bnRyeV9wbGFjJyksXCJpc0Vycm9yXCI6ZXJyb3JzWzBdfSxtb2RlbDp7dmFsdWU6KF92bS5iaWxsaW5nLmNvdW50cnkpLGNhbGxiYWNrOmZ1bmN0aW9uICgkJHYpIHtfdm0uJHNldChfdm0uYmlsbGluZywgXCJjb3VudHJ5XCIsICQkdil9LGV4cHJlc3Npb246XCJiaWxsaW5nLmNvdW50cnlcIn19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgndXNlcl9zZXR0aW5ncy5zdGF0ZScpKStcIjpcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCIsXCJuYW1lXCI6XCJiaWxsaW5nX3N0YXRlXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0uYmlsbGluZy5zdGF0ZSksZXhwcmVzc2lvbjpcImJpbGxpbmcuc3RhdGVcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ3VzZXJfc2V0dGluZ3Muc3RhdGVfcGxhYycpLFwidHlwZVwiOlwidGV4dFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0uYmlsbGluZy5zdGF0ZSl9LG9uOntcImlucHV0XCI6ZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS4kc2V0KF92bS5iaWxsaW5nLCBcInN0YXRlXCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLF9jKCdzbWFsbCcse3N0YXRpY0NsYXNzOlwiaW5wdXQtaGVscFwifSxbX3ZtLl92KFwiXFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0ZSwgY291bnR5LCBwcm92aW5jZSwgb3IgcmVnaW9uLlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIildKSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgndXNlcl9zZXR0aW5ncy5waG9uZV9udW1iZXInKSkrXCI6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwiLFwibmFtZVwiOlwiYmlsbGluZ19waG9uZV9udW1iZXJcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS5iaWxsaW5nLnBob25lX251bWJlciksZXhwcmVzc2lvbjpcImJpbGxpbmcucGhvbmVfbnVtYmVyXCJ9XSxzdGF0aWNDbGFzczpcImZvY3VzLWJvcmRlci10aGVtZVwiLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCd1c2VyX3NldHRpbmdzLnBob25lX251bWJlcl9wbGFjJyksXCJ0eXBlXCI6XCJ0ZXh0XCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS5iaWxsaW5nLnBob25lX251bWJlcil9LG9uOntcImlucHV0XCI6ZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS4kc2V0KF92bS5iaWxsaW5nLCBcInBob25lX251bWJlclwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpXSldfX1dLG51bGwsZmFsc2UsMTgxMTcyOTc3NSl9KV0sMSk6X3ZtLl9lKCldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcInN1bW1hcnlcIn0sW19jKCdGb3JtTGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV91cGdyYWRlX2FjY291bnQuc2VjdGlvbl9zdW1tYXJ5JykpKV0pLF92bS5fdihcIiBcIiksKF92bS5yZXF1ZXN0ZWRQbGFuKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzdW1tYXJ5LWxpc3RcIixjbGFzczp7J2lzLWVycm9yJzogX3ZtLmlzRXJyb3J9fSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicm93XCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjZWxsXCJ9LFtfYygnYicsW192bS5fdihfdm0uX3MoX3ZtLnJlcXVlc3RlZFBsYW4uZGF0YS5hdHRyaWJ1dGVzLm5hbWUpKV0pLF92bS5fdihcIiBcIiksX2MoJ3NtYWxsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnN1bW1hcnkucGVyaW9kJykpKV0pXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjZWxsXCJ9LFtfYygnYicsW192bS5fdihfdm0uX3MoX3ZtLnJlcXVlc3RlZFBsYW4uZGF0YS5hdHRyaWJ1dGVzLnByaWNlKSldKV0pXSksX3ZtLl92KFwiIFwiKSwoX3ZtLnRheFJhdGVzKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJyb3dcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNlbGxcIn0sW19jKCdiJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnN1bW1hcnkudmF0JykpK1wiIC0gKFwiK192bS5fcyhfdm0udGF4UmF0ZXMuY291bnRyeSkrXCIgXCIrX3ZtLl9zKF92bS50YXhSYXRlcy5wZXJjZW50YWdlKStcIiUpXCIpXSldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNlbGxcIn0sW19jKCdiJyxbX3ZtLl92KF92bS5fcyhfdm0udGF4UmF0ZXMucGxhbl9wcmljZV9mb3JtYXR0ZWQpKV0pXSldKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLCghIF92bS50YXhSYXRlcyk/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicm93XCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjZWxsXCJ9LFtfYygnYicsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdnbG9iYWwudG90YWwnKSkpXSldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNlbGxcIn0sW19jKCdiJyxbX3ZtLl92KF92bS5fcyhfdm0ucmVxdWVzdGVkUGxhbi5kYXRhLmF0dHJpYnV0ZXMucHJpY2UpKV0pXSldKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLChfdm0udGF4UmF0ZXMpP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInJvd1wifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY2VsbFwifSxbX2MoJ2InLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS50b3RhbF93aXRoX3ZhdCcpKSldKV0pLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY2VsbFwifSxbX2MoJ2InLFtfdm0uX3YoX3ZtLl9zKF92bS50YXhSYXRlcy5wbGFuX3ByaWNlX2Zvcm1hdHRlZCkpXSldKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ0J1dHRvbkJhc2UnLHtzdGF0aWNDbGFzczpcIm5leHQtc3VibWl0XCIsYXR0cnM6e1wiZGlzYWJsZWRcIjpfdm0uaXNTdWJtaXR0ZWQsXCJsb2FkaW5nXCI6X3ZtLmlzU3VibWl0dGVkLFwidHlwZVwiOlwic3VibWl0XCIsXCJidXR0b24tc3R5bGVcIjpcInRoZW1lLXNvbGlkXCJ9LG5hdGl2ZU9uOntcImNsaWNrXCI6ZnVuY3Rpb24oJGV2ZW50KXtyZXR1cm4gX3ZtLnN1Ym1pdE9yZGVyKCRldmVudCl9fX0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zdW1tYXJ5LnN1Ym1pdF9idXR0b24nKSkrXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcIildKSxfdm0uX3YoXCIgXCIpLChfdm0uaXNFcnJvcik/X2MoJ3AnLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoX3ZtLmVycm9yTWVzc2FnZSkpXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSxfYygnc21hbGwnLHtzdGF0aWNDbGFzczpcImRpc2NsYWltZXJcIn0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIitfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zdW1tYXJ5LnN1Ym1pdF9kaXNjbGFpbWVyJywge2FwcDogX3ZtLmNvbmZpZy5hcHBfbmFtZX0pKStcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiKV0pXSwxKTpfdm0uX2UoKV0sMSldKV0pXSwxKSxfdm0uX3YoXCIgXCIpLChfdm0uaXNMb2FkaW5nKT9fYygnZGl2Jyx7YXR0cnM6e1wiaWRcIjpcImxvYWRlclwifX0sW19jKCdTcGlubmVyJyldLDEpOl92bS5fZSgpXSl9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsIjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGlkPVwic2luZ2xlLXBhZ2VcIj5cbiAgICAgICAgPGRpdiBpZD1cInBhZ2UtY29udGVudFwiIGNsYXNzPVwibGFyZ2Utd2lkdGggY2VudGVyLXBhZ2VcIiB2LXNob3c9XCIhIGlzTG9hZGluZ1wiPlxuICAgICAgICAgICAgPE1vYmlsZUhlYWRlciA6dGl0bGU9XCIkcm91dGVyLmN1cnJlbnRSb3V0ZS5tZXRhLnRpdGxlXCIgLz5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXBhZ2VcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbi10aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8Y3JlZGl0LWNhcmQtaWNvbiBzaXplPVwiNDJcIiBjbGFzcz1cInRpdGxlLWljb24gdGV4dC10aGVtZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxoMT57eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQudGl0bGUnKSB9fTwvaDE+XG4gICAgICAgICAgICAgICAgICAgIDxoMj57eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuZGVzcmlwdGlvbicpIH19PC9oMj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3JkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0ZXBzXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYXltZW50LWNhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPnt7ICR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zZWN0aW9uX2NhcmQnKSB9fTwvRm9ybUxhYmVsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBQYXkgYnkgbmV3IGNyZWRpdCBjYXJkIC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWdpc3Rlci1jYXJkXCIgdi1zaG93PVwiISBkZWZhdWx0UGF5bWVudE1ldGhvZCB8fCBwYXlCeU5ld0NhcmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEluZm9Cb3ggdi1pZj1cImNvbmZpZy5pc0RlbW8gfHwgY29uZmlnLmlzRGV2XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cD5Gb3IgdGVzdCB5b3VyIHBheW1lbnQgcGxlYXNlIHVzZSA8Yj40MjQyIDQyNDIgNDI0MiA0MjQyPC9iPiBvciA8Yj41NTU1IDU1NTUgNTU1NSA0NDQ0PC9iPiBhcyBhIGNhcmQgbnVtYmVyLCA8Yj4xMS8yMjwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyB0aGUgZXhwaXJhdGlvbiBkYXRlIGFuZCA8Yj4xMjM8L2I+IGFzIENWQyBudW1iZXIgYW5kIFpJUCA8Yj4xMjM0NTwvYj4uPC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0luZm9Cb3g+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiByZWY9XCJzdHJpcGVDYXJkXCIgY2xhc3M9XCJzdHJpcGUtY2FyZFwiIDpjbGFzcz1cInsnaXMtZXJyb3InOiBpc0Vycm9yIH1cIj48L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1lcnJvci1tZXNzYWdlXCIgdi1pZj1cImlzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGVycm9yTWVzc2FnZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tVXNlciByZWdpc3RlcmVkIHBheW1lbnQgY2FyZC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZWdpc3RlcmVkLWNhcmRzXCIgdi1pZj1cImRlZmF1bHRQYXltZW50TWV0aG9kICYmICEgcGF5QnlOZXdDYXJkXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNyZWRpdC1jYXJkXCIgOmNsYXNzPVwieydpcy1lcnJvcic6IGlzRXJyb3J9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1udW1iZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiY3JlZGl0LWNhcmQtaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6c3JjPVwiJGdldENyZWRpdENhcmRCcmFuZChkZWZhdWx0UGF5bWVudE1ldGhvZC5kYXRhLmF0dHJpYnV0ZXMuYnJhbmQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDphbHQ9XCJkZWZhdWx0UGF5bWVudE1ldGhvZC5kYXRhLmF0dHJpYnV0ZXMuYnJhbmRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3JlZGl0LWNhcmQtbnVtYmVyc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDigKLigKLigKLigKIge3sgZGVmYXVsdFBheW1lbnRNZXRob2QuZGF0YS5hdHRyaWJ1dGVzLmxhc3Q0IH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENvbG9yTGFiZWwgY29sb3I9XCJwdXJwbGVcIj57eyAkdCgnZ2xvYmFsLmRlZmF1bHQnKSB9fTwvQ29sb3JMYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImV4cGlyYXRpb24tZGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGRlZmF1bHRQYXltZW50TWV0aG9kLmRhdGEuYXR0cmlidXRlcy5leHBfbW9udGggfX0gLyB7eyBkZWZhdWx0UGF5bWVudE1ldGhvZC5kYXRhLmF0dHJpYnV0ZXMuZXhwX3llYXIgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLUNoYW5nZSBwYXltZW50LS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGFuZ2UtcGF5bWVudFwiIHYtaWY9XCIhIGlzRXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5jaGFuZ2VfcGF5bWVudC55b3VfY2FuJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJvdXRlci1saW5rIHYtaWY9XCJQYXltZW50TWV0aG9kcy5kYXRhLmxlbmd0aCA+IDBcIiA6dG89XCJ7bmFtZTogJ1BheW1lbnRNZXRob2RzJ31cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuY2hhbmdlX3BheW1lbnQuY2hhbmdlX3BheW1lbnQnKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yb3V0ZXItbGluaz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gdi1pZj1cIlBheW1lbnRNZXRob2RzLmRhdGEubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdnbG9iYWwub3InKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBAY2xpY2s9XCJwYXlCeU5ld0NhcmRGb3JtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LmNoYW5nZV9wYXltZW50LnBheV9ieV9uZXdfY2FyZCcpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1DYXJkIGVycm9yLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiaXNFcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZXJyb3JNZXNzYWdlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gQGNsaWNrPVwicGF5QnlOZXdDYXJkRm9ybVwiIGNsYXNzPVwibGlua1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5lcnJvcnMucGF5X2J5X2Fub3RoZXJfY2FyZCcpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkdCgnZ2xvYmFsLm9yJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyb3V0ZXItbGluayA6dG89XCJ7bmFtZTogJ1BheW1lbnRNZXRob2RzJ31cIiBjbGFzcz1cImxpbmtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuY2hhbmdlX3BheW1lbnQuY2hhbmdlX3BheW1lbnQnKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9yb3V0ZXItbGluaz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiaWxsaW5nXCIgdi1pZj1cImJpbGxpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybUxhYmVsPnt7ICR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zZWN0aW9uX2JpbGxpbmcnKSB9fTwvRm9ybUxhYmVsPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25PYnNlcnZlciByZWY9XCJvcmRlclwiIHYtc2xvdD1cInsgaW52YWxpZCB9XCIgdGFnPVwiZm9ybVwiIGNsYXNzPVwiZm9ybSBibG9jay1mb3JtXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtIGJsb2NrLWZvcm1cIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3VzZXJfc2V0dGluZ3MubmFtZScpIH19OjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlcz1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJiaWxsaW5nX25hbWVcIiB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwiYmlsbGluZy5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cIiR0KCd1c2VyX3NldHRpbmdzLm5hbWVfcGxhYycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgndXNlcl9zZXR0aW5ncy5hZGRyZXNzJykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVzPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImJpbGxpbmdfYWRkcmVzc1wiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJiaWxsaW5nLmFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwiJHQoJ3VzZXJfc2V0dGluZ3MuYWRkcmVzc19wbGFjJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyLWlubGluZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgndXNlcl9zZXR0aW5ncy5jaXR5JykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZXM9XCJyZXF1aXJlZFwiIG5hbWU9XCJiaWxsaW5nX2NpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwiYmlsbGluZy5jaXR5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgndXNlcl9zZXR0aW5ncy5jaXR5X3BsYWMnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3VzZXJfc2V0dGluZ3MucG9zdGFsX2NvZGUnKSB9fTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlcz1cInJlcXVpcmVkXCIgbmFtZT1cImJpbGxpbmdfcG9zdGFsX2NvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwiYmlsbGluZy5wb3N0YWxfY29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwiJHQoJ3VzZXJfc2V0dGluZ3MucG9zdGFsX2NvZGVfcGxhYycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgndXNlcl9zZXR0aW5ncy5jb3VudHJ5JykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVzPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImJpbGxpbmdfY291bnRyeVwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNlbGVjdElucHV0IHYtbW9kZWw9XCJiaWxsaW5nLmNvdW50cnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmRlZmF1bHQ9XCJiaWxsaW5nLmNvdW50cnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOm9wdGlvbnM9XCJjb3VudHJpZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwiJHQoJ3VzZXJfc2V0dGluZ3MuY291bnRyeV9wbGFjJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmlzRXJyb3I9XCJlcnJvcnNbMF1cIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCd1c2VyX3NldHRpbmdzLnN0YXRlJykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVzPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImJpbGxpbmdfc3RhdGVcIiB2LXNsb3Q9XCJ7IGVycm9ycyB9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwiYmlsbGluZy5zdGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgndXNlcl9zZXR0aW5ncy5zdGF0ZV9wbGFjJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJpbnB1dC1oZWxwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0ZSwgY291bnR5LCBwcm92aW5jZSwgb3IgcmVnaW9uLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCd1c2VyX3NldHRpbmdzLnBob25lX251bWJlcicpIH19OjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFZhbGlkYXRpb25Qcm92aWRlciB0YWc9XCJkaXZcIiBtb2RlPVwicGFzc2l2ZVwiIGNsYXNzPVwiaW5wdXQtd3JhcHBlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlcz1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJiaWxsaW5nX3Bob25lX251bWJlclwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJiaWxsaW5nLnBob25lX251bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgndXNlcl9zZXR0aW5ncy5waG9uZV9udW1iZXJfcGxhYycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpjbGFzcz1cInsnaXMtZXJyb3InOiBlcnJvcnNbMF19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImVycm9yc1swXVwiPnt7IGVycm9yc1swXSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25PYnNlcnZlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN1bW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTGFiZWw+e3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnNlY3Rpb25fc3VtbWFyeScpIH19PC9Gb3JtTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeS1saXN0XCIgOmNsYXNzPVwieydpcy1lcnJvcic6IGlzRXJyb3J9XCIgdi1pZj1cInJlcXVlc3RlZFBsYW5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyByZXF1ZXN0ZWRQbGFuLmRhdGEuYXR0cmlidXRlcy5uYW1lIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsPnt7ICR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zdW1tYXJ5LnBlcmlvZCcpIH19PC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyByZXF1ZXN0ZWRQbGFuLmRhdGEuYXR0cmlidXRlcy5wcmljZSB9fTwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHYtaWY9XCJ0YXhSYXRlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnN1bW1hcnkudmF0JykgfX0gLSAoe3sgdGF4UmF0ZXMuY291bnRyeSB9fSB7eyB0YXhSYXRlcy5wZXJjZW50YWdlIH19JSk8L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3sgdGF4UmF0ZXMucGxhbl9wcmljZV9mb3JtYXR0ZWQgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVNob3cgdG90YWwgd2hlbiB0YXggcmF0ZXMgaXMgbm90IHNwZWNpZmllZC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiB2LWlmPVwiISB0YXhSYXRlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3sgJHQoJ2dsb2JhbC50b3RhbCcpIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7IHJlcXVlc3RlZFBsYW4uZGF0YS5hdHRyaWJ1dGVzLnByaWNlIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1TaG93IHRvdGFsIHdoZW4gaXMgdGF4IHJhdGVzLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHYtaWY9XCJ0YXhSYXRlc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnN1bW1hcnkudG90YWxfd2l0aF92YXQnKSB9fTwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyB0YXhSYXRlcy5wbGFuX3ByaWNlX2Zvcm1hdHRlZCB9fTwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uQmFzZSA6ZGlzYWJsZWQ9XCJpc1N1Ym1pdHRlZFwiIDpsb2FkaW5nPVwiaXNTdWJtaXR0ZWRcIiBAY2xpY2submF0aXZlPVwic3VibWl0T3JkZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIiBidXR0b24tc3R5bGU9XCJ0aGVtZS1zb2xpZFwiIGNsYXNzPVwibmV4dC1zdWJtaXRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnN1bW1hcnkuc3VibWl0X2J1dHRvbicpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b25CYXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJpc0Vycm9yXCI+e3sgZXJyb3JNZXNzYWdlIH19PC9wPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImRpc2NsYWltZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnN1bW1hcnkuc3VibWl0X2Rpc2NsYWltZXInLCB7YXBwOiBjb25maWcuYXBwX25hbWV9KSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgaWQ9XCJsb2FkZXJcIiB2LWlmPVwiaXNMb2FkaW5nXCI+XG4gICAgICAgICAgICA8U3Bpbm5lcj48L1NwaW5uZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgICBpbXBvcnQge1ZhbGlkYXRpb25Qcm92aWRlciwgVmFsaWRhdGlvbk9ic2VydmVyfSBmcm9tICd2ZWUtdmFsaWRhdGUvZGlzdC92ZWUtdmFsaWRhdGUuZnVsbCdcbiAgICBpbXBvcnQgUGxhblByaWNpbmdUYWJsZXMgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9QbGFuUHJpY2luZ1RhYmxlcydcbiAgICBpbXBvcnQgU2VsZWN0SW5wdXQgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9TZWxlY3RJbnB1dCdcbiAgICBpbXBvcnQgRm9ybUxhYmVsIGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvRm9ybUxhYmVsJ1xuICAgIGltcG9ydCBNb2JpbGVIZWFkZXIgZnJvbSAnQC9jb21wb25lbnRzL01vYmlsZS9Nb2JpbGVIZWFkZXInXG4gICAgaW1wb3J0IEJ1dHRvbkJhc2UgZnJvbSAnQC9jb21wb25lbnRzL0ZpbGVzVmlldy9CdXR0b25CYXNlJ1xuICAgIGltcG9ydCBJbmZvQm94IGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvRm9ybXMvSW5mb0JveCdcbiAgICBpbXBvcnQgQ29sb3JMYWJlbCBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL0NvbG9yTGFiZWwnXG4gICAgaW1wb3J0IFBhZ2VIZWFkZXIgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9QYWdlSGVhZGVyJ1xuICAgIGltcG9ydCBTcGlubmVyIGZyb20gJ0AvY29tcG9uZW50cy9GaWxlc1ZpZXcvU3Bpbm5lcidcbiAgICBpbXBvcnQge0NyZWRpdENhcmRJY29ufSBmcm9tICd2dWUtZmVhdGhlci1pY29ucydcbiAgICBpbXBvcnQge3JlcXVpcmVkfSBmcm9tICd2ZWUtdmFsaWRhdGUvZGlzdC9ydWxlcydcbiAgICBpbXBvcnQge21hcEdldHRlcnN9IGZyb20gJ3Z1ZXgnXG4gICAgaW1wb3J0IHtldmVudHN9IGZyb20gXCJAL2J1c1wiXG4gICAgaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJ1xuXG4gICAgbGV0IFtzdHJpcGUsIGNhcmRdID0gW3VuZGVmaW5lZCwgdW5kZWZpbmVkXTtcblxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ1VwZ3JhZGVQbGFuJyxcbiAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgVmFsaWRhdGlvblByb3ZpZGVyLFxuICAgICAgICAgICAgVmFsaWRhdGlvbk9ic2VydmVyLFxuICAgICAgICAgICAgUGxhblByaWNpbmdUYWJsZXMsXG4gICAgICAgICAgICBDcmVkaXRDYXJkSWNvbixcbiAgICAgICAgICAgIE1vYmlsZUhlYWRlcixcbiAgICAgICAgICAgIFNlbGVjdElucHV0LFxuICAgICAgICAgICAgQnV0dG9uQmFzZSxcbiAgICAgICAgICAgIFBhZ2VIZWFkZXIsXG4gICAgICAgICAgICBDb2xvckxhYmVsLFxuICAgICAgICAgICAgRm9ybUxhYmVsLFxuICAgICAgICAgICAgcmVxdWlyZWQsXG4gICAgICAgICAgICBTcGlubmVyLFxuICAgICAgICAgICAgSW5mb0JveCxcbiAgICAgICAgfSxcbiAgICAgICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgICAgIC4uLm1hcEdldHRlcnMoWydyZXF1ZXN0ZWRQbGFuJywgJ2NvbmZpZycsICdjb3VudHJpZXMnXSksXG4gICAgICAgICAgICBiaWxsaW5nKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzLnVzZXIuZGF0YS5yZWxhdGlvbnNoaXBzLnNldHRpbmdzLmRhdGEuYXR0cmlidXRlc1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRheFJhdGVzKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlcXVlc3RlZFBsYW4uZGF0YS5hdHRyaWJ1dGVzLnRheF9yYXRlcy5maW5kKHRheFJhdGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGF4UmF0ZS5jb3VudHJ5ID09PSB0aGlzLmJpbGxpbmcuY291bnRyeVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGRhdGEoKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGNvbXBsZXRlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBzdHJpcGVPcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgICAgIGhpZGVQb3N0YWxDb2RlOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgaXNMb2FkaW5nOiB0cnVlLFxuICAgICAgICAgICAgICAgIGlzU3VibWl0dGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBQYXltZW50TWV0aG9kczogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGRlZmF1bHRQYXltZW50TWV0aG9kOiB1bmRlZmluZWQsXG5cbiAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2U6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBpc0Vycm9yOiBmYWxzZSxcblxuICAgICAgICAgICAgICAgIHBheUJ5TmV3Q2FyZDogZmFsc2UsXG5cbiAgICAgICAgICAgICAgICBjbGllbnRTZWNyZXQ6IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICBpbml0U3RyaXBlKCkge1xuICAgICAgICAgICAgICAgIHN0cmlwZSA9IFN0cmlwZSh0aGlzLmNvbmZpZy5zdHJpcGVfcHVibGljX2tleSlcblxuICAgICAgICAgICAgICAgIGxldCBlbGVtZW50cyA9IHN0cmlwZS5lbGVtZW50cygpO1xuXG4gICAgICAgICAgICAgICAgY2FyZCA9IGVsZW1lbnRzLmNyZWF0ZSgnY2FyZCcpO1xuXG4gICAgICAgICAgICAgICAgY2FyZC5tb3VudCh0aGlzLiRyZWZzLnN0cmlwZUNhcmQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBheUJ5TmV3Q2FyZEZvcm0oKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXlCeU5ld0NhcmQgPSB0cnVlXG4gICAgICAgICAgICAgICAgdGhpcy5pc0Vycm9yID0gZmFsc2VcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWNjZXNzT3JkZXIoKSB7XG4gICAgICAgICAgICAgICAgLy8gVXBkYXRlIHVzZXIgZGF0YVxuICAgICAgICAgICAgICAgIHRoaXMuJHN0b3JlLmRpc3BhdGNoKCdnZXRBcHBEYXRhJylcblxuICAgICAgICAgICAgICAgIC8vIFNob3cgdG9hc3RlclxuICAgICAgICAgICAgICAgIGV2ZW50cy4kZW1pdCgndG9hc3RlcicsIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLiR0KCd0b2FzdGVyLmFjY291bnRfdXBncmFkZWQnKSxcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICAgICAgLy8gR28gdG8gVXNlciBwYWdlXG4gICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goe25hbWU6ICdTdWJzY3JpcHRpb24nfSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvck9yZGVyKGVycm9yKSB7XG5cbiAgICAgICAgICAgICAgICAvLyBSZWRpcmVjdCB1c2VyIHRvIGNvbmZpcm1hdGlvbiBwYXltZW50IHBhZ2VcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2Uuc3RhdHVzID09PSA0MDIpIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBlcnJvci5yZXNwb25zZS5kYXRhLm1lc3NhZ2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gU2hvdyB1c2VyIGVycm9yIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2Uuc3RhdHVzID09PSA0MDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0Vycm9yID0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLnJlc3BvbnNlLmRhdGEubWVzc2FnZVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIFNob3cgc2VydmVyIGVycm9yXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yLnJlc3BvbnNlLnN0YXR1cyA9PT0gNTAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNFcnJvciA9IHRydWVcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvci5yZXNwb25zZS5kYXRhLm1lc3NhZ2VcblxuICAgICAgICAgICAgICAgICAgICBldmVudHMuJGVtaXQoJ2FsZXJ0Om9wZW4nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy4kdCgncG9wdXBfZXJyb3IudGl0bGUnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuJHQoJ3BvcHVwX2Vycm9yLm1lc3NhZ2UnKSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXN5bmMgc3VibWl0T3JkZXIoKSB7XG5cbiAgICAgICAgICAgICAgICAvLyBWYWxpZGF0ZSBmaWVsZHNcbiAgICAgICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gYXdhaXQgdGhpcy4kcmVmcy5vcmRlci52YWxpZGF0ZSgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAvLyBSZW1vdmUgZXJyb3JcbiAgICAgICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSBmYWxzZVxuXG4gICAgICAgICAgICAgICAgLy8gU3RhcnQgbG9hZGluZ1xuICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSB0cnVlXG5cbiAgICAgICAgICAgICAgICAvLyBJZiB1c2VyIGRvbid0IGhhdmUgY3JlZGl0IGNhcmQsIHJlZ2lzdGVyIG5ld1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5kZWZhdWx0UGF5bWVudE1ldGhvZCB8fCB0aGlzLnBheUJ5TmV3Q2FyZCkge1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHtzZXR1cEludGVudCwgZXJyb3J9ID0gYXdhaXQgc3RyaXBlLmNvbmZpcm1DYXJkU2V0dXAodGhpcy5jbGllbnRTZWNyZXQsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBheW1lbnRfbWV0aG9kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FyZDogY2FyZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IGVycm9yIG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSB0cnVlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuZCBidXR0b24gc3Bpbm5lclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc1N1Ym1pdHRlZCA9IGZhbHNlXG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNob3cgZXJyb3IgbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvci5tZXNzYWdlXG5cbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYXhpb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAucG9zdCgnL2FwaS91c2VyL3N1YnNjcmlwdGlvbi91cGdyYWRlJywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsaW5nOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsaW5nX2FkZHJlc3M6IHRoaXMuYmlsbGluZy5hZGRyZXNzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlsbGluZ19jaXR5OiB0aGlzLmJpbGxpbmcuY2l0eSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfY291bnRyeTogdGhpcy5iaWxsaW5nLmNvdW50cnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsaW5nX25hbWU6IHRoaXMuYmlsbGluZy5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmlsbGluZ19waG9uZV9udW1iZXI6IHRoaXMuYmlsbGluZy5waG9uZV9udW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsaW5nX3Bvc3RhbF9jb2RlOiB0aGlzLmJpbGxpbmcucG9zdGFsX2NvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsaW5nX3N0YXRlOiB0aGlzLmJpbGxpbmcuc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW46IHRoaXMucmVxdWVzdGVkUGxhbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF5bWVudDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmlwZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG06IHNldHVwSW50ZW50LnBheW1lbnRfbWV0aG9kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc09yZGVyKClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck9yZGVyKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gaWYgdXNlciBoYXMgY3JlZGl0IGNhcmRcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kZWZhdWx0UGF5bWVudE1ldGhvZCAmJiAhdGhpcy5wYXlCeU5ld0NhcmQpIHtcblxuICAgICAgICAgICAgICAgICAgICBheGlvc1xuICAgICAgICAgICAgICAgICAgICAgICAgLnBvc3QoJy9hcGkvdXNlci9zdWJzY3JpcHRpb24vdXBncmFkZScsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsaW5nOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfYWRkcmVzczogdGhpcy5iaWxsaW5nLmFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfY2l0eTogdGhpcy5iaWxsaW5nLmNpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfY291bnRyeTogdGhpcy5iaWxsaW5nLmNvdW50cnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfbmFtZTogdGhpcy5iaWxsaW5nLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfcGhvbmVfbnVtYmVyOiB0aGlzLmJpbGxpbmcucGhvbmVfbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsaW5nX3Bvc3RhbF9jb2RlOiB0aGlzLmJpbGxpbmcucG9zdGFsX2NvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfc3RhdGU6IHRoaXMuYmlsbGluZy5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW46IHRoaXMucmVxdWVzdGVkUGxhbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXltZW50OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpcGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWNjZXNzT3JkZXIoKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yT3JkZXIoZXJyb3IpXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBtb3VudGVkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucmVxdWVzdGVkUGxhbikge1xuICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHtuYW1lOiAnVXBncmFkZVBsYW4nfSlcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbml0U3RyaXBlKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlZCgpIHtcblxuICAgICAgICAgICAgLy8gR2V0IHNldHVwIGludGVudCBmb3Igc3RyaXBlXG4gICAgICAgICAgICBheGlvcy5nZXQoJy9hcGkvdXNlci9zdWJzY3JpcHRpb24vc2V0dXAtaW50ZW50JylcbiAgICAgICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xpZW50U2VjcmV0ID0gcmVzcG9uc2UuZGF0YS5jbGllbnRfc2VjcmV0XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRpc1NvbWV0aGluZ1dyb25nKClcbiAgICAgICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICBheGlvcy5nZXQoJy9hcGkvdXNlci9wYXltZW50cycpXG4gICAgICAgICAgICAgICAgLnRoZW4ocmVzcG9uc2UgPT4ge1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdFBheW1lbnRNZXRob2QgPSByZXNwb25zZS5kYXRhLmRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5QYXltZW50TWV0aG9kcyA9IHJlc3BvbnNlLmRhdGEub3RoZXJzXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiRpc1NvbWV0aGluZ1dyb25nKClcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19mb3Jtcyc7XG5cbiAgICAuY2hhbmdlLXBheW1lbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiwgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmQtZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuXG4gICAgICAgIHNwYW4sIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBjb2xvcjogJGRhbmdlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5rLCBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVnaXN0ZXJlZC1jYXJkcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgLnJlZ2lzdGVyLWNhcmQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgIH1cblxuICAgIC5jcmVkaXQtY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0X2JhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAmLmlzLWVycm9yIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgkZGFuZ2VyLCAwLjMpO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGRhbmdlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLW51bWJlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNyZWRpdC1jYXJkLW51bWJlcnMge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jcmVkaXQtY2FyZC1pY29uIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RyaXBlLWNhcmQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDIwcHg7XG5cbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgI2U2ZWJmMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDE1MG1zIGVhc2U7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTUwbXMgZWFzZTtcblxuICAgICAgICAmLmlzLWVycm9yIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgkZGFuZ2VyLCAwLjMpO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGRhbmdlcjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuU3RyaXBlRWxlbWVudC0tZm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgI2NmZDdkZjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuU3RyaXBlRWxlbWVudC0taW52YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNmYTc1NWE7XG4gICAgICAgIH1cblxuICAgICAgICAmLlN0cmlwZUVsZW1lbnQtLXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZGU1ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBpZnJhbWUgLklucHV0Q29udGFpbmVyIC5JbnB1dEVsZW1lbnQge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN1bW1hcnktbGlzdCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgN3B4IDIwcHggNXB4IGhzbGEoMjIwLCAzNiUsIDE2JSwgMC4wNik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgcGFkZGluZzogMjVweDtcbiAgICAgICAgdG9wOiAzMHB4O1xuXG4gICAgICAgICYuaXMtZXJyb3Ige1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGRhbmdlcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgN3B4IDIwcHggNXB4IHJnYmEoJGRhbmdlciwgMC4wNik7XG4gICAgICAgIH1cblxuICAgICAgICAuZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5leHQtc3VibWl0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kaXNjbGFpbWVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHRfbW9kZV9ib3JkZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICBiIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2VsbCB7XG4gICAgICAgICAgICBiIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIC5zdGVwcyB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNjUlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcblxuICAgICAgICAgICAgLmZvcm0ge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdW1tYXJ5IHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzNCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGxhbi10aXRsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gODBweDtcblxuICAgICAgICBwYXRoLCBsaW5lLCBwb2x5bGluZSwgcmVjdCwgY2lyY2xlIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDM4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcblxuICAgICAgICAucGxhbi10aXRsZSB7XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3NlY29uZGFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jcmVkaXQtY2FyZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19tb2RlX2ZvcmVncm91bmQ7XG5cbiAgICAgICAgICAgIHNwYW4sIC5jcmVkaXQtY2FyZC1udW1iZXJzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hhbmdlLXBheW1lbnQge1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3NlY29uZGFyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aGVtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdW1tYXJ5LWxpc3Qge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kO1xuXG4gICAgICAgICAgICAuZGlzY2xhaW1lciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9zZWNvbmRhcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yb3cge1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGRhcmtfbW9kZV9ib3JkZXJfY29sb3I7XG5cbiAgICAgICAgICAgICAgICAgICAgYiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jZWxsIHtcbiAgICAgICAgICAgICAgICBiIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrX21vZGVfdGV4dF9zZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN0cmlwZS1jYXJkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkZGFya19tb2RlX2ZvcmVncm91bmQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICAgICAmLlN0cmlwZUVsZW1lbnQtLXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtfbW9kZV9mb3JlZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuU3RyaXBlRWxlbWVudC0tZm9jdXMge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGhlbWU7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoJHRoZW1lLCAwLjMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAub3JkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIC5zdGVwcyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuPC9zdHlsZT5cbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXBncmFkZUJpbGxpbmcudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VwZ3JhZGVCaWxsaW5nLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vVXBncmFkZUJpbGxpbmcudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTRhNTJjN2IxJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1VwZ3JhZGVCaWxsaW5nLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vVXBncmFkZUJpbGxpbmcudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1VwZ3JhZGVCaWxsaW5nLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTRhNTJjN2IxJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNGE1MmM3YjFcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTlmZDBhNDI0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGFnZUhlYWRlci52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD05ZmQwYTQyNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9VcGdyYWRlQmlsbGluZy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD00YTUyYzdiMSZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VwZ3JhZGVCaWxsaW5nLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTRhNTJjN2IxJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VwZ3JhZGVCaWxsaW5nLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTRhNTJjN2IxJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge3ZhciBfdm09dGhpczt2YXIgX2g9X3ZtLiRjcmVhdGVFbGVtZW50O3ZhciBfYz1fdm0uX3NlbGYuX2N8fF9oO3JldHVybiBfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJpbmZvLWJveFwiLGNsYXNzOl92bS50eXBlfSxbX3ZtLl90KFwiZGVmYXVsdFwiKV0sMil9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cImluZm8tYm94XCIgOmNsYXNzPVwidHlwZVwiPlxuICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ0luZm9Cb3gnLFxuICAgICAgICBwcm9wczogWyd0eXBlJ11cbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX3ZhcmlhYmxlcyc7XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fbWl4aW5zJztcblxuICAgIC5pbmZvLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0X2JhY2tncm91bmQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgJi5lcnJvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRkYW5nZXIsIDAuMSk7XG5cbiAgICAgICAgICAgIHAsIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICAgICAvZGVlcC8gYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvZGVlcC8gYiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBiIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjkwcHgpIHtcblxuICAgICAgICAuaW5mby1ib3gge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuXG4gICAgICAgIC5pbmZvLWJveCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19tb2RlX2ZvcmVncm91bmQ7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vSW5mb0JveC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9OGU3YzQyZjYmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vSW5mb0JveC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OGU3YzQyZjYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI4ZTdjNDJmNlwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmNvbG9yLWxhYmVsW2RhdGEtdi01YzUwOGRiZl0ge1xcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XFxuICBmb250LXNpemU6IDAuNzVlbTtcXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gIGJvcmRlci1yYWRpdXM6IDZweDtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBwYWRkaW5nOiA0cHggNnB4O1xcbn1cXG4uY29sb3ItbGFiZWwucHVycGxlW2RhdGEtdi01YzUwOGRiZl0ge1xcbiAgY29sb3I6ICM5RDY2RkU7XFxuICBiYWNrZ3JvdW5kOiByZ2JhKDE1NywgMTAyLCAyNTQsIDAuMSk7XFxufVxcbi5jb2xvci1sYWJlbC55ZWxsb3dbZGF0YS12LTVjNTA4ZGJmXSB7XFxuICBjb2xvcjogI0ZGQkQyRDtcXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxODksIDQ1LCAwLjEpO1xcbn1cXG4uY29sb3ItbGFiZWwuZ3JlZW5bZGF0YS12LTVjNTA4ZGJmXSB7XFxuICBjb2xvcjogIzAwQkM3RTtcXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMTg4LCAxMjYsIDAuMSk7XFxufVxcbi5jb2xvci1sYWJlbC5yZWRbZGF0YS12LTVjNTA4ZGJmXSB7XFxuICBjb2xvcjogI2ZkMzk3YTtcXG4gIGJhY2tncm91bmQ6IHJnYmEoMjUzLCA1NywgMTIyLCAwLjEpO1xcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThlN2M0MmY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vSW5mb0JveC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD04ZTdjNDJmNiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThlN2M0MmY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYXlGb3JQbGFuLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWI0MGMwMGE0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGF5Rm9yUGxhbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1iNDBjMDBhNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCIvKipcbiAgKiB2ZWUtdmFsaWRhdGUgdjMuMy45XG4gICogKGMpIDIwMjAgQWJkZWxyYWhtYW4gQXdhZFxuICAqIEBsaWNlbnNlIE1JVFxuICAqL1xuLyoqXHJcbiAqIFNvbWUgQWxwaGEgUmVnZXggaGVscGVycy5cclxuICogaHR0cHM6Ly9naXRodWIuY29tL2Nocmlzby92YWxpZGF0b3IuanMvYmxvYi9tYXN0ZXIvc3JjL2xpYi9hbHBoYS5qc1xyXG4gKi9cclxuLyogZXNsaW50LWRpc2FibGUgbm8tbWlzbGVhZGluZy1jaGFyYWN0ZXItY2xhc3MgKi9cclxudmFyIGFscGhhID0ge1xyXG4gICAgZW46IC9eW0EtWl0qJC9pLFxyXG4gICAgY3M6IC9eW0EtWsOBxIzEjsOJxJrDjcWHw5PFmMWgxaTDmsWuw53FvV0qJC9pLFxyXG4gICAgZGE6IC9eW0EtWsOGw5jDhV0qJC9pLFxyXG4gICAgZGU6IC9eW0EtWsOEw5bDnMOfXSokL2ksXHJcbiAgICBlczogL15bQS1aw4HDicONw5HDk8Oaw5xdKiQvaSxcclxuICAgIGZhOiAvXlvYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bDZvtqY2q/ahtqp24xdKiQvLFxyXG4gICAgZnI6IC9eW0EtWsOAw4LDhsOHw4nDiMOKw4vDj8OOw5TFksOZw5vDnMW4XSokL2ksXHJcbiAgICBpdDogL15bQS1aXFx4QzAtXFx4RkZdKiQvaSxcclxuICAgIGx0OiAvXltBLVrEhMSMxJjElsSuxaDFssWqxb1dKiQvaSxcclxuICAgIG5sOiAvXltBLVrDicOLw4/Dk8OWw5xdKiQvaSxcclxuICAgIGh1OiAvXltBLVrDgcOJw43Dk8OWxZDDmsOcxbBdKiQvaSxcclxuICAgIHBsOiAvXltBLVrEhMSGxJjFmsWBxYPDk8W7xbldKiQvaSxcclxuICAgIHB0OiAvXltBLVrDg8OBw4DDgsOHw4nDisONw5XDk8OUw5rDnF0qJC9pLFxyXG4gICAgcm86IC9eW0EtWsSCw4LDjsWexaJdKiQvaSxcclxuICAgIHJ1OiAvXlvQkC3Qr9CBXSokL2ksXHJcbiAgICBzazogL15bQS1aw4HDhMSMxI7DicONxLnEvcWHw5PFlMWgxaTDmsOdxb1dKiQvaSxcclxuICAgIHNyOiAvXltBLVrEjMSGxb3FoMSQXSokL2ksXHJcbiAgICBzdjogL15bQS1aw4XDhMOWXSokL2ksXHJcbiAgICB0cjogL15bQS1aw4fEnsSwxLHDlsWew5xdKiQvaSxcclxuICAgIHVrOiAvXlvQkC3QqdCs0K7Qr9CE0IbQh9KQXSokL2ksXHJcbiAgICBhcjogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmwXSokLyxcclxuICAgIGF6OiAvXltBLVrDh8aPxJ7EsMSxw5bFnsOcXSokL2ksXHJcbiAgICBlbDogL15bzpEtz45dKiQvaVxyXG59O1xyXG52YXIgYWxwaGFTcGFjZXMgPSB7XHJcbiAgICBlbjogL15bQS1aXFxzXSokL2ksXHJcbiAgICBjczogL15bQS1aw4HEjMSOw4nEmsONxYfDk8WYxaDFpMOaxa7DncW9XFxzXSokL2ksXHJcbiAgICBkYTogL15bQS1aw4bDmMOFXFxzXSokL2ksXHJcbiAgICBkZTogL15bQS1aw4TDlsOcw59cXHNdKiQvaSxcclxuICAgIGVzOiAvXltBLVrDgcOJw43DkcOTw5rDnFxcc10qJC9pLFxyXG4gICAgZmE6IC9eW9ih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsNm+2pjar9qG2qnbjF0qJC8sXHJcbiAgICBmcjogL15bQS1aw4DDgsOGw4fDicOIw4rDi8OPw47DlMWSw5nDm8OcxbhcXHNdKiQvaSxcclxuICAgIGl0OiAvXltBLVpcXHhDMC1cXHhGRlxcc10qJC9pLFxyXG4gICAgbHQ6IC9eW0EtWsSExIzEmMSWxK7FoMWyxarFvVxcc10qJC9pLFxyXG4gICAgbmw6IC9eW0EtWsOJw4vDj8OTw5bDnFxcc10qJC9pLFxyXG4gICAgaHU6IC9eW0EtWsOBw4nDjcOTw5bFkMOaw5zFsFxcc10qJC9pLFxyXG4gICAgcGw6IC9eW0EtWsSExIbEmMWaxYHFg8OTxbvFuVxcc10qJC9pLFxyXG4gICAgcHQ6IC9eW0EtWsODw4HDgMOCw4fDicOKw43DlcOTw5TDmsOcXFxzXSokL2ksXHJcbiAgICBybzogL15bQS1axILDgsOOxZ7Folxcc10qJC9pLFxyXG4gICAgcnU6IC9eW9CQLdCv0IFcXHNdKiQvaSxcclxuICAgIHNrOiAvXltBLVrDgcOExIzEjsOJw43EucS9xYfDk8WUxaDFpMOaw53FvVxcc10qJC9pLFxyXG4gICAgc3I6IC9eW0EtWsSMxIbFvcWgxJBcXHNdKiQvaSxcclxuICAgIHN2OiAvXltBLVrDhcOEw5ZcXHNdKiQvaSxcclxuICAgIHRyOiAvXltBLVrDh8SexLDEscOWxZ7DnFxcc10qJC9pLFxyXG4gICAgdWs6IC9eW9CQLdCp0KzQrtCv0ITQhtCH0pBcXHNdKiQvaSxcclxuICAgIGFyOiAvXlvYodii2KPYpNil2KbYp9io2KnYqtir2KzYrdiu2K/YsNix2LLYs9i02LXYtti32LjYudi62YHZgtmD2YTZhdmG2YfZiNmJ2YrZi9mM2Y3ZjtmP2ZDZkdmS2bBcXHNdKiQvLFxyXG4gICAgYXo6IC9eW0EtWsOHxo/EnsSwxLHDlsWew5xcXHNdKiQvaSxcclxuICAgIGVsOiAvXlvOkS3Pjlxcc10qJC9pXHJcbn07XHJcbnZhciBhbHBoYW51bWVyaWMgPSB7XHJcbiAgICBlbjogL15bMC05QS1aXSokL2ksXHJcbiAgICBjczogL15bMC05QS1aw4HEjMSOw4nEmsONxYfDk8WYxaDFpMOaxa7DncW9XSokL2ksXHJcbiAgICBkYTogL15bMC05QS1aw4bDmMOFXSQvaSxcclxuICAgIGRlOiAvXlswLTlBLVrDhMOWw5zDn10qJC9pLFxyXG4gICAgZXM6IC9eWzAtOUEtWsOBw4nDjcORw5PDmsOcXSokL2ksXHJcbiAgICBmYTogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmw2b7amNqv2obaqduMXSokLyxcclxuICAgIGZyOiAvXlswLTlBLVrDgMOCw4bDh8OJw4jDisOLw4/DjsOUxZLDmcObw5zFuF0qJC9pLFxyXG4gICAgaXQ6IC9eWzAtOUEtWlxceEMwLVxceEZGXSokL2ksXHJcbiAgICBsdDogL15bMC05QS1axITEjMSYxJbErsWgxbLFqsW9XSokL2ksXHJcbiAgICBodTogL15bMC05QS1aw4HDicONw5PDlsWQw5rDnMWwXSokL2ksXHJcbiAgICBubDogL15bMC05QS1aw4nDi8OPw5PDlsOcXSokL2ksXHJcbiAgICBwbDogL15bMC05QS1axITEhsSYxZrFgcWDw5PFu8W5XSokL2ksXHJcbiAgICBwdDogL15bMC05QS1aw4PDgcOAw4LDh8OJw4rDjcOVw5PDlMOaw5xdKiQvaSxcclxuICAgIHJvOiAvXlswLTlBLVrEgsOCw47FnsWiXSokL2ksXHJcbiAgICBydTogL15bMC050JAt0K/QgV0qJC9pLFxyXG4gICAgc2s6IC9eWzAtOUEtWsOBw4TEjMSOw4nDjcS5xL3Fh8OTxZTFoMWkw5rDncW9XSokL2ksXHJcbiAgICBzcjogL15bMC05QS1axIzEhsW9xaDEkF0qJC9pLFxyXG4gICAgc3Y6IC9eWzAtOUEtWsOFw4TDll0qJC9pLFxyXG4gICAgdHI6IC9eWzAtOUEtWsOHxJ7EsMSxw5bFnsOcXSokL2ksXHJcbiAgICB1azogL15bMC050JAt0KnQrNCu0K/QhNCG0IfSkF0qJC9pLFxyXG4gICAgYXI6IC9eW9mg2aHZotmj2aTZpdmm2afZqNmpMC052KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmwXSokLyxcclxuICAgIGF6OiAvXlswLTlBLVrDh8aPxJ7EsMSxw5bFnsOcXSokL2ksXHJcbiAgICBlbDogL15bMC05zpEtz45dKiQvaVxyXG59O1xyXG52YXIgYWxwaGFEYXNoID0ge1xyXG4gICAgZW46IC9eWzAtOUEtWl8tXSokL2ksXHJcbiAgICBjczogL15bMC05QS1aw4HEjMSOw4nEmsONxYfDk8WYxaDFpMOaxa7DncW9Xy1dKiQvaSxcclxuICAgIGRhOiAvXlswLTlBLVrDhsOYw4VfLV0qJC9pLFxyXG4gICAgZGU6IC9eWzAtOUEtWsOEw5bDnMOfXy1dKiQvaSxcclxuICAgIGVzOiAvXlswLTlBLVrDgcOJw43DkcOTw5rDnF8tXSokL2ksXHJcbiAgICBmYTogL15b2KHYotij2KTYpdim2KfYqNip2KrYq9is2K3Yrtiv2LDYsdiy2LPYtNi12LbYt9i42LnYutmB2YLZg9mE2YXZhtmH2YjZidmK2YvZjNmN2Y7Zj9mQ2ZHZktmw2b7amNqv2obaqduMXSokLyxcclxuICAgIGZyOiAvXlswLTlBLVrDgMOCw4bDh8OJw4jDisOLw4/DjsOUxZLDmcObw5zFuF8tXSokL2ksXHJcbiAgICBpdDogL15bMC05QS1aXFx4QzAtXFx4RkZfLV0qJC9pLFxyXG4gICAgbHQ6IC9eWzAtOUEtWsSExIzEmMSWxK7FoMWyxarFvV8tXSokL2ksXHJcbiAgICBubDogL15bMC05QS1aw4nDi8OPw5PDlsOcXy1dKiQvaSxcclxuICAgIGh1OiAvXlswLTlBLVrDgcOJw43Dk8OWxZDDmsOcxbBfLV0qJC9pLFxyXG4gICAgcGw6IC9eWzAtOUEtWsSExIbEmMWaxYHFg8OTxbvFuV8tXSokL2ksXHJcbiAgICBwdDogL15bMC05QS1aw4PDgcOAw4LDh8OJw4rDjcOVw5PDlMOaw5xfLV0qJC9pLFxyXG4gICAgcm86IC9eWzAtOUEtWsSCw4LDjsWexaJfLV0qJC9pLFxyXG4gICAgcnU6IC9eWzAtOdCQLdCv0IFfLV0qJC9pLFxyXG4gICAgc2s6IC9eWzAtOUEtWsOBw4TEjMSOw4nDjcS5xL3Fh8OTxZTFoMWkw5rDncW9Xy1dKiQvaSxcclxuICAgIHNyOiAvXlswLTlBLVrEjMSGxb3FoMSQXy1dKiQvaSxcclxuICAgIHN2OiAvXlswLTlBLVrDhcOEw5ZfLV0qJC9pLFxyXG4gICAgdHI6IC9eWzAtOUEtWsOHxJ7EsMSxw5bFnsOcXy1dKiQvaSxcclxuICAgIHVrOiAvXlswLTnQkC3QqdCs0K7Qr9CE0IbQh9KQXy1dKiQvaSxcclxuICAgIGFyOiAvXlvZoNmh2aLZo9mk2aXZptmn2ajZqTAtOdih2KLYo9ik2KXYptin2KjYqdiq2KvYrNit2K7Yr9iw2LHYstiz2LTYtdi22LfYuNi52LrZgdmC2YPZhNmF2YbZh9mI2YnZitmL2YzZjdmO2Y/ZkNmR2ZLZsF8tXSokLyxcclxuICAgIGF6OiAvXlswLTlBLVrDh8aPxJ7EsMSxw5bFnsOcXy1dKiQvaSxcclxuICAgIGVsOiAvXlswLTnOkS3Pjl8tXSokL2lcclxufTtcblxudmFyIHZhbGlkYXRlID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIF9iID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5sb2NhbGUsIGxvY2FsZSA9IF9iID09PSB2b2lkIDAgPyAnJyA6IF9iO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlKHZhbCwgeyBsb2NhbGU6IGxvY2FsZSB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICAvLyBNYXRjaCBhdCBsZWFzdCBvbmUgbG9jYWxlLlxyXG4gICAgaWYgKCFsb2NhbGUpIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoYWxwaGEpLnNvbWUoZnVuY3Rpb24gKGxvYykgeyByZXR1cm4gYWxwaGFbbG9jXS50ZXN0KHZhbHVlKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGFscGhhW2xvY2FsZV0gfHwgYWxwaGEuZW4pLnRlc3QodmFsdWUpO1xyXG59O1xyXG52YXIgcGFyYW1zID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsb2NhbGUnXHJcbiAgICB9XHJcbl07XHJcbnZhciBhbHBoYSQxID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlLFxyXG4gICAgcGFyYW1zOiBwYXJhbXNcclxufTtcblxudmFyIHZhbGlkYXRlJDEgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgX2IgPSAoX2EgPT09IHZvaWQgMCA/IHt9IDogX2EpLmxvY2FsZSwgbG9jYWxlID0gX2IgPT09IHZvaWQgMCA/ICcnIDogX2I7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkMSh2YWwsIHsgbG9jYWxlOiBsb2NhbGUgfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS5cclxuICAgIGlmICghbG9jYWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhRGFzaCkuc29tZShmdW5jdGlvbiAobG9jKSB7IHJldHVybiBhbHBoYURhc2hbbG9jXS50ZXN0KHZhbHVlKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gKGFscGhhRGFzaFtsb2NhbGVdIHx8IGFscGhhRGFzaC5lbikudGVzdCh2YWx1ZSk7XHJcbn07XHJcbnZhciBwYXJhbXMkMSA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbG9jYWxlJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgYWxwaGFfZGFzaCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQxLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkMVxyXG59O1xuXG52YXIgdmFsaWRhdGUkMiA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBfYiA9IChfYSA9PT0gdm9pZCAwID8ge30gOiBfYSkubG9jYWxlLCBsb2NhbGUgPSBfYiA9PT0gdm9pZCAwID8gJycgOiBfYjtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSQyKHZhbCwgeyBsb2NhbGU6IGxvY2FsZSB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICAvLyBNYXRjaCBhdCBsZWFzdCBvbmUgbG9jYWxlLlxyXG4gICAgaWYgKCFsb2NhbGUpIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMoYWxwaGFudW1lcmljKS5zb21lKGZ1bmN0aW9uIChsb2MpIHsgcmV0dXJuIGFscGhhbnVtZXJpY1tsb2NdLnRlc3QodmFsdWUpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiAoYWxwaGFudW1lcmljW2xvY2FsZV0gfHwgYWxwaGFudW1lcmljLmVuKS50ZXN0KHZhbHVlKTtcclxufTtcclxudmFyIHBhcmFtcyQyID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsb2NhbGUnXHJcbiAgICB9XHJcbl07XHJcbnZhciBhbHBoYV9udW0gPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkMixcclxuICAgIHBhcmFtczogcGFyYW1zJDJcclxufTtcblxudmFyIHZhbGlkYXRlJDMgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgX2IgPSAoX2EgPT09IHZvaWQgMCA/IHt9IDogX2EpLmxvY2FsZSwgbG9jYWxlID0gX2IgPT09IHZvaWQgMCA/ICcnIDogX2I7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkMyh2YWwsIHsgbG9jYWxlOiBsb2NhbGUgfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgLy8gTWF0Y2ggYXQgbGVhc3Qgb25lIGxvY2FsZS5cclxuICAgIGlmICghbG9jYWxlKSB7XHJcbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGFscGhhU3BhY2VzKS5zb21lKGZ1bmN0aW9uIChsb2MpIHsgcmV0dXJuIGFscGhhU3BhY2VzW2xvY10udGVzdCh2YWx1ZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIChhbHBoYVNwYWNlc1tsb2NhbGVdIHx8IGFscGhhU3BhY2VzLmVuKS50ZXN0KHZhbHVlKTtcclxufTtcclxudmFyIHBhcmFtcyQzID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdsb2NhbGUnXHJcbiAgICB9XHJcbl07XHJcbnZhciBhbHBoYV9zcGFjZXMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkMyxcclxuICAgIHBhcmFtczogcGFyYW1zJDNcclxufTtcblxudmFyIHZhbGlkYXRlJDQgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgX2IgPSBfYSA9PT0gdm9pZCAwID8ge30gOiBfYSwgbWluID0gX2IubWluLCBtYXggPSBfYi5tYXg7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gISF2YWxpZGF0ZSQ0KHZhbCwgeyBtaW46IG1pbiwgbWF4OiBtYXggfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE51bWJlcihtaW4pIDw9IHZhbHVlICYmIE51bWJlcihtYXgpID49IHZhbHVlO1xyXG59O1xyXG52YXIgcGFyYW1zJDQgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ21pbidcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ21heCdcclxuICAgIH1cclxuXTtcclxudmFyIGJldHdlZW4gPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkNCxcclxuICAgIHBhcmFtczogcGFyYW1zJDRcclxufTtcblxudmFyIHZhbGlkYXRlJDUgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgdGFyZ2V0ID0gX2EudGFyZ2V0O1xyXG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSkgPT09IFN0cmluZyh0YXJnZXQpO1xyXG59O1xyXG52YXIgcGFyYW1zJDUgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ3RhcmdldCcsXHJcbiAgICAgICAgaXNUYXJnZXQ6IHRydWVcclxuICAgIH1cclxuXTtcclxudmFyIGNvbmZpcm1lZCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ1LFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkNVxyXG59O1xuXG52YXIgdmFsaWRhdGUkNiA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBsZW5ndGggPSBfYS5sZW5ndGg7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkNih2YWwsIHsgbGVuZ3RoOiBsZW5ndGggfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgdmFyIHN0clZhbCA9IFN0cmluZyh2YWx1ZSk7XHJcbiAgICByZXR1cm4gL15bMC05XSokLy50ZXN0KHN0clZhbCkgJiYgc3RyVmFsLmxlbmd0aCA9PT0gbGVuZ3RoO1xyXG59O1xyXG52YXIgcGFyYW1zJDYgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xlbmd0aCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIGRpZ2l0cyA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ2LFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkNlxyXG59O1xuXG52YXIgdmFsaWRhdGVJbWFnZSA9IGZ1bmN0aW9uIChmaWxlLCB3aWR0aCwgaGVpZ2h0KSB7XHJcbiAgICB2YXIgVVJMID0gd2luZG93LlVSTCB8fCB3aW5kb3cud2Via2l0VVJMO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlKSB7XHJcbiAgICAgICAgdmFyIGltYWdlID0gbmV3IEltYWdlKCk7XHJcbiAgICAgICAgaW1hZ2Uub25lcnJvciA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlc29sdmUoZmFsc2UpOyB9O1xyXG4gICAgICAgIGltYWdlLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHJlc29sdmUoaW1hZ2Uud2lkdGggPT09IHdpZHRoICYmIGltYWdlLmhlaWdodCA9PT0gaGVpZ2h0KTsgfTtcclxuICAgICAgICBpbWFnZS5zcmMgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xyXG4gICAgfSk7XHJcbn07XHJcbnZhciB2YWxpZGF0ZSQ3ID0gZnVuY3Rpb24gKGZpbGVzLCBfYSkge1xyXG4gICAgdmFyIHdpZHRoID0gX2Eud2lkdGgsIGhlaWdodCA9IF9hLmhlaWdodDtcclxuICAgIHZhciBsaXN0ID0gW107XHJcbiAgICBmaWxlcyA9IEFycmF5LmlzQXJyYXkoZmlsZXMpID8gZmlsZXMgOiBbZmlsZXNdO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBmaWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIC8vIGlmIGZpbGUgaXMgbm90IGFuIGltYWdlLCByZWplY3QuXHJcbiAgICAgICAgaWYgKCEvXFwuKGpwZ3xzdmd8anBlZ3xwbmd8Ym1wfGdpZikkL2kudGVzdChmaWxlc1tpXS5uYW1lKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGlzdC5wdXNoKGZpbGVzW2ldKTtcclxuICAgIH1cclxuICAgIHJldHVybiBQcm9taXNlLmFsbChsaXN0Lm1hcChmdW5jdGlvbiAoZmlsZSkgeyByZXR1cm4gdmFsaWRhdGVJbWFnZShmaWxlLCB3aWR0aCwgaGVpZ2h0KTsgfSkpLnRoZW4oZnVuY3Rpb24gKHZhbHVlcykge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZXMuZXZlcnkoZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHY7IH0pO1xyXG4gICAgfSk7XHJcbn07XHJcbnZhciBwYXJhbXMkNyA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnd2lkdGgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdoZWlnaHQnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBkaW1lbnNpb25zID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDcsXHJcbiAgICBwYXJhbXM6IHBhcmFtcyQ3XHJcbn07XG5cbnZhciB2YWxpZGF0ZSQ4ID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIG11bHRpcGxlID0gKF9hID09PSB2b2lkIDAgPyB7fSA6IF9hKS5tdWx0aXBsZTtcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgdmFyIHJlID0gL14oKFtePD4oKVxcW1xcXVxcXFwuLDs6XFxzQFwiXSsoXFwuW148PigpXFxbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtbMC05XXsxLDN9XFwuWzAtOV17MSwzfVxcLlswLTldezEsM31cXC5bMC05XXsxLDN9XFxdKXwoKFthLXpBLVpcXC0wLTldK1xcLikrW2EtekEtWl17Mix9KSkkLztcclxuICAgIGlmIChtdWx0aXBsZSAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICB2YWx1ZSA9IFN0cmluZyh2YWx1ZSlcclxuICAgICAgICAgICAgLnNwbGl0KCcsJylcclxuICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAoZW1haWxTdHIpIHsgcmV0dXJuIGVtYWlsU3RyLnRyaW0oKTsgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gcmUudGVzdChTdHJpbmcodmFsKSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlLnRlc3QoU3RyaW5nKHZhbHVlKSk7XHJcbn07XHJcbnZhciBwYXJhbXMkOCA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbXVsdGlwbGUnLFxyXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlXHJcbiAgICB9XHJcbl07XHJcbnZhciBlbWFpbCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSQ4LFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkOFxyXG59O1xuXG5mdW5jdGlvbiBpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQ7XHJcbn1cclxuZnVuY3Rpb24gaXNFbXB0eUFycmF5KGFycikge1xyXG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoYXJyKSAmJiBhcnIubGVuZ3RoID09PSAwO1xyXG59XHJcbmZ1bmN0aW9uIGlzQ2FsbGFibGUoZm4pIHtcclxuICAgIHJldHVybiB0eXBlb2YgZm4gPT09ICdmdW5jdGlvbic7XHJcbn1cblxuZnVuY3Rpb24gaW5jbHVkZXMoY29sbGVjdGlvbiwgaXRlbSkge1xyXG4gICAgcmV0dXJuIGNvbGxlY3Rpb24uaW5kZXhPZihpdGVtKSAhPT0gLTE7XHJcbn1cclxuLyoqXHJcbiAqIENvbnZlcnRzIGFuIGFycmF5LWxpa2Ugb2JqZWN0IHRvIGFycmF5LCBwcm92aWRlcyBhIHNpbXBsZSBwb2x5ZmlsbCBmb3IgQXJyYXkuZnJvbVxyXG4gKi9cclxuZnVuY3Rpb24gdG9BcnJheShhcnJheUxpa2UpIHtcclxuICAgIGlmIChpc0NhbGxhYmxlKEFycmF5LmZyb20pKSB7XHJcbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oYXJyYXlMaWtlKTtcclxuICAgIH1cclxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbiAgICByZXR1cm4gX2NvcHlBcnJheShhcnJheUxpa2UpO1xyXG59XHJcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXHJcbmZ1bmN0aW9uIF9jb3B5QXJyYXkoYXJyYXlMaWtlKSB7XHJcbiAgICB2YXIgYXJyYXkgPSBbXTtcclxuICAgIHZhciBsZW5ndGggPSBhcnJheUxpa2UubGVuZ3RoO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGFycmF5LnB1c2goYXJyYXlMaWtlW2ldKTtcclxuICAgIH1cclxuICAgIHJldHVybiBhcnJheTtcclxufVxuXG52YXIgdmFsaWRhdGUkOSA9IGZ1bmN0aW9uICh2YWx1ZSwgb3B0aW9ucykge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJDkodmFsLCBvcHRpb25zKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdG9BcnJheShvcHRpb25zKS5zb21lKGZ1bmN0aW9uIChpdGVtKSB7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXHJcbiAgICAgICAgcmV0dXJuIGl0ZW0gPT0gdmFsdWU7XHJcbiAgICB9KTtcclxufTtcclxudmFyIG9uZU9mID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJDlcclxufTtcblxudmFyIHZhbGlkYXRlJGEgPSBmdW5jdGlvbiAodmFsdWUsIGFyZ3MpIHtcclxuICAgIHJldHVybiAhdmFsaWRhdGUkOSh2YWx1ZSwgYXJncyk7XHJcbn07XHJcbnZhciBleGNsdWRlZCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRhXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRiID0gZnVuY3Rpb24gKGZpbGVzLCBleHRlbnNpb25zKSB7XHJcbiAgICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKFwiLihcIiArIGV4dGVuc2lvbnMuam9pbignfCcpICsgXCIpJFwiLCAnaScpO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZmlsZXMpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZpbGVzLmV2ZXJ5KGZ1bmN0aW9uIChmaWxlKSB7IHJldHVybiByZWdleC50ZXN0KGZpbGUubmFtZSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlZ2V4LnRlc3QoZmlsZXMubmFtZSk7XHJcbn07XHJcbnZhciBleHQgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkYlxyXG59O1xuXG52YXIgdmFsaWRhdGUkYyA9IGZ1bmN0aW9uIChmaWxlcykge1xyXG4gICAgdmFyIHJlZ2V4ID0gL1xcLihqcGd8c3ZnfGpwZWd8cG5nfGJtcHxnaWZ8d2VicCkkL2k7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheShmaWxlcykpIHtcclxuICAgICAgICByZXR1cm4gZmlsZXMuZXZlcnkoZnVuY3Rpb24gKGZpbGUpIHsgcmV0dXJuIHJlZ2V4LnRlc3QoZmlsZS5uYW1lKTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVnZXgudGVzdChmaWxlcy5uYW1lKTtcclxufTtcclxudmFyIGltYWdlID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGNcclxufTtcblxudmFyIHZhbGlkYXRlJGQgPSBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiAvXi0/WzAtOV0rJC8udGVzdChTdHJpbmcodmFsKSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIC9eLT9bMC05XSskLy50ZXN0KFN0cmluZyh2YWx1ZSkpO1xyXG59O1xyXG52YXIgaW50ZWdlciA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRkXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRlID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIG90aGVyID0gX2Eub3RoZXI7XHJcbiAgICByZXR1cm4gdmFsdWUgPT09IG90aGVyO1xyXG59O1xyXG52YXIgcGFyYW1zJDkgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ290aGVyJ1xyXG4gICAgfVxyXG5dO1xyXG52YXIgaXMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkZSxcclxuICAgIHBhcmFtczogcGFyYW1zJDlcclxufTtcblxudmFyIHZhbGlkYXRlJGYgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgb3RoZXIgPSBfYS5vdGhlcjtcclxuICAgIHJldHVybiB2YWx1ZSAhPT0gb3RoZXI7XHJcbn07XHJcbnZhciBwYXJhbXMkYSA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnb3RoZXInXHJcbiAgICB9XHJcbl07XHJcbnZhciBpc19ub3QgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkZixcclxuICAgIHBhcmFtczogcGFyYW1zJGFcclxufTtcblxudmFyIHZhbGlkYXRlJGcgPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbGVuZ3RoID0gX2EubGVuZ3RoO1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgdmFsdWUgPSBTdHJpbmcodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF2YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgICB2YWx1ZSA9IHRvQXJyYXkodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA9PT0gbGVuZ3RoO1xyXG59O1xyXG52YXIgcGFyYW1zJGIgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xlbmd0aCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7IHJldHVybiBOdW1iZXIodmFsdWUpOyB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBsZW5ndGggPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkZyxcclxuICAgIHBhcmFtczogcGFyYW1zJGJcclxufTtcblxudmFyIHZhbGlkYXRlJGggPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgbGVuZ3RoID0gX2EubGVuZ3RoO1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiBsZW5ndGggPj0gMDtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5ldmVyeShmdW5jdGlvbiAodmFsKSB7IHJldHVybiB2YWxpZGF0ZSRoKHZhbCwgeyBsZW5ndGg6IGxlbmd0aCB9KTsgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKS5sZW5ndGggPD0gbGVuZ3RoO1xyXG59O1xyXG52YXIgcGFyYW1zJGMgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ2xlbmd0aCcsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIG1heCA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRoLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkY1xyXG59O1xuXG52YXIgdmFsaWRhdGUkaSA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBtYXggPSBfYS5tYXg7XHJcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpIHx8IHZhbHVlID09PSAnJykge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiB2YWx1ZS5sZW5ndGggPiAwICYmIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJGkodmFsLCB7IG1heDogbWF4IH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBOdW1iZXIodmFsdWUpIDw9IG1heDtcclxufTtcclxudmFyIHBhcmFtcyRkID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdtYXgnLFxyXG4gICAgICAgIGNhc3Q6IGZ1bmN0aW9uICh2YWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbl07XHJcbnZhciBtYXhfdmFsdWUgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkaSxcclxuICAgIHBhcmFtczogcGFyYW1zJGRcclxufTtcblxudmFyIHZhbGlkYXRlJGogPSBmdW5jdGlvbiAoZmlsZXMsIG1pbWVzKSB7XHJcbiAgICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKG1pbWVzLmpvaW4oJ3wnKS5yZXBsYWNlKCcqJywgJy4rJykgKyBcIiRcIiwgJ2knKTtcclxuICAgIGlmIChBcnJheS5pc0FycmF5KGZpbGVzKSkge1xyXG4gICAgICAgIHJldHVybiBmaWxlcy5ldmVyeShmdW5jdGlvbiAoZmlsZSkgeyByZXR1cm4gcmVnZXgudGVzdChmaWxlLnR5cGUpOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZWdleC50ZXN0KGZpbGVzLnR5cGUpO1xyXG59O1xyXG52YXIgbWltZXMgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkalxyXG59O1xuXG52YXIgdmFsaWRhdGUkayA9IGZ1bmN0aW9uICh2YWx1ZSwgX2EpIHtcclxuICAgIHZhciBsZW5ndGggPSBfYS5sZW5ndGg7XHJcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmV2ZXJ5KGZ1bmN0aW9uICh2YWwpIHsgcmV0dXJuIHZhbGlkYXRlJGsodmFsLCB7IGxlbmd0aDogbGVuZ3RoIH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBTdHJpbmcodmFsdWUpLmxlbmd0aCA+PSBsZW5ndGg7XHJcbn07XHJcbnZhciBwYXJhbXMkZSA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnbGVuZ3RoJyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgbWluID0ge1xyXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlJGssXHJcbiAgICBwYXJhbXM6IHBhcmFtcyRlXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRsID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIG1pbiA9IF9hLm1pbjtcclxuICAgIGlmIChpc051bGxPclVuZGVmaW5lZCh2YWx1ZSkgfHwgdmFsdWUgPT09ICcnKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+IDAgJiYgdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkbCh2YWwsIHsgbWluOiBtaW4gfSk7IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIE51bWJlcih2YWx1ZSkgPj0gbWluO1xyXG59O1xyXG52YXIgcGFyYW1zJGYgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ21pbicsXHJcbiAgICAgICAgY2FzdDogZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXTtcclxudmFyIG1pbl92YWx1ZSA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRsLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkZlxyXG59O1xuXG52YXIgYXIgPSAvXlvZoNmh2aLZo9mk2aXZptmn2ajZqV0rJC87XHJcbnZhciBlbiA9IC9eWzAtOV0rJC87XHJcbnZhciB2YWxpZGF0ZSRtID0gZnVuY3Rpb24gKHZhbHVlKSB7XHJcbiAgICB2YXIgdGVzdFZhbHVlID0gZnVuY3Rpb24gKHZhbCkge1xyXG4gICAgICAgIHZhciBzdHJWYWx1ZSA9IFN0cmluZyh2YWwpO1xyXG4gICAgICAgIHJldHVybiBlbi50ZXN0KHN0clZhbHVlKSB8fCBhci50ZXN0KHN0clZhbHVlKTtcclxuICAgIH07XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkodGVzdFZhbHVlKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0ZXN0VmFsdWUodmFsdWUpO1xyXG59O1xyXG52YXIgbnVtZXJpYyA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRtXHJcbn07XG5cbnZhciB2YWxpZGF0ZSRuID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIHJlZ2V4ID0gX2EucmVnZXg7XHJcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdmFsdWUuZXZlcnkoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsaWRhdGUkbih2YWwsIHsgcmVnZXg6IHJlZ2V4IH0pOyB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZWdleC50ZXN0KFN0cmluZyh2YWx1ZSkpO1xyXG59O1xyXG52YXIgcGFyYW1zJGcgPSBbXHJcbiAgICB7XHJcbiAgICAgICAgbmFtZTogJ3JlZ2V4JyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgcmVnZXggPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkbixcclxuICAgIHBhcmFtczogcGFyYW1zJGdcclxufTtcblxudmFyIHZhbGlkYXRlJG8gPSBmdW5jdGlvbiAodmFsdWUsIF9hKSB7XHJcbiAgICB2YXIgYWxsb3dGYWxzZSA9IChfYSA9PT0gdm9pZCAwID8geyBhbGxvd0ZhbHNlOiB0cnVlIH0gOiBfYSkuYWxsb3dGYWxzZTtcclxuICAgIHZhciByZXN1bHQgPSB7XHJcbiAgICAgICAgdmFsaWQ6IGZhbHNlLFxyXG4gICAgICAgIHJlcXVpcmVkOiB0cnVlXHJcbiAgICB9O1xyXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSB8fCBpc0VtcHR5QXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuICAgIC8vIGluY2FzZSBhIGZpZWxkIGNvbnNpZGVycyBgZmFsc2VgIGFzIGFuIGVtcHR5IHZhbHVlIGxpa2UgY2hlY2tib3hlcy5cclxuICAgIGlmICh2YWx1ZSA9PT0gZmFsc2UgJiYgIWFsbG93RmFsc2UpIHtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG4gICAgcmVzdWx0LnZhbGlkID0gISFTdHJpbmcodmFsdWUpLnRyaW0oKS5sZW5ndGg7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG59O1xyXG52YXIgY29tcHV0ZXNSZXF1aXJlZCA9IHRydWU7XHJcbnZhciBwYXJhbXMkaCA9IFtcclxuICAgIHtcclxuICAgICAgICBuYW1lOiAnYWxsb3dGYWxzZScsXHJcbiAgICAgICAgZGVmYXVsdDogdHJ1ZVxyXG4gICAgfVxyXG5dO1xyXG52YXIgcmVxdWlyZWQgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkbyxcclxuICAgIHBhcmFtczogcGFyYW1zJGgsXHJcbiAgICBjb21wdXRlc1JlcXVpcmVkOiBjb21wdXRlc1JlcXVpcmVkXHJcbn07XG5cbnZhciB0ZXN0RW1wdHkgPSBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgIHJldHVybiBpc0VtcHR5QXJyYXkodmFsdWUpIHx8IGluY2x1ZGVzKFtmYWxzZSwgbnVsbCwgdW5kZWZpbmVkXSwgdmFsdWUpIHx8ICFTdHJpbmcodmFsdWUpLnRyaW0oKS5sZW5ndGg7XHJcbn07XHJcbnZhciB2YWxpZGF0ZSRwID0gZnVuY3Rpb24gKHZhbHVlLCBfYSkge1xyXG4gICAgdmFyIHRhcmdldCA9IF9hLnRhcmdldCwgdmFsdWVzID0gX2EudmFsdWVzO1xyXG4gICAgdmFyIHJlcXVpcmVkO1xyXG4gICAgaWYgKHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlcykgJiYgdHlwZW9mIHZhbHVlcyA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgdmFsdWVzID0gW3ZhbHVlc107XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxyXG4gICAgICAgIHJlcXVpcmVkID0gdmFsdWVzLnNvbWUoZnVuY3Rpb24gKHZhbCkgeyByZXR1cm4gdmFsID09IFN0cmluZyh0YXJnZXQpLnRyaW0oKTsgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgICByZXF1aXJlZCA9ICF0ZXN0RW1wdHkodGFyZ2V0KTtcclxuICAgIH1cclxuICAgIGlmICghcmVxdWlyZWQpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICB2YWxpZDogdHJ1ZSxcclxuICAgICAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiB7XHJcbiAgICAgICAgdmFsaWQ6ICF0ZXN0RW1wdHkodmFsdWUpLFxyXG4gICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZFxyXG4gICAgfTtcclxufTtcclxudmFyIHBhcmFtcyRpID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICd0YXJnZXQnLFxyXG4gICAgICAgIGlzVGFyZ2V0OiB0cnVlXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICd2YWx1ZXMnXHJcbiAgICB9XHJcbl07XHJcbnZhciBjb21wdXRlc1JlcXVpcmVkJDEgPSB0cnVlO1xyXG52YXIgcmVxdWlyZWRfaWYgPSB7XHJcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGUkcCxcclxuICAgIHBhcmFtczogcGFyYW1zJGksXHJcbiAgICBjb21wdXRlc1JlcXVpcmVkOiBjb21wdXRlc1JlcXVpcmVkJDFcclxufTtcblxudmFyIHZhbGlkYXRlJHEgPSBmdW5jdGlvbiAoZmlsZXMsIF9hKSB7XHJcbiAgICB2YXIgc2l6ZSA9IF9hLnNpemU7XHJcbiAgICBpZiAoaXNOYU4oc2l6ZSkpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB2YXIgblNpemUgPSBzaXplICogMTAyNDtcclxuICAgIGlmICghQXJyYXkuaXNBcnJheShmaWxlcykpIHtcclxuICAgICAgICByZXR1cm4gZmlsZXMuc2l6ZSA8PSBuU2l6ZTtcclxuICAgIH1cclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBpZiAoZmlsZXNbaV0uc2l6ZSA+IG5TaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxufTtcclxudmFyIHBhcmFtcyRqID0gW1xyXG4gICAge1xyXG4gICAgICAgIG5hbWU6ICdzaXplJyxcclxuICAgICAgICBjYXN0OiBmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5dO1xyXG52YXIgc2l6ZSA9IHtcclxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZSRxLFxyXG4gICAgcGFyYW1zOiBwYXJhbXMkalxyXG59O1xuXG5leHBvcnQgeyBhbHBoYSQxIGFzIGFscGhhLCBhbHBoYV9kYXNoLCBhbHBoYV9udW0sIGFscGhhX3NwYWNlcywgYmV0d2VlbiwgY29uZmlybWVkLCBkaWdpdHMsIGRpbWVuc2lvbnMsIGVtYWlsLCBleGNsdWRlZCwgZXh0LCBpbWFnZSwgaW50ZWdlciwgaXMsIGlzX25vdCwgbGVuZ3RoLCBtYXgsIG1heF92YWx1ZSwgbWltZXMsIG1pbiwgbWluX3ZhbHVlLCBudW1lcmljLCBvbmVPZiwgcmVnZXgsIHJlcXVpcmVkLCByZXF1aXJlZF9pZiwgc2l6ZSB9O1xuIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIuc2VsZWN0W2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcXG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG4uaW5wdXQtb3B0aW9uc1tkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcXG4gIHRvcDogNjVweDtcXG4gIGxlZnQ6IDA7XFxuICByaWdodDogMDtcXG4gIHotaW5kZXg6IDk7XFxuICBtYXgtaGVpZ2h0OiAyOTVweDtcXG4gIG92ZXJmbG93LXk6IGF1dG87XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbVtkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHBhZGRpbmc6IDEzcHggMjBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXTpob3ZlciB7XFxuICBjb2xvcjogIzAwQkM3RTtcXG4gIGJhY2tncm91bmQ6ICNmNGY1ZjY7XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbVtkYXRhLXYtMTRiMWQ2YTNdOmxhc3QtY2hpbGQge1xcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcXG59XFxuLmlucHV0LWFyZWFbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBib3JkZXItd2lkdGg6IDFweDtcXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XFxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBwYWRkaW5nOiAxM3B4IDIwcHg7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgb3V0bGluZTogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uaW5wdXQtYXJlYSAuY2hldnJvbltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHRyYW5zaXRpb246IDE1MG1zIGFsbCBlYXNlO1xcbn1cXG4uaW5wdXQtYXJlYS5pcy1hY3RpdmUgLmNoZXZyb25bZGF0YS12LTE0YjFkNmEzXSB7XFxuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xcbn1cXG4uaW5wdXQtYXJlYS5pcy1lcnJvcltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIGJvcmRlci1jb2xvcjogI2ZkMzk3YTtcXG4gIGJveC1zaGFkb3c6IDAgMCA3cHggcmdiYSgyNTMsIDU3LCAxMjIsIDAuMyk7XFxufVxcbi5vcHRpb24taWNvbltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIHdpZHRoOiAyMHB4O1xcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgZm9udC1zaXplOiAwLjYyNWVtO1xcbn1cXG4ub3B0aW9uLWljb24gc3ZnW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgbWFyZ2luLXRvcDogLTRweDtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxufVxcbi5vcHRpb24tdmFsdWVbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBmb250LXNpemU6IDAuODc1ZW07XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgd2lkdGg6IDEwMCU7XFxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xcbn1cXG4ub3B0aW9uLXZhbHVlLnBsYWNlaG9kZXJbZGF0YS12LTE0YjFkNmEzXSB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbn1cXG4uc2xpZGUtaW4tZW50ZXItYWN0aXZlW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2U7XFxufVxcbi5zbGlkZS1pbi1lbnRlcltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gIG9wYWNpdHk6IDA7XFxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmlucHV0LWFyZWFbZGF0YS12LTE0YjFkNmEzXSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGJvcmRlci1jb2xvcjogIzFlMjAyNDtcXG59XFxuLnBvcHVwLXdyYXBwZXIgLmlucHV0LWFyZWFbZGF0YS12LTE0YjFkNmEzXSB7XFxuICAgIGJhY2tncm91bmQ6ICMyNTI3MmM7XFxufVxcbi5pbnB1dC1vcHRpb25zW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbn1cXG4uaW5wdXQtb3B0aW9ucyAub3B0aW9uLWl0ZW1bZGF0YS12LTE0YjFkNmEzXSB7XFxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XFxufVxcbi5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbVtkYXRhLXYtMTRiMWQ2YTNdOmhvdmVyIHtcXG4gICAgYmFja2dyb3VuZDogIzJhMmMzMjtcXG59XFxuLmlucHV0LW9wdGlvbnMgLm9wdGlvbi1pdGVtOmhvdmVyIC5vcHRpb24taWNvbiBwYXRoW2RhdGEtdi0xNGIxZDZhM10sIC5pbnB1dC1vcHRpb25zIC5vcHRpb24taXRlbTpob3ZlciAub3B0aW9uLWljb24gY2lyY2xlW2RhdGEtdi0xNGIxZDZhM10ge1xcbiAgICBjb2xvcjogaW5oZXJpdDtcXG59XFxuLmlucHV0LW9wdGlvbnMgLm9wdGlvbi1pdGVtW2RhdGEtdi0xNGIxZDZhM106bGFzdC1jaGlsZCB7XFxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XFxufVxcbi5vcHRpb24tdmFsdWUucGxhY2Vob2RlcltkYXRhLXYtMTRiMWQ2YTNdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Yzg4OTk4MTAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Yzg4OTk4MTAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwiZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2xpYi9jc3MtYmFzZS5qc1wiKShmYWxzZSk7XG4vLyBpbXBvcnRzXG5cblxuLy8gbW9kdWxlXG5leHBvcnRzLnB1c2goW21vZHVsZS5pZCwgXCIuZm9ybVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIG1heC13aWR0aDogNzAwcHg7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcbiAgbWFyZ2luOiAwIGF1dG87XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlciAuZXJyb3ItbWVzc2FnZVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcXG4gIGxlZnQ6IDA7XFxuICBib3R0b206IC0yNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC53cmFwcGVyLWlubGluZVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBtYXJnaW46IDAgLTE1cHg7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLndyYXBwZXItaW5saW5lIC5ibG9jay13cmFwcGVyW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBwYWRkaW5nOiAwIDE1cHg7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXJbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyIGxhYmVsW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC44KTtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIG1hcmdpbi1ib3R0b206IDdweDtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXJbZGF0YS12LTRhNTJjN2IxXTpsYXN0LWNoaWxkIHtcXG4gIG1hcmdpbi1ib3R0b206IDA7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJ1dHRvbltkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIG1hcmdpbi10b3A6IDUwcHg7XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlcltkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXIgLnN3aXRjaC1sYWJlbCAuaW5wdXQtaGVscFtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIHBhZGRpbmctdG9wOiAwO1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXIgLnN3aXRjaC1sYWJlbCAuaW5wdXQtbGFiZWxbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgY29sb3I6ICMxQjI1Mzk7XFxuICBmb250LXNpemU6IDFlbTtcXG4gIG1hcmdpbi1ib3R0b206IDVweDtcXG59XFxuLmZvcm0gLmlucHV0LWhlbHBbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBmb250LXNpemU6IDAuNzVlbTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNyk7XFxuICBsaW5lLWhlaWdodDogMS4zNTtcXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLnNpbmdsZS1saW5lLWZvcm0gLnN1Ym1pdC1idXR0b25bZGF0YS12LTRhNTJjN2IxXSB7XFxuICBtYXJnaW4tbGVmdDogMjBweDtcXG59XFxuLmVycm9yLW1lc3NhZ2VbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBmb250LXNpemU6IDAuODc1ZW07XFxuICBjb2xvcjogI2ZkMzk3YTtcXG4gIHBhZGRpbmctdG9wOiA1cHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbnRleHRhcmVhW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgd2lkdGg6IDEwMCU7XFxufVxcbmlucHV0W3R5cGU9XFxcImNvbG9yXFxcIl1bZGF0YS12LTRhNTJjN2IxXSB7XFxuICB3aWR0aDogMzhweDtcXG4gIGhlaWdodDogNDBweDtcXG4gIGJvcmRlcjogbm9uZTtcXG4gIG91dGxpbmU6IG5vbmU7XFxuICBiYWNrZ3JvdW5kOiBub25lO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNGE1MmM3YjFdLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNTJjN2IxXSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTRhNTJjN2IxXSxcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNGE1MmM3YjFdLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNTJjN2IxXSB7XFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIHRyYW5zaXRpb246IDE1MG1zIGFsbCBlYXNlO1xcbiAgZm9udC1zaXplOiAxZW07XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBwYWRkaW5nOiAxM3B4IDIwcHg7XFxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgb3V0bGluZTogMDtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgYm94LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XFxufVxcbnRleHRhcmVhLmlzLWVycm9yW2RhdGEtdi00YTUyYzdiMV0sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXS5pcy1lcnJvcltkYXRhLXYtNGE1MmM3YjFdLFxcbmlucHV0W3R5cGU9XFxcInRleHRcXFwiXS5pcy1lcnJvcltkYXRhLXYtNGE1MmM3YjFdLFxcbmlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdLmlzLWVycm9yW2RhdGEtdi00YTUyYzdiMV0sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXS5pcy1lcnJvcltkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGJvcmRlci1jb2xvcjogI2ZkMzk3YTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTRhNTJjN2IxXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtNGE1MmM3YjFdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTRhNTJjN2IxXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTRhNTJjN2IxXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtNGE1MmM3YjFdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNGE1MmM3YjFdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00YTUyYzdiMV06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE1MmM3YjFdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNGE1MmM3YjFdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00YTUyYzdiMV06Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC41KTtcXG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XFxufVxcbnRleHRhcmVhW2RhdGEtdi00YTUyYzdiMV06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00YTUyYzdiMV06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTRhNTJjN2IxXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00YTUyYzdiMV06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00YTUyYzdiMV06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNGE1MmM3YjFdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNTJjN2IxXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTRhNTJjN2IxXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNGE1MmM3YjFdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNTJjN2IxXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNGE1MmM3YjFdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00YTUyYzdiMV06OnBsYWNlaG9sZGVyLFxcbmlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE1MmM3YjFdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNGE1MmM3YjFdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00YTUyYzdiMV06OnBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkaXNhYmxlZF1bZGF0YS12LTRhNTJjN2IxXSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtNGE1MmM3YjFdLFxcbmlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTRhNTJjN2IxXSxcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkaXNhYmxlZF1bZGF0YS12LTRhNTJjN2IxXSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGJhY2tncm91bmQ6IHdoaXRlO1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC44KTtcXG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICBvcGFjaXR5OiAxO1xcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG59XFxuLmFkZGl0aW9uYWwtbGlua1tkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgbWFyZ2luLXRvcDogNTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uYWRkaXRpb25hbC1saW5rIGJbZGF0YS12LTRhNTJjN2IxXSwgLmFkZGl0aW9uYWwtbGluayBhW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uYWRkaXRpb25hbC1saW5rIGJbZGF0YS12LTRhNTJjN2IxXTpob3ZlciwgLmFkZGl0aW9uYWwtbGluayBhW2RhdGEtdi00YTUyYzdiMV06aG92ZXIge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XFxuLmZvcm1bZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIG1heC13aWR0aDogMTAwJTtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4uZm9ybSAuYnV0dG9uW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbWFyZ2luLWxlZnQ6IDA7XFxuICAgIG1hcmdpbi1yaWdodDogMDtcXG59XFxuLmZvcm0gaW5wdXRbZGF0YS12LTRhNTJjN2IxXSwgLmZvcm0gdGV4dGFyZWFbZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBtaW4td2lkdGg6IDEwMCU7XFxufVxcbi5mb3JtLmJsb2NrLWZvcm0gLmJsb2NrLXdyYXBwZXJbZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyIGxhYmVsW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgcGFkZGluZy1yaWdodDogMDtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxuICAgIG1hcmdpbi1ib3R0b206IDdweDtcXG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xcbiAgICBmb250LXNpemU6IDAuODc1ZW07XFxuICAgIHBhZGRpbmctdG9wOiAwO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5idXR0b25bZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIG1hcmdpbi10b3A6IDI1cHg7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXIgLmVycm9yLW1lc3NhZ2VbZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG4gICAgYm90dG9tOiAwO1xcbn1cXG4uZm9ybSAuYnV0dG9uW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgICBwYWRkaW5nOiAxNHB4IDMycHg7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLnNpbmdsZS1saW5lLWZvcm0gLnN1Ym1pdC1idXR0b25bZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xcbiAgICB3aWR0aDogMTAwJTtcXG59XFxudGV4dGFyZWFbZGF0YS12LTRhNTJjN2IxXSxcXG4gIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNTJjN2IxXSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00YTUyYzdiMV0sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTRhNTJjN2IxXSxcXG4gIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIHBhZGRpbmc6IDE0cHggMjBweDtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjkwcHgpIHtcXG4uZm9ybS5ibG9jay1mb3JtIC53cmFwcGVyLWlubGluZVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmZvcm0gLmlucHV0LWhlbHBbZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyIGxhYmVsW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWxhYmVsW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxudGV4dGFyZWFbZGF0YS12LTRhNTJjN2IxXSxcXG4gIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNTJjN2IxXSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE1MmM3YjFdLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTRhNTJjN2IxXSxcXG4gIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIGJvcmRlci1jb2xvcjogIzFlMjAyNDtcXG4gICAgYmFja2dyb3VuZDogIzFlMjAyNDtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbnRleHRhcmVhW2RhdGEtdi00YTUyYzdiMV06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNTJjN2IxXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00YTUyYzdiMV06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi00YTUyYzdiMV06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNTJjN2IxXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNGE1MmM3YjFdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00YTUyYzdiMV06Oi1tb3otcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE1MmM3YjFdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNGE1MmM3YjFdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00YTUyYzdiMV06Oi1tb3otcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTRhNTJjN2IxXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNTJjN2IxXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE1MmM3YjFdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTRhNTJjN2IxXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNTJjN2IxXTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LTRhNTJjN2IxXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi00YTUyYzdiMV06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi00YTUyYzdiMV06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTRhNTJjN2IxXTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi00YTUyYzdiMV06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtNGE1MmM3YjFdOjpwbGFjZWhvbGRlcixcXG4gIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNTJjN2IxXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LTRhNTJjN2IxXTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtNGE1MmM3YjFdOjpwbGFjZWhvbGRlcixcXG4gIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNTJjN2IxXTo6cGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGlzYWJsZWRdW2RhdGEtdi00YTUyYzdiMV0sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtNGE1MmM3YjFdLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtNGE1MmM3YjFdLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi00YTUyYzdiMV0sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gICAgYmFja2dyb3VuZDogIzFlMjAyNDtcXG4gICAgY29sb3I6IHJnYmEoMTI1LCAxMzMsIDE0MCwgMC44KTtcXG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHJnYmEoMTI1LCAxMzMsIDE0MCwgMC44KTtcXG59XFxuLnBvcHVwLXdyYXBwZXIgdGV4dGFyZWFbZGF0YS12LTRhNTJjN2IxXSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LTRhNTJjN2IxXSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtNGE1MmM3YjFdLFxcbiAgLnBvcHVwLXdyYXBwZXIgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LTRhNTJjN2IxXSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIGJhY2tncm91bmQ6ICMyNTI3MmM7XFxufVxcbn1cXG4uY2hhbmdlLXBheW1lbnRbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBwYWRkaW5nLXRvcDogMTBweDtcXG59XFxuLmNoYW5nZS1wYXltZW50IHNwYW5bZGF0YS12LTRhNTJjN2IxXSB7XFxuICBmb250LXdlaWdodDogNjAwO1xcbn1cXG4uY2hhbmdlLXBheW1lbnQgYVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5jaGFuZ2UtcGF5bWVudCBhW2RhdGEtdi00YTUyYzdiMV06aG92ZXIge1xcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XFxufVxcbi5jaGFuZ2UtcGF5bWVudCBzcGFuW2RhdGEtdi00YTUyYzdiMV0sIC5jaGFuZ2UtcGF5bWVudCBhW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC43KTtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG59XFxuLmNhcmQtZXJyb3ItbWVzc2FnZVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIHBhZGRpbmctdG9wOiAxMHB4O1xcbn1cXG4uY2FyZC1lcnJvci1tZXNzYWdlIHNwYW5bZGF0YS12LTRhNTJjN2IxXSwgLmNhcmQtZXJyb3ItbWVzc2FnZSBhW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG4gIGNvbG9yOiAjZmQzOTdhO1xcbn1cXG4uY2FyZC1lcnJvci1tZXNzYWdlIC5saW5rW2RhdGEtdi00YTUyYzdiMV0sIC5jYXJkLWVycm9yLW1lc3NhZ2UgYVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbiAgY3Vyc29yOiBwb2ludGVyO1xcbn1cXG4uY2FyZC1lcnJvci1tZXNzYWdlIC5saW5rW2RhdGEtdi00YTUyYzdiMV06aG92ZXIsIC5jYXJkLWVycm9yLW1lc3NhZ2UgYVtkYXRhLXYtNGE1MmM3YjFdOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG59XFxuLnJlZ2lzdGVyZWQtY2FyZHNbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xcbn1cXG4ucmVnaXN0ZXItY2FyZFtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIG1hcmdpbi1ib3R0b206IDU1cHg7XFxufVxcbi5jcmVkaXQtY2FyZFtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgcGFkZGluZzogMTVweDtcXG4gIGJhY2tncm91bmQ6ICNmNGY1ZjY7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBtYXJnaW4tdG9wOiAyMHB4O1xcbn1cXG4uY3JlZGl0LWNhcmQuaXMtZXJyb3JbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoMjUzLCA1NywgMTIyLCAwLjMpO1xcbiAgYm9yZGVyOiAycHggc29saWQgI2ZkMzk3YTtcXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcXG59XFxuLmNyZWRpdC1jYXJkIHNwYW5bZGF0YS12LTRhNTJjN2IxXSB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uY3JlZGl0LWNhcmQgLmNhcmQtbnVtYmVyW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgZGlzcGxheTogZmxleDtcXG59XFxuLmNyZWRpdC1jYXJkIC5jcmVkaXQtY2FyZC1udW1iZXJzW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIG1hcmdpbi1yaWdodDogMTBweDtcXG59XFxuLmNyZWRpdC1jYXJkIC5jcmVkaXQtY2FyZC1pY29uW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcXG4gIG1heC1oZWlnaHQ6IDIwcHg7XFxuICBtYXJnaW4tcmlnaHQ6IDhweDtcXG59XFxuLnN0cmlwZS1jYXJkW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gIHBhZGRpbmc6IDEzcHggMjBweDtcXG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XFxuICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjZTZlYmYxO1xcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAxNTBtcyBlYXNlO1xcbn1cXG4uc3RyaXBlLWNhcmQuaXMtZXJyb3JbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBib3gtc2hhZG93OiAwIDAgN3B4IHJnYmEoMjUzLCA1NywgMTIyLCAwLjMpO1xcbiAgYm9yZGVyOiAycHggc29saWQgI2ZkMzk3YTtcXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcXG59XFxuLnN0cmlwZS1jYXJkLlN0cmlwZUVsZW1lbnQtLWZvY3VzW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgI2NmZDdkZjtcXG59XFxuLnN0cmlwZS1jYXJkLlN0cmlwZUVsZW1lbnQtLWludmFsaWRbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBib3JkZXItY29sb3I6ICNmYTc1NWE7XFxufVxcbi5zdHJpcGUtY2FyZC5TdHJpcGVFbGVtZW50LS13ZWJraXQtYXV0b2ZpbGxbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZGU1ICFpbXBvcnRhbnQ7XFxufVxcbi5zdHJpcGUtY2FyZCBpZnJhbWUgLklucHV0Q29udGFpbmVyIC5JbnB1dEVsZW1lbnRbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBjb2xvcjogd2hpdGU7XFxufVxcbi5zdW1tYXJ5LWxpc3RbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBib3gtc2hhZG93OiAwIDdweCAyMHB4IDVweCByZ2JhKDI2LCAzNiwgNTUsIDAuMDYpO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xcbiAgcG9zaXRpb246IHN0aWNreTtcXG4gIHBhZGRpbmc6IDI1cHg7XFxuICB0b3A6IDMwcHg7XFxufVxcbi5zdW1tYXJ5LWxpc3QuaXMtZXJyb3JbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBib3JkZXI6IDJweCBzb2xpZCAjZmQzOTdhO1xcbiAgYm94LXNoYWRvdzogMCA3cHggMjBweCA1cHggcmdiYSgyNTMsIDU3LCAxMjIsIDAuMDYpO1xcbn1cXG4uc3VtbWFyeS1saXN0IC5lcnJvci1tZXNzYWdlW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG59XFxuLnN1bW1hcnktbGlzdCAubmV4dC1zdWJtaXRbZGF0YS12LTRhNTJjN2IxXSB7XFxuICB3aWR0aDogMTAwJTtcXG4gIG1hcmdpbi10b3A6IDIwcHg7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLmRpc2NsYWltZXJbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBmb250LXNpemU6IDAuNzVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XFxuICBkaXNwbGF5OiBibG9jaztcXG4gIG1hcmdpbi10b3A6IDEycHg7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLnJvd1tkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICBwYWRkaW5nOiAxNXB4IDA7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLnJvd1tkYXRhLXYtNGE1MmM3YjFdOmZpcnN0LWNoaWxkIHtcXG4gIHBhZGRpbmctdG9wOiAwO1xcbn1cXG4uc3VtbWFyeS1saXN0IC5yb3dbZGF0YS12LTRhNTJjN2IxXTpsYXN0LW9mLXR5cGUge1xcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNGOEY4Rjg7XFxuICBwYWRkaW5nLWJvdHRvbTogMDtcXG59XFxuLnN1bW1hcnktbGlzdCAucm93Omxhc3Qtb2YtdHlwZSBiW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgZm9udC13ZWlnaHQ6IDgwMDtcXG59XFxuLnN1bW1hcnktbGlzdCAuY2VsbCBiW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBmb250LXNpemU6IDEuMTI1ZW07XFxufVxcbi5zdW1tYXJ5LWxpc3QgLmNlbGwgc21hbGxbZGF0YS12LTRhNTJjN2IxXSB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjcpO1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxufVxcbi5vcmRlcltkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xcbn1cXG4ub3JkZXIgLnN0ZXBzW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgZmxleDogMCAwIDY1JTtcXG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XFxufVxcbi5vcmRlciAuc3RlcHMgLmZvcm1bZGF0YS12LTRhNTJjN2IxXSB7XFxuICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbi5vcmRlciAuc3VtbWFyeVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGZsZXg6IDAgMCAzNCU7XFxufVxcbi5wbGFuLXRpdGxlW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgbWF4LXdpZHRoOiA2MDBweDtcXG4gIG1hcmdpbjogMCBhdXRvIDgwcHg7XFxufVxcbi5wbGFuLXRpdGxlIHBhdGhbZGF0YS12LTRhNTJjN2IxXSwgLnBsYW4tdGl0bGUgbGluZVtkYXRhLXYtNGE1MmM3YjFdLCAucGxhbi10aXRsZSBwb2x5bGluZVtkYXRhLXYtNGE1MmM3YjFdLCAucGxhbi10aXRsZSByZWN0W2RhdGEtdi00YTUyYzdiMV0sIC5wbGFuLXRpdGxlIGNpcmNsZVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbn1cXG4ucGxhbi10aXRsZSBoMVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gIGZvbnQtc2l6ZTogMi4zNzVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxuICBtYXJnaW4tYm90dG9tOiA1cHg7XFxufVxcbi5wbGFuLXRpdGxlIGgyW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgZm9udC1zaXplOiAxLjI1ZW07XFxuICBmb250LXdlaWdodDogNTAwO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLnBsYW4tdGl0bGUgaDFbZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG4ucGxhbi10aXRsZSBoMltkYXRhLXYtNGE1MmM3YjFdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbi5jcmVkaXQtY2FyZFtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gICAgYmFja2dyb3VuZDogIzFlMjAyNDtcXG59XFxuLmNyZWRpdC1jYXJkIHNwYW5bZGF0YS12LTRhNTJjN2IxXSwgLmNyZWRpdC1jYXJkIC5jcmVkaXQtY2FyZC1udW1iZXJzW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLmNoYW5nZS1wYXltZW50IHNwYW5bZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG4uY2hhbmdlLXBheW1lbnQgYVtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gICAgY29sb3I6ICMwMEJDN0U7XFxufVxcbi5zdW1tYXJ5LWxpc3RbZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLmRpc2NsYWltZXJbZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG4uc3VtbWFyeS1saXN0IC5yb3dbZGF0YS12LTRhNTJjN2IxXTpsYXN0LW9mLXR5cGUge1xcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKTtcXG59XFxuLnN1bW1hcnktbGlzdCAucm93Omxhc3Qtb2YtdHlwZSBiW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLnN1bW1hcnktbGlzdCAuY2VsbCBiW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLnN1bW1hcnktbGlzdCAuY2VsbCBzbWFsbFtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbi5zdHJpcGUtY2FyZFtkYXRhLXYtNGE1MmM3YjFdIHtcXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICAgIGJveC1zaGFkb3c6IG5vbmU7XFxufVxcbi5zdHJpcGUtY2FyZC5TdHJpcGVFbGVtZW50LS13ZWJraXQtYXV0b2ZpbGxbZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZTIwMjQgIWltcG9ydGFudDtcXG59XFxuLnN0cmlwZS1jYXJkLlN0cmlwZUVsZW1lbnQtLWZvY3VzW2RhdGEtdi00YTUyYzdiMV0ge1xcbiAgICBib3gtc2hhZG93OiBub25lO1xcbiAgICBib3JkZXItY29sb3I6ICMwMEJDN0U7XFxuICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDE4OCwgMTI2LCAwLjMpO1xcbn1cXG59XFxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xcbi5vcmRlcltkYXRhLXYtNGE1MmM3YjFdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5vcmRlciAuc3RlcHNbZGF0YS12LTRhNTJjN2IxXSB7XFxuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJcbnZhciBjb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYXlGb3JQbGFuLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWI0MGMwMGE0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cbmlmKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykgY29udGVudCA9IFtbbW9kdWxlLmlkLCBjb250ZW50LCAnJ11dO1xuXG52YXIgdHJhbnNmb3JtO1xudmFyIGluc2VydEludG87XG5cblxuXG52YXIgb3B0aW9ucyA9IHtcImhtclwiOnRydWV9XG5cbm9wdGlvbnMudHJhbnNmb3JtID0gdHJhbnNmb3JtXG5vcHRpb25zLmluc2VydEludG8gPSB1bmRlZmluZWQ7XG5cbnZhciB1cGRhdGUgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvbGliL2FkZFN0eWxlcy5qc1wiKShjb250ZW50LCBvcHRpb25zKTtcblxuaWYoY29udGVudC5sb2NhbHMpIG1vZHVsZS5leHBvcnRzID0gY29udGVudC5sb2NhbHM7XG5cbmlmKG1vZHVsZS5ob3QpIHtcblx0bW9kdWxlLmhvdC5hY2NlcHQoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGF5Rm9yUGxhbi52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1iNDBjMDBhNCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYXlGb3JQbGFuLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPWI0MGMwMGE0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG5cblx0XHRpZih0eXBlb2YgbmV3Q29udGVudCA9PT0gJ3N0cmluZycpIG5ld0NvbnRlbnQgPSBbW21vZHVsZS5pZCwgbmV3Q29udGVudCwgJyddXTtcblxuXHRcdHZhciBsb2NhbHMgPSAoZnVuY3Rpb24oYSwgYikge1xuXHRcdFx0dmFyIGtleSwgaWR4ID0gMDtcblxuXHRcdFx0Zm9yKGtleSBpbiBhKSB7XG5cdFx0XHRcdGlmKCFiIHx8IGFba2V5XSAhPT0gYltrZXldKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRcdGlkeCsrO1xuXHRcdFx0fVxuXG5cdFx0XHRmb3Ioa2V5IGluIGIpIGlkeC0tO1xuXG5cdFx0XHRyZXR1cm4gaWR4ID09PSAwO1xuXHRcdH0oY29udGVudC5sb2NhbHMsIG5ld0NvbnRlbnQubG9jYWxzKSk7XG5cblx0XHRpZighbG9jYWxzKSB0aHJvdyBuZXcgRXJyb3IoJ0Fib3J0aW5nIENTUyBITVIgZHVlIHRvIGNoYW5nZWQgY3NzLW1vZHVsZXMgbG9jYWxzLicpO1xuXG5cdFx0dXBkYXRlKG5ld0NvbnRlbnQpO1xuXHR9KTtcblxuXHRtb2R1bGUuaG90LmRpc3Bvc2UoZnVuY3Rpb24oKSB7IHVwZGF0ZSgpOyB9KTtcbn0iLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5pbmZvLWJveFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIHBhZGRpbmc6IDIwcHg7XFxuICBib3JkZXItcmFkaXVzOiA4cHg7XFxuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xcbiAgYmFja2dyb3VuZDogI2Y0ZjVmNjtcXG4gIHRleHQtYWxpZ246IGxlZnQ7XFxufVxcbi5pbmZvLWJveC5lcnJvcltkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGJhY2tncm91bmQ6IHJnYmEoMjUzLCA1NywgMTIyLCAwLjEpO1xcbn1cXG4uaW5mby1ib3guZXJyb3IgcFtkYXRhLXYtOGU3YzQyZjZdLCAuaW5mby1ib3guZXJyb3IgYVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGNvbG9yOiAjZmQzOTdhO1xcbn1cXG4uaW5mby1ib3guZXJyb3IgYVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG4uaW5mby1ib3ggcFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XFxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG59XFxuLmluZm8tYm94IHBbZGF0YS12LThlN2M0MmY2XSBhIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG59XFxuLmluZm8tYm94IHBbZGF0YS12LThlN2M0MmY2XSBiIHtcXG4gIGZvbnQtc2l6ZTogMTVweDtcXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XFxufVxcbi5pbmZvLWJveCBiW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmluZm8tYm94IGFbZGF0YS12LThlN2M0MmY2XSB7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG4gIGxpbmUtaGVpZ2h0OiAxLjY7XFxufVxcbi5pbmZvLWJveCB1bFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gIG1hcmdpbi10b3A6IDE1cHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmluZm8tYm94IHVsIGxpW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5pbmZvLWJveCB1bCBsaSBhW2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgZGlzcGxheTogYmxvY2s7XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjkwcHgpIHtcXG4uaW5mby1ib3hbZGF0YS12LThlN2M0MmY2XSB7XFxuICAgIHBhZGRpbmc6IDE1cHg7XFxufVxcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmluZm8tYm94W2RhdGEtdi04ZTdjNDJmNl0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbn1cXG4uaW5mby1ib3ggcFtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5pbmZvLWJveCB1bCBsaVtkYXRhLXYtOGU3YzQyZjZdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIi5mb3JtLWxhYmVsW2RhdGEtdi1jODg5OTgxMF0ge1xcbiAgZGlzcGxheTogZmxleDtcXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xcbn1cXG4uZm9ybS1sYWJlbCAuaWNvbltkYXRhLXYtYzg4OTk4MTBdIHtcXG4gIG1hcmdpbi1yaWdodDogMTBweDtcXG59XFxuLmZvcm0tbGFiZWwgLmljb24gcGF0aFtkYXRhLXYtYzg4OTk4MTBdIHtcXG4gIGNvbG9yOiBpbmhlcml0O1xcbn1cXG4uZm9ybS1sYWJlbCAubGFiZWxbZGF0YS12LWM4ODk5ODEwXSB7XFxuICBmb250LXNpemU6IDEuMTI1ZW07XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG5AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XFxuLmZvcm0tbGFiZWwgLmxhYmVsW2RhdGEtdi1jODg5OTgxMF0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxufVxcblwiLCBcIlwiXSk7XG5cbi8vIGV4cG9ydHNcbiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdkaXYnLHthdHRyczp7XCJpZFwiOlwic2luZ2xlLXBhZ2VcIn19LFtfYygnZGl2Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJzaG93XCIscmF3TmFtZTpcInYtc2hvd1wiLHZhbHVlOighIF92bS5pc0xvYWRpbmcpLGV4cHJlc3Npb246XCIhIGlzTG9hZGluZ1wifV0sc3RhdGljQ2xhc3M6XCJsYXJnZS13aWR0aCBjZW50ZXItcGFnZVwiLGF0dHJzOntcImlkXCI6XCJwYWdlLWNvbnRlbnRcIn19LFtfYygnTW9iaWxlSGVhZGVyJyx7YXR0cnM6e1widGl0bGVcIjpfdm0uJHJvdXRlci5jdXJyZW50Um91dGUubWV0YS50aXRsZX19KSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNvbnRlbnQtcGFnZVwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicGxhbi10aXRsZVwifSxbX2MoJ2NyZWRpdC1jYXJkLWljb24nLHtzdGF0aWNDbGFzczpcInRpdGxlLWljb24gdGV4dC10aGVtZVwiLGF0dHJzOntcInNpemVcIjpcIjQyXCJ9fSksX3ZtLl92KFwiIFwiKSxfYygnaDEnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV91cGdyYWRlX2FjY291bnQudGl0bGUnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnaDInLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgncGFnZV91cGdyYWRlX2FjY291bnQuZGVzcmlwdGlvbicpKSldKV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJvcmRlclwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwic3RlcHNcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInBheW1lbnQtY2FyZFwifSxbX2MoJ0Zvcm1MYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zZWN0aW9uX2NhcmQnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJyZWdpc3Rlci1jYXJkXCJ9LFsoX3ZtLmNvbmZpZy5pc0RlbW8gfHwgX3ZtLmNvbmZpZy5pc0Rldik/X2MoJ0luZm9Cb3gnLFtfYygncCcsW192bS5fdihcIkZvciB0ZXN0IHlvdXIgcGF5bWVudCBwbGVhc2UgdXNlIFwiKSxfYygnYicsW192bS5fdihcIjQyNDIgNDI0MiA0MjQyIDQyNDJcIildKSxfdm0uX3YoXCIgb3IgXCIpLF9jKCdiJyxbX3ZtLl92KFwiNTU1NSA1NTU1IDU1NTUgNDQ0NFwiKV0pLF92bS5fdihcIiBhcyBhIGNhcmQgbnVtYmVyLCBcIiksX2MoJ2InLFtfdm0uX3YoXCIxMS8yMlwiKV0pLF92bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIHRoZSBleHBpcmF0aW9uIGRhdGUgYW5kIFwiKSxfYygnYicsW192bS5fdihcIjEyM1wiKV0pLF92bS5fdihcIiBhcyBDVkMgbnVtYmVyIGFuZCBaSVAgXCIpLF9jKCdiJyxbX3ZtLl92KFwiMTIzNDVcIildKSxfdm0uX3YoXCIuXCIpXSldKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtyZWY6XCJzdHJpcGVDYXJkXCIsc3RhdGljQ2xhc3M6XCJzdHJpcGUtY2FyZFwiLGNsYXNzOnsnaXMtZXJyb3InOiBfdm0uaXNFcnJvciB9fSksX3ZtLl92KFwiIFwiKSwoX3ZtLmlzRXJyb3IpP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNhcmQtZXJyb3ItbWVzc2FnZVwifSxbX2MoJ3NwYW4nLFtfdm0uX3YoX3ZtLl9zKF92bS5lcnJvck1lc3NhZ2UpKV0pXSk6X3ZtLl9lKCldLDEpXSwxKSxfdm0uX3YoXCIgXCIpLChfdm0uYmlsbGluZyk/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmlsbGluZ1wifSxbX2MoJ0Zvcm1MYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zZWN0aW9uX2JpbGxpbmcnKSkpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvbk9ic2VydmVyJyx7cmVmOlwib3JkZXJcIixzdGF0aWNDbGFzczpcImZvcm0gYmxvY2stZm9ybVwiLGF0dHJzOntcInRhZ1wiOlwiZm9ybVwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBpbnZhbGlkID0gcmVmLmludmFsaWQ7XG5yZXR1cm4gW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImZvcm0gYmxvY2stZm9ybVwifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3VzZXJfc2V0dGluZ3MubmFtZScpKStcIjpcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCIsXCJuYW1lXCI6XCJiaWxsaW5nX25hbWVcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS5iaWxsaW5nLm5hbWUpLGV4cHJlc3Npb246XCJiaWxsaW5nLm5hbWVcIn1dLHN0YXRpY0NsYXNzOlwiZm9jdXMtYm9yZGVyLXRoZW1lXCIsY2xhc3M6eydpcy1lcnJvcic6IGVycm9yc1swXX0sYXR0cnM6e1wicGxhY2Vob2xkZXJcIjpfdm0uJHQoJ3VzZXJfc2V0dGluZ3MubmFtZV9wbGFjJyksXCJ0eXBlXCI6XCJ0ZXh0XCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS5iaWxsaW5nLm5hbWUpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0uYmlsbGluZywgXCJuYW1lXCIsICRldmVudC50YXJnZXQudmFsdWUpfX19KSxfdm0uX3YoXCIgXCIpLChlcnJvcnNbMF0pP19jKCdzcGFuJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKGVycm9yc1swXSkpXSk6X3ZtLl9lKCldfX1dLG51bGwsdHJ1ZSl9KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgndXNlcl9zZXR0aW5ncy5hZGRyZXNzJykpK1wiOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIixcIm5hbWVcIjpcImJpbGxpbmdfYWRkcmVzc1wifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLmJpbGxpbmcuYWRkcmVzcyksZXhwcmVzc2lvbjpcImJpbGxpbmcuYWRkcmVzc1wifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgndXNlcl9zZXR0aW5ncy5hZGRyZXNzX3BsYWMnKSxcInR5cGVcIjpcInRleHRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLmJpbGxpbmcuYWRkcmVzcyl9LG9uOntcImlucHV0XCI6ZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS4kc2V0KF92bS5iaWxsaW5nLCBcImFkZHJlc3NcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSl9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcIndyYXBwZXItaW5saW5lXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJibG9jay13cmFwcGVyXCJ9LFtfYygnbGFiZWwnLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgndXNlcl9zZXR0aW5ncy5jaXR5JykpK1wiOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIixcIm5hbWVcIjpcImJpbGxpbmdfY2l0eVwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLmJpbGxpbmcuY2l0eSksZXhwcmVzc2lvbjpcImJpbGxpbmcuY2l0eVwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgndXNlcl9zZXR0aW5ncy5jaXR5X3BsYWMnKSxcInR5cGVcIjpcInRleHRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLmJpbGxpbmcuY2l0eSl9LG9uOntcImlucHV0XCI6ZnVuY3Rpb24oJGV2ZW50KXtpZigkZXZlbnQudGFyZ2V0LmNvbXBvc2luZyl7IHJldHVybjsgfV92bS4kc2V0KF92bS5iaWxsaW5nLCBcImNpdHlcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSl9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImJsb2NrLXdyYXBwZXJcIn0sW19jKCdsYWJlbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCd1c2VyX3NldHRpbmdzLnBvc3RhbF9jb2RlJykpK1wiOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIixcIm5hbWVcIjpcImJpbGxpbmdfcG9zdGFsX2NvZGVcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ2lucHV0Jyx7ZGlyZWN0aXZlczpbe25hbWU6XCJtb2RlbFwiLHJhd05hbWU6XCJ2LW1vZGVsXCIsdmFsdWU6KF92bS5iaWxsaW5nLnBvc3RhbF9jb2RlKSxleHByZXNzaW9uOlwiYmlsbGluZy5wb3N0YWxfY29kZVwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgndXNlcl9zZXR0aW5ncy5wb3N0YWxfY29kZV9wbGFjJyksXCJ0eXBlXCI6XCJ0ZXh0XCJ9LGRvbVByb3BzOntcInZhbHVlXCI6KF92bS5iaWxsaW5nLnBvc3RhbF9jb2RlKX0sb246e1wiaW5wdXRcIjpmdW5jdGlvbigkZXZlbnQpe2lmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXsgcmV0dXJuOyB9X3ZtLiRzZXQoX3ZtLmJpbGxpbmcsIFwicG9zdGFsX2NvZGVcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSl9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKV0pLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3VzZXJfc2V0dGluZ3MuY291bnRyeScpKStcIjpcIildKSxfdm0uX3YoXCIgXCIpLF9jKCdWYWxpZGF0aW9uUHJvdmlkZXInLHtzdGF0aWNDbGFzczpcImlucHV0LXdyYXBwZXJcIixhdHRyczp7XCJ0YWdcIjpcImRpdlwiLFwibW9kZVwiOlwicGFzc2l2ZVwiLFwicnVsZXNcIjpcInJlcXVpcmVkXCIsXCJuYW1lXCI6XCJiaWxsaW5nX2NvdW50cnlcIn0sc2NvcGVkU2xvdHM6X3ZtLl91KFt7a2V5OlwiZGVmYXVsdFwiLGZuOmZ1bmN0aW9uKHJlZil7XG52YXIgZXJyb3JzID0gcmVmLmVycm9ycztcbnJldHVybiBbX2MoJ1NlbGVjdElucHV0Jyx7YXR0cnM6e1wiZGVmYXVsdFwiOl92bS5iaWxsaW5nLmNvdW50cnksXCJvcHRpb25zXCI6X3ZtLmNvdW50cmllcyxcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCd1c2VyX3NldHRpbmdzLmNvdW50cnlfcGxhYycpLFwiaXNFcnJvclwiOmVycm9yc1swXX0sbW9kZWw6e3ZhbHVlOihfdm0uYmlsbGluZy5jb3VudHJ5KSxjYWxsYmFjazpmdW5jdGlvbiAoJCR2KSB7X3ZtLiRzZXQoX3ZtLmJpbGxpbmcsIFwiY291bnRyeVwiLCAkJHYpfSxleHByZXNzaW9uOlwiYmlsbGluZy5jb3VudHJ5XCJ9fSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3VzZXJfc2V0dGluZ3Muc3RhdGUnKSkrXCI6XCIpXSksX3ZtLl92KFwiIFwiKSxfYygnVmFsaWRhdGlvblByb3ZpZGVyJyx7c3RhdGljQ2xhc3M6XCJpbnB1dC13cmFwcGVyXCIsYXR0cnM6e1widGFnXCI6XCJkaXZcIixcIm1vZGVcIjpcInBhc3NpdmVcIixcInJ1bGVzXCI6XCJyZXF1aXJlZFwiLFwibmFtZVwiOlwiYmlsbGluZ19zdGF0ZVwifSxzY29wZWRTbG90czpfdm0uX3UoW3trZXk6XCJkZWZhdWx0XCIsZm46ZnVuY3Rpb24ocmVmKXtcbnZhciBlcnJvcnMgPSByZWYuZXJyb3JzO1xucmV0dXJuIFtfYygnaW5wdXQnLHtkaXJlY3RpdmVzOlt7bmFtZTpcIm1vZGVsXCIscmF3TmFtZTpcInYtbW9kZWxcIix2YWx1ZTooX3ZtLmJpbGxpbmcuc3RhdGUpLGV4cHJlc3Npb246XCJiaWxsaW5nLnN0YXRlXCJ9XSxzdGF0aWNDbGFzczpcImZvY3VzLWJvcmRlci10aGVtZVwiLGNsYXNzOnsnaXMtZXJyb3InOiBlcnJvcnNbMF19LGF0dHJzOntcInBsYWNlaG9sZGVyXCI6X3ZtLiR0KCd1c2VyX3NldHRpbmdzLnN0YXRlX3BsYWMnKSxcInR5cGVcIjpcInRleHRcIn0sZG9tUHJvcHM6e1widmFsdWVcIjooX3ZtLmJpbGxpbmcuc3RhdGUpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0uYmlsbGluZywgXCJzdGF0ZVwiLCAkZXZlbnQudGFyZ2V0LnZhbHVlKX19fSksX3ZtLl92KFwiIFwiKSxfYygnc21hbGwnLHtzdGF0aWNDbGFzczpcImlucHV0LWhlbHBcIn0sW192bS5fdihcIlxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdGUsIGNvdW50eSwgcHJvdmluY2UsIG9yIHJlZ2lvbi5cXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIpXSksX3ZtLl92KFwiIFwiKSwoZXJyb3JzWzBdKT9fYygnc3Bhbicse3N0YXRpY0NsYXNzOlwiZXJyb3ItbWVzc2FnZVwifSxbX3ZtLl92KF92bS5fcyhlcnJvcnNbMF0pKV0pOl92bS5fZSgpXX19XSxudWxsLHRydWUpfSldLDEpLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiYmxvY2std3JhcHBlclwifSxbX2MoJ2xhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3VzZXJfc2V0dGluZ3MucGhvbmVfbnVtYmVyJykpK1wiOlwiKV0pLF92bS5fdihcIiBcIiksX2MoJ1ZhbGlkYXRpb25Qcm92aWRlcicse3N0YXRpY0NsYXNzOlwiaW5wdXQtd3JhcHBlclwiLGF0dHJzOntcInRhZ1wiOlwiZGl2XCIsXCJtb2RlXCI6XCJwYXNzaXZlXCIsXCJydWxlc1wiOlwicmVxdWlyZWRcIixcIm5hbWVcIjpcImJpbGxpbmdfcGhvbmVfbnVtYmVyXCJ9LHNjb3BlZFNsb3RzOl92bS5fdShbe2tleTpcImRlZmF1bHRcIixmbjpmdW5jdGlvbihyZWYpe1xudmFyIGVycm9ycyA9IHJlZi5lcnJvcnM7XG5yZXR1cm4gW19jKCdpbnB1dCcse2RpcmVjdGl2ZXM6W3tuYW1lOlwibW9kZWxcIixyYXdOYW1lOlwidi1tb2RlbFwiLHZhbHVlOihfdm0uYmlsbGluZy5waG9uZV9udW1iZXIpLGV4cHJlc3Npb246XCJiaWxsaW5nLnBob25lX251bWJlclwifV0sc3RhdGljQ2xhc3M6XCJmb2N1cy1ib3JkZXItdGhlbWVcIixjbGFzczp7J2lzLWVycm9yJzogZXJyb3JzWzBdfSxhdHRyczp7XCJwbGFjZWhvbGRlclwiOl92bS4kdCgndXNlcl9zZXR0aW5ncy5waG9uZV9udW1iZXJfcGxhYycpLFwidHlwZVwiOlwidGV4dFwifSxkb21Qcm9wczp7XCJ2YWx1ZVwiOihfdm0uYmlsbGluZy5waG9uZV9udW1iZXIpfSxvbjp7XCJpbnB1dFwiOmZ1bmN0aW9uKCRldmVudCl7aWYoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpeyByZXR1cm47IH1fdm0uJHNldChfdm0uYmlsbGluZywgXCJwaG9uZV9udW1iZXJcIiwgJGV2ZW50LnRhcmdldC52YWx1ZSl9fX0pLF92bS5fdihcIiBcIiksKGVycm9yc1swXSk/X2MoJ3NwYW4nLHtzdGF0aWNDbGFzczpcImVycm9yLW1lc3NhZ2VcIn0sW192bS5fdihfdm0uX3MoZXJyb3JzWzBdKSldKTpfdm0uX2UoKV19fV0sbnVsbCx0cnVlKX0pXSwxKV0pXX19XSxudWxsLGZhbHNlLDE4MTE3Mjk3NzUpfSldLDEpOl92bS5fZSgpXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJzdW1tYXJ5XCJ9LFtfYygnRm9ybUxhYmVsJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnNlY3Rpb25fc3VtbWFyeScpKSldKSxfdm0uX3YoXCIgXCIpLChfdm0ucmVxdWVzdGVkUGxhbik/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwic3VtbWFyeS1saXN0XCIsY2xhc3M6eydpcy1lcnJvcic6IF92bS5pc0Vycm9yfX0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInJvd1wifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY2VsbFwifSxbX2MoJ2InLFtfdm0uX3YoX3ZtLl9zKF92bS5yZXF1ZXN0ZWRQbGFuLmRhdGEuYXR0cmlidXRlcy5uYW1lKSldKSxfdm0uX3YoXCIgXCIpLF9jKCdzbWFsbCcsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zdW1tYXJ5LnBlcmlvZCcpKSldKV0pLF92bS5fdihcIiBcIiksX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY2VsbFwifSxbX2MoJ2InLFtfdm0uX3YoX3ZtLl9zKF92bS5yZXF1ZXN0ZWRQbGFuLmRhdGEuYXR0cmlidXRlcy5wcmljZSkpXSldKV0pLF92bS5fdihcIiBcIiksKF92bS50YXhSYXRlcyk/X2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwicm93XCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjZWxsXCJ9LFtfYygnYicsW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3VwZ3JhZGVfYWNjb3VudC5zdW1tYXJ5LnZhdCcpKStcIiAtIChcIitfdm0uX3MoX3ZtLnRheFJhdGVzLmNvdW50cnkpK1wiIFwiK192bS5fcyhfdm0udGF4UmF0ZXMucGVyY2VudGFnZSkrXCIlKVwiKV0pXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjZWxsXCJ9LFtfYygnYicsW192bS5fdihfdm0uX3MoX3ZtLnRheFJhdGVzLnBsYW5fcHJpY2VfZm9ybWF0dGVkKSldKV0pXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwoISBfdm0udGF4UmF0ZXMpP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInJvd1wifSxbX2MoJ2Rpdicse3N0YXRpY0NsYXNzOlwiY2VsbFwifSxbX2MoJ2InLFtfdm0uX3YoX3ZtLl9zKF92bS4kdCgnZ2xvYmFsLnRvdGFsJykpKV0pXSksX3ZtLl92KFwiIFwiKSxfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJjZWxsXCJ9LFtfYygnYicsW192bS5fdihfdm0uX3MoX3ZtLnJlcXVlc3RlZFBsYW4uZGF0YS5hdHRyaWJ1dGVzLnByaWNlKSldKV0pXSk6X3ZtLl9lKCksX3ZtLl92KFwiIFwiKSwoX3ZtLnRheFJhdGVzKT9fYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJyb3dcIn0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNlbGxcIn0sW19jKCdiJyxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnN1bW1hcnkudG90YWxfd2l0aF92YXQnKSkpXSldKSxfdm0uX3YoXCIgXCIpLF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImNlbGxcIn0sW19jKCdiJyxbX3ZtLl92KF92bS5fcyhfdm0udGF4UmF0ZXMucGxhbl9wcmljZV9mb3JtYXR0ZWQpKV0pXSldKTpfdm0uX2UoKSxfdm0uX3YoXCIgXCIpLF9jKCdCdXR0b25CYXNlJyx7c3RhdGljQ2xhc3M6XCJuZXh0LXN1Ym1pdFwiLGF0dHJzOntcImRpc2FibGVkXCI6X3ZtLmlzU3VibWl0dGVkLFwibG9hZGluZ1wiOl92bS5pc1N1Ym1pdHRlZCxcInR5cGVcIjpcInN1Ym1pdFwiLFwiYnV0dG9uLXN0eWxlXCI6XCJ0aGVtZS1zb2xpZFwifSxuYXRpdmVPbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIF92bS5zdWJtaXRPcmRlcigkZXZlbnQpfX19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS5zdWJtaXRfYnV0dG9uJykpK1wiXFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIpXSksX3ZtLl92KFwiIFwiKSwoX3ZtLmlzRXJyb3IpP19jKCdwJyx7c3RhdGljQ2xhc3M6XCJlcnJvci1tZXNzYWdlXCJ9LFtfdm0uX3YoX3ZtLl9zKF92bS5lcnJvck1lc3NhZ2UpKV0pOl92bS5fZSgpLF92bS5fdihcIiBcIiksX2MoJ3NtYWxsJyx7c3RhdGljQ2xhc3M6XCJkaXNjbGFpbWVyXCJ9LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIrX3ZtLl9zKF92bS4kdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS5zdWJtaXRfZGlzY2xhaW1lcicsIHthcHA6IF92bS5jb25maWcuYXBwX25hbWV9KSkrXCJcXG4gICAgICAgICAgICAgICAgICAgICAgICBcIildKV0sMSk6X3ZtLl9lKCldLDEpXSldKV0sMSksX3ZtLl92KFwiIFwiKSwoX3ZtLmlzTG9hZGluZyk/X2MoJ2Rpdicse2F0dHJzOntcImlkXCI6XCJsb2FkZXJcIn19LFtfYygnU3Bpbm5lcicpXSwxKTpfdm0uX2UoKV0pfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBpZD1cInNpbmdsZS1wYWdlXCI+XG4gICAgICAgIDxkaXYgaWQ9XCJwYWdlLWNvbnRlbnRcIiBjbGFzcz1cImxhcmdlLXdpZHRoIGNlbnRlci1wYWdlXCIgdi1zaG93PVwiISBpc0xvYWRpbmdcIj5cbiAgICAgICAgICAgIDxNb2JpbGVIZWFkZXIgOnRpdGxlPVwiJHJvdXRlci5jdXJyZW50Um91dGUubWV0YS50aXRsZVwiIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGVudC1wYWdlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYW4tdGl0bGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPGNyZWRpdC1jYXJkLWljb24gc2l6ZT1cIjQyXCIgY2xhc3M9XCJ0aXRsZS1pY29uIHRleHQtdGhlbWVcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8aDE+e3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnRpdGxlJykgfX08L2gxPlxuICAgICAgICAgICAgICAgICAgICA8aDI+e3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LmRlc3JpcHRpb24nKSB9fTwvaDI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm9yZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGVwc1wiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGF5bWVudC1jYXJkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1MYWJlbD57eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuc2VjdGlvbl9jYXJkJykgfX08L0Zvcm1MYWJlbD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gUGF5IGJ5IG5ldyBjcmVkaXQgY2FyZCAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVnaXN0ZXItY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5mb0JveCB2LWlmPVwiY29uZmlnLmlzRGVtbyB8fCBjb25maWcuaXNEZXZcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwPkZvciB0ZXN0IHlvdXIgcGF5bWVudCBwbGVhc2UgdXNlIDxiPjQyNDIgNDI0MiA0MjQyIDQyNDI8L2I+IG9yIDxiPjU1NTUgNTU1NSA1NTU1IDQ0NDQ8L2I+IGFzIGEgY2FyZCBudW1iZXIsIDxiPjExLzIyPC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIHRoZSBleHBpcmF0aW9uIGRhdGUgYW5kIDxiPjEyMzwvYj4gYXMgQ1ZDIG51bWJlciBhbmQgWklQIDxiPjEyMzQ1PC9iPi48L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvSW5mb0JveD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHJlZj1cInN0cmlwZUNhcmRcIiBjbGFzcz1cInN0cmlwZS1jYXJkXCIgOmNsYXNzPVwieydpcy1lcnJvcic6IGlzRXJyb3IgfVwiPjwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiaXNFcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgZXJyb3JNZXNzYWdlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJpbGxpbmdcIiB2LWlmPVwiYmlsbGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtTGFiZWw+e3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnNlY3Rpb25fYmlsbGluZycpIH19PC9Gb3JtTGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvbk9ic2VydmVyIHJlZj1cIm9yZGVyXCIgdi1zbG90PVwieyBpbnZhbGlkIH1cIiB0YWc9XCJmb3JtXCIgY2xhc3M9XCJmb3JtIGJsb2NrLWZvcm1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0gYmxvY2stZm9ybVwiPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmxvY2std3JhcHBlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgndXNlcl9zZXR0aW5ncy5uYW1lJykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVzPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImJpbGxpbmdfbmFtZVwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJiaWxsaW5nLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOnBsYWNlaG9sZGVyPVwiJHQoJ3VzZXJfc2V0dGluZ3MubmFtZV9wbGFjJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCd1c2VyX3NldHRpbmdzLmFkZHJlc3MnKSB9fTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZXM9XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYmlsbGluZ19hZGRyZXNzXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cImJpbGxpbmcuYWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgndXNlcl9zZXR0aW5ncy5hZGRyZXNzX3BsYWMnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXItaW5saW5lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCd1c2VyX3NldHRpbmdzLmNpdHknKSB9fTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlcz1cInJlcXVpcmVkXCIgbmFtZT1cImJpbGxpbmdfY2l0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJiaWxsaW5nLmNpdHlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cIiR0KCd1c2VyX3NldHRpbmdzLmNpdHlfcGxhYycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9jdXMtYm9yZGVyLXRoZW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1ZhbGlkYXRpb25Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD57eyAkdCgndXNlcl9zZXR0aW5ncy5wb3N0YWxfY29kZScpIH19OjwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVzPVwicmVxdWlyZWRcIiBuYW1lPVwiYmlsbGluZ19wb3N0YWxfY29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJiaWxsaW5nLnBvc3RhbF9jb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgndXNlcl9zZXR0aW5ncy5wb3N0YWxfY29kZV9wbGFjJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJibG9jay13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsPnt7ICR0KCd1c2VyX3NldHRpbmdzLmNvdW50cnknKSB9fTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZXM9XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYmlsbGluZ19jb3VudHJ5XCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2VsZWN0SW5wdXQgdi1tb2RlbD1cImJpbGxpbmcuY291bnRyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ZGVmYXVsdD1cImJpbGxpbmcuY291bnRyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6b3B0aW9ucz1cImNvdW50cmllc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6cGxhY2Vob2xkZXI9XCIkdCgndXNlcl9zZXR0aW5ncy5jb3VudHJ5X3BsYWMnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6aXNFcnJvcj1cImVycm9yc1swXVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3VzZXJfc2V0dGluZ3Muc3RhdGUnKSB9fTo8L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxWYWxpZGF0aW9uUHJvdmlkZXIgdGFnPVwiZGl2XCIgbW9kZT1cInBhc3NpdmVcIiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZXM9XCJyZXF1aXJlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiYmlsbGluZ19zdGF0ZVwiIHYtc2xvdD1cInsgZXJyb3JzIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJiaWxsaW5nLnN0YXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cIiR0KCd1c2VyX3NldHRpbmdzLnN0YXRlX3BsYWMnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogZXJyb3JzWzBdfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvY3VzLWJvcmRlci10aGVtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbCBjbGFzcz1cImlucHV0LWhlbHBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXRlLCBjb3VudHksIHByb3ZpbmNlLCBvciByZWdpb24uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc21hbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiIHYtaWY9XCJlcnJvcnNbMF1cIj57eyBlcnJvcnNbMF0gfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9WYWxpZGF0aW9uUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJsb2NrLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWw+e3sgJHQoJ3VzZXJfc2V0dGluZ3MucGhvbmVfbnVtYmVyJykgfX06PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VmFsaWRhdGlvblByb3ZpZGVyIHRhZz1cImRpdlwiIG1vZGU9XCJwYXNzaXZlXCIgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGVzPVwicmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImJpbGxpbmdfcGhvbmVfbnVtYmVyXCIgdi1zbG90PVwieyBlcnJvcnMgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdi1tb2RlbD1cImJpbGxpbmcucGhvbmVfbnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpwbGFjZWhvbGRlcj1cIiR0KCd1c2VyX3NldHRpbmdzLnBob25lX251bWJlcl9wbGFjJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOmNsYXNzPVwieydpcy1lcnJvcic6IGVycm9yc1swXX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb2N1cy1ib3JkZXItdGhlbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiB2LWlmPVwiZXJyb3JzWzBdXCI+e3sgZXJyb3JzWzBdIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvblByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVmFsaWRhdGlvbk9ic2VydmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3VtbWFyeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEZvcm1MYWJlbD57eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuc2VjdGlvbl9zdW1tYXJ5JykgfX08L0Zvcm1MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdW1tYXJ5LWxpc3RcIiA6Y2xhc3M9XCJ7J2lzLWVycm9yJzogaXNFcnJvcn1cIiB2LWlmPVwicmVxdWVzdGVkUGxhblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7IHJlcXVlc3RlZFBsYW4uZGF0YS5hdHRyaWJ1dGVzLm5hbWUgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c21hbGw+e3sgJHQoJ3BhZ2VfdXBncmFkZV9hY2NvdW50LnN1bW1hcnkucGVyaW9kJykgfX08L3NtYWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7IHJlcXVlc3RlZFBsYW4uZGF0YS5hdHRyaWJ1dGVzLnByaWNlIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgdi1pZj1cInRheFJhdGVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS52YXQnKSB9fSAtICh7eyB0YXhSYXRlcy5jb3VudHJ5IH19IHt7IHRheFJhdGVzLnBlcmNlbnRhZ2UgfX0lKTwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyB0YXhSYXRlcy5wbGFuX3ByaWNlX2Zvcm1hdHRlZCB9fTwvYj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tU2hvdyB0b3RhbCB3aGVuIHRheCByYXRlcyBpcyBub3Qgc3BlY2lmaWVkLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiIHYtaWY9XCIhIHRheFJhdGVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyAkdCgnZ2xvYmFsLnRvdGFsJykgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2VsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGI+e3sgcmVxdWVzdGVkUGxhbi5kYXRhLmF0dHJpYnV0ZXMucHJpY2UgfX08L2I+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLVNob3cgdG90YWwgd2hlbiBpcyB0YXggcmF0ZXMtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgdi1pZj1cInRheFJhdGVzXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjZWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Yj57eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS50b3RhbF93aXRoX3ZhdCcpIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNlbGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxiPnt7IHRheFJhdGVzLnBsYW5fcHJpY2VfZm9ybWF0dGVkIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25CYXNlIDpkaXNhYmxlZD1cImlzU3VibWl0dGVkXCIgOmxvYWRpbmc9XCJpc1N1Ym1pdHRlZFwiIEBjbGljay5uYXRpdmU9XCJzdWJtaXRPcmRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiIGJ1dHRvbi1zdHlsZT1cInRoZW1lLXNvbGlkXCIgY2xhc3M9XCJuZXh0LXN1Ym1pdFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS5zdWJtaXRfYnV0dG9uJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbkJhc2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgdi1pZj1cImlzRXJyb3JcIj57eyBlcnJvck1lc3NhZ2UgfX08L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNtYWxsIGNsYXNzPVwiZGlzY2xhaW1lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkdCgncGFnZV91cGdyYWRlX2FjY291bnQuc3VtbWFyeS5zdWJtaXRfZGlzY2xhaW1lcicsIHthcHA6IGNvbmZpZy5hcHBfbmFtZX0pIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBpZD1cImxvYWRlclwiIHYtaWY9XCJpc0xvYWRpbmdcIj5cbiAgICAgICAgICAgIDxTcGlubmVyPjwvU3Bpbm5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCB7VmFsaWRhdGlvblByb3ZpZGVyLCBWYWxpZGF0aW9uT2JzZXJ2ZXJ9IGZyb20gJ3ZlZS12YWxpZGF0ZS9kaXN0L3ZlZS12YWxpZGF0ZS5mdWxsJ1xuICAgIGltcG9ydCBQbGFuUHJpY2luZ1RhYmxlcyBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL1BsYW5QcmljaW5nVGFibGVzJ1xuICAgIGltcG9ydCBTZWxlY3RJbnB1dCBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL0Zvcm1zL1NlbGVjdElucHV0J1xuICAgIGltcG9ydCBGb3JtTGFiZWwgZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9Gb3JtTGFiZWwnXG4gICAgaW1wb3J0IE1vYmlsZUhlYWRlciBmcm9tICdAL2NvbXBvbmVudHMvTW9iaWxlL01vYmlsZUhlYWRlcidcbiAgICBpbXBvcnQgQnV0dG9uQmFzZSBmcm9tICdAL2NvbXBvbmVudHMvRmlsZXNWaWV3L0J1dHRvbkJhc2UnXG4gICAgaW1wb3J0IEluZm9Cb3ggZnJvbSAnQC9jb21wb25lbnRzL090aGVycy9Gb3Jtcy9JbmZvQm94J1xuICAgIGltcG9ydCBDb2xvckxhYmVsIGZyb20gJ0AvY29tcG9uZW50cy9PdGhlcnMvQ29sb3JMYWJlbCdcbiAgICBpbXBvcnQgUGFnZUhlYWRlciBmcm9tICdAL2NvbXBvbmVudHMvT3RoZXJzL1BhZ2VIZWFkZXInXG4gICAgaW1wb3J0IFNwaW5uZXIgZnJvbSAnQC9jb21wb25lbnRzL0ZpbGVzVmlldy9TcGlubmVyJ1xuICAgIGltcG9ydCB7Q3JlZGl0Q2FyZEljb259IGZyb20gJ3Z1ZS1mZWF0aGVyLWljb25zJ1xuICAgIGltcG9ydCB7cmVxdWlyZWR9IGZyb20gJ3ZlZS12YWxpZGF0ZS9kaXN0L3J1bGVzJ1xuICAgIGltcG9ydCB7bWFwR2V0dGVyc30gZnJvbSAndnVleCdcbiAgICBpbXBvcnQge2V2ZW50c30gZnJvbSBcIkAvYnVzXCJcbiAgICBpbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnXG5cbiAgICBsZXQgW3N0cmlwZSwgY2FyZF0gPSBbdW5kZWZpbmVkLCB1bmRlZmluZWRdO1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnU2VsZWN0UGxhbicsXG4gICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgIFZhbGlkYXRpb25Qcm92aWRlcixcbiAgICAgICAgICAgIFZhbGlkYXRpb25PYnNlcnZlcixcbiAgICAgICAgICAgIFBsYW5QcmljaW5nVGFibGVzLFxuICAgICAgICAgICAgQ3JlZGl0Q2FyZEljb24sXG4gICAgICAgICAgICBNb2JpbGVIZWFkZXIsXG4gICAgICAgICAgICBTZWxlY3RJbnB1dCxcbiAgICAgICAgICAgIEJ1dHRvbkJhc2UsXG4gICAgICAgICAgICBQYWdlSGVhZGVyLFxuICAgICAgICAgICAgQ29sb3JMYWJlbCxcbiAgICAgICAgICAgIEZvcm1MYWJlbCxcbiAgICAgICAgICAgIHJlcXVpcmVkLFxuICAgICAgICAgICAgU3Bpbm5lcixcbiAgICAgICAgICAgIEluZm9Cb3gsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbXB1dGVkOiB7XG4gICAgICAgICAgICAuLi5tYXBHZXR0ZXJzKFsncmVxdWVzdGVkUGxhbicsICdjb25maWcnLCAnY291bnRyaWVzJ10pLFxuICAgICAgICAgICAgYmlsbGluZygpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy4kc3RvcmUuZ2V0dGVycy51c2VyLmRhdGEucmVsYXRpb25zaGlwcy5zZXR0aW5ncy5kYXRhLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0YXhSYXRlcygpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZXF1ZXN0ZWRQbGFuLmRhdGEuYXR0cmlidXRlcy50YXhfcmF0ZXMuZmluZCh0YXhSYXRlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRheFJhdGUuY291bnRyeSA9PT0gdGhpcy5iaWxsaW5nLmNvdW50cnlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBkYXRhKCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjb21wbGV0ZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgc3RyaXBlT3B0aW9uczoge1xuICAgICAgICAgICAgICAgICAgICBoaWRlUG9zdGFsQ29kZTogZmFsc2VcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGlzTG9hZGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAgICBpc1N1Ym1pdHRlZDogZmFsc2UsXG5cbiAgICAgICAgICAgICAgICBlcnJvck1lc3NhZ2U6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBpc0Vycm9yOiBmYWxzZSxcblxuICAgICAgICAgICAgICAgIGNsaWVudFNlY3JldDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIG1ldGhvZHM6IHtcbiAgICAgICAgICAgIGluaXRTdHJpcGUoKSB7XG4gICAgICAgICAgICAgICAgc3RyaXBlID0gU3RyaXBlKHRoaXMuY29uZmlnLnN0cmlwZV9wdWJsaWNfa2V5KVxuXG4gICAgICAgICAgICAgICAgbGV0IGVsZW1lbnRzID0gc3RyaXBlLmVsZW1lbnRzKCk7XG5cbiAgICAgICAgICAgICAgICBjYXJkID0gZWxlbWVudHMuY3JlYXRlKCdjYXJkJyk7XG5cbiAgICAgICAgICAgICAgICBjYXJkLm1vdW50KHRoaXMuJHJlZnMuc3RyaXBlQ2FyZCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VjY2Vzc09yZGVyKCkge1xuICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSB1c2VyIGRhdGFcbiAgICAgICAgICAgICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgnZ2V0QXBwRGF0YScpXG5cbiAgICAgICAgICAgICAgICAvLyBTaG93IHRvYXN0ZXJcbiAgICAgICAgICAgICAgICBldmVudHMuJGVtaXQoJ3RvYXN0ZXInLCB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy4kdCgndG9hc3Rlci5hY2NvdW50X3VwZ3JhZGVkJyksXG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIC8vIEdvIHRvIFVzZXIgcGFnZVxuICAgICAgICAgICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHtuYW1lOiAnRmlsZXMnfSlcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvck9yZGVyKGVycm9yKSB7XG5cbiAgICAgICAgICAgICAgICAvLyBSZWRpcmVjdCB1c2VyIHRvIGNvbmZpcm1hdGlvbiBwYXltZW50IHBhZ2VcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2Uuc3RhdHVzID09PSA0MDIpIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBlcnJvci5yZXNwb25zZS5kYXRhLm1lc3NhZ2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLy8gU2hvdyB1c2VyIGVycm9yIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IucmVzcG9uc2Uuc3RhdHVzID09PSA0MDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0Vycm9yID0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLnJlc3BvbnNlLmRhdGEubWVzc2FnZVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC8vIFNob3cgc2VydmVyIGVycm9yXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yLnJlc3BvbnNlLnN0YXR1cyA9PT0gNTAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNFcnJvciA9IHRydWVcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBlcnJvci5yZXNwb25zZS5kYXRhLm1lc3NhZ2VcblxuICAgICAgICAgICAgICAgICAgICBldmVudHMuJGVtaXQoJ2FsZXJ0Om9wZW4nLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy4kdCgncG9wdXBfZXJyb3IudGl0bGUnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMuJHQoJ3BvcHVwX2Vycm9yLm1lc3NhZ2UnKSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXN5bmMgc3VibWl0T3JkZXIoKSB7XG5cbiAgICAgICAgICAgICAgICAvLyBWYWxpZGF0ZSBmaWVsZHNcbiAgICAgICAgICAgICAgICBjb25zdCBpc1ZhbGlkID0gYXdhaXQgdGhpcy4kcmVmcy5vcmRlci52YWxpZGF0ZSgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFpc1ZhbGlkKSByZXR1cm47XG5cbiAgICAgICAgICAgICAgICAvLyBSZW1vdmUgZXJyb3JcbiAgICAgICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSBmYWxzZVxuXG4gICAgICAgICAgICAgICAgLy8gU3RhcnQgbG9hZGluZ1xuICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSB0cnVlXG5cbiAgICAgICAgICAgICAgICBjb25zdCB7c2V0dXBJbnRlbnQsIGVycm9yfSA9IGF3YWl0IHN0cmlwZS5jb25maXJtQ2FyZFNldHVwKHRoaXMuY2xpZW50U2VjcmV0LCB7XG4gICAgICAgICAgICAgICAgICAgIHBheW1lbnRfbWV0aG9kOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXJkOiBjYXJkLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFNldCBlcnJvciBvblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSB0cnVlXG5cbiAgICAgICAgICAgICAgICAgICAgLy8gRW5kIGJ1dHRvbiBzcGlubmVyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSBmYWxzZVxuXG4gICAgICAgICAgICAgICAgICAgIC8vIFNob3cgZXJyb3IgbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycm9yLm1lc3NhZ2VcblxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgYXhpb3NcbiAgICAgICAgICAgICAgICAgICAgICAgIC5wb3N0KCcvYXBpL29hc2lzL3N1YnNjcmliZScsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsaW5nOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfYWRkcmVzczogdGhpcy5iaWxsaW5nLmFkZHJlc3MsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfY2l0eTogdGhpcy5iaWxsaW5nLmNpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfY291bnRyeTogdGhpcy5iaWxsaW5nLmNvdW50cnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfbmFtZTogdGhpcy5iaWxsaW5nLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfcGhvbmVfbnVtYmVyOiB0aGlzLmJpbGxpbmcucGhvbmVfbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiaWxsaW5nX3Bvc3RhbF9jb2RlOiB0aGlzLmJpbGxpbmcucG9zdGFsX2NvZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbGxpbmdfc3RhdGU6IHRoaXMuYmlsbGluZy5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYW46IHRoaXMucmVxdWVzdGVkUGxhbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXltZW50OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpcGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRhOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbTogc2V0dXBJbnRlbnQucGF5bWVudF9tZXRob2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc09yZGVyKClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvck9yZGVyKGVycm9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgbW91bnRlZDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnJlcXVlc3RlZFBsYW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7bmFtZTogJ1NldFVwUGxhbid9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXRTdHJpcGUoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBjcmVhdGVkKCkge1xuXG4gICAgICAgICAgICAvLyBHZXQgc2V0dXAgaW50ZW50IGZvciBzdHJpcGVcbiAgICAgICAgICAgIGF4aW9zLmdldCgnL2FwaS91c2VyL3N1YnNjcmlwdGlvbi9zZXR1cC1pbnRlbnQnKVxuICAgICAgICAgICAgICAgIC50aGVuKHJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGllbnRTZWNyZXQgPSByZXNwb25zZS5kYXRhLmNsaWVudF9zZWNyZXRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4kaXNTb21ldGhpbmdXcm9uZygpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX2Zvcm1zJztcblxuICAgIC5jaGFuZ2UtcGF5bWVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLCBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZC1lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAgICAgc3BhbiwgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmssIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpc3RlcmVkLWNhcmRzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG5cbiAgICAucmVnaXN0ZXItY2FyZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgfVxuXG4gICAgLmNyZWRpdC1jYXJkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRfYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICYuaXMtZXJyb3Ige1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDdweCByZ2JhKCRkYW5nZXIsIDAuMyk7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkZGFuZ2VyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtbnVtYmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuY3JlZGl0LWNhcmQtbnVtYmVycyB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNyZWRpdC1jYXJkLWljb24ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdHJpcGUtY2FyZCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMjBweDtcblxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjZTZlYmYxO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMTUwbXMgZWFzZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAxNTBtcyBlYXNlO1xuXG4gICAgICAgICYuaXMtZXJyb3Ige1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDdweCByZ2JhKCRkYW5nZXIsIDAuMyk7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkZGFuZ2VyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5TdHJpcGVFbGVtZW50LS1mb2N1cyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggMCAjY2ZkN2RmO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5TdHJpcGVFbGVtZW50LS1pbnZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI2ZhNzU1YTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuU3RyaXBlRWxlbWVudC0td2Via2l0LWF1dG9maWxsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZkZTUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmcmFtZSAuSW5wdXRDb250YWluZXIgLklucHV0RWxlbWVudCB7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VtbWFyeS1saXN0IHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA3cHggMjBweCA1cHggaHNsYSgyMjAsIDM2JSwgMTYlLCAwLjA2KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgICB0b3A6IDMwcHg7XG5cbiAgICAgICAgJi5pcy1lcnJvciB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkZGFuZ2VyO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCA3cHggMjBweCA1cHggcmdiYSgkZGFuZ2VyLCAwLjA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAubmV4dC1zdWJtaXQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRpc2NsYWltZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodF9tb2RlX2JvcmRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jZWxsIHtcbiAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgLnN0ZXBzIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA2NSU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgICAgICAuZm9ybSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1bW1hcnkge1xuICAgICAgICAgICAgZmxleDogMCAwIDM0JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wbGFuLXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byA4MHB4O1xuXG4gICAgICAgIHBhdGgsIGxpbmUsIHBvbHlsaW5lLCByZWN0LCBjaXJjbGUge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMzgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuXG4gICAgICAgIC5wbGFuLXRpdGxlIHtcblxuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNyZWRpdC1jYXJkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcblxuICAgICAgICAgICAgc3BhbiwgLmNyZWRpdC1jYXJkLW51bWJlcnMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGFuZ2UtcGF5bWVudCB7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfc2Vjb25kYXJ5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRoZW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1bW1hcnktbGlzdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya19tb2RlX2ZvcmVncm91bmQ7XG5cbiAgICAgICAgICAgIC5kaXNjbGFpbWVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3NlY29uZGFyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJvdyB7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZGFya19tb2RlX2JvcmRlcl9jb2xvcjtcblxuICAgICAgICAgICAgICAgICAgICBiIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNlbGwge1xuICAgICAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3NlY29uZGFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RyaXBlLWNhcmQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgICAgICYuU3RyaXBlRWxlbWVudC0td2Via2l0LWF1dG9maWxsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya19tb2RlX2ZvcmVncm91bmQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5TdHJpcGVFbGVtZW50LS1mb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR0aGVtZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgkdGhlbWUsIDAuMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIC5vcmRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgLnN0ZXBzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG48L3N0eWxlPlxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYXlGb3JQbGFuLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYXlGb3JQbGFuLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vUGF5Rm9yUGxhbi52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9YjQwYzAwYTQmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vUGF5Rm9yUGxhbi52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL1BheUZvclBsYW4udnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL1BheUZvclBsYW4udnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9YjQwYzAwYTQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCJiNDBjMDBhNFwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcImZvcm0tbGFiZWxcIn0sW19jKCdlZGl0LTItaWNvbicse3N0YXRpY0NsYXNzOlwiaWNvbiB0ZXh0LXRoZW1lXCIsYXR0cnM6e1wic2l6ZVwiOlwiMjJcIn19KSxfdm0uX3YoXCIgXCIpLF9jKCdiJyx7c3RhdGljQ2xhc3M6XCJsYWJlbFwifSxbX3ZtLl90KFwiZGVmYXVsdFwiKV0sMildLDEpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9yZWYtLTQtMCEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsIjx0ZW1wbGF0ZT5cbiAgICA8ZGl2IGNsYXNzPVwiZm9ybS1sYWJlbFwiPlxuICAgICAgICA8ZWRpdC0yLWljb24gc2l6ZT1cIjIyXCIgY2xhc3M9XCJpY29uIHRleHQtdGhlbWVcIiAvPlxuICAgICAgICA8YiBjbGFzcz1cImxhYmVsXCI+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgIDwvYj5cbiAgICA8L2Rpdj5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG4gICAgaW1wb3J0IHsgRWRpdDJJY29uIH0gZnJvbSAndnVlLWZlYXRoZXItaWNvbnMnXG5cbiAgICBleHBvcnQgZGVmYXVsdCB7XG4gICAgICAgIG5hbWU6ICdGb3JtTGFiZWwnLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBFZGl0Mkljb25cbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLmZvcm0tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAgIC5mb3JtLWxhYmVsIHtcblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9Yzg4OTk4MTAmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vRm9ybUxhYmVsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Yzg4OTk4MTAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCJjODg5OTgxMFwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1jODg5OTgxMCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuXG5pZih0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIGNvbnRlbnQgPSBbW21vZHVsZS5pZCwgY29udGVudCwgJyddXTtcblxudmFyIHRyYW5zZm9ybTtcbnZhciBpbnNlcnRJbnRvO1xuXG5cblxudmFyIG9wdGlvbnMgPSB7XCJobXJcIjp0cnVlfVxuXG5vcHRpb25zLnRyYW5zZm9ybSA9IHRyYW5zZm9ybVxub3B0aW9ucy5pbnNlcnRJbnRvID0gdW5kZWZpbmVkO1xuXG52YXIgdXBkYXRlID0gcmVxdWlyZShcIiEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXMuanNcIikoY29udGVudCwgb3B0aW9ucyk7XG5cbmlmKGNvbnRlbnQubG9jYWxzKSBtb2R1bGUuZXhwb3J0cyA9IGNvbnRlbnQubG9jYWxzO1xuXG5pZihtb2R1bGUuaG90KSB7XG5cdG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0Zvcm1MYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD1jODg5OTgxMCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuXHRcdHZhciBuZXdDb250ZW50ID0gcmVxdWlyZShcIiEhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Gb3JtTGFiZWwudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9Yzg4OTk4MTAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1VwZ3JhZGVCaWxsaW5nLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTRhNTJjN2IxJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vVXBncmFkZUJpbGxpbmcudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NGE1MmM3YjEmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX2MoJ2InLHtzdGF0aWNDbGFzczpcImNvbG9yLWxhYmVsXCIsY2xhc3M6X3ZtLmNvbG9yfSxbX3ZtLl90KFwiZGVmYXVsdFwiKV0sMil9XG52YXIgc3RhdGljUmVuZGVyRm5zID0gW11cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29sb3JMYWJlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29sb3JMYWJlbC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGIgY2xhc3M9XCJjb2xvci1sYWJlbFwiIDpjbGFzcz1cImNvbG9yXCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICA8L2I+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ0NvbG9yTGFiZWwnLFxuICAgICAgICBwcm9wczogWydjb2xvciddLFxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLmNvbG9yLWxhYmVsIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxMik7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBwYWRkaW5nOiA0cHggNnB4O1xuXG4gICAgICAgICYucHVycGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkcHVycGxlLCAwLjEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi55ZWxsb3cge1xuICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3c7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR5ZWxsb3csIDAuMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmdyZWVuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGhlbWU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR0aGVtZSwgMC4xKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFuZ2VyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkZGFuZ2VyLCAwLjEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcblxuICAgIH1cblxuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcblxuICAgIH1cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL0NvbG9yTGFiZWwudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTVjNTA4ZGJmJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL0NvbG9yTGFiZWwudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjNTA4ZGJmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiNWM1MDhkYmZcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiLCJleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvbGliL2Nzcy1iYXNlLmpzXCIpKGZhbHNlKTtcbi8vIGltcG9ydHNcblxuXG4vLyBtb2R1bGVcbmV4cG9ydHMucHVzaChbbW9kdWxlLmlkLCBcIiNsb2FkaW5nLWJhci1zcGlubmVyLnNwaW5uZXJbZGF0YS12LTFkZjY2MDAyXSB7XFxuICBsZWZ0OiA1MCU7XFxuICBtYXJnaW4tbGVmdDogLTIwcHg7XFxuICB0b3A6IDUwJTtcXG4gIG1hcmdpbi10b3A6IC0yMHB4O1xcbiAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgei1pbmRleDogMTkgIWltcG9ydGFudDtcXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkaW5nLWJhci1zcGlubmVyLWRhdGEtdi0xZGY2NjAwMiA0MDBtcyBsaW5lYXIgaW5maW5pdGU7XFxuICAgICAgICAgIGFuaW1hdGlvbjogbG9hZGluZy1iYXItc3Bpbm5lci1kYXRhLXYtMWRmNjYwMDIgNDAwbXMgbGluZWFyIGluZmluaXRlO1xcbn1cXG4jbG9hZGluZy1iYXItc3Bpbm5lci5zcGlubmVyIC5zcGlubmVyLWljb25bZGF0YS12LTFkZjY2MDAyXSB7XFxuICB3aWR0aDogNDBweDtcXG4gIGhlaWdodDogNDBweDtcXG4gIGJvcmRlcjogc29saWQgNHB4IHRyYW5zcGFyZW50O1xcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xcbn1cXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGluZy1iYXItc3Bpbm5lci1kYXRhLXYtMWRmNjYwMDIge1xcbjAlIHtcXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XFxufVxcbjEwMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xcbn1cXG59XFxuQGtleWZyYW1lcyBsb2FkaW5nLWJhci1zcGlubmVyLWRhdGEtdi0xZGY2NjAwMiB7XFxuMCUge1xcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcXG59XFxuMTAwJSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XFxufVxcbn1cXG5cIiwgXCJcIl0pO1xuXG4vLyBleHBvcnRzXG4iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9Db2xvckxhYmVsLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTVjNTA4ZGJmJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc3R5bGUtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2luZGV4LmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvcG9zdGNzcy1sb2FkZXIvc3JjL2luZGV4LmpzPz9yZWYtLTctMiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanM/P3JlZi0tNy0zIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vQ29sb3JMYWJlbC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD01YzUwOGRiZiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIiLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QbGFuUHJpY2luZ1RhYmxlcy52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD0xMDU3ZjZkMCZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BsYW5QcmljaW5nVGFibGVzLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTEwNTdmNmQwJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsIlxudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OWZkMGE0MjQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5cbnZhciB0cmFuc2Zvcm07XG52YXIgaW5zZXJ0SW50bztcblxuXG5cbnZhciBvcHRpb25zID0ge1wiaG1yXCI6dHJ1ZX1cblxub3B0aW9ucy50cmFuc2Zvcm0gPSB0cmFuc2Zvcm1cbm9wdGlvbnMuaW5zZXJ0SW50byA9IHVuZGVmaW5lZDtcblxudmFyIHVwZGF0ZSA9IHJlcXVpcmUoXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9saWIvYWRkU3R5bGVzLmpzXCIpKGNvbnRlbnQsIG9wdGlvbnMpO1xuXG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2FscztcblxuaWYobW9kdWxlLmhvdCkge1xuXHRtb2R1bGUuaG90LmFjY2VwdChcIiEhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QYWdlSGVhZGVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTlmZDBhNDI0Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiwgZnVuY3Rpb24oKSB7XG5cdFx0dmFyIG5ld0NvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1BhZ2VIZWFkZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OWZkMGE0MjQmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiKTtcblxuXHRcdGlmKHR5cGVvZiBuZXdDb250ZW50ID09PSAnc3RyaW5nJykgbmV3Q29udGVudCA9IFtbbW9kdWxlLmlkLCBuZXdDb250ZW50LCAnJ11dO1xuXG5cdFx0dmFyIGxvY2FscyA9IChmdW5jdGlvbihhLCBiKSB7XG5cdFx0XHR2YXIga2V5LCBpZHggPSAwO1xuXG5cdFx0XHRmb3Ioa2V5IGluIGEpIHtcblx0XHRcdFx0aWYoIWIgfHwgYVtrZXldICE9PSBiW2tleV0pIHJldHVybiBmYWxzZTtcblx0XHRcdFx0aWR4Kys7XG5cdFx0XHR9XG5cblx0XHRcdGZvcihrZXkgaW4gYikgaWR4LS07XG5cblx0XHRcdHJldHVybiBpZHggPT09IDA7XG5cdFx0fShjb250ZW50LmxvY2FscywgbmV3Q29udGVudC5sb2NhbHMpKTtcblxuXHRcdGlmKCFsb2NhbHMpIHRocm93IG5ldyBFcnJvcignQWJvcnRpbmcgQ1NTIEhNUiBkdWUgdG8gY2hhbmdlZCBjc3MtbW9kdWxlcyBsb2NhbHMuJyk7XG5cblx0XHR1cGRhdGUobmV3Q29udGVudCk7XG5cdH0pO1xuXG5cdG1vZHVsZS5ob3QuZGlzcG9zZShmdW5jdGlvbigpIHsgdXBkYXRlKCk7IH0pO1xufSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL0luZm9Cb3gudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9OGU3YzQyZjYmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9JbmZvQm94LnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPThlN2M0MmY2Jmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N0eWxlLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9pbmRleC5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Bvc3Rjc3MtbG9hZGVyL3NyYy9pbmRleC5qcz8/cmVmLS03LTIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzPz9yZWYtLTctMyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL1NwaW5uZXIudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MWRmNjYwMDImc2NvcGVkPXRydWUmbGFuZz1zY3NzJlwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdHlsZS1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvaW5kZXguanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2xvYWRlcnMvc3R5bGVQb3N0TG9hZGVyLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9wb3N0Y3NzLWxvYWRlci9zcmMvaW5kZXguanM/P3JlZi0tNy0yIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9zYXNzLWxvYWRlci9kaXN0L2Nqcy5qcz8/cmVmLS03LTMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTFkZjY2MDAyJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIiIsInZhciByZW5kZXIgPSBmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIChfdm0ucGxhbnMpP19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInBsYW5zLXdyYXBwZXJcIn0sX3ZtLl9sKChfdm0ucGxhbnMpLGZ1bmN0aW9uKHBsYW4saSl7cmV0dXJuIF9jKCdhcnRpY2xlJyx7a2V5Omksc3RhdGljQ2xhc3M6XCJwbGFuXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJwbGFuLXdyYXBwZXJcIn0sW19jKCdoZWFkZXInLHtzdGF0aWNDbGFzczpcInBsYW4taGVhZGVyXCJ9LFtfYygnZGl2Jyx7c3RhdGljQ2xhc3M6XCJpY29uXCJ9LFtfYygnaGFyZC1kcml2ZS1pY29uJyx7c3RhdGljQ2xhc3M6XCJ0ZXh0LXRoZW1lXCIsYXR0cnM6e1wic2l6ZVwiOlwiMjZcIn19KV0sMSksX3ZtLl92KFwiIFwiKSxfYygnaDEnLHtzdGF0aWNDbGFzczpcInRpdGxlXCJ9LFtfdm0uX3YoX3ZtLl9zKHBsYW4uZGF0YS5hdHRyaWJ1dGVzLm5hbWUpKV0pLF92bS5fdihcIiBcIiksX2MoJ2gyJyx7c3RhdGljQ2xhc3M6XCJkZXNjcmlwdGlvblwifSxbX3ZtLl92KF92bS5fcyhwbGFuLmRhdGEuYXR0cmlidXRlcy5kZXNjcmlwdGlvbikpXSldKSxfdm0uX3YoXCIgXCIpLF9jKCdzZWN0aW9uJyx7c3RhdGljQ2xhc3M6XCJwbGFuLWZlYXR1cmVzXCJ9LFtfYygnYicse3N0YXRpY0NsYXNzOlwic3RvcmFnZS1zaXplXCJ9LFtfdm0uX3YoX3ZtLl9zKHBsYW4uZGF0YS5hdHRyaWJ1dGVzLmNhcGFjaXR5X2Zvcm1hdHRlZCkpXSksX3ZtLl92KFwiIFwiKSxfYygnc3Bhbicse3N0YXRpY0NsYXNzOlwic3RvcmFnZS1kZXNjcmlwdGlvblwifSxbX3ZtLl92KF92bS5fcyhfdm0uJHQoJ3BhZ2VfcHJpY2luZ190YWJsZXMuc3RvcmFnZV9jYXBhY2l0eScpKSldKV0pLF92bS5fdihcIiBcIiksX2MoJ2Zvb3Rlcicse3N0YXRpY0NsYXNzOlwicGxhbi1mb290ZXJcIn0sW19jKCdiJyx7c3RhdGljQ2xhc3M6XCJwcmljZSB0ZXh0LXRoZW1lXCJ9LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhwbGFuLmRhdGEuYXR0cmlidXRlcy5wcmljZSkrXCIvXCIrX3ZtLl9zKF92bS4kdCgnZ2xvYmFsLm1vbnRobHlfYWMnKSkrXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiKSwocGxhbi5kYXRhLmF0dHJpYnV0ZXMudGF4X3JhdGVzLmxlbmd0aCA+IDApP19jKCdzbWFsbCcse3N0YXRpY0NsYXNzOlwidmF0LWRpc2NsYWltZXJcIn0sW192bS5fdihfdm0uX3MoX3ZtLiR0KCdwYWdlX3ByaWNpbmdfdGFibGVzLnZhdF9leGNsdWRlZCcpKSldKTpfdm0uX2UoKV0pLF92bS5fdihcIiBcIiksX2MoJ0J1dHRvbkJhc2UnLHtzdGF0aWNDbGFzczpcInNpZ24taW4tYnV0dG9uXCIsYXR0cnM6e1widHlwZVwiOlwic3VibWl0XCIsXCJidXR0b24tc3R5bGVcIjpcInNlY29uZGFyeVwifSxuYXRpdmVPbjp7XCJjbGlja1wiOmZ1bmN0aW9uKCRldmVudCl7cmV0dXJuIF92bS5zZWxlY3RQbGFuKHBsYW4pfX19LFtfdm0uX3YoXCJcXG4gICAgICAgICAgICAgICAgICAgIFwiK192bS5fcyhfdm0uJHQoJ2dsb2JhbC5nZXRfaXQnKSkrXCJcXG4gICAgICAgICAgICAgICAgXCIpXSldLDEpXSldKX0pLDApOl92bS5fZSgpfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtdXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBjbGFzcz1cInBsYW5zLXdyYXBwZXJcIiB2LWlmPVwicGxhbnNcIj5cbiAgICAgICAgPGFydGljbGUgY2xhc3M9XCJwbGFuXCIgdi1mb3I9XCIocGxhbiwgaSkgaW4gcGxhbnNcIiA6a2V5PVwiaVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYW4td3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxoZWFkZXIgY2xhc3M9XCJwbGFuLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGhhcmQtZHJpdmUtaWNvbiBjbGFzcz1cInRleHQtdGhlbWVcIiBzaXplPVwiMjZcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPVwidGl0bGVcIj57eyBwbGFuLmRhdGEuYXR0cmlidXRlcy5uYW1lIH19PC9oMT5cbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiZGVzY3JpcHRpb25cIj57eyBwbGFuLmRhdGEuYXR0cmlidXRlcy5kZXNjcmlwdGlvbiB9fTwvaDI+XG4gICAgICAgICAgICAgICAgPC9oZWFkZXI+XG4gICAgICAgICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJwbGFuLWZlYXR1cmVzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxiIGNsYXNzPVwic3RvcmFnZS1zaXplXCI+e3sgcGxhbi5kYXRhLmF0dHJpYnV0ZXMuY2FwYWNpdHlfZm9ybWF0dGVkIH19PC9iPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN0b3JhZ2UtZGVzY3JpcHRpb25cIj57eyAkdCgncGFnZV9wcmljaW5nX3RhYmxlcy5zdG9yYWdlX2NhcGFjaXR5JykgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgICAgIDxmb290ZXIgY2xhc3M9XCJwbGFuLWZvb3RlclwiPlxuICAgICAgICAgICAgICAgICAgICA8YiBjbGFzcz1cInByaWNlIHRleHQtdGhlbWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHBsYW4uZGF0YS5hdHRyaWJ1dGVzLnByaWNlIH19L3t7ICR0KCdnbG9iYWwubW9udGhseV9hYycpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICA8c21hbGwgdi1pZj1cInBsYW4uZGF0YS5hdHRyaWJ1dGVzLnRheF9yYXRlcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJ2YXQtZGlzY2xhaW1lclwiPnt7ICR0KCdwYWdlX3ByaWNpbmdfdGFibGVzLnZhdF9leGNsdWRlZCcpIH19PC9zbWFsbD5cbiAgICAgICAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgICAgICAgICA8QnV0dG9uQmFzZSBAY2xpY2submF0aXZlPVwic2VsZWN0UGxhbihwbGFuKVwiIHR5cGU9XCJzdWJtaXRcIiBidXR0b24tc3R5bGU9XCJzZWNvbmRhcnlcIiBjbGFzcz1cInNpZ24taW4tYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAkdCgnZ2xvYmFsLmdldF9pdCcpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvQnV0dG9uQmFzZT5cbiAgICAgICAgICAgICAgICA8L2Zvb3Rlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2FydGljbGU+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGltcG9ydCBCdXR0b25CYXNlIGZyb20gJ0AvY29tcG9uZW50cy9GaWxlc1ZpZXcvQnV0dG9uQmFzZSdcbiAgICBpbXBvcnQge0hhcmREcml2ZUljb259IGZyb20gXCJ2dWUtZmVhdGhlci1pY29uc1wiXG4gICAgaW1wb3J0IHsgbWFwR2V0dGVycyB9IGZyb20gJ3Z1ZXgnXG4gICAgaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJ1xuXG4gICAgZXhwb3J0IGRlZmF1bHQge1xuICAgICAgICBuYW1lOiAnUGxhblByaWNpbmdUYWJsZXMnLFxuICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICBIYXJkRHJpdmVJY29uLFxuICAgICAgICAgICAgQnV0dG9uQmFzZSxcbiAgICAgICAgfSxcbiAgICAgICAgcHJvcHM6IFtcbiAgICAgICAgICAgICdjdXN0b21Sb3V0ZSdcbiAgICAgICAgXSxcbiAgICAgICAgZGF0YSgpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcGxhbnM6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY29tcHV0ZWQ6IHtcbiAgICAgICAgICAgIC4uLm1hcEdldHRlcnMoWyd1c2VyJ10pLFxuICAgICAgICB9LFxuICAgICAgICBtZXRob2RzOiB7XG4gICAgICAgICAgICBzZWxlY3RQbGFuKHBsYW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdzZWxlY3RlZC1wbGFuJywgcGxhbilcblxuICAgICAgICAgICAgICAgIGxldCByb3V0ZSA9IHRoaXMuY3VzdG9tUm91dGUgPyB0aGlzLmN1c3RvbVJvdXRlIDogJ1VwZ3JhZGVCaWxsaW5nJ1xuXG4gICAgICAgICAgICAgICAgdGhpcy4kcm91dGVyLnB1c2goe25hbWU6IHJvdXRlfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgY3JlYXRlZCgpIHtcbiAgICAgICAgICAgIGF4aW9zLmdldCgnL2FwaS9wcmljaW5nJylcbiAgICAgICAgICAgICAgICAudGhlbihyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGxhbnMgPSByZXNwb25zZS5kYXRhLmZpbHRlcihwbGFuID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwbGFuLmRhdGEuYXR0cmlidXRlcy5jYXBhY2l0eSA+IHRoaXMudXNlci5kYXRhLmF0dHJpYnV0ZXMuc3RvcmFnZV9jYXBhY2l0eVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB0aGlzLiRlbWl0KCdsb2FkJywgZmFsc2UpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG4gICAgQGltcG9ydCAnQGFzc2V0cy92dWVmaWxlbWFuYWdlci9fdmFyaWFibGVzJztcbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL19taXhpbnMnO1xuXG4gICAgLnBsYW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZsZXg6IDAgMCAzMyU7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcblxuICAgICAgICAucGxhbi13cmFwcGVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgN3B4IDIwcHggNXB4IGhzbGEoMjIwLCAzNiUsIDE2JSwgMC4wMyk7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTIwcHgpIHNjYWxlKDEuMDUpKTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDE1cHggMjVweCA1cHggaHNsYSgyMjAsIDM2JSwgMTYlLCAwLjA4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wbGFuLWhlYWRlciB7XG5cbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBwYXRoLCBsaW5lLCBwb2x5bGluZSwgcmVjdCwgY2lyY2xlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGxhbi1mZWF0dXJlcyB7XG4gICAgICAgICAgICBtYXJnaW46IDY1cHggMDtcblxuICAgICAgICAgICAgLnN0b3JhZ2Utc2l6ZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDQ4KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdG9yYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTUpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGxhbi1mb290ZXIge1xuXG4gICAgICAgICAgICAuc2lnbi1pbi1idXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAudmF0LWRpc2NsYWltZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTEpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ1O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBsYW5zLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMCAtMjVweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuXG4gICAgICAgIC5wbGFucy13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAucGxhbiB7XG5cbiAgICAgICAgICAgIC5wbGFuLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX21vZGVfZm9yZWdyb3VuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBsYW4taGVhZGVyIHtcblxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFya19tb2RlX3RleHRfcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3NlY29uZGFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wbGFuLWZlYXR1cmVzIHtcblxuICAgICAgICAgICAgICAgIC5zdG9yYWdlLXNpemUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN0b3JhZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGxhbi1mb290ZXIge1xuXG4gICAgICAgICAgICAgICAgLnNpZ24taW4tYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkdGhlbWUsIDAuMSk7XG5cbiAgICAgICAgICAgICAgICAgICAgL2RlZXAvIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdGhlbWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJpY2Uge1xuXG4gICAgICAgICAgICAgICAgICAgIC52YXQtZGlzY2xhaW1lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmtfbW9kZV90ZXh0X3ByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG48L3N0eWxlPlxuIiwiaW1wb3J0IG1vZCBmcm9tIFwiLSEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS00LTAhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9QbGFuUHJpY2luZ1RhYmxlcy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vUGxhblByaWNpbmdUYWJsZXMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9QbGFuUHJpY2luZ1RhYmxlcy52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MTA1N2Y2ZDAmc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vUGxhblByaWNpbmdUYWJsZXMudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9QbGFuUHJpY2luZ1RhYmxlcy52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmltcG9ydCBzdHlsZTAgZnJvbSBcIi4vUGxhblByaWNpbmdUYWJsZXMudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9MTA1N2Y2ZDAmbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCIxMDU3ZjZkMFwiLFxuICBudWxsXG4gIFxuKVxuXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyIsImV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9saWIvY3NzLWJhc2UuanNcIikoZmFsc2UpO1xuLy8gaW1wb3J0c1xuXG5cbi8vIG1vZHVsZVxuZXhwb3J0cy5wdXNoKFttb2R1bGUuaWQsIFwiLmZvcm1bZGF0YS12LWI0MGMwMGE0XSB7XFxuICBtYXgtd2lkdGg6IDcwMHB4O1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcXG4gIG1hcmdpbjogMCBhdXRvO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybSAuaW5wdXQtd3JhcHBlcltkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcXG59XFxuLmZvcm0uaW5saW5lLWZvcm0gLmlucHV0LXdyYXBwZXIgLmVycm9yLW1lc3NhZ2VbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XFxuICBsZWZ0OiAwO1xcbiAgYm90dG9tOiAtMjVweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbWFyZ2luOiAwIC0xNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC53cmFwcGVyLWlubGluZSAuYmxvY2std3JhcHBlcltkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbiAgcGFkZGluZzogMCAxNXB4O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICBmb250LXdlaWdodDogNzAwO1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi1iNDBjMDBhNF06bGFzdC1jaGlsZCB7XFxuICBtYXJnaW4tYm90dG9tOiAwO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5idXR0b25bZGF0YS12LWI0MGMwMGE0XSB7XFxuICBtYXJnaW4tdG9wOiA1MHB4O1xcbn1cXG4uZm9ybSAuaW5saW5lLXdyYXBwZXJbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWhlbHBbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0gLmlubGluZS13cmFwcGVyIC5zd2l0Y2gtbGFiZWwgLmlucHV0LWxhYmVsW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIGNvbG9yOiAjMUIyNTM5O1xcbiAgZm9udC1zaXplOiAxZW07XFxuICBtYXJnaW4tYm90dG9tOiA1cHg7XFxufVxcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjcpO1xcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XFxuICBwYWRkaW5nLXRvcDogMTBweDtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XFxufVxcbi5lcnJvci1tZXNzYWdlW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgY29sb3I6ICNmZDM5N2E7XFxuICBwYWRkaW5nLXRvcDogNXB4O1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICB0ZXh0LWFsaWduOiBsZWZ0O1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIHdpZHRoOiAxMDAlO1xcbn1cXG5pbnB1dFt0eXBlPVxcXCJjb2xvclxcXCJdW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgd2lkdGg6IDM4cHg7XFxuICBoZWlnaHQ6IDQwcHg7XFxuICBib3JkZXI6IG5vbmU7XFxuICBvdXRsaW5lOiBub25lO1xcbiAgYmFja2dyb3VuZDogbm9uZTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWI0MGMwMGE0XSxcXG5pbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1iNDBjMDBhNF0sXFxuaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1iNDBjMDBhNF0sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWI0MGMwMGE0XSxcXG5pbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XFxuICB0cmFuc2l0aW9uOiAxNTBtcyBhbGwgZWFzZTtcXG4gIGZvbnQtc2l6ZTogMWVtO1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgcGFkZGluZzogMTNweCAyMHB4O1xcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xcbiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG4gIG91dGxpbmU6IDA7XFxuICB3aWR0aDogMTAwJTtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xcbn1cXG50ZXh0YXJlYS5pcy1lcnJvcltkYXRhLXYtYjQwYzAwYTRdLFxcbmlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl0uaXMtZXJyb3JbZGF0YS12LWI0MGMwMGE0XSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl0uaXMtZXJyb3JbZGF0YS12LWI0MGMwMGE0XSxcXG5pbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXS5pcy1lcnJvcltkYXRhLXYtYjQwYzAwYTRdLFxcbmlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl0uaXMtZXJyb3JbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBib3JkZXItY29sb3I6ICNmZDM5N2E7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1iNDBjMDBhNF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInBhc3N3b3JkXFxcIl1bZGF0YS12LWI0MGMwMGE0XTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1iNDBjMDBhNF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcImVtYWlsXFxcIl1bZGF0YS12LWI0MGMwMGE0XTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWI0MGMwMGE0XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWI0MGMwMGE0XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWI0MGMwMGE0XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNSk7XFxuICBmb250LXNpemU6IDAuOTM3NWVtO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtYjQwYzAwYTRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWI0MGMwMGE0XTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWI0MGMwMGE0XTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGF0YS12LWI0MGMwMGE0XTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOjpwbGFjZWhvbGRlcixcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWI0MGMwMGE0XTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWI0MGMwMGE0XTo6cGxhY2Vob2xkZXIsXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOjpwbGFjZWhvbGRlciB7XFxuICBjb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjUpO1xcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcXG59XFxudGV4dGFyZWFbZGlzYWJsZWRdW2RhdGEtdi1iNDBjMDBhNF0sXFxuaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWI0MGMwMGE0XSxcXG5pbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGlzYWJsZWRdW2RhdGEtdi1iNDBjMDBhNF0sXFxuaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGlzYWJsZWRdW2RhdGEtdi1iNDBjMDBhNF0sXFxuaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWI0MGMwMGE0XSB7XFxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuOCk7XFxuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogcmdiYSgyNywgMzcsIDU3LCAwLjgpO1xcbiAgb3BhY2l0eTogMTtcXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XFxufVxcbi5hZGRpdGlvbmFsLWxpbmtbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBmb250LXNpemU6IDFlbTtcXG4gIG1hcmdpbi10b3A6IDUwcHg7XFxuICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi1iNDBjMDBhNF0sIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmFkZGl0aW9uYWwtbGluayBiW2RhdGEtdi1iNDBjMDBhNF06aG92ZXIsIC5hZGRpdGlvbmFsLWxpbmsgYVtkYXRhLXYtYjQwYzAwYTRdOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xcbi5mb3JtW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBtYXgtd2lkdGg6IDEwMCU7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtYjQwYzAwYTRdIHtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XFxufVxcbi5mb3JtIGlucHV0W2RhdGEtdi1iNDBjMDBhNF0sIC5mb3JtIHRleHRhcmVhW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgbWluLXdpZHRoOiAxMDAlO1xcbn1cXG4uZm9ybS5ibG9jay1mb3JtIC5ibG9jay13cmFwcGVyW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBkaXNwbGF5OiBibG9jaztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gICAgd2lkdGg6IDEwMCU7XFxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XFxuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcXG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xcbiAgICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYnV0dG9uW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xcbn1cXG4uZm9ybS5pbmxpbmUtZm9ybVtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5mb3JtLmlubGluZS1mb3JtIC5pbnB1dC13cmFwcGVyIC5lcnJvci1tZXNzYWdlW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGJvdHRvbTogMDtcXG59XFxuLmZvcm0gLmJ1dHRvbltkYXRhLXYtYjQwYzAwYTRdIHtcXG4gICAgcGFkZGluZzogMTRweCAzMnB4O1xcbn1cXG4uc2luZ2xlLWxpbmUtZm9ybVtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gICAgZGlzcGxheTogYmxvY2s7XFxufVxcbi5zaW5nbGUtbGluZS1mb3JtIC5zdWJtaXQtYnV0dG9uW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBtYXJnaW4tbGVmdDogMDtcXG4gICAgbWFyZ2luLXRvcDogMjBweDtcXG4gICAgd2lkdGg6IDEwMCU7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1iNDBjMDBhNF0sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1iNDBjMDBhNF0sXFxuICBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtYjQwYzAwYTRdLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1iNDBjMDBhNF0sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XFxufVxcbn1cXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY5MHB4KSB7XFxuLmZvcm0uYmxvY2stZm9ybSAud3JhcHBlci1pbmxpbmVbZGF0YS12LWI0MGMwMGE0XSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5mb3JtIC5pbnB1dC1oZWxwW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxuLmZvcm0uYmxvY2stZm9ybSAuYmxvY2std3JhcHBlciBsYWJlbFtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5mb3JtIC5pbmxpbmUtd3JhcHBlciAuc3dpdGNoLWxhYmVsIC5pbnB1dC1sYWJlbFtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1iNDBjMDBhNF0sXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1iNDBjMDBhNF0sXFxuICBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWI0MGMwMGE0XSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1iNDBjMDBhNF0sXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBib3JkZXItY29sb3I6ICMxZTIwMjQ7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiAjYmVjNmNmO1xcbn1cXG50ZXh0YXJlYVtkYXRhLXYtYjQwYzAwYTRdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJudW1iZXJcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LWI0MGMwMGE0XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOjotbW96LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWI0MGMwMGE0XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWI0MGMwMGE0XTo6LW1vei1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOjotbW96LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1iNDBjMDBhNF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWI0MGMwMGE0XTotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1iNDBjMDBhNF06LW1zLWlucHV0LXBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2RhdGEtdi1iNDBjMDBhNF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1iNDBjMDBhNF06Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkYXRhLXYtYjQwYzAwYTRdOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxudGV4dGFyZWFbZGF0YS12LWI0MGMwMGE0XTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwidGV4dFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06OnBsYWNlaG9sZGVyLFxcbiAgaW5wdXRbdHlwZT1cXFwibnVtYmVyXFxcIl1bZGF0YS12LWI0MGMwMGE0XTo6cGxhY2Vob2xkZXIsXFxuICBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1iNDBjMDBhNF06OnBsYWNlaG9sZGVyIHtcXG4gICAgY29sb3I6ICM3ZDg1OGM7XFxufVxcbnRleHRhcmVhW2Rpc2FibGVkXVtkYXRhLXYtYjQwYzAwYTRdLFxcbiAgaW5wdXRbdHlwZT1cXFwicGFzc3dvcmRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWI0MGMwMGE0XSxcXG4gIGlucHV0W3R5cGU9XFxcInRleHRcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWI0MGMwMGE0XSxcXG4gIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2Rpc2FibGVkXVtkYXRhLXYtYjQwYzAwYTRdLFxcbiAgaW5wdXRbdHlwZT1cXFwiZW1haWxcXFwiXVtkaXNhYmxlZF1bZGF0YS12LWI0MGMwMGE0XSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxuICAgIGNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiByZ2JhKDEyNSwgMTMzLCAxNDAsIDAuOCk7XFxufVxcbi5wb3B1cC13cmFwcGVyIHRleHRhcmVhW2RhdGEtdi1iNDBjMDBhNF0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJwYXNzd29yZFxcXCJdW2RhdGEtdi1iNDBjMDBhNF0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJ0ZXh0XFxcIl1bZGF0YS12LWI0MGMwMGE0XSxcXG4gIC5wb3B1cC13cmFwcGVyIGlucHV0W3R5cGU9XFxcIm51bWJlclxcXCJdW2RhdGEtdi1iNDBjMDBhNF0sXFxuICAucG9wdXAtd3JhcHBlciBpbnB1dFt0eXBlPVxcXCJlbWFpbFxcXCJdW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNzJjO1xcbn1cXG59XFxuLmNoYW5nZS1wYXltZW50W2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgcGFkZGluZy10b3A6IDEwcHg7XFxufVxcbi5jaGFuZ2UtcGF5bWVudCBzcGFuW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgZm9udC13ZWlnaHQ6IDYwMDtcXG59XFxuLmNoYW5nZS1wYXltZW50IGFbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBjdXJzb3I6IHBvaW50ZXI7XFxuICBmb250LXdlaWdodDogNzAwO1xcbn1cXG4uY2hhbmdlLXBheW1lbnQgYVtkYXRhLXYtYjQwYzAwYTRdOmhvdmVyIHtcXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbn1cXG4uY2hhbmdlLXBheW1lbnQgc3BhbltkYXRhLXYtYjQwYzAwYTRdLCAuY2hhbmdlLXBheW1lbnQgYVtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGNvbG9yOiByZ2JhKDI3LCAzNywgNTcsIDAuNyk7XFxuICBmb250LXNpemU6IDAuODc1ZW07XFxufVxcbi5jYXJkLWVycm9yLW1lc3NhZ2VbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBwYWRkaW5nLXRvcDogMTBweDtcXG59XFxuLmNhcmQtZXJyb3ItbWVzc2FnZSBzcGFuW2RhdGEtdi1iNDBjMDBhNF0sIC5jYXJkLWVycm9yLW1lc3NhZ2UgYVtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxuICBjb2xvcjogI2ZkMzk3YTtcXG59XFxuLmNhcmQtZXJyb3ItbWVzc2FnZSAubGlua1tkYXRhLXYtYjQwYzAwYTRdLCAuY2FyZC1lcnJvci1tZXNzYWdlIGFbZGF0YS12LWI0MGMwMGE0XSB7XFxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG4gIGN1cnNvcjogcG9pbnRlcjtcXG59XFxuLmNhcmQtZXJyb3ItbWVzc2FnZSAubGlua1tkYXRhLXYtYjQwYzAwYTRdOmhvdmVyLCAuY2FyZC1lcnJvci1tZXNzYWdlIGFbZGF0YS12LWI0MGMwMGE0XTpob3ZlciB7XFxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxufVxcbi5yZWdpc3RlcmVkLWNhcmRzW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcXG59XFxuLnJlZ2lzdGVyLWNhcmRbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBtYXJnaW4tYm90dG9tOiA1NXB4O1xcbn1cXG4uY3JlZGl0LWNhcmRbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIHBhZGRpbmc6IDE1cHg7XFxuICBiYWNrZ3JvdW5kOiAjZjRmNWY2O1xcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xcbiAgbWFyZ2luLXRvcDogMjBweDtcXG59XFxuLmNyZWRpdC1jYXJkLmlzLWVycm9yW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgYm94LXNoYWRvdzogMCAwIDdweCByZ2JhKDI1MywgNTcsIDEyMiwgMC4zKTtcXG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZDM5N2E7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcbi5jcmVkaXQtY2FyZCBzcGFuW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgZm9udC13ZWlnaHQ6IDcwMDtcXG59XFxuLmNyZWRpdC1jYXJkIC5jYXJkLW51bWJlcltkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGRpc3BsYXk6IGZsZXg7XFxufVxcbi5jcmVkaXQtY2FyZCAuY3JlZGl0LWNhcmQtbnVtYmVyc1tkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XFxufVxcbi5jcmVkaXQtY2FyZCAuY3JlZGl0LWNhcmQtaWNvbltkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICBtYXgtaGVpZ2h0OiAyMHB4O1xcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XFxufVxcbi5zdHJpcGUtY2FyZFtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XFxuICBwYWRkaW5nOiAxM3B4IDIwcHg7XFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcXG4gIGJvcmRlci1yYWRpdXM6IDRweDtcXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgI2U2ZWJmMTtcXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTUwbXMgZWFzZTtcXG59XFxuLnN0cmlwZS1jYXJkLmlzLWVycm9yW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgYm94LXNoYWRvdzogMCAwIDdweCByZ2JhKDI1MywgNTcsIDEyMiwgMC4zKTtcXG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZDM5N2E7XFxuICBib3JkZXItcmFkaXVzOiA0cHg7XFxufVxcbi5zdHJpcGUtY2FyZC5TdHJpcGVFbGVtZW50LS1mb2N1c1tkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwICNjZmQ3ZGY7XFxufVxcbi5zdHJpcGUtY2FyZC5TdHJpcGVFbGVtZW50LS1pbnZhbGlkW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgYm9yZGVyLWNvbG9yOiAjZmE3NTVhO1xcbn1cXG4uc3RyaXBlLWNhcmQuU3RyaXBlRWxlbWVudC0td2Via2l0LWF1dG9maWxsW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmRlNSAhaW1wb3J0YW50O1xcbn1cXG4uc3RyaXBlLWNhcmQgaWZyYW1lIC5JbnB1dENvbnRhaW5lciAuSW5wdXRFbGVtZW50W2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgY29sb3I6IHdoaXRlO1xcbn1cXG4uc3VtbWFyeS1saXN0W2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgYm94LXNoYWRvdzogMCA3cHggMjBweCA1cHggcmdiYSgyNiwgMzYsIDU1LCAwLjA2KTtcXG4gIGJvcmRlci1yYWRpdXM6IDhweDtcXG4gIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcXG4gIHBvc2l0aW9uOiBzdGlja3k7XFxuICBwYWRkaW5nOiAyNXB4O1xcbiAgdG9wOiAzMHB4O1xcbn1cXG4uc3VtbWFyeS1saXN0LmlzLWVycm9yW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgYm9yZGVyOiAycHggc29saWQgI2ZkMzk3YTtcXG4gIGJveC1zaGFkb3c6IDAgN3B4IDIwcHggNXB4IHJnYmEoMjUzLCA1NywgMTIyLCAwLjA2KTtcXG59XFxuLnN1bW1hcnktbGlzdCAuZXJyb3ItbWVzc2FnZVtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLm5leHQtc3VibWl0W2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgd2lkdGg6IDEwMCU7XFxuICBtYXJnaW4tdG9wOiAyMHB4O1xcbn1cXG4uc3VtbWFyeS1saXN0IC5kaXNjbGFpbWVyW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgZm9udC1zaXplOiAwLjc1ZW07XFxuICBsaW5lLWhlaWdodDogMS42O1xcbiAgZGlzcGxheTogYmxvY2s7XFxuICBtYXJnaW4tdG9wOiAxMnB4O1xcbn1cXG4uc3VtbWFyeS1saXN0IC5yb3dbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgcGFkZGluZzogMTVweCAwO1xcbn1cXG4uc3VtbWFyeS1saXN0IC5yb3dbZGF0YS12LWI0MGMwMGE0XTpmaXJzdC1jaGlsZCB7XFxuICBwYWRkaW5nLXRvcDogMDtcXG59XFxuLnN1bW1hcnktbGlzdCAucm93W2RhdGEtdi1iNDBjMDBhNF06bGFzdC1vZi10eXBlIHtcXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRjhGOEY4O1xcbiAgcGFkZGluZy1ib3R0b206IDA7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLnJvdzpsYXN0LW9mLXR5cGUgYltkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGZvbnQtd2VpZ2h0OiA4MDA7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLmNlbGwgYltkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGRpc3BsYXk6IGJsb2NrO1xcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xcbn1cXG4uc3VtbWFyeS1saXN0IC5jZWxsIHNtYWxsW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgY29sb3I6IHJnYmEoMjcsIDM3LCA1NywgMC43KTtcXG4gIGZvbnQtc2l6ZTogMC43NWVtO1xcbn1cXG4ub3JkZXJbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBkaXNwbGF5OiBmbGV4O1xcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcXG59XFxuLm9yZGVyIC5zdGVwc1tkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGZsZXg6IDAgMCA2NSU7XFxuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xcbn1cXG4ub3JkZXIgLnN0ZXBzIC5mb3JtW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgbWF4LXdpZHRoOiAxMDAlO1xcbn1cXG4ub3JkZXIgLnN1bW1hcnlbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBmbGV4OiAwIDAgMzQlO1xcbn1cXG4ucGxhbi10aXRsZVtkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcXG4gIG1heC13aWR0aDogNjAwcHg7XFxuICBtYXJnaW46IDAgYXV0byA4MHB4O1xcbn1cXG4ucGxhbi10aXRsZSBwYXRoW2RhdGEtdi1iNDBjMDBhNF0sIC5wbGFuLXRpdGxlIGxpbmVbZGF0YS12LWI0MGMwMGE0XSwgLnBsYW4tdGl0bGUgcG9seWxpbmVbZGF0YS12LWI0MGMwMGE0XSwgLnBsYW4tdGl0bGUgcmVjdFtkYXRhLXYtYjQwYzAwYTRdLCAucGxhbi10aXRsZSBjaXJjbGVbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBjb2xvcjogaW5oZXJpdDtcXG59XFxuLnBsYW4tdGl0bGUgaDFbZGF0YS12LWI0MGMwMGE0XSB7XFxuICBmb250LXNpemU6IDIuMzc1ZW07XFxuICBmb250LXdlaWdodDogODAwO1xcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xcbn1cXG4ucGxhbi10aXRsZSBoMltkYXRhLXYtYjQwYzAwYTRdIHtcXG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xcbiAgZm9udC13ZWlnaHQ6IDUwMDtcXG59XFxuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xcbi5wbGFuLXRpdGxlIGgxW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBjb2xvcjogI2JlYzZjZjtcXG59XFxuLnBsYW4tdGl0bGUgaDJbZGF0YS12LWI0MGMwMGE0XSB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG4uY3JlZGl0LWNhcmRbZGF0YS12LWI0MGMwMGE0XSB7XFxuICAgIGJhY2tncm91bmQ6ICMxZTIwMjQ7XFxufVxcbi5jcmVkaXQtY2FyZCBzcGFuW2RhdGEtdi1iNDBjMDBhNF0sIC5jcmVkaXQtY2FyZCAuY3JlZGl0LWNhcmQtbnVtYmVyc1tkYXRhLXYtYjQwYzAwYTRdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5jaGFuZ2UtcGF5bWVudCBzcGFuW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxuLmNoYW5nZS1wYXltZW50IGFbZGF0YS12LWI0MGMwMGE0XSB7XFxuICAgIGNvbG9yOiAjMDBCQzdFO1xcbn1cXG4uc3VtbWFyeS1saXN0W2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBiYWNrZ3JvdW5kOiAjMWUyMDI0O1xcbn1cXG4uc3VtbWFyeS1saXN0IC5kaXNjbGFpbWVyW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBjb2xvcjogIzdkODU4YztcXG59XFxuLnN1bW1hcnktbGlzdCAucm93W2RhdGEtdi1iNDBjMDBhNF06bGFzdC1vZi10eXBlIHtcXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMik7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLnJvdzpsYXN0LW9mLXR5cGUgYltkYXRhLXYtYjQwYzAwYTRdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLmNlbGwgYltkYXRhLXYtYjQwYzAwYTRdIHtcXG4gICAgY29sb3I6ICNiZWM2Y2Y7XFxufVxcbi5zdW1tYXJ5LWxpc3QgLmNlbGwgc21hbGxbZGF0YS12LWI0MGMwMGE0XSB7XFxuICAgIGNvbG9yOiAjN2Q4NThjO1xcbn1cXG4uc3RyaXBlLWNhcmRbZGF0YS12LWI0MGMwMGE0XSB7XFxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xcbiAgICBib3gtc2hhZG93OiBub25lO1xcbn1cXG4uc3RyaXBlLWNhcmQuU3RyaXBlRWxlbWVudC0td2Via2l0LWF1dG9maWxsW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWUyMDI0ICFpbXBvcnRhbnQ7XFxufVxcbi5zdHJpcGUtY2FyZC5TdHJpcGVFbGVtZW50LS1mb2N1c1tkYXRhLXYtYjQwYzAwYTRdIHtcXG4gICAgYm94LXNoYWRvdzogbm9uZTtcXG4gICAgYm9yZGVyLWNvbG9yOiAjMDBCQzdFO1xcbiAgICBib3gtc2hhZG93OiAwIDFweCA1cHggcmdiYSgwLCAxODgsIDEyNiwgMC4zKTtcXG59XFxufVxcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcXG4ub3JkZXJbZGF0YS12LWI0MGMwMGE0XSB7XFxuICAgIGRpc3BsYXk6IGJsb2NrO1xcbn1cXG4ub3JkZXIgLnN0ZXBzW2RhdGEtdi1iNDBjMDBhNF0ge1xcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xcbn1cXG59XFxuXCIsIFwiXCJdKTtcblxuLy8gZXhwb3J0c1xuIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHt2YXIgX3ZtPXRoaXM7dmFyIF9oPV92bS4kY3JlYXRlRWxlbWVudDt2YXIgX2M9X3ZtLl9zZWxmLl9jfHxfaDtyZXR1cm4gX3ZtLl9tKDApfVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtmdW5jdGlvbiAoKSB7dmFyIF92bT10aGlzO3ZhciBfaD1fdm0uJGNyZWF0ZUVsZW1lbnQ7dmFyIF9jPV92bS5fc2VsZi5fY3x8X2g7cmV0dXJuIF9jKCdkaXYnLHtzdGF0aWNDbGFzczpcInNwaW5uZXJcIixhdHRyczp7XCJpZFwiOlwibG9hZGluZy1iYXItc3Bpbm5lclwifX0sW19jKCdkaXYnLHtzdGF0aWNDbGFzczpcInNwaW5uZXItaWNvbiBib3JkZXItdG9wLXRoZW1lIGJvcmRlci1sZWZ0LXRoZW1lXCJ9KV0pfV1cblxuZXhwb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3Bpbm5lci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tNC0wIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vU3Bpbm5lci52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCIiLCI8dGVtcGxhdGU+XG4gICAgPGRpdiBpZD1cImxvYWRpbmctYmFyLXNwaW5uZXJcIiBjbGFzcz1cInNwaW5uZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXItaWNvbiBib3JkZXItdG9wLXRoZW1lIGJvcmRlci1sZWZ0LXRoZW1lXCI+PC9kaXY+XG4gICAgPC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuICAgIGV4cG9ydCBkZWZhdWx0IHtcbiAgICAgICAgbmFtZTogJ1NwaW5uZXInXG4gICAgfVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBzY29wZWQgbGFuZz1cInNjc3NcIj5cbiAgICBAaW1wb3J0ICdAYXNzZXRzL3Z1ZWZpbGVtYW5hZ2VyL192YXJpYWJsZXMnO1xuICAgIEBpbXBvcnQgJ0Bhc3NldHMvdnVlZmlsZW1hbmFnZXIvX21peGlucyc7XG5cbiAgICAjbG9hZGluZy1iYXItc3Bpbm5lci5zcGlubmVyIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxOSAhaW1wb3J0YW50O1xuICAgICAgICBhbmltYXRpb246IGxvYWRpbmctYmFyLXNwaW5uZXIgNDAwbXMgbGluZWFyIGluZmluaXRlO1xuICAgIH1cblxuICAgICNsb2FkaW5nLWJhci1zcGlubmVyLnNwaW5uZXIgLnNwaW5uZXItaWNvbiB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJvcmRlcjogc29saWQgNHB4IHRyYW5zcGFyZW50O1xuICAgICAgICAvL2JvcmRlci10b3AtY29sb3I6ICR0aGVtZSAhaW1wb3J0YW50O1xuICAgICAgICAvL2JvcmRlci1sZWZ0LWNvbG9yOiAkdGhlbWUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgIEBrZXlmcmFtZXMgbG9hZGluZy1iYXItc3Bpbm5lciB7XG4gICAgICAgIDAlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgfVxuICAgIH1cbjwvc3R5bGU+XG4iLCJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9IGZyb20gXCIuL1NwaW5uZXIudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTFkZjY2MDAyJnNjb3BlZD10cnVlJlwiXG5pbXBvcnQgc2NyaXB0IGZyb20gXCIuL1NwaW5uZXIudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuaW1wb3J0IHN0eWxlMCBmcm9tIFwiLi9TcGlubmVyLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTFkZjY2MDAyJnNjb3BlZD10cnVlJmxhbmc9c2NzcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL3J1bnRpbWUvY29tcG9uZW50Tm9ybWFsaXplci5qc1wiXG52YXIgY29tcG9uZW50ID0gbm9ybWFsaXplcihcbiAgc2NyaXB0LFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZmFsc2UsXG4gIG51bGwsXG4gIFwiMWRmNjYwMDJcIixcbiAgbnVsbFxuICBcbilcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9uZW50LmV4cG9ydHMiXSwic291cmNlUm9vdCI6IiJ9
|