403Webshell
Server IP : 82.208.35.60  /  Your IP : 216.73.216.89
Web Server : Apache/2.4.55 (FreeBSD) OpenSSL/1.1.1q-freebsd PHP/7.3.31
System : FreeBSD server7.d2m.cz 12.4-RELEASE-p9 FreeBSD 12.4-RELEASE-p9 GENERIC amd64
User : studiokobylisy_cz ( 1008)
PHP Version : 7.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/air-sport_cz/www/admin939wizxmp/themes/new-theme/public/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/air-sport_cz/www/admin939wizxmp/themes/new-theme/public/cms_page_form.bundle.js
/*! For license information please see cms_page_form.bundle.js.LICENSE.txt */
(()=>{var e={43284:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=c(n(99663)),i=c(n(22600)),o=c(n(72100)),a=n(76544),s=c(n(25121));function c(e){return e&&e.__esModule?e:{default:e}}var l=window.$,u=function(){function e(t,n){if((0,r.default)(this,e),0!==l(t.container).length){if(this.originalUrl=n,this.useMultiLang=void 0!==t.multiLanguageInput||void 0!==t.multiLanguageField,this.useMultiLang){var i=[];t.multiLanguageInput&&i.push(t.multiLanguageInput),t.multiLanguageField&&i.push(t.multiLanguageField),this.multiLangSelector=i.join(","),this.attachMultiLangEvents()}this.data={url:n,title:"",description:""},this.vm=new o.default({el:t.container,template:'<serp ref="serp" :url="url" :title="title" :description="description" />',components:{serp:s.default},data:this.data}),this.initializeSelectors(t),this.attachInputEvents()}}return(0,i.default)(e,[{key:"attachMultiLangEvents",value:function(e){var t=this;l("body").on("click",e,(function(){t.checkTitle(),t.checkDesc(),t.checkUrl()})),a.EventEmitter.on("languageSelected",(function(){t.checkTitle(),t.checkDesc(),t.checkUrl()}))}},{key:"initializeSelectors",value:function(e){this.defaultTitle=l(e.defaultTitle),this.watchedTitle=l(e.watchedTitle),this.defaultDescription=l(e.defaultDescription),this.watchedDescription=l(e.watchedDescription),this.watchedMetaUrl=l(e.watchedMetaUrl)}},{key:"attachInputEvents",value:function(){var e=this;l(this.defaultTitle).on("keyup change",(function(){return e.checkTitle()})),l(this.watchedTitle).on("keyup change",(function(){return e.checkTitle()})),l(this.defaultDescription).on("keyup change",(function(){return e.checkDesc()})),l(this.watchedDescription).on("keyup change",(function(){return e.checkDesc()})),this.watchedMetaUrl.on("keyup change",(function(){return e.checkUrl()})),this.checkTitle(),this.checkDesc(),this.checkUrl()}},{key:"setTitle",value:function(e){this.data.title=e}},{key:"setDescription",value:function(e){this.data.description=e}},{key:"setUrl",value:function(e){this.data.url=this.originalUrl.replace("{friendy-url}",e),this.data.url=this.data.url.replace("{friendly-url}",e)}},{key:"checkTitle",value:function(){var e=this.defaultTitle,t=this.watchedTitle;this.useMultiLang&&(t=t.closest(this.multiLangSelector).find("input"),e=e.closest(this.multiLangSelector).find("input"));var n=t.length?t.val():"",r=e.length?e.val():"";this.setTitle(""===n?r:n),this.checkUrl()}},{key:"checkDesc",value:function(){var e=this.watchedDescription,t=this.defaultDescription;this.useMultiLang&&(e=e.closest(this.multiLangSelector).find(this.watchedDescription.is("input")?"input":"textarea"),t=t.closest(this.multiLangSelector).find(this.defaultDescription.is("input")?"input":"textarea"));var n=e.length?e.val().innerText||e.val():"",r=t.length?l(t.val()).text()||t.val():"";this.setDescription(""===n?r:n)}},{key:"checkUrl",value:function(){var e=this.watchedMetaUrl;this.useMultiLang&&(e=e.closest(this.multiLangSelector).find("input")),this.setUrl(e.val())}}]),e}();t.default=u},76544:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EventEmitter=void 0;var r,i=(r=n(17187))&&r.__esModule?r:{default:r},o=t.EventEmitter=new i.default;t.default=o},19078:(e,t,n)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(99663)),i=o(n(22600));function o(e){return e&&e.__esModule?e:{default:e}}var a=window.$,s=function(){function e(t){var n=this;return(0,r.default)(this,e),this.$container=a(t),this.$container.on("click",".js-input-wrapper",(function(e){var t=a(e.currentTarget);n.toggleChildTree(t)})),this.$container.on("click",".js-toggle-choice-tree-action",(function(e){var t=a(e.currentTarget);n.toggleTree(t)})),{enableAutoCheckChildren:function(){return n.enableAutoCheckChildren()},enableAllInputs:function(){return n.enableAllInputs()},disableAllInputs:function(){return n.disableAllInputs()}}}return(0,i.default)(e,[{key:"enableAutoCheckChildren",value:function(){this.$container.on("change",'input[type="checkbox"]',(function(e){var t=a(e.currentTarget);t.closest("li").find('ul input[type="checkbox"]').prop("checked",t.is(":checked"))}))}},{key:"enableAllInputs",value:function(){this.$container.find("input").removeAttr("disabled")}},{key:"disableAllInputs",value:function(){this.$container.find("input").attr("disabled","disabled")}},{key:"toggleChildTree",value:function(e){var t=e.closest("li");t.hasClass("expanded")?t.removeClass("expanded").addClass("collapsed"):t.hasClass("collapsed")&&t.removeClass("collapsed").addClass("expanded")}},{key:"toggleTree",value:function(e){var t=e.closest(".js-choice-tree-container"),n=e.data("action"),r={addClass:{expand:"expanded",collapse:"collapsed"},removeClass:{expand:"collapsed",collapse:"expanded"},nextAction:{expand:"collapse",collapse:"expand"},text:{expand:"collapsed-text",collapse:"expanded-text"},icon:{expand:"collapsed-icon",collapse:"expanded-icon"}};t.find("li").each((function(e,t){var i=a(t);i.hasClass(r.removeClass[n])&&i.removeClass(r.removeClass[n]).addClass(r.addClass[n])})),e.data("action",r.nextAction[n]),e.find(".material-icons").text(e.data(r.icon[n])),e.find(".js-toggle-text").text(e.data(r.text[n]))}}]),e}();t.default=s},48473:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=window.$;t.default=function(e){var t=e.sourceElementSelector,r=e.destinationElementSelector,i=e.options,o=void 0===i?{eventName:"input"}:i;n(document).on(o.eventName,""+t,(function(e){n(r).val(window.str2url(n(e.currentTarget).val(),"UTF-8"))}))}},66313:(e,t)=>{"use strict";Object.defineProperty(t,"X",{value:!0}),t.Z={name:"Serp",props:{url:{type:String,default:"https://www.example.com/"},description:{type:String,default:""},title:{type:String,default:""}},computed:{displayedTitle:function(){return this.title.length>70?this.title.substring(0,70)+"...":this.title},displayedDescription:function(){return this.description.length>150?this.description.substring(0,150)+"...":this.description}}}},32242:(e,t,n)=>{e.exports={default:n(33391),__esModule:!0}},99663:(e,t)=>{"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},22600:(e,t,n)=>{"use strict";t.__esModule=!0;var r,i=(r=n(32242))&&r.__esModule?r:{default:r};t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,i.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},33391:(e,t,n)=>{n(31477);var r=n(34579).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},85663:e=>{e.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!");return e}},12159:(e,t,n)=>{var r=n(36727);e.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!");return e}},34579:e=>{var t=e.exports={version:"2.6.11"};"number"==typeof __e&&(__e=t)},19216:(e,t,n)=>{var r=n(85663);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},89666:(e,t,n)=>{e.exports=!n(7929)((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},97467:(e,t,n)=>{var r=n(36727),i=n(33938).document,o=r(i)&&r(i.createElement);e.exports=function(e){return o?i.createElement(e):{}}},83856:(e,t,n)=>{var r=n(33938),i=n(34579),o=n(19216),a=n(41818),s=n(27069),c=function(e,t,n){var l,u,f,p=e&c.F,d=e&c.G,v=e&c.S,h=e&c.P,m=e&c.B,g=e&c.W,y=d?i:i[t]||(i[t]={}),_=y.prototype,b=d?r:v?r[t]:(r[t]||{}).prototype;for(l in d&&(n=t),n)(u=!p&&b&&void 0!==b[l])&&s(y,l)||(f=u?b[l]:n[l],y[l]=d&&"function"!=typeof b[l]?n[l]:m&&u?o(f,r):g&&b[l]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(f):h&&"function"==typeof f?o(Function.call,f):f,h&&((y.virtual||(y.virtual={}))[l]=f,e&c.R&&_&&!_[l]&&a(_,l,f)))};c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},7929:e=>{e.exports=function(e){try{return!!e()}catch(e){return!0}}},33938:e=>{var t=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=t)},27069:e=>{var t={}.hasOwnProperty;e.exports=function(e,n){return t.call(e,n)}},41818:(e,t,n)=>{var r=n(4743),i=n(83101);e.exports=n(89666)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},33758:(e,t,n)=>{e.exports=!n(89666)&&!n(7929)((function(){return 7!=Object.defineProperty(n(97467)("div"),"a",{get:function(){return 7}}).a}))},36727:e=>{e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},4743:(e,t,n)=>{var r=n(12159),i=n(33758),o=n(33206),a=Object.defineProperty;t.f=n(89666)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return a(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(e[t]=n.value),e}},83101:e=>{e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},33206:(e,t,n)=>{var r=n(36727);e.exports=function(e,t){if(!r(e))return e;var n,i;if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i;if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i;throw TypeError("Can't convert object to primitive value")}},31477:(e,t,n)=>{var r=n(83856);r(r.S+r.F*!n(89666),"Object",{defineProperty:n(4743).f})},20251:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>s});var r=n(94015),i=n.n(r),o=n(23645),a=n.n(o)()(i());a.push([e.id,".serp-preview[data-v-66c4c5ab]{margin-top:15px;margin-bottom:15px;border-radius:2px;box-shadow:0 0 5px 0 rgba(0,0,0,0.12);background-color:#ffffff;border:solid 1px #e7e7e7;padding:30px;max-width:700px}.serp-preview .serp-arrow[data-v-66c4c5ab]{border-bottom-color:#006621;border-bottom-style:solid;border-bottom-width:0px;border-left-color:rgba(0,0,0,0);border-left-style:solid;border-left-width:4px;border-right-color:rgba(0,0,0,0);border-right-style:solid;border-right-width:4px;border-top-color:#006621;border-top-style:solid;border-top-width:5px;color:gray;cursor:default;font-family:arial, sans-serif;font-size:11px;font-weight:bold;height:0px;position:absolute;line-height:27px;margin-left:3px;margin-top:6px;text-align:center;user-select:none;visibility:visible;white-space:nowrap;width:0px}.serp-preview .serp-title[data-v-66c4c5ab]{color:#1A0DAB;cursor:pointer;font-family:arial, regular;font-size:18px;font-weight:normal;text-align:left;text-decoration:none;visibility:visible;white-space:nowrap}.serp-preview .serp-url[data-v-66c4c5ab]{color:#006621;font-family:arial, regular;font-size:14px;font-style:normal;font-weight:normal;line-height:24px;text-align:left;visibility:visible}.serp-preview .serp-description[data-v-66c4c5ab]{color:#545454;font-family:arial, regular;font-size:13px;font-weight:normal;text-align:left;visibility:visible;word-wrap:break-word}\n","",{version:3,sources:["webpack://./js/app/utils/serp/serp.vue"],names:[],mappings:"AA6EA,+BACI,eAAgB,CAChB,kBAAmB,CACnB,iBAAkB,CAClB,qCAAyC,CACzC,wBAAyB,CACzB,wBAAyB,CACzB,YAAa,CACb,eAAgB,CARpB,2CAWQ,2BAAoC,CACpC,yBAA0B,CAC1B,uBAAwB,CACxB,+BAAmC,CACnC,uBAAwB,CACxB,qBAAsB,CACtB,gCAAoC,CACpC,wBAAyB,CACzB,sBAAuB,CACvB,wBAAiC,CACjC,sBAAuB,CACvB,oBAAqB,CACrB,UAAyB,CACzB,cAAe,CACf,6BAA8B,CAC9B,cAAe,CACf,gBAAiB,CACjB,UAAW,CACX,iBAAkB,CAClB,gBAAiB,CACjB,eAAgB,CAChB,cAAe,CACf,iBAAkB,CAClB,gBAAiB,CACjB,kBAAmB,CACnB,kBAAmB,CACnB,SAAU,CArClB,2CAyCQ,aAAc,CACd,cAAe,CACf,0BAA2B,CAC3B,cAAe,CACf,kBAAmB,CACnB,eAAgB,CAChB,oBAAqB,CACrB,kBAAmB,CACnB,kBAAmB,CAjD3B,yCAqDQ,aAAc,CACd,0BAA2B,CAC3B,cAAe,CACf,iBAAkB,CAClB,kBAAmB,CACnB,gBAAiB,CACjB,eAAgB,CAChB,kBAAmB,CA5D3B,iDAgEQ,aAAc,CACd,0BAA2B,CAC3B,cAAe,CACf,kBAAmB,CACnB,eAAgB,CAChB,kBAAmB,CACnB,oBAAqB",sourcesContent:["\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n.serp-preview {\n    margin-top: 15px;\n    margin-bottom: 15px;\n    border-radius: 2px;\n    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.12);\n    background-color: #ffffff;\n    border: solid 1px #e7e7e7;\n    padding: 30px;\n    max-width: 700px;\n\n    .serp-arrow {\n        border-bottom-color: rgb(0, 102, 33);\n        border-bottom-style: solid;\n        border-bottom-width: 0px;\n        border-left-color: rgba(0, 0, 0, 0);\n        border-left-style: solid;\n        border-left-width: 4px;\n        border-right-color: rgba(0, 0, 0, 0);\n        border-right-style: solid;\n        border-right-width: 4px;\n        border-top-color: rgb(0, 102, 33);\n        border-top-style: solid;\n        border-top-width: 5px;\n        color: rgb(128, 128, 128);\n        cursor: default;\n        font-family: arial, sans-serif;\n        font-size: 11px;\n        font-weight: bold;\n        height: 0px;\n        position: absolute;\n        line-height: 27px;\n        margin-left: 3px;\n        margin-top: 6px;\n        text-align: center;\n        user-select: none;\n        visibility: visible;\n        white-space: nowrap;\n        width: 0px;\n    }\n\n    .serp-title {\n        color: #1A0DAB;\n        cursor: pointer;\n        font-family: arial, regular;\n        font-size: 18px;\n        font-weight: normal;\n        text-align: left;\n        text-decoration: none;\n        visibility: visible;\n        white-space: nowrap;\n    }\n\n    .serp-url {\n        color: #006621;\n        font-family: arial, regular;\n        font-size: 14px;\n        font-style: normal;\n        font-weight: normal;\n        line-height: 24px;\n        text-align: left;\n        visibility: visible;\n    }\n\n    .serp-description {\n        color: #545454;\n        font-family: arial, regular;\n        font-size: 13px;\n        font-weight: normal;\n        text-align: left;\n        visibility: visible;\n        word-wrap: break-word;\n    }\n}\n"],sourceRoot:""}]);const s=a},23645:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=e(t);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var i={};if(r)for(var o=0;o<this.length;o++){var a=this[o][0];null!=a&&(i[a]=!0)}for(var s=0;s<e.length;s++){var c=[].concat(e[s]);r&&i[c[0]]||(n&&(c[2]?c[2]="".concat(n," and ").concat(c[2]):c[2]=n),t.push(c))}},t}},94015:e=>{"use strict";function t(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}e.exports=function(e){var n,r,i=(r=4,function(e){if(Array.isArray(e))return e}(n=e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,i=!1,o=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(i)throw o}}return n}}(n,r)||function(e,n){if(e){if("string"==typeof e)return t(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t(e,n):void 0}}(n,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=i[1],a=i[3];if("function"==typeof btoa){var s=btoa(unescape(encodeURIComponent(JSON.stringify(a)))),c="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),l="/*# ".concat(c," */"),u=a.sources.map((function(e){return"/*# sourceURL=".concat(a.sourceRoot||"").concat(e," */")}));return[o].concat(u).concat([l]).join("\n")}return[o].join("\n")}},17187:e=>{"use strict";var t,n="object"==typeof Reflect?Reflect:null,r=n&&"function"==typeof n.apply?n.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)};t=n&&"function"==typeof n.ownKeys?n.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var i=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var a=10;function s(e){if("function"!=typeof e)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}function c(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function l(e,t,n,r){var i,o,a,l;if(s(n),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),o=e._events),a=o[t]),void 0===a)a=o[t]=n,++e._eventsCount;else if("function"==typeof a?a=o[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),(i=c(e))>0&&a.length>i&&!a.warned){a.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=e,u.type=t,u.count=a.length,l=u,console&&console.warn&&console.warn(l)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,n){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:n},i=u.bind(r);return i.listener=n,r.wrapFn=i,i}function p(e,t,n){var r=e._events;if(void 0===r)return[];var i=r[t];return void 0===i?[]:"function"==typeof i?n?[i.listener||i]:[i]:n?function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(i):v(i,i.length)}function d(e){var t=this._events;if(void 0!==t){var n=t[e];if("function"==typeof n)return 1;if(void 0!==n)return n.length}return 0}function v(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e[r];return n}Object.defineProperty(o,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");a=e}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||i(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return c(this)},o.prototype.emit=function(e){for(var t=[],n=1;n<arguments.length;n++)t.push(arguments[n]);var i="error"===e,o=this._events;if(void 0!==o)i=i&&void 0===o.error;else if(!i)return!1;if(i){var a;if(t.length>0&&(a=t[0]),a instanceof Error)throw a;var s=new Error("Unhandled error."+(a?" ("+a.message+")":""));throw s.context=a,s}var c=o[e];if(void 0===c)return!1;if("function"==typeof c)r(c,this,t);else{var l=c.length,u=v(c,l);for(n=0;n<l;++n)r(u[n],this,t)}return!0},o.prototype.addListener=function(e,t){return l(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return l(this,e,t,!0)},o.prototype.once=function(e,t){return s(t),this.on(e,f(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return s(t),this.prependListener(e,f(this,e,t)),this},o.prototype.removeListener=function(e,t){var n,r,i,o,a;if(s(t),void 0===(r=this._events))return this;if(void 0===(n=r[e]))return this;if(n===t||n.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,o=n.length-1;o>=0;o--)if(n[o]===t||n[o].listener===t){a=n[o].listener,i=o;break}if(i<0)return this;0===i?n.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(n,i),1===n.length&&(r[e]=n[0]),void 0!==r.removeListener&&this.emit("removeListener",e,a||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,n,r;if(void 0===(n=this._events))return this;if(void 0===n.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==n[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete n[e]),this;if(0===arguments.length){var i,o=Object.keys(n);for(r=0;r<o.length;++r)"removeListener"!==(i=o[r])&&this.removeAllListeners(i);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},o.prototype.listeners=function(e){return p(this,e,!0)},o.prototype.rawListeners=function(e){return p(this,e,!1)},o.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):d.call(e,t)},o.prototype.listenerCount=d,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},25121:(e,t,n)=>{"use strict";n.r(t),n.d(t,{__esModule:()=>i.X,default:()=>s});var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"serp"}},[n("div",{staticClass:"serp-preview"},[n("div",{staticClass:"serp-title"},[e._v("\n      "+e._s(e.displayedTitle)+"\n    ")]),e._v(" "),n("div",{staticClass:"serp-url"},[e._v("\n      "+e._s(e.url)),n("span",{staticClass:"serp-arrow"})]),e._v(" "),n("div",{staticClass:"serp-description"},[e._v("\n      "+e._s(e.displayedDescription)+"\n    ")])])])};r._withStripped=!0;var i=n(66313);const o=i.Z;n(69492);var a=(0,n(51900).Z)(o,r,[],!1,null,"66c4c5ab",null);a.options.__file="js/app/utils/serp/serp.vue";const s=a.exports},51900:(e,t,n)=>{"use strict";function r(e,t,n,r,i,o,a,s){var c,l="function"==typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=n,l._compiled=!0),r&&(l.functional=!0),o&&(l._scopeId="data-v-"+o),a?(c=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),i&&i.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(a)},l._ssrRegister=c):i&&(c=s?function(){i.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:i),c)if(l.functional){l._injectStyles=c;var u=l.render;l.render=function(e,t){return c.call(t),u(e,t)}}else{var f=l.beforeCreate;l.beforeCreate=f?[].concat(f,c):[c]}return{exports:e,options:l}}n.d(t,{Z:()=>r})},69492:(e,t,n)=>{var r=n(20251);r.__esModule&&(r=r.default),"string"==typeof r&&(r=[[e.id,r,""]]),r.locals&&(e.exports=r.locals),(0,n(45346).Z)("2c83d4db",r,!1,{})},45346:(e,t,n)=>{"use strict";function r(e,t){for(var n=[],r={},i=0;i<t.length;i++){var o=t[i],a=o[0],s={id:e+":"+i,css:o[1],media:o[2],sourceMap:o[3]};r[a]?r[a].parts.push(s):n.push(r[a]={id:a,parts:[s]})}return n}n.d(t,{Z:()=>v});var i="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!i)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var o={},a=i&&(document.head||document.getElementsByTagName("head")[0]),s=null,c=0,l=!1,u=function(){},f=null,p="data-vue-ssr-id",d="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function v(e,t,n,i){l=n,f=i||{};var a=r(e,t);return h(a),function(t){for(var n=[],i=0;i<a.length;i++){var s=a[i];(c=o[s.id]).refs--,n.push(c)}for(t?h(a=r(e,t)):a=[],i=0;i<n.length;i++){var c;if(0===(c=n[i]).refs){for(var l=0;l<c.parts.length;l++)c.parts[l]();delete o[c.id]}}}}function h(e){for(var t=0;t<e.length;t++){var n=e[t],r=o[n.id];if(r){r.refs++;for(var i=0;i<r.parts.length;i++)r.parts[i](n.parts[i]);for(;i<n.parts.length;i++)r.parts.push(g(n.parts[i]));r.parts.length>n.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(i=0;i<n.parts.length;i++)a.push(g(n.parts[i]));o[n.id]={id:n.id,refs:1,parts:a}}}}function m(){var e=document.createElement("style");return e.type="text/css",a.appendChild(e),e}function g(e){var t,n,r=document.querySelector("style["+p+'~="'+e.id+'"]');if(r){if(l)return u;r.parentNode.removeChild(r)}if(d){var i=c++;r=s||(s=m()),t=b.bind(null,r,i,!1),n=b.bind(null,r,i,!0)}else r=m(),t=A.bind(null,r),n=function(){r.parentNode.removeChild(r)};return t(e),function(r){if(r){if(r.css===e.css&&r.media===e.media&&r.sourceMap===e.sourceMap)return;t(e=r)}else n()}}var y,_=(y=[],function(e,t){return y[e]=t,y.filter(Boolean).join("\n")});function b(e,t,n,r){var i=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=_(t,i);else{var o=document.createTextNode(i),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(o,a[t]):e.appendChild(o)}}function A(e,t){var n=t.css,r=t.media,i=t.sourceMap;if(r&&e.setAttribute("media",r),f.ssrId&&e.setAttribute(p,t.id),i&&(n+="\n/*# sourceURL="+i.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+" */"),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}},72100:(e,t,n)=>{e.exports=n(91317)},91317:(e,t,n)=>{"use strict";var r=Object.freeze({});function i(e){return null==e}function o(e){return null!=e}function a(e){return!0===e}function s(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e||"boolean"==typeof e}function c(e){return null!==e&&"object"==typeof e}var l=Object.prototype.toString;function u(e){return"[object Object]"===l.call(e)}function f(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function p(e){return o(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function d(e){return null==e?"":Array.isArray(e)||u(e)&&e.toString===l?JSON.stringify(e,null,2):String(e)}function v(e){var t=parseFloat(e);return isNaN(t)?e:t}function h(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i<r.length;i++)n[r[i]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}var m=h("slot,component",!0),g=h("key,ref,slot,slot-scope,is");function y(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}var _=Object.prototype.hasOwnProperty;function b(e,t){return _.call(e,t)}function A(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var C=/-(\w)/g,w=A((function(e){return e.replace(C,(function(e,t){return t?t.toUpperCase():""}))})),x=A((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})),$=/\B([A-Z])/g,k=A((function(e){return e.replace($,"-$1").toLowerCase()})),S=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function O(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function T(e,t){for(var n in t)e[n]=t[n];return e}function B(e){for(var t={},n=0;n<e.length;n++)e[n]&&T(t,e[n]);return t}function j(e,t,n){}var L=function(e,t,n){return!1},E=function(e){return e};function M(e,t){if(e===t)return!0;var n=c(e),r=c(t);if(!n||!r)return!n&&!r&&String(e)===String(t);try{var i=Array.isArray(e),o=Array.isArray(t);if(i&&o)return e.length===t.length&&e.every((function(e,n){return M(e,t[n])}));if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(i||o)return!1;var a=Object.keys(e),s=Object.keys(t);return a.length===s.length&&a.every((function(n){return M(e[n],t[n])}))}catch(e){return!1}}function D(e,t){for(var n=0;n<e.length;n++)if(M(e[n],t))return n;return-1}function N(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var I="data-server-rendered",P=["component","directive","filter"],F=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured","serverPrefetch"],R={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:L,isReservedAttr:L,isUnknownElement:L,getTagNamespace:j,parsePlatformTagName:E,mustUseProp:L,async:!0,_lifecycleHooks:F},U=/a-zA-Z\u00B7\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u037D\u037F-\u1FFF\u200C-\u200D\u203F-\u2040\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD/;function z(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var H,V=new RegExp("[^"+U.source+".$_\\d]"),K="__proto__"in{},q="undefined"!=typeof window,J="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,W=J&&WXEnvironment.platform.toLowerCase(),Z=q&&window.navigator.userAgent.toLowerCase(),G=Z&&/msie|trident/.test(Z),X=Z&&Z.indexOf("msie 9.0")>0,Q=Z&&Z.indexOf("edge/")>0,Y=(Z&&Z.indexOf("android"),Z&&/iphone|ipad|ipod|ios/.test(Z)||"ios"===W),ee=(Z&&/chrome\/\d+/.test(Z),Z&&/phantomjs/.test(Z),Z&&Z.match(/firefox\/(\d+)/)),te={}.watch,ne=!1;if(q)try{var re={};Object.defineProperty(re,"passive",{get:function(){ne=!0}}),window.addEventListener("test-passive",null,re)}catch(r){}var ie=function(){return void 0===H&&(H=!q&&!J&&void 0!==n.g&&n.g.process&&"server"===n.g.process.env.VUE_ENV),H},oe=q&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ae(e){return"function"==typeof e&&/native code/.test(e.toString())}var se,ce="undefined"!=typeof Symbol&&ae(Symbol)&&"undefined"!=typeof Reflect&&ae(Reflect.ownKeys);se="undefined"!=typeof Set&&ae(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var le=j,ue=0,fe=function(){this.id=ue++,this.subs=[]};fe.prototype.addSub=function(e){this.subs.push(e)},fe.prototype.removeSub=function(e){y(this.subs,e)},fe.prototype.depend=function(){fe.target&&fe.target.addDep(this)},fe.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},fe.target=null;var pe=[];function de(e){pe.push(e),fe.target=e}function ve(){pe.pop(),fe.target=pe[pe.length-1]}var he=function(e,t,n,r,i,o,a,s){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},me={child:{configurable:!0}};me.child.get=function(){return this.componentInstance},Object.defineProperties(he.prototype,me);var ge=function(e){void 0===e&&(e="");var t=new he;return t.text=e,t.isComment=!0,t};function ye(e){return new he(void 0,void 0,void 0,String(e))}function _e(e){var t=new he(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}var be=Array.prototype,Ae=Object.create(be);["push","pop","shift","unshift","splice","sort","reverse"].forEach((function(e){var t=be[e];z(Ae,e,(function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var i,o=t.apply(this,n),a=this.__ob__;switch(e){case"push":case"unshift":i=n;break;case"splice":i=n.slice(2)}return i&&a.observeArray(i),a.dep.notify(),o}))}));var Ce=Object.getOwnPropertyNames(Ae),we=!0;function xe(e){we=e}var $e=function(e){var t;this.value=e,this.dep=new fe,this.vmCount=0,z(e,"__ob__",this),Array.isArray(e)?(K?(t=Ae,e.__proto__=t):function(e,t,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];z(e,o,t[o])}}(e,Ae,Ce),this.observeArray(e)):this.walk(e)};function ke(e,t){var n;if(c(e)&&!(e instanceof he))return b(e,"__ob__")&&e.__ob__ instanceof $e?n=e.__ob__:we&&!ie()&&(Array.isArray(e)||u(e))&&Object.isExtensible(e)&&!e._isVue&&(n=new $e(e)),t&&n&&n.vmCount++,n}function Se(e,t,n,r,i){var o=new fe,a=Object.getOwnPropertyDescriptor(e,t);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set;s&&!c||2!==arguments.length||(n=e[t]);var l=!i&&ke(n);Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t=s?s.call(e):n;return fe.target&&(o.depend(),l&&(l.dep.depend(),Array.isArray(t)&&function e(t){for(var n=void 0,r=0,i=t.length;r<i;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(t))),t},set:function(t){var r=s?s.call(e):n;t===r||t!=t&&r!=r||s&&!c||(c?c.call(e,t):n=t,l=!i&&ke(t),o.notify())}})}}function Oe(e,t,n){if(Array.isArray(e)&&f(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n,n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(Se(r.value,t,n),r.dep.notify(),n):(e[t]=n,n)}function Te(e,t){if(Array.isArray(e)&&f(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||b(e,t)&&(delete e[t],n&&n.dep.notify())}}$e.prototype.walk=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)Se(e,t[n])},$e.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)ke(e[t])};var Be=R.optionMergeStrategies;function je(e,t){if(!t)return e;for(var n,r,i,o=ce?Reflect.ownKeys(t):Object.keys(t),a=0;a<o.length;a++)"__ob__"!==(n=o[a])&&(r=e[n],i=t[n],b(e,n)?r!==i&&u(r)&&u(i)&&je(r,i):Oe(e,n,i));return e}function Le(e,t,n){return n?function(){var r="function"==typeof t?t.call(n,n):t,i="function"==typeof e?e.call(n,n):e;return r?je(r,i):i}:t?e?function(){return je("function"==typeof t?t.call(this,this):t,"function"==typeof e?e.call(this,this):e)}:t:e}function Ee(e,t){var n=t?e?e.concat(t):Array.isArray(t)?t:[t]:e;return n?function(e){for(var t=[],n=0;n<e.length;n++)-1===t.indexOf(e[n])&&t.push(e[n]);return t}(n):n}function Me(e,t,n,r){var i=Object.create(e||null);return t?T(i,t):i}Be.data=function(e,t,n){return n?Le(e,t,n):t&&"function"!=typeof t?e:Le(e,t)},F.forEach((function(e){Be[e]=Ee})),P.forEach((function(e){Be[e+"s"]=Me})),Be.watch=function(e,t,n,r){if(e===te&&(e=void 0),t===te&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var i={};for(var o in T(i,e),t){var a=i[o],s=t[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},Be.props=Be.methods=Be.inject=Be.computed=function(e,t,n,r){if(!e)return t;var i=Object.create(null);return T(i,e),t&&T(i,t),i},Be.provide=Le;var De=function(e,t){return void 0===t?e:t};function Ne(e,t,n){if("function"==typeof t&&(t=t.options),function(e,t){var n=e.props;if(n){var r,i,o={};if(Array.isArray(n))for(r=n.length;r--;)"string"==typeof(i=n[r])&&(o[w(i)]={type:null});else if(u(n))for(var a in n)i=n[a],o[w(a)]=u(i)?i:{type:i};e.props=o}}(t),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var i=0;i<n.length;i++)r[n[i]]={from:n[i]};else if(u(n))for(var o in n){var a=n[o];r[o]=u(a)?T({from:o},a):{from:a}}}}(t),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];"function"==typeof r&&(t[n]={bind:r,update:r})}}(t),!t._base&&(t.extends&&(e=Ne(e,t.extends,n)),t.mixins))for(var r=0,i=t.mixins.length;r<i;r++)e=Ne(e,t.mixins[r],n);var o,a={};for(o in e)s(o);for(o in t)b(e,o)||s(o);function s(r){var i=Be[r]||De;a[r]=i(e[r],t[r],n,r)}return a}function Ie(e,t,n,r){if("string"==typeof n){var i=e[t];if(b(i,n))return i[n];var o=w(n);if(b(i,o))return i[o];var a=x(o);return b(i,a)?i[a]:i[n]||i[o]||i[a]}}function Pe(e,t,n,r){var i=t[e],o=!b(n,e),a=n[e],s=Ue(Boolean,i.type);if(s>-1)if(o&&!b(i,"default"))a=!1;else if(""===a||a===k(e)){var c=Ue(String,i.type);(c<0||s<c)&&(a=!0)}if(void 0===a){a=function(e,t,n){if(b(t,"default")){var r=t.default;return e&&e.$options.propsData&&void 0===e.$options.propsData[n]&&void 0!==e._props[n]?e._props[n]:"function"==typeof r&&"Function"!==Fe(t.type)?r.call(e):r}}(r,i,e);var l=we;xe(!0),ke(a),xe(l)}return a}function Fe(e){var t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:""}function Re(e,t){return Fe(e)===Fe(t)}function Ue(e,t){if(!Array.isArray(t))return Re(t,e)?0:-1;for(var n=0,r=t.length;n<r;n++)if(Re(t[n],e))return n;return-1}function ze(e,t,n){de();try{if(t)for(var r=t;r=r.$parent;){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{if(!1===i[o].call(r,e,t,n))return}catch(e){Ve(e,r,"errorCaptured hook")}}Ve(e,t,n)}finally{ve()}}function He(e,t,n,r,i){var o;try{(o=n?e.apply(t,n):e.call(t))&&!o._isVue&&p(o)&&!o._handled&&(o.catch((function(e){return ze(e,r,i+" (Promise/async)")})),o._handled=!0)}catch(e){ze(e,r,i)}return o}function Ve(e,t,n){if(R.errorHandler)try{return R.errorHandler.call(null,e,t,n)}catch(t){t!==e&&Ke(t)}Ke(e)}function Ke(e,t,n){if(!q&&!J||"undefined"==typeof console)throw e;console.error(e)}var qe,Je=!1,We=[],Ze=!1;function Ge(){Ze=!1;var e=We.slice(0);We.length=0;for(var t=0;t<e.length;t++)e[t]()}if("undefined"!=typeof Promise&&ae(Promise)){var Xe=Promise.resolve();qe=function(){Xe.then(Ge),Y&&setTimeout(j)},Je=!0}else if(G||"undefined"==typeof MutationObserver||!ae(MutationObserver)&&"[object MutationObserverConstructor]"!==MutationObserver.toString())qe="undefined"!=typeof setImmediate&&ae(setImmediate)?function(){setImmediate(Ge)}:function(){setTimeout(Ge,0)};else{var Qe=1,Ye=new MutationObserver(Ge),et=document.createTextNode(String(Qe));Ye.observe(et,{characterData:!0}),qe=function(){Qe=(Qe+1)%2,et.data=String(Qe)},Je=!0}function tt(e,t){var n;if(We.push((function(){if(e)try{e.call(t)}catch(e){ze(e,t,"nextTick")}else n&&n(t)})),Ze||(Ze=!0,qe()),!e&&"undefined"!=typeof Promise)return new Promise((function(e){n=e}))}var nt=new se;function rt(e){!function e(t,n){var r,i,o=Array.isArray(t);if(!(!o&&!c(t)||Object.isFrozen(t)||t instanceof he)){if(t.__ob__){var a=t.__ob__.dep.id;if(n.has(a))return;n.add(a)}if(o)for(r=t.length;r--;)e(t[r],n);else for(r=(i=Object.keys(t)).length;r--;)e(t[i[r]],n)}}(e,nt),nt.clear()}var it=A((function(e){var t="&"===e.charAt(0),n="~"===(e=t?e.slice(1):e).charAt(0),r="!"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}}));function ot(e,t){function n(){var e=arguments,r=n.fns;if(!Array.isArray(r))return He(r,null,arguments,t,"v-on handler");for(var i=r.slice(),o=0;o<i.length;o++)He(i[o],null,e,t,"v-on handler")}return n.fns=e,n}function at(e,t,n,r,o,s){var c,l,u,f;for(c in e)l=e[c],u=t[c],f=it(c),i(l)||(i(u)?(i(l.fns)&&(l=e[c]=ot(l,s)),a(f.once)&&(l=e[c]=o(f.name,l,f.capture)),n(f.name,l,f.capture,f.passive,f.params)):l!==u&&(u.fns=l,e[c]=u));for(c in t)i(e[c])&&r((f=it(c)).name,t[c],f.capture)}function st(e,t,n){var r;e instanceof he&&(e=e.data.hook||(e.data.hook={}));var s=e[t];function c(){n.apply(this,arguments),y(r.fns,c)}i(s)?r=ot([c]):o(s.fns)&&a(s.merged)?(r=s).fns.push(c):r=ot([s,c]),r.merged=!0,e[t]=r}function ct(e,t,n,r,i){if(o(t)){if(b(t,n))return e[n]=t[n],i||delete t[n],!0;if(b(t,r))return e[n]=t[r],i||delete t[r],!0}return!1}function lt(e){return s(e)?[ye(e)]:Array.isArray(e)?function e(t,n){var r,c,l,u,f=[];for(r=0;r<t.length;r++)i(c=t[r])||"boolean"==typeof c||(u=f[l=f.length-1],Array.isArray(c)?c.length>0&&(ut((c=e(c,(n||"")+"_"+r))[0])&&ut(u)&&(f[l]=ye(u.text+c[0].text),c.shift()),f.push.apply(f,c)):s(c)?ut(u)?f[l]=ye(u.text+c):""!==c&&f.push(ye(c)):ut(c)&&ut(u)?f[l]=ye(u.text+c.text):(a(t._isVList)&&o(c.tag)&&i(c.key)&&o(n)&&(c.key="__vlist"+n+"_"+r+"__"),f.push(c)));return f}(e):void 0}function ut(e){return o(e)&&o(e.text)&&!1===e.isComment}function ft(e,t){if(e){for(var n=Object.create(null),r=ce?Reflect.ownKeys(e):Object.keys(e),i=0;i<r.length;i++){var o=r[i];if("__ob__"!==o){for(var a=e[o].from,s=t;s;){if(s._provided&&b(s._provided,a)){n[o]=s._provided[a];break}s=s.$parent}if(!s&&"default"in e[o]){var c=e[o].default;n[o]="function"==typeof c?c.call(t):c}}}return n}}function pt(e,t){if(!e||!e.length)return{};for(var n={},r=0,i=e.length;r<i;r++){var o=e[r],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==t&&o.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(o);else{var s=a.slot,c=n[s]||(n[s]=[]);"template"===o.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var l in n)n[l].every(dt)&&delete n[l];return n}function dt(e){return e.isComment&&!e.asyncFactory||" "===e.text}function vt(e,t,n){var i,o=Object.keys(t).length>0,a=e?!!e.$stable:!o,s=e&&e.$key;if(e){if(e._normalized)return e._normalized;if(a&&n&&n!==r&&s===n.$key&&!o&&!n.$hasNormal)return n;for(var c in i={},e)e[c]&&"$"!==c[0]&&(i[c]=ht(t,c,e[c]))}else i={};for(var l in t)l in i||(i[l]=mt(t,l));return e&&Object.isExtensible(e)&&(e._normalized=i),z(i,"$stable",a),z(i,"$key",s),z(i,"$hasNormal",o),i}function ht(e,t,n){var r=function(){var e=arguments.length?n.apply(null,arguments):n({});return(e=e&&"object"==typeof e&&!Array.isArray(e)?[e]:lt(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function mt(e,t){return function(){return e[t]}}function gt(e,t){var n,r,i,a,s;if(Array.isArray(e)||"string"==typeof e)for(n=new Array(e.length),r=0,i=e.length;r<i;r++)n[r]=t(e[r],r);else if("number"==typeof e)for(n=new Array(e),r=0;r<e;r++)n[r]=t(r+1,r);else if(c(e))if(ce&&e[Symbol.iterator]){n=[];for(var l=e[Symbol.iterator](),u=l.next();!u.done;)n.push(t(u.value,n.length)),u=l.next()}else for(a=Object.keys(e),n=new Array(a.length),r=0,i=a.length;r<i;r++)s=a[r],n[r]=t(e[s],s,r);return o(n)||(n=[]),n._isVList=!0,n}function yt(e,t,n,r){var i,o=this.$scopedSlots[e];o?(n=n||{},r&&(n=T(T({},r),n)),i=o(n)||t):i=this.$slots[e]||t;var a=n&&n.slot;return a?this.$createElement("template",{slot:a},i):i}function _t(e){return Ie(this.$options,"filters",e)||E}function bt(e,t){return Array.isArray(e)?-1===e.indexOf(t):e!==t}function At(e,t,n,r,i){var o=R.keyCodes[t]||n;return i&&r&&!R.keyCodes[t]?bt(i,r):o?bt(o,e):r?k(r)!==t:void 0}function Ct(e,t,n,r,i){if(n&&c(n)){var o;Array.isArray(n)&&(n=B(n));var a=function(a){if("class"===a||"style"===a||g(a))o=e;else{var s=e.attrs&&e.attrs.type;o=r||R.mustUseProp(t,s,a)?e.domProps||(e.domProps={}):e.attrs||(e.attrs={})}var c=w(a),l=k(a);c in o||l in o||(o[a]=n[a],i&&((e.on||(e.on={}))["update:"+a]=function(e){n[a]=e}))};for(var s in n)a(s)}return e}function wt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t||$t(r=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),"__static__"+e,!1),r}function xt(e,t,n){return $t(e,"__once__"+t+(n?"_"+n:""),!0),e}function $t(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&"string"!=typeof e[r]&&kt(e[r],t+"_"+r,n);else kt(e,t,n)}function kt(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function St(e,t){if(t&&u(t)){var n=e.on=e.on?T({},e.on):{};for(var r in t){var i=n[r],o=t[r];n[r]=i?[].concat(i,o):o}}return e}function Ot(e,t,n,r){t=t||{$stable:!n};for(var i=0;i<e.length;i++){var o=e[i];Array.isArray(o)?Ot(o,t,n):o&&(o.proxy&&(o.fn.proxy=!0),t[o.key]=o.fn)}return r&&(t.$key=r),t}function Tt(e,t){for(var n=0;n<t.length;n+=2){var r=t[n];"string"==typeof r&&r&&(e[t[n]]=t[n+1])}return e}function Bt(e,t){return"string"==typeof e?t+e:e}function jt(e){e._o=xt,e._n=v,e._s=d,e._l=gt,e._t=yt,e._q=M,e._i=D,e._m=wt,e._f=_t,e._k=At,e._b=Ct,e._v=ye,e._e=ge,e._u=Ot,e._g=St,e._d=Tt,e._p=Bt}function Lt(e,t,n,i,o){var s,c=this,l=o.options;b(i,"_uid")?(s=Object.create(i))._original=i:(s=i,i=i._original);var u=a(l._compiled),f=!u;this.data=e,this.props=t,this.children=n,this.parent=i,this.listeners=e.on||r,this.injections=ft(l.inject,i),this.slots=function(){return c.$slots||vt(e.scopedSlots,c.$slots=pt(n,i)),c.$slots},Object.defineProperty(this,"scopedSlots",{enumerable:!0,get:function(){return vt(e.scopedSlots,this.slots())}}),u&&(this.$options=l,this.$slots=this.slots(),this.$scopedSlots=vt(e.scopedSlots,this.$slots)),l._scopeId?this._c=function(e,t,n,r){var o=Ft(s,e,t,n,r,f);return o&&!Array.isArray(o)&&(o.fnScopeId=l._scopeId,o.fnContext=i),o}:this._c=function(e,t,n,r){return Ft(s,e,t,n,r,f)}}function Et(e,t,n,r,i){var o=_e(e);return o.fnContext=n,o.fnOptions=r,t.slot&&((o.data||(o.data={})).slot=t.slot),o}function Mt(e,t){for(var n in t)e[w(n)]=t[n]}jt(Lt.prototype);var Dt={init:function(e,t){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var n=e;Dt.prepatch(n,n)}else(e.componentInstance=function(e,t){var n={_isComponent:!0,_parentVnode:e,parent:t},r=e.data.inlineTemplate;return o(r)&&(n.render=r.render,n.staticRenderFns=r.staticRenderFns),new e.componentOptions.Ctor(n)}(e,Zt)).$mount(t?e.elm:void 0,t)},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,i,o){var a=i.data.scopedSlots,s=e.$scopedSlots,c=!!(a&&!a.$stable||s!==r&&!s.$stable||a&&e.$scopedSlots.$key!==a.$key),l=!!(o||e.$options._renderChildren||c);if(e.$options._parentVnode=i,e.$vnode=i,e._vnode&&(e._vnode.parent=i),e.$options._renderChildren=o,e.$attrs=i.data.attrs||r,e.$listeners=n||r,t&&e.$options.props){xe(!1);for(var u=e._props,f=e.$options._propKeys||[],p=0;p<f.length;p++){var d=f[p],v=e.$options.props;u[d]=Pe(d,v,t,e)}xe(!0),e.$options.propsData=t}n=n||r;var h=e.$options._parentListeners;e.$options._parentListeners=n,Wt(e,n,h),l&&(e.$slots=pt(o,i.context),e.$forceUpdate())}(t.componentInstance=e.componentInstance,n.propsData,n.listeners,t,n.children)},insert:function(e){var t,n=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,Yt(r,"mounted")),e.data.keepAlive&&(n._isMounted?((t=r)._inactive=!1,tn.push(t)):Qt(r,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(!(n&&(t._directInactive=!0,Xt(t))||t._inactive)){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);Yt(t,"deactivated")}}(t,!0):t.$destroy())}},Nt=Object.keys(Dt);function It(e,t,n,s,l){if(!i(e)){var u=n.$options._base;if(c(e)&&(e=u.extend(e)),"function"==typeof e){var f;if(i(e.cid)&&void 0===(e=function(e,t){if(a(e.error)&&o(e.errorComp))return e.errorComp;if(o(e.resolved))return e.resolved;var n=Ut;if(n&&o(e.owners)&&-1===e.owners.indexOf(n)&&e.owners.push(n),a(e.loading)&&o(e.loadingComp))return e.loadingComp;if(n&&!o(e.owners)){var r=e.owners=[n],s=!0,l=null,u=null;n.$on("hook:destroyed",(function(){return y(r,n)}));var f=function(e){for(var t=0,n=r.length;t<n;t++)r[t].$forceUpdate();e&&(r.length=0,null!==l&&(clearTimeout(l),l=null),null!==u&&(clearTimeout(u),u=null))},d=N((function(n){e.resolved=zt(n,t),s?r.length=0:f(!0)})),v=N((function(t){o(e.errorComp)&&(e.error=!0,f(!0))})),h=e(d,v);return c(h)&&(p(h)?i(e.resolved)&&h.then(d,v):p(h.component)&&(h.component.then(d,v),o(h.error)&&(e.errorComp=zt(h.error,t)),o(h.loading)&&(e.loadingComp=zt(h.loading,t),0===h.delay?e.loading=!0:l=setTimeout((function(){l=null,i(e.resolved)&&i(e.error)&&(e.loading=!0,f(!1))}),h.delay||200)),o(h.timeout)&&(u=setTimeout((function(){u=null,i(e.resolved)&&v(null)}),h.timeout)))),s=!1,e.loading?e.loadingComp:e.resolved}}(f=e,u)))return function(e,t,n,r,i){var o=ge();return o.asyncFactory=e,o.asyncMeta={data:t,context:n,children:r,tag:i},o}(f,t,n,s,l);t=t||{},An(e),o(t.model)&&function(e,t){var n=e.model&&e.model.prop||"value",r=e.model&&e.model.event||"input";(t.attrs||(t.attrs={}))[n]=t.model.value;var i=t.on||(t.on={}),a=i[r],s=t.model.callback;o(a)?(Array.isArray(a)?-1===a.indexOf(s):a!==s)&&(i[r]=[s].concat(a)):i[r]=s}(e.options,t);var d=function(e,t,n){var r=t.options.props;if(!i(r)){var a={},s=e.attrs,c=e.props;if(o(s)||o(c))for(var l in r){var u=k(l);ct(a,c,l,u,!0)||ct(a,s,l,u,!1)}return a}}(t,e);if(a(e.options.functional))return function(e,t,n,i,a){var s=e.options,c={},l=s.props;if(o(l))for(var u in l)c[u]=Pe(u,l,t||r);else o(n.attrs)&&Mt(c,n.attrs),o(n.props)&&Mt(c,n.props);var f=new Lt(n,c,a,i,e),p=s.render.call(null,f._c,f);if(p instanceof he)return Et(p,n,f.parent,s);if(Array.isArray(p)){for(var d=lt(p)||[],v=new Array(d.length),h=0;h<d.length;h++)v[h]=Et(d[h],n,f.parent,s);return v}}(e,d,t,n,s);var v=t.on;if(t.on=t.nativeOn,a(e.options.abstract)){var h=t.slot;t={},h&&(t.slot=h)}!function(e){for(var t=e.hook||(e.hook={}),n=0;n<Nt.length;n++){var r=Nt[n],i=t[r],o=Dt[r];i===o||i&&i._merged||(t[r]=i?Pt(o,i):o)}}(t);var m=e.options.name||l;return new he("vue-component-"+e.cid+(m?"-"+m:""),t,void 0,void 0,void 0,n,{Ctor:e,propsData:d,listeners:v,tag:l,children:s},f)}}}function Pt(e,t){var n=function(n,r){e(n,r),t(n,r)};return n._merged=!0,n}function Ft(e,t,n,r,l,u){return(Array.isArray(n)||s(n))&&(l=r,r=n,n=void 0),a(u)&&(l=2),function(e,t,n,r,s){return o(n)&&o(n.__ob__)?ge():(o(n)&&o(n.is)&&(t=n.is),t?(Array.isArray(r)&&"function"==typeof r[0]&&((n=n||{}).scopedSlots={default:r[0]},r.length=0),2===s?r=lt(r):1===s&&(r=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(r)),"string"==typeof t?(u=e.$vnode&&e.$vnode.ns||R.getTagNamespace(t),l=R.isReservedTag(t)?new he(R.parsePlatformTagName(t),n,r,void 0,void 0,e):n&&n.pre||!o(f=Ie(e.$options,"components",t))?new he(t,n,r,void 0,void 0,e):It(f,n,e,r,t)):l=It(t,n,e,r),Array.isArray(l)?l:o(l)?(o(u)&&function e(t,n,r){if(t.ns=n,"foreignObject"===t.tag&&(n=void 0,r=!0),o(t.children))for(var s=0,c=t.children.length;s<c;s++){var l=t.children[s];o(l.tag)&&(i(l.ns)||a(r)&&"svg"!==l.tag)&&e(l,n,r)}}(l,u),o(n)&&function(e){c(e.style)&&rt(e.style),c(e.class)&&rt(e.class)}(n),l):ge()):ge());var l,u,f}(e,t,n,r,l)}var Rt,Ut=null;function zt(e,t){return(e.__esModule||ce&&"Module"===e[Symbol.toStringTag])&&(e=e.default),c(e)?t.extend(e):e}function Ht(e){return e.isComment&&e.asyncFactory}function Vt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var n=e[t];if(o(n)&&(o(n.componentOptions)||Ht(n)))return n}}function Kt(e,t){Rt.$on(e,t)}function qt(e,t){Rt.$off(e,t)}function Jt(e,t){var n=Rt;return function r(){null!==t.apply(null,arguments)&&n.$off(e,r)}}function Wt(e,t,n){Rt=e,at(t,n||{},Kt,qt,Jt,e),Rt=void 0}var Zt=null;function Gt(e){var t=Zt;return Zt=e,function(){Zt=t}}function Xt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function Qt(e,t){if(t){if(e._directInactive=!1,Xt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)Qt(e.$children[n]);Yt(e,"activated")}}function Yt(e,t){de();var n=e.$options[t],r=t+" hook";if(n)for(var i=0,o=n.length;i<o;i++)He(n[i],e,null,e,r);e._hasHookEvent&&e.$emit("hook:"+t),ve()}var en=[],tn=[],nn={},rn=!1,on=!1,an=0,sn=0,cn=Date.now;if(q&&!G){var ln=window.performance;ln&&"function"==typeof ln.now&&cn()>document.createEvent("Event").timeStamp&&(cn=function(){return ln.now()})}function un(){var e,t;for(sn=cn(),on=!0,en.sort((function(e,t){return e.id-t.id})),an=0;an<en.length;an++)(e=en[an]).before&&e.before(),t=e.id,nn[t]=null,e.run();var n=tn.slice(),r=en.slice();an=en.length=tn.length=0,nn={},rn=on=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,Qt(e[t],!0)}(n),function(e){for(var t=e.length;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&!r._isDestroyed&&Yt(r,"updated")}}(r),oe&&R.devtools&&oe.emit("flush")}var fn=0,pn=function(e,t,n,r,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++fn,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new se,this.newDepIds=new se,this.expression="","function"==typeof t?this.getter=t:(this.getter=function(e){if(!V.test(e)){var t=e.split(".");return function(e){for(var n=0;n<t.length;n++){if(!e)return;e=e[t[n]]}return e}}}(t),this.getter||(this.getter=j)),this.value=this.lazy?void 0:this.get()};pn.prototype.get=function(){var e;de(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(e){if(!this.user)throw e;ze(e,t,'getter for watcher "'+this.expression+'"')}finally{this.deep&&rt(e),ve(),this.cleanupDeps()}return e},pn.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},pn.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},pn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==nn[t]){if(nn[t]=!0,on){for(var n=en.length-1;n>an&&en[n].id>e.id;)n--;en.splice(n+1,0,e)}else en.push(e);rn||(rn=!0,tt(un))}}(this)},pn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||c(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){ze(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},pn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},pn.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},pn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||y(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var dn={enumerable:!0,configurable:!0,get:j,set:j};function vn(e,t,n){dn.get=function(){return this[t][n]},dn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,dn)}var hn={lazy:!0};function mn(e,t,n){var r=!ie();"function"==typeof n?(dn.get=r?gn(t):yn(n),dn.set=j):(dn.get=n.get?r&&!1!==n.cache?gn(t):yn(n.get):j,dn.set=n.set||j),Object.defineProperty(e,t,dn)}function gn(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),fe.target&&t.depend(),t.value}}function yn(e){return function(){return e.call(this,this)}}function _n(e,t,n,r){return u(n)&&(r=n,n=n.handler),"string"==typeof n&&(n=e[n]),e.$watch(t,n,r)}var bn=0;function An(e){var t=e.options;if(e.super){var n=An(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.sealedOptions;for(var i in n)n[i]!==r[i]&&(t||(t={}),t[i]=n[i]);return t}(e);r&&T(e.extendOptions,r),(t=e.options=Ne(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function Cn(e){this._init(e)}function wn(e){return e&&(e.Ctor.options.name||e.tag)}function xn(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:(n=e,"[object RegExp]"===l.call(n)&&e.test(t));var n}function $n(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=wn(a.componentOptions);s&&!t(s)&&kn(n,o,r,i)}}}function kn(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,y(n,t)}!function(e){e.prototype._init=function(e){var t=this;t._uid=bn++,t._isVue=!0,e&&e._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(t,e):t.$options=Ne(An(t.constructor),e||{},t),t._renderProxy=t,t._self=t,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(t),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Wt(e,t)}(t),function(e){e._vnode=null,e._staticTrees=null;var t=e.$options,n=e.$vnode=t._parentVnode,i=n&&n.context;e.$slots=pt(t._renderChildren,i),e.$scopedSlots=r,e._c=function(t,n,r,i){return Ft(e,t,n,r,i,!1)},e.$createElement=function(t,n,r,i){return Ft(e,t,n,r,i,!0)};var o=n&&n.data;Se(e,"$attrs",o&&o.attrs||r,null,!0),Se(e,"$listeners",t._parentListeners||r,null,!0)}(t),Yt(t,"beforeCreate"),function(e){var t=ft(e.$options.inject,e);t&&(xe(!1),Object.keys(t).forEach((function(n){Se(e,n,t[n])})),xe(!0))}(t),function(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[];e.$parent&&xe(!1);var o=function(o){i.push(o);var a=Pe(o,t,n,e);Se(r,o,a),o in e||vn(e,"_props",o)};for(var a in t)o(a);xe(!0)}(e,t.props),t.methods&&function(e,t){for(var n in e.$options.props,t)e[n]="function"!=typeof t[n]?j:S(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;u(t=e._data="function"==typeof t?function(e,t){de();try{return e.call(t,t)}catch(e){return ze(e,t,"data()"),{}}finally{ve()}}(t,e):t||{})||(t={});for(var n,r=Object.keys(t),i=e.$options.props,o=(e.$options.methods,r.length);o--;){var a=r[o];i&&b(i,a)||36!==(n=(a+"").charCodeAt(0))&&95!==n&&vn(e,"_data",a)}ke(t,!0)}(e):ke(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=ie();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;r||(n[i]=new pn(e,a||j,j,hn)),i in e||mn(e,i,o)}}(e,t.computed),t.watch&&t.watch!==te&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)_n(e,n,r[i]);else _n(e,n,r)}}(e,t.watch)}(t),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(t),Yt(t,"created"),t.$options.el&&t.$mount(t.$options.el)}}(Cn),function(e){Object.defineProperty(e.prototype,"$data",{get:function(){return this._data}}),Object.defineProperty(e.prototype,"$props",{get:function(){return this._props}}),e.prototype.$set=Oe,e.prototype.$delete=Te,e.prototype.$watch=function(e,t,n){if(u(t))return _n(this,e,t,n);(n=n||{}).user=!0;var r=new pn(this,e,t,n);if(n.immediate)try{t.call(this,r.value)}catch(e){ze(e,this,'callback for immediate watcher "'+r.expression+'"')}return function(){r.teardown()}}}(Cn),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){var r=this;if(Array.isArray(e))for(var i=0,o=e.length;i<o;i++)r.$on(e[i],n);else(r._events[e]||(r._events[e]=[])).push(n),t.test(e)&&(r._hasHookEvent=!0);return r},e.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},e.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,i=e.length;r<i;r++)n.$off(e[r],t);return n}var o,a=n._events[e];if(!a)return n;if(!t)return n._events[e]=null,n;for(var s=a.length;s--;)if((o=a[s])===t||o.fn===t){a.splice(s,1);break}return n},e.prototype.$emit=function(e){var t=this._events[e];if(t){t=t.length>1?O(t):t;for(var n=O(arguments,1),r='event handler for "'+e+'"',i=0,o=t.length;i<o;i++)He(t[i],this,n,this,r)}return this}}(Cn),function(e){e.prototype._update=function(e,t){var n=this,r=n.$el,i=n._vnode,o=Gt(n);n._vnode=e,n.$el=i?n.__patch__(i,e):n.__patch__(n.$el,e,t,!1),o(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},e.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},e.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){Yt(e,"beforeDestroy"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||y(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),Yt(e,"destroyed"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}}}(Cn),function(e){jt(e.prototype),e.prototype.$nextTick=function(e){return tt(e,this)},e.prototype._render=function(){var e,t=this,n=t.$options,r=n.render,i=n._parentVnode;i&&(t.$scopedSlots=vt(i.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode=i;try{Ut=t,e=r.call(t._renderProxy,t.$createElement)}catch(n){ze(n,t,"render"),e=t._vnode}finally{Ut=null}return Array.isArray(e)&&1===e.length&&(e=e[0]),e instanceof he||(e=ge()),e.parent=i,e}}(Cn);var Sn=[String,RegExp,Array],On={KeepAlive:{name:"keep-alive",abstract:!0,props:{include:Sn,exclude:Sn,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)kn(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch("include",(function(t){$n(e,(function(e){return xn(t,e)}))})),this.$watch("exclude",(function(t){$n(e,(function(e){return!xn(t,e)}))}))},render:function(){var e=this.$slots.default,t=Vt(e),n=t&&t.componentOptions;if(n){var r=wn(n),i=this.include,o=this.exclude;if(i&&(!r||!xn(i,r))||o&&r&&xn(o,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,y(s,c),s.push(c)):(a[c]=t,s.push(c),this.max&&s.length>parseInt(this.max)&&kn(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return R}};Object.defineProperty(e,"config",t),e.util={warn:le,extend:T,mergeOptions:Ne,defineReactive:Se},e.set=Oe,e.delete=Te,e.nextTick=tt,e.observable=function(e){return ke(e),e},e.options=Object.create(null),P.forEach((function(t){e.options[t+"s"]=Object.create(null)})),e.options._base=e,T(e.options.components,On),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=O(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=Ne(this.options,e),this}}(e),function(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var o=e.name||n.options.name,a=function(e){this._init(e)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=t++,a.options=Ne(n.options,e),a.super=n,a.options.props&&function(e){var t=e.options.props;for(var n in t)vn(e.prototype,"_props",n)}(a),a.options.computed&&function(e){var t=e.options.computed;for(var n in t)mn(e.prototype,n,t[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,P.forEach((function(e){a[e]=n[e]})),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=T({},a.options),i[r]=a,a}}(e),function(e){P.forEach((function(t){e[t]=function(e,n){return n?("component"===t&&u(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}}))}(e)}(Cn),Object.defineProperty(Cn.prototype,"$isServer",{get:ie}),Object.defineProperty(Cn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Cn,"FunctionalRenderContext",{value:Lt}),Cn.version="2.6.12";var Tn=h("style,class"),Bn=h("input,textarea,option,select,progress"),jn=function(e,t,n){return"value"===n&&Bn(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Ln=h("contenteditable,draggable,spellcheck"),En=h("events,caret,typing,plaintext-only"),Mn=h("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Dn="http://www.w3.org/1999/xlink",Nn=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},In=function(e){return Nn(e)?e.slice(6,e.length):""},Pn=function(e){return null==e||!1===e};function Fn(e,t){return{staticClass:Rn(e.staticClass,t.staticClass),class:o(e.class)?[e.class,t.class]:t.class}}function Rn(e,t){return e?t?e+" "+t:e:t||""}function Un(e){return Array.isArray(e)?function(e){for(var t,n="",r=0,i=e.length;r<i;r++)o(t=Un(e[r]))&&""!==t&&(n&&(n+=" "),n+=t);return n}(e):c(e)?function(e){var t="";for(var n in e)e[n]&&(t&&(t+=" "),t+=n);return t}(e):"string"==typeof e?e:""}var zn={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},Hn=h("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),Vn=h("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Kn=function(e){return Hn(e)||Vn(e)};function qn(e){return Vn(e)?"svg":"math"===e?"math":void 0}var Jn=Object.create(null),Wn=h("text,number,password,search,email,tel,url");function Zn(e){return"string"==typeof e?document.querySelector(e)||document.createElement("div"):e}var Gn=Object.freeze({createElement:function(e,t){var n=document.createElement(e);return"select"!==e||t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n},createElementNS:function(e,t){return document.createElementNS(zn[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setStyleScope:function(e,t){e.setAttribute(t,"")}}),Xn={create:function(e,t){Qn(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Qn(e,!0),Qn(t))},destroy:function(e){Qn(e,!0)}};function Qn(e,t){var n=e.data.ref;if(o(n)){var r=e.context,i=e.componentInstance||e.elm,a=r.$refs;t?Array.isArray(a[n])?y(a[n],i):a[n]===i&&(a[n]=void 0):e.data.refInFor?Array.isArray(a[n])?a[n].indexOf(i)<0&&a[n].push(i):a[n]=[i]:a[n]=i}}var Yn=new he("",{},[]),er=["create","activate","update","remove","destroy"];function tr(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&o(e.data)===o(t.data)&&function(e,t){if("input"!==e.tag)return!0;var n,r=o(n=e.data)&&o(n=n.attrs)&&n.type,i=o(n=t.data)&&o(n=n.attrs)&&n.type;return r===i||Wn(r)&&Wn(i)}(e,t)||a(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&i(t.asyncFactory.error))}function nr(e,t,n){var r,i,a={};for(r=t;r<=n;++r)o(i=e[r].key)&&(a[i]=r);return a}var rr={create:ir,update:ir,destroy:function(e){ir(e,Yn)}};function ir(e,t){(e.data.directives||t.data.directives)&&function(e,t){var n,r,i,o=e===Yn,a=t===Yn,s=ar(e.data.directives,e.context),c=ar(t.data.directives,t.context),l=[],u=[];for(n in c)r=s[n],i=c[n],r?(i.oldValue=r.value,i.oldArg=r.arg,cr(i,"update",t,e),i.def&&i.def.componentUpdated&&u.push(i)):(cr(i,"bind",t,e),i.def&&i.def.inserted&&l.push(i));if(l.length){var f=function(){for(var n=0;n<l.length;n++)cr(l[n],"inserted",t,e)};o?st(t,"insert",f):f()}if(u.length&&st(t,"postpatch",(function(){for(var n=0;n<u.length;n++)cr(u[n],"componentUpdated",t,e)})),!o)for(n in s)c[n]||cr(s[n],"unbind",e,e,a)}(e,t)}var or=Object.create(null);function ar(e,t){var n,r,i=Object.create(null);if(!e)return i;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=or),i[sr(r)]=r,r.def=Ie(t.$options,"directives",r.name);return i}function sr(e){return e.rawName||e.name+"."+Object.keys(e.modifiers||{}).join(".")}function cr(e,t,n,r,i){var o=e.def&&e.def[t];if(o)try{o(n.elm,e,n,r,i)}catch(r){ze(r,n.context,"directive "+e.name+" "+t+" hook")}}var lr=[Xn,rr];function ur(e,t){var n=t.componentOptions;if(!(o(n)&&!1===n.Ctor.options.inheritAttrs||i(e.data.attrs)&&i(t.data.attrs))){var r,a,s=t.elm,c=e.data.attrs||{},l=t.data.attrs||{};for(r in o(l.__ob__)&&(l=t.data.attrs=T({},l)),l)a=l[r],c[r]!==a&&fr(s,r,a);for(r in(G||Q)&&l.value!==c.value&&fr(s,"value",l.value),c)i(l[r])&&(Nn(r)?s.removeAttributeNS(Dn,In(r)):Ln(r)||s.removeAttribute(r))}}function fr(e,t,n){e.tagName.indexOf("-")>-1?pr(e,t,n):Mn(t)?Pn(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Ln(t)?e.setAttribute(t,function(e,t){return Pn(t)||"false"===t?"false":"contenteditable"===e&&En(t)?t:"true"}(t,n)):Nn(t)?Pn(n)?e.removeAttributeNS(Dn,In(t)):e.setAttributeNS(Dn,t,n):pr(e,t,n)}function pr(e,t,n){if(Pn(n))e.removeAttribute(t);else{if(G&&!X&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var dr={create:ur,update:ur};function vr(e,t){var n=t.elm,r=t.data,a=e.data;if(!(i(r.staticClass)&&i(r.class)&&(i(a)||i(a.staticClass)&&i(a.class)))){var s=function(e){for(var t=e.data,n=e,r=e;o(r.componentInstance);)(r=r.componentInstance._vnode)&&r.data&&(t=Fn(r.data,t));for(;o(n=n.parent);)n&&n.data&&(t=Fn(t,n.data));return function(e,t){return o(e)||o(t)?Rn(e,Un(t)):""}(t.staticClass,t.class)}(t),c=n._transitionClasses;o(c)&&(s=Rn(s,Un(c))),s!==n._prevClass&&(n.setAttribute("class",s),n._prevClass=s)}}var hr,mr,gr,yr,_r,br,Ar={create:vr,update:vr},Cr=/[\w).+\-_$\]]/;function wr(e){var t,n,r,i,o,a=!1,s=!1,c=!1,l=!1,u=0,f=0,p=0,d=0;for(r=0;r<e.length;r++)if(n=t,t=e.charCodeAt(r),a)39===t&&92!==n&&(a=!1);else if(s)34===t&&92!==n&&(s=!1);else if(c)96===t&&92!==n&&(c=!1);else if(l)47===t&&92!==n&&(l=!1);else if(124!==t||124===e.charCodeAt(r+1)||124===e.charCodeAt(r-1)||u||f||p){switch(t){case 34:s=!0;break;case 39:a=!0;break;case 96:c=!0;break;case 40:p++;break;case 41:p--;break;case 91:f++;break;case 93:f--;break;case 123:u++;break;case 125:u--}if(47===t){for(var v=r-1,h=void 0;v>=0&&" "===(h=e.charAt(v));v--);h&&Cr.test(h)||(l=!0)}}else void 0===i?(d=r+1,i=e.slice(0,r).trim()):m();function m(){(o||(o=[])).push(e.slice(d,r).trim()),d=r+1}if(void 0===i?i=e.slice(0,r).trim():0!==d&&m(),o)for(r=0;r<o.length;r++)i=xr(i,o[r]);return i}function xr(e,t){var n=t.indexOf("(");if(n<0)return'_f("'+t+'")('+e+")";var r=t.slice(0,n),i=t.slice(n+1);return'_f("'+r+'")('+e+(")"!==i?","+i:i)}function $r(e,t){console.error("[Vue compiler]: "+e)}function kr(e,t){return e?e.map((function(e){return e[t]})).filter((function(e){return e})):[]}function Sr(e,t,n,r,i){(e.props||(e.props=[])).push(Nr({name:t,value:n,dynamic:i},r)),e.plain=!1}function Or(e,t,n,r,i){(i?e.dynamicAttrs||(e.dynamicAttrs=[]):e.attrs||(e.attrs=[])).push(Nr({name:t,value:n,dynamic:i},r)),e.plain=!1}function Tr(e,t,n,r){e.attrsMap[t]=n,e.attrsList.push(Nr({name:t,value:n},r))}function Br(e,t,n,r,i,o,a,s){(e.directives||(e.directives=[])).push(Nr({name:t,rawName:n,value:r,arg:i,isDynamicArg:o,modifiers:a},s)),e.plain=!1}function jr(e,t,n){return n?"_p("+t+',"'+e+'")':e+t}function Lr(e,t,n,i,o,a,s,c){var l;(i=i||r).right?c?t="("+t+")==='click'?'contextmenu':("+t+")":"click"===t&&(t="contextmenu",delete i.right):i.middle&&(c?t="("+t+")==='click'?'mouseup':("+t+")":"click"===t&&(t="mouseup")),i.capture&&(delete i.capture,t=jr("!",t,c)),i.once&&(delete i.once,t=jr("~",t,c)),i.passive&&(delete i.passive,t=jr("&",t,c)),i.native?(delete i.native,l=e.nativeEvents||(e.nativeEvents={})):l=e.events||(e.events={});var u=Nr({value:n.trim(),dynamic:c},s);i!==r&&(u.modifiers=i);var f=l[t];Array.isArray(f)?o?f.unshift(u):f.push(u):l[t]=f?o?[u,f]:[f,u]:u,e.plain=!1}function Er(e,t,n){var r=Mr(e,":"+t)||Mr(e,"v-bind:"+t);if(null!=r)return wr(r);if(!1!==n){var i=Mr(e,t);if(null!=i)return JSON.stringify(i)}}function Mr(e,t,n){var r;if(null!=(r=e.attrsMap[t]))for(var i=e.attrsList,o=0,a=i.length;o<a;o++)if(i[o].name===t){i.splice(o,1);break}return n&&delete e.attrsMap[t],r}function Dr(e,t){for(var n=e.attrsList,r=0,i=n.length;r<i;r++){var o=n[r];if(t.test(o.name))return n.splice(r,1),o}}function Nr(e,t){return t&&(null!=t.start&&(e.start=t.start),null!=t.end&&(e.end=t.end)),e}function Ir(e,t,n){var r=n||{},i=r.number,o="$$v";r.trim&&(o="(typeof $$v === 'string'? $$v.trim(): $$v)"),i&&(o="_n("+o+")");var a=Pr(t,o);e.model={value:"("+t+")",expression:JSON.stringify(t),callback:"function ($$v) {"+a+"}"}}function Pr(e,t){var n=function(e){if(e=e.trim(),hr=e.length,e.indexOf("[")<0||e.lastIndexOf("]")<hr-1)return(yr=e.lastIndexOf("."))>-1?{exp:e.slice(0,yr),key:'"'+e.slice(yr+1)+'"'}:{exp:e,key:null};for(mr=e,yr=_r=br=0;!Rr();)Ur(gr=Fr())?Hr(gr):91===gr&&zr(gr);return{exp:e.slice(0,_r),key:e.slice(_r+1,br)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function Fr(){return mr.charCodeAt(++yr)}function Rr(){return yr>=hr}function Ur(e){return 34===e||39===e}function zr(e){var t=1;for(_r=yr;!Rr();)if(Ur(e=Fr()))Hr(e);else if(91===e&&t++,93===e&&t--,0===t){br=yr;break}}function Hr(e){for(var t=e;!Rr()&&(e=Fr())!==t;);}var Vr;function Kr(e,t,n){var r=Vr;return function i(){null!==t.apply(null,arguments)&&Wr(e,i,n,r)}}var qr=Je&&!(ee&&Number(ee[1])<=53);function Jr(e,t,n,r){if(qr){var i=sn,o=t;t=o._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return o.apply(this,arguments)}}Vr.addEventListener(e,t,ne?{capture:n,passive:r}:n)}function Wr(e,t,n,r){(r||Vr).removeEventListener(e,t._wrapper||t,n)}function Zr(e,t){if(!i(e.data.on)||!i(t.data.on)){var n=t.data.on||{},r=e.data.on||{};Vr=t.elm,function(e){if(o(e.__r)){var t=G?"change":"input";e[t]=[].concat(e.__r,e[t]||[]),delete e.__r}o(e.__c)&&(e.change=[].concat(e.__c,e.change||[]),delete e.__c)}(n),at(n,r,Jr,Wr,Kr,t.context),Vr=void 0}}var Gr,Xr={create:Zr,update:Zr};function Qr(e,t){if(!i(e.data.domProps)||!i(t.data.domProps)){var n,r,a=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};for(n in o(c.__ob__)&&(c=t.data.domProps=T({},c)),s)n in c||(a[n]="");for(n in c){if(r=c[n],"textContent"===n||"innerHTML"===n){if(t.children&&(t.children.length=0),r===s[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=r;var l=i(r)?"":String(r);Yr(a,l)&&(a.value=l)}else if("innerHTML"===n&&Vn(a.tagName)&&i(a.innerHTML)){(Gr=Gr||document.createElement("div")).innerHTML="<svg>"+r+"</svg>";for(var u=Gr.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;u.firstChild;)a.appendChild(u.firstChild)}else if(r!==s[n])try{a[n]=r}catch(e){}}}}function Yr(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var n=e.value,r=e._vModifiers;if(o(r)){if(r.number)return v(n)!==v(t);if(r.trim)return n.trim()!==t.trim()}return n!==t}(e,t))}var ei={create:Qr,update:Qr},ti=A((function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach((function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}})),t}));function ni(e){var t=ri(e.style);return e.staticStyle?T(e.staticStyle,t):t}function ri(e){return Array.isArray(e)?B(e):"string"==typeof e?ti(e):e}var ii,oi=/^--/,ai=/\s*!important$/,si=function(e,t,n){if(oi.test(t))e.style.setProperty(t,n);else if(ai.test(n))e.style.setProperty(k(t),n.replace(ai,""),"important");else{var r=li(t);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)e.style[r]=n[i];else e.style[r]=n}},ci=["Webkit","Moz","ms"],li=A((function(e){if(ii=ii||document.createElement("div").style,"filter"!==(e=w(e))&&e in ii)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<ci.length;n++){var r=ci[n]+t;if(r in ii)return r}}));function ui(e,t){var n=t.data,r=e.data;if(!(i(n.staticStyle)&&i(n.style)&&i(r.staticStyle)&&i(r.style))){var a,s,c=t.elm,l=r.staticStyle,u=r.normalizedStyle||r.style||{},f=l||u,p=ri(t.data.style)||{};t.data.normalizedStyle=o(p.__ob__)?T({},p):p;var d=function(e,t){for(var n,r={},i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=ni(i.data))&&T(r,n);(n=ni(e.data))&&T(r,n);for(var o=e;o=o.parent;)o.data&&(n=ni(o.data))&&T(r,n);return r}(t);for(s in f)i(d[s])&&si(c,s,"");for(s in d)(a=d[s])!==f[s]&&si(c,s,null==a?"":a)}}var fi={create:ui,update:ui},pi=/\s+/;function di(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(pi).forEach((function(t){return e.classList.add(t)})):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function vi(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(pi).forEach((function(t){return e.classList.remove(t)})):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function hi(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&T(t,mi(e.name||"v")),T(t,e),t}return"string"==typeof e?mi(e):void 0}}var mi=A((function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}})),gi=q&&!X,yi="transition",_i="animation",bi="transition",Ai="transitionend",Ci="animation",wi="animationend";gi&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(bi="WebkitTransition",Ai="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ci="WebkitAnimation",wi="webkitAnimationEnd"));var xi=q?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function $i(e){xi((function(){xi(e)}))}function ki(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),di(e,t))}function Si(e,t){e._transitionClasses&&y(e._transitionClasses,t),vi(e,t)}function Oi(e,t,n){var r=Bi(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===yi?Ai:wi,c=0,l=function(){e.removeEventListener(s,u),n()},u=function(t){t.target===e&&++c>=a&&l()};setTimeout((function(){c<a&&l()}),o+1),e.addEventListener(s,u)}var Ti=/\b(transform|all)(,|$)/;function Bi(e,t){var n,r=window.getComputedStyle(e),i=(r[bi+"Delay"]||"").split(", "),o=(r[bi+"Duration"]||"").split(", "),a=ji(i,o),s=(r[Ci+"Delay"]||"").split(", "),c=(r[Ci+"Duration"]||"").split(", "),l=ji(s,c),u=0,f=0;return t===yi?a>0&&(n=yi,u=a,f=o.length):t===_i?l>0&&(n=_i,u=l,f=c.length):f=(n=(u=Math.max(a,l))>0?a>l?yi:_i:null)?n===yi?o.length:c.length:0,{type:n,timeout:u,propCount:f,hasTransform:n===yi&&Ti.test(r[bi+"Property"])}}function ji(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max.apply(null,t.map((function(t,n){return Li(t)+Li(e[n])})))}function Li(e){return 1e3*Number(e.slice(0,-1).replace(",","."))}function Ei(e,t){var n=e.elm;o(n._leaveCb)&&(n._leaveCb.cancelled=!0,n._leaveCb());var r=hi(e.data.transition);if(!i(r)&&!o(n._enterCb)&&1===n.nodeType){for(var a=r.css,s=r.type,l=r.enterClass,u=r.enterToClass,f=r.enterActiveClass,p=r.appearClass,d=r.appearToClass,h=r.appearActiveClass,m=r.beforeEnter,g=r.enter,y=r.afterEnter,_=r.enterCancelled,b=r.beforeAppear,A=r.appear,C=r.afterAppear,w=r.appearCancelled,x=r.duration,$=Zt,k=Zt.$vnode;k&&k.parent;)$=k.context,k=k.parent;var S=!$._isMounted||!e.isRootInsert;if(!S||A||""===A){var O=S&&p?p:l,T=S&&h?h:f,B=S&&d?d:u,j=S&&b||m,L=S&&"function"==typeof A?A:g,E=S&&C||y,M=S&&w||_,D=v(c(x)?x.enter:x),I=!1!==a&&!X,P=Ni(L),F=n._enterCb=N((function(){I&&(Si(n,B),Si(n,T)),F.cancelled?(I&&Si(n,O),M&&M(n)):E&&E(n),n._enterCb=null}));e.data.show||st(e,"insert",(function(){var t=n.parentNode,r=t&&t._pending&&t._pending[e.key];r&&r.tag===e.tag&&r.elm._leaveCb&&r.elm._leaveCb(),L&&L(n,F)})),j&&j(n),I&&(ki(n,O),ki(n,T),$i((function(){Si(n,O),F.cancelled||(ki(n,B),P||(Di(D)?setTimeout(F,D):Oi(n,s,F)))}))),e.data.show&&(t&&t(),L&&L(n,F)),I||P||F()}}}function Mi(e,t){var n=e.elm;o(n._enterCb)&&(n._enterCb.cancelled=!0,n._enterCb());var r=hi(e.data.transition);if(i(r)||1!==n.nodeType)return t();if(!o(n._leaveCb)){var a=r.css,s=r.type,l=r.leaveClass,u=r.leaveToClass,f=r.leaveActiveClass,p=r.beforeLeave,d=r.leave,h=r.afterLeave,m=r.leaveCancelled,g=r.delayLeave,y=r.duration,_=!1!==a&&!X,b=Ni(d),A=v(c(y)?y.leave:y),C=n._leaveCb=N((function(){n.parentNode&&n.parentNode._pending&&(n.parentNode._pending[e.key]=null),_&&(Si(n,u),Si(n,f)),C.cancelled?(_&&Si(n,l),m&&m(n)):(t(),h&&h(n)),n._leaveCb=null}));g?g(w):w()}function w(){C.cancelled||(!e.data.show&&n.parentNode&&((n.parentNode._pending||(n.parentNode._pending={}))[e.key]=e),p&&p(n),_&&(ki(n,l),ki(n,f),$i((function(){Si(n,l),C.cancelled||(ki(n,u),b||(Di(A)?setTimeout(C,A):Oi(n,s,C)))}))),d&&d(n,C),_||b||C())}}function Di(e){return"number"==typeof e&&!isNaN(e)}function Ni(e){if(i(e))return!1;var t=e.fns;return o(t)?Ni(Array.isArray(t)?t[0]:t):(e._length||e.length)>1}function Ii(e,t){!0!==t.data.show&&Ei(t)}var Pi=function(e){var t,n,r={},c=e.modules,l=e.nodeOps;for(t=0;t<er.length;++t)for(r[er[t]]=[],n=0;n<c.length;++n)o(c[n][er[t]])&&r[er[t]].push(c[n][er[t]]);function u(e){var t=l.parentNode(e);o(t)&&l.removeChild(t,e)}function f(e,t,n,i,s,c,u){if(o(e.elm)&&o(c)&&(e=c[u]=_e(e)),e.isRootInsert=!s,!function(e,t,n,i){var s=e.data;if(o(s)){var c=o(e.componentInstance)&&s.keepAlive;if(o(s=s.hook)&&o(s=s.init)&&s(e,!1),o(e.componentInstance))return p(e,t),d(n,e.elm,i),a(c)&&function(e,t,n,i){for(var a,s=e;s.componentInstance;)if(o(a=(s=s.componentInstance._vnode).data)&&o(a=a.transition)){for(a=0;a<r.activate.length;++a)r.activate[a](Yn,s);t.push(s);break}d(n,e.elm,i)}(e,t,n,i),!0}}(e,t,n,i)){var f=e.data,h=e.children,m=e.tag;o(m)?(e.elm=e.ns?l.createElementNS(e.ns,m):l.createElement(m,e),y(e),v(e,h,t),o(f)&&g(e,t),d(n,e.elm,i)):a(e.isComment)?(e.elm=l.createComment(e.text),d(n,e.elm,i)):(e.elm=l.createTextNode(e.text),d(n,e.elm,i))}}function p(e,t){o(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,m(e)?(g(e,t),y(e)):(Qn(e),t.push(e))}function d(e,t,n){o(e)&&(o(n)?l.parentNode(n)===e&&l.insertBefore(e,t,n):l.appendChild(e,t))}function v(e,t,n){if(Array.isArray(t))for(var r=0;r<t.length;++r)f(t[r],n,e.elm,null,!0,t,r);else s(e.text)&&l.appendChild(e.elm,l.createTextNode(String(e.text)))}function m(e){for(;e.componentInstance;)e=e.componentInstance._vnode;return o(e.tag)}function g(e,n){for(var i=0;i<r.create.length;++i)r.create[i](Yn,e);o(t=e.data.hook)&&(o(t.create)&&t.create(Yn,e),o(t.insert)&&n.push(e))}function y(e){var t;if(o(t=e.fnScopeId))l.setStyleScope(e.elm,t);else for(var n=e;n;)o(t=n.context)&&o(t=t.$options._scopeId)&&l.setStyleScope(e.elm,t),n=n.parent;o(t=Zt)&&t!==e.context&&t!==e.fnContext&&o(t=t.$options._scopeId)&&l.setStyleScope(e.elm,t)}function _(e,t,n,r,i,o){for(;r<=i;++r)f(n[r],o,e,t,!1,n,r)}function b(e){var t,n,i=e.data;if(o(i))for(o(t=i.hook)&&o(t=t.destroy)&&t(e),t=0;t<r.destroy.length;++t)r.destroy[t](e);if(o(t=e.children))for(n=0;n<e.children.length;++n)b(e.children[n])}function A(e,t,n){for(;t<=n;++t){var r=e[t];o(r)&&(o(r.tag)?(C(r),b(r)):u(r.elm))}}function C(e,t){if(o(t)||o(e.data)){var n,i=r.remove.length+1;for(o(t)?t.listeners+=i:t=function(e,t){function n(){0==--n.listeners&&u(e)}return n.listeners=t,n}(e.elm,i),o(n=e.componentInstance)&&o(n=n._vnode)&&o(n.data)&&C(n,t),n=0;n<r.remove.length;++n)r.remove[n](e,t);o(n=e.data.hook)&&o(n=n.remove)?n(e,t):t()}else u(e.elm)}function w(e,t,n,r){for(var i=n;i<r;i++){var a=t[i];if(o(a)&&tr(e,a))return i}}function x(e,t,n,s,c,u){if(e!==t){o(t.elm)&&o(s)&&(t=s[c]=_e(t));var p=t.elm=e.elm;if(a(e.isAsyncPlaceholder))o(t.asyncFactory.resolved)?S(e.elm,t,n):t.isAsyncPlaceholder=!0;else if(a(t.isStatic)&&a(e.isStatic)&&t.key===e.key&&(a(t.isCloned)||a(t.isOnce)))t.componentInstance=e.componentInstance;else{var d,v=t.data;o(v)&&o(d=v.hook)&&o(d=d.prepatch)&&d(e,t);var h=e.children,g=t.children;if(o(v)&&m(t)){for(d=0;d<r.update.length;++d)r.update[d](e,t);o(d=v.hook)&&o(d=d.update)&&d(e,t)}i(t.text)?o(h)&&o(g)?h!==g&&function(e,t,n,r,a){for(var s,c,u,p=0,d=0,v=t.length-1,h=t[0],m=t[v],g=n.length-1,y=n[0],b=n[g],C=!a;p<=v&&d<=g;)i(h)?h=t[++p]:i(m)?m=t[--v]:tr(h,y)?(x(h,y,r,n,d),h=t[++p],y=n[++d]):tr(m,b)?(x(m,b,r,n,g),m=t[--v],b=n[--g]):tr(h,b)?(x(h,b,r,n,g),C&&l.insertBefore(e,h.elm,l.nextSibling(m.elm)),h=t[++p],b=n[--g]):tr(m,y)?(x(m,y,r,n,d),C&&l.insertBefore(e,m.elm,h.elm),m=t[--v],y=n[++d]):(i(s)&&(s=nr(t,p,v)),i(c=o(y.key)?s[y.key]:w(y,t,p,v))?f(y,r,e,h.elm,!1,n,d):tr(u=t[c],y)?(x(u,y,r,n,d),t[c]=void 0,C&&l.insertBefore(e,u.elm,h.elm)):f(y,r,e,h.elm,!1,n,d),y=n[++d]);p>v?_(e,i(n[g+1])?null:n[g+1].elm,n,d,g,r):d>g&&A(t,p,v)}(p,h,g,n,u):o(g)?(o(e.text)&&l.setTextContent(p,""),_(p,null,g,0,g.length-1,n)):o(h)?A(h,0,h.length-1):o(e.text)&&l.setTextContent(p,""):e.text!==t.text&&l.setTextContent(p,t.text),o(v)&&o(d=v.hook)&&o(d=d.postpatch)&&d(e,t)}}}function $(e,t,n){if(a(n)&&o(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r<t.length;++r)t[r].data.hook.insert(t[r])}var k=h("attrs,class,staticClass,staticStyle,key");function S(e,t,n,r){var i,s=t.tag,c=t.data,l=t.children;if(r=r||c&&c.pre,t.elm=e,a(t.isComment)&&o(t.asyncFactory))return t.isAsyncPlaceholder=!0,!0;if(o(c)&&(o(i=c.hook)&&o(i=i.init)&&i(t,!0),o(i=t.componentInstance)))return p(t,n),!0;if(o(s)){if(o(l))if(e.hasChildNodes())if(o(i=c)&&o(i=i.domProps)&&o(i=i.innerHTML)){if(i!==e.innerHTML)return!1}else{for(var u=!0,f=e.firstChild,d=0;d<l.length;d++){if(!f||!S(f,l[d],n,r)){u=!1;break}f=f.nextSibling}if(!u||f)return!1}else v(t,l,n);if(o(c)){var h=!1;for(var m in c)if(!k(m)){h=!0,g(t,n);break}!h&&c.class&&rt(c.class)}}else e.data!==t.text&&(e.data=t.text);return!0}return function(e,t,n,s){if(!i(t)){var c,u=!1,p=[];if(i(e))u=!0,f(t,p);else{var d=o(e.nodeType);if(!d&&tr(e,t))x(e,t,p,null,null,s);else{if(d){if(1===e.nodeType&&e.hasAttribute(I)&&(e.removeAttribute(I),n=!0),a(n)&&S(e,t,p))return $(t,p,!0),e;c=e,e=new he(l.tagName(c).toLowerCase(),{},[],void 0,c)}var v=e.elm,h=l.parentNode(v);if(f(t,p,v._leaveCb?null:h,l.nextSibling(v)),o(t.parent))for(var g=t.parent,y=m(t);g;){for(var _=0;_<r.destroy.length;++_)r.destroy[_](g);if(g.elm=t.elm,y){for(var C=0;C<r.create.length;++C)r.create[C](Yn,g);var w=g.data.hook.insert;if(w.merged)for(var k=1;k<w.fns.length;k++)w.fns[k]()}else Qn(g);g=g.parent}o(h)?A([e],0,0):o(e.tag)&&b(e)}}return $(t,p,u),t.elm}o(e)&&b(e)}}({nodeOps:Gn,modules:[dr,Ar,Xr,ei,fi,q?{create:Ii,activate:Ii,remove:function(e,t){!0!==e.data.show?Mi(e,t):t()}}:{}].concat(lr)});X&&document.addEventListener("selectionchange",(function(){var e=document.activeElement;e&&e.vmodel&&qi(e,"input")}));var Fi={inserted:function(e,t,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?st(n,"postpatch",(function(){Fi.componentUpdated(e,t,n)})):Ri(e,t,n.context),e._vOptions=[].map.call(e.options,Hi)):("textarea"===n.tag||Wn(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener("compositionstart",Vi),e.addEventListener("compositionend",Ki),e.addEventListener("change",Ki),X&&(e.vmodel=!0)))},componentUpdated:function(e,t,n){if("select"===n.tag){Ri(e,t,n.context);var r=e._vOptions,i=e._vOptions=[].map.call(e.options,Hi);i.some((function(e,t){return!M(e,r[t])}))&&(e.multiple?t.value.some((function(e){return zi(e,i)})):t.value!==t.oldValue&&zi(t.value,i))&&qi(e,"change")}}};function Ri(e,t,n){Ui(e,t),(G||Q)&&setTimeout((function(){Ui(e,t)}),0)}function Ui(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=e.options.length;s<c;s++)if(a=e.options[s],i)o=D(r,Hi(a))>-1,a.selected!==o&&(a.selected=o);else if(M(Hi(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function zi(e,t){return t.every((function(t){return!M(t,e)}))}function Hi(e){return"_value"in e?e._value:e.value}function Vi(e){e.target.composing=!0}function Ki(e){e.target.composing&&(e.target.composing=!1,qi(e.target,"input"))}function qi(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Ji(e){return!e.componentInstance||e.data&&e.data.transition?e:Ji(e.componentInstance._vnode)}var Wi={model:Fi,show:{bind:function(e,t,n){var r=t.value,i=(n=Ji(n)).data&&n.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,Ei(n,(function(){e.style.display=o}))):e.style.display=r?o:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Ji(n)).data&&n.data.transition?(n.data.show=!0,r?Ei(n,(function(){e.style.display=e.__vOriginalDisplay})):Mi(n,(function(){e.style.display="none"}))):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},Zi={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function Gi(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?Gi(Vt(t.children)):e}function Xi(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[w(o)]=i[o];return t}function Qi(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var Yi=function(e){return e.tag||Ht(e)},eo=function(e){return"show"===e.name},to={name:"transition",props:Zi,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(Yi)).length){var r=this.mode,i=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return i;var o=Gi(i);if(!o)return i;if(this._leaving)return Qi(e,i);var a="__transition-"+this._uid+"-";o.key=null==o.key?o.isComment?a+"comment":a+o.tag:s(o.key)?0===String(o.key).indexOf(a)?o.key:a+o.key:o.key;var c=(o.data||(o.data={})).transition=Xi(this),l=this._vnode,u=Gi(l);if(o.data.directives&&o.data.directives.some(eo)&&(o.data.show=!0),u&&u.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(o,u)&&!Ht(u)&&(!u.componentInstance||!u.componentInstance._vnode.isComment)){var f=u.data.transition=T({},c);if("out-in"===r)return this._leaving=!0,st(f,"afterLeave",(function(){t._leaving=!1,t.$forceUpdate()})),Qi(e,i);if("in-out"===r){if(Ht(o))return l;var p,d=function(){p()};st(c,"afterEnter",d),st(c,"enterCancelled",d),st(f,"delayLeave",(function(e){p=e}))}}return i}}},no=T({tag:String,moveClass:String},Zi);function ro(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function io(e){e.data.newPos=e.elm.getBoundingClientRect()}function oo(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete no.mode;var ao={Transition:to,TransitionGroup:{props:no,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var i=Gt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=Xi(this),s=0;s<i.length;s++){var c=i[s];c.tag&&null!=c.key&&0!==String(c.key).indexOf("__vlist")&&(o.push(c),n[c.key]=c,(c.data||(c.data={})).transition=a)}if(r){for(var l=[],u=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?l.push(p):u.push(p)}this.kept=e(t,null,l),this.removed=u}return e(t,null,o)},updated:function(){var e=this.prevChildren,t=this.moveClass||(this.name||"v")+"-move";e.length&&this.hasMove(e[0].elm,t)&&(e.forEach(ro),e.forEach(io),e.forEach(oo),this._reflow=document.body.offsetHeight,e.forEach((function(e){if(e.data.moved){var n=e.elm,r=n.style;ki(n,t),r.transform=r.WebkitTransform=r.transitionDuration="",n.addEventListener(Ai,n._moveCb=function e(r){r&&r.target!==n||r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ai,e),n._moveCb=null,Si(n,t))})}})))},methods:{hasMove:function(e,t){if(!gi)return!1;if(this._hasMove)return this._hasMove;var n=e.cloneNode();e._transitionClasses&&e._transitionClasses.forEach((function(e){vi(n,e)})),di(n,t),n.style.display="none",this.$el.appendChild(n);var r=Bi(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}}};Cn.config.mustUseProp=jn,Cn.config.isReservedTag=Kn,Cn.config.isReservedAttr=Tn,Cn.config.getTagNamespace=qn,Cn.config.isUnknownElement=function(e){if(!q)return!0;if(Kn(e))return!1;if(e=e.toLowerCase(),null!=Jn[e])return Jn[e];var t=document.createElement(e);return e.indexOf("-")>-1?Jn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Jn[e]=/HTMLUnknownElement/.test(t.toString())},T(Cn.options.directives,Wi),T(Cn.options.components,ao),Cn.prototype.__patch__=q?Pi:j,Cn.prototype.$mount=function(e,t){return function(e,t,n){var r;return e.$el=t,e.$options.render||(e.$options.render=ge),Yt(e,"beforeMount"),r=function(){e._update(e._render(),n)},new pn(e,r,j,{before:function(){e._isMounted&&!e._isDestroyed&&Yt(e,"beforeUpdate")}},!0),n=!1,null==e.$vnode&&(e._isMounted=!0,Yt(e,"mounted")),e}(this,e=e&&q?Zn(e):void 0,t)},q&&setTimeout((function(){R.devtools&&oe&&oe.emit("init",Cn)}),0);var so,co=/\{\{((?:.|\r?\n)+?)\}\}/g,lo=/[-.*+?^${}()|[\]\/\\]/g,uo=A((function(e){var t=e[0].replace(lo,"\\$&"),n=e[1].replace(lo,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")})),fo={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=Mr(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=Er(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}},po={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=Mr(e,"style");n&&(e.staticStyle=JSON.stringify(ti(n)));var r=Er(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},vo=h("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),ho=h("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),mo=h("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),go=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,yo=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,_o="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+U.source+"]*",bo="((?:"+_o+"\\:)?"+_o+")",Ao=new RegExp("^<"+bo),Co=/^\s*(\/?)>/,wo=new RegExp("^<\\/"+bo+"[^>]*>"),xo=/^<!DOCTYPE [^>]+>/i,$o=/^<!\--/,ko=/^<!\[/,So=h("script,style,textarea",!0),Oo={},To={"&lt;":"<","&gt;":">","&quot;":'"',"&amp;":"&","&#10;":"\n","&#9;":"\t","&#39;":"'"},Bo=/&(?:lt|gt|quot|amp|#39);/g,jo=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Lo=h("pre,textarea",!0),Eo=function(e,t){return e&&Lo(e)&&"\n"===t[0]};function Mo(e,t){var n=t?jo:Bo;return e.replace(n,(function(e){return To[e]}))}var Do,No,Io,Po,Fo,Ro,Uo,zo,Ho=/^@|^v-on:/,Vo=/^v-|^@|^:|^#/,Ko=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,qo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Jo=/^\(|\)$/g,Wo=/^\[.*\]$/,Zo=/:(.*)$/,Go=/^:|^\.|^v-bind:/,Xo=/\.[^.\]]+(?=[^\]]*$)/g,Qo=/^v-slot(:|$)|^#/,Yo=/[\r\n]/,ea=/\s+/g,ta=A((function(e){return(so=so||document.createElement("div")).innerHTML=e,so.textContent})),na="_empty_";function ra(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:la(t),rawAttrsMap:{},parent:n,children:[]}}function ia(e,t){var n,r;(r=Er(n=e,"key"))&&(n.key=r),e.plain=!e.key&&!e.scopedSlots&&!e.attrsList.length,function(e){var t=Er(e,"ref");t&&(e.ref=t,e.refInFor=function(e){for(var t=e;t;){if(void 0!==t.for)return!0;t=t.parent}return!1}(e))}(e),function(e){var t;"template"===e.tag?(t=Mr(e,"scope"),e.slotScope=t||Mr(e,"slot-scope")):(t=Mr(e,"slot-scope"))&&(e.slotScope=t);var n=Er(e,"slot");if(n&&(e.slotTarget='""'===n?'"default"':n,e.slotTargetDynamic=!(!e.attrsMap[":slot"]&&!e.attrsMap["v-bind:slot"]),"template"===e.tag||e.slotScope||Or(e,"slot",n,function(e,t){return e.rawAttrsMap[":"+t]||e.rawAttrsMap["v-bind:"+t]||e.rawAttrsMap[t]}(e,"slot"))),"template"===e.tag){var r=Dr(e,Qo);if(r){var i=sa(r),o=i.name,a=i.dynamic;e.slotTarget=o,e.slotTargetDynamic=a,e.slotScope=r.value||na}}else{var s=Dr(e,Qo);if(s){var c=e.scopedSlots||(e.scopedSlots={}),l=sa(s),u=l.name,f=l.dynamic,p=c[u]=ra("template",[],e);p.slotTarget=u,p.slotTargetDynamic=f,p.children=e.children.filter((function(e){if(!e.slotScope)return e.parent=p,!0})),p.slotScope=s.value||na,e.children=[],e.plain=!1}}}(e),function(e){"slot"===e.tag&&(e.slotName=Er(e,"name"))}(e),function(e){var t;(t=Er(e,"is"))&&(e.component=t),null!=Mr(e,"inline-template")&&(e.inlineTemplate=!0)}(e);for(var i=0;i<Io.length;i++)e=Io[i](e,t)||e;return function(e){var t,n,r,i,o,a,s,c,l=e.attrsList;for(t=0,n=l.length;t<n;t++)if(r=i=l[t].name,o=l[t].value,Vo.test(r))if(e.hasBindings=!0,(a=ca(r.replace(Vo,"")))&&(r=r.replace(Xo,"")),Go.test(r))r=r.replace(Go,""),o=wr(o),(c=Wo.test(r))&&(r=r.slice(1,-1)),a&&(a.prop&&!c&&"innerHtml"===(r=w(r))&&(r="innerHTML"),a.camel&&!c&&(r=w(r)),a.sync&&(s=Pr(o,"$event"),c?Lr(e,'"update:"+('+r+")",s,null,!1,0,l[t],!0):(Lr(e,"update:"+w(r),s,null,!1,0,l[t]),k(r)!==w(r)&&Lr(e,"update:"+k(r),s,null,!1,0,l[t])))),a&&a.prop||!e.component&&Uo(e.tag,e.attrsMap.type,r)?Sr(e,r,o,l[t],c):Or(e,r,o,l[t],c);else if(Ho.test(r))r=r.replace(Ho,""),(c=Wo.test(r))&&(r=r.slice(1,-1)),Lr(e,r,o,a,!1,0,l[t],c);else{var u=(r=r.replace(Vo,"")).match(Zo),f=u&&u[1];c=!1,f&&(r=r.slice(0,-(f.length+1)),Wo.test(f)&&(f=f.slice(1,-1),c=!0)),Br(e,r,i,o,f,c,a,l[t])}else Or(e,r,JSON.stringify(o),l[t]),!e.component&&"muted"===r&&Uo(e.tag,e.attrsMap.type,r)&&Sr(e,r,"true",l[t])}(e),e}function oa(e){var t;if(t=Mr(e,"v-for")){var n=function(e){var t=e.match(Ko);if(t){var n={};n.for=t[2].trim();var r=t[1].trim().replace(Jo,""),i=r.match(qo);return i?(n.alias=r.replace(qo,"").trim(),n.iterator1=i[1].trim(),i[2]&&(n.iterator2=i[2].trim())):n.alias=r,n}}(t);n&&T(e,n)}}function aa(e,t){e.ifConditions||(e.ifConditions=[]),e.ifConditions.push(t)}function sa(e){var t=e.name.replace(Qo,"");return t||"#"!==e.name[0]&&(t="default"),Wo.test(t)?{name:t.slice(1,-1),dynamic:!0}:{name:'"'+t+'"',dynamic:!1}}function ca(e){var t=e.match(Xo);if(t){var n={};return t.forEach((function(e){n[e.slice(1)]=!0})),n}}function la(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n].name]=e[n].value;return t}var ua=/^xmlns:NS\d+/,fa=/^NS\d+:/;function pa(e){return ra(e.tag,e.attrsList.slice(),e.parent)}var da,va,ha=[fo,po,{preTransformNode:function(e,t){if("input"===e.tag){var n,r=e.attrsMap;if(!r["v-model"])return;if((r[":type"]||r["v-bind:type"])&&(n=Er(e,"type")),r.type||n||!r["v-bind"]||(n="("+r["v-bind"]+").type"),n){var i=Mr(e,"v-if",!0),o=i?"&&("+i+")":"",a=null!=Mr(e,"v-else",!0),s=Mr(e,"v-else-if",!0),c=pa(e);oa(c),Tr(c,"type","checkbox"),ia(c,t),c.processed=!0,c.if="("+n+")==='checkbox'"+o,aa(c,{exp:c.if,block:c});var l=pa(e);Mr(l,"v-for",!0),Tr(l,"type","radio"),ia(l,t),aa(c,{exp:"("+n+")==='radio'"+o,block:l});var u=pa(e);return Mr(u,"v-for",!0),Tr(u,":type",n),ia(u,t),aa(c,{exp:i,block:u}),a?c.else=!0:s&&(c.elseif=s),c}}}}],ma={expectHTML:!0,modules:ha,directives:{model:function(e,t,n){var r=t.value,i=t.modifiers,o=e.tag,a=e.attrsMap.type;if(e.component)return Ir(e,r,i),!1;if("select"===o)!function(e,t,n){var r='var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(n&&n.number?"_n(val)":"val")+"});";Lr(e,"change",r=r+" "+Pr(t,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),null,!0)}(e,r,i);else if("input"===o&&"checkbox"===a)!function(e,t,n){var r=n&&n.number,i=Er(e,"value")||"null",o=Er(e,"true-value")||"true",a=Er(e,"false-value")||"false";Sr(e,"checked","Array.isArray("+t+")?_i("+t+","+i+")>-1"+("true"===o?":("+t+")":":_q("+t+","+o+")")),Lr(e,"change","var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Pr(t,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Pr(t,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Pr(t,"$$c")+"}",null,!0)}(e,r,i);else if("input"===o&&"radio"===a)!function(e,t,n){var r=n&&n.number,i=Er(e,"value")||"null";Sr(e,"checked","_q("+t+","+(i=r?"_n("+i+")":i)+")"),Lr(e,"change",Pr(t,i),null,!0)}(e,r,i);else if("input"===o||"textarea"===o)!function(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,l=o?"change":"range"===r?"__r":"input",u="$event.target.value";s&&(u="$event.target.value.trim()"),a&&(u="_n("+u+")");var f=Pr(t,u);c&&(f="if($event.target.composing)return;"+f),Sr(e,"value","("+t+")"),Lr(e,l,f,null,!0),(s||a)&&Lr(e,"blur","$forceUpdate()")}(e,r,i);else if(!R.isReservedTag(o))return Ir(e,r,i),!1;return!0},text:function(e,t){t.value&&Sr(e,"textContent","_s("+t.value+")",t)},html:function(e,t){t.value&&Sr(e,"innerHTML","_s("+t.value+")",t)}},isPreTag:function(e){return"pre"===e},isUnaryTag:vo,mustUseProp:jn,canBeLeftOpenTag:ho,isReservedTag:Kn,getTagNamespace:qn,staticKeys:function(e){return e.reduce((function(e,t){return e.concat(t.staticKeys||[])}),[]).join(",")}(ha)},ga=A((function(e){return h("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(e?","+e:""))})),ya=/^([\w$_]+|\([^)]*?\))\s*=>|^function(?:\s+[\w$]+)?\s*\(/,_a=/\([^)]*?\);*$/,ba=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Aa={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ca={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},wa=function(e){return"if("+e+")return null;"},xa={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:wa("$event.target !== $event.currentTarget"),ctrl:wa("!$event.ctrlKey"),shift:wa("!$event.shiftKey"),alt:wa("!$event.altKey"),meta:wa("!$event.metaKey"),left:wa("'button' in $event && $event.button !== 0"),middle:wa("'button' in $event && $event.button !== 1"),right:wa("'button' in $event && $event.button !== 2")};function $a(e,t){var n=t?"nativeOn:":"on:",r="",i="";for(var o in e){var a=ka(e[o]);e[o]&&e[o].dynamic?i+=o+","+a+",":r+='"'+o+'":'+a+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function ka(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map((function(e){return ka(e)})).join(",")+"]";var t=ba.test(e.value),n=ya.test(e.value),r=ba.test(e.value.replace(_a,""));if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)if(xa[s])o+=xa[s],Aa[s]&&a.push(s);else if("exact"===s){var c=e.modifiers;o+=wa(["ctrl","shift","alt","meta"].filter((function(e){return!c[e]})).map((function(e){return"$event."+e+"Key"})).join("||"))}else a.push(s);return a.length&&(i+=function(e){return"if(!$event.type.indexOf('key')&&"+e.map(Sa).join("&&")+")return null;"}(a)),o&&(i+=o),"function($event){"+i+(t?"return "+e.value+"($event)":n?"return ("+e.value+")($event)":r?"return "+e.value:e.value)+"}"}return t||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function Sa(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=Aa[e],r=Ca[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var Oa={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(e,t){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+t.value+","+(t.modifiers&&t.modifiers.prop?"true":"false")+(t.modifiers&&t.modifiers.sync?",true":"")+")"}},cloak:j},Ta=function(e){this.options=e,this.warn=e.warn||$r,this.transforms=kr(e.modules,"transformCode"),this.dataGenFns=kr(e.modules,"genData"),this.directives=T(T({},Oa),e.directives);var t=e.isReservedTag||L;this.maybeComponent=function(e){return!!e.component||!t(e.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function Ba(e,t){var n=new Ta(t);return{render:"with(this){return "+(e?ja(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function ja(e,t){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return La(e,t);if(e.once&&!e.onceProcessed)return Ea(e,t);if(e.for&&!e.forProcessed)return Da(e,t);if(e.if&&!e.ifProcessed)return Ma(e,t);if("template"!==e.tag||e.slotTarget||t.pre){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=Fa(e,t),i="_t("+n+(r?","+r:""),o=e.attrs||e.dynamicAttrs?za((e.attrs||[]).concat(e.dynamicAttrs||[]).map((function(e){return{name:w(e.name),value:e.value,dynamic:e.dynamic}}))):null,a=e.attrsMap["v-bind"];return!o&&!a||r||(i+=",null"),o&&(i+=","+o),a&&(i+=(o?"":",null")+","+a),i+")"}(e,t);var n;if(e.component)n=function(e,t,n){var r=t.inlineTemplate?null:Fa(t,n,!0);return"_c("+e+","+Na(t,n)+(r?","+r:"")+")"}(e.component,e,t);else{var r;(!e.plain||e.pre&&t.maybeComponent(e))&&(r=Na(e,t));var i=e.inlineTemplate?null:Fa(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o<t.transforms.length;o++)n=t.transforms[o](e,n);return n}return Fa(e,t)||"void 0"}function La(e,t){e.staticProcessed=!0;var n=t.pre;return e.pre&&(t.pre=e.pre),t.staticRenderFns.push("with(this){return "+ja(e,t)+"}"),t.pre=n,"_m("+(t.staticRenderFns.length-1)+(e.staticInFor?",true":"")+")"}function Ea(e,t){if(e.onceProcessed=!0,e.if&&!e.ifProcessed)return Ma(e,t);if(e.staticInFor){for(var n="",r=e.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?"_o("+ja(e,t)+","+t.onceId+++","+n+")":ja(e,t)}return La(e,t)}function Ma(e,t,n,r){return e.ifProcessed=!0,function e(t,n,r,i){if(!t.length)return i||"_e()";var o=t.shift();return o.exp?"("+o.exp+")?"+a(o.block)+":"+e(t,n,r,i):""+a(o.block);function a(e){return r?r(e,n):e.once?Ea(e,n):ja(e,n)}}(e.ifConditions.slice(),t,n,r)}function Da(e,t,n,r){var i=e.for,o=e.alias,a=e.iterator1?","+e.iterator1:"",s=e.iterator2?","+e.iterator2:"";return e.forProcessed=!0,(r||"_l")+"(("+i+"),function("+o+a+s+"){return "+(n||ja)(e,t)+"})"}function Na(e,t){var n="{",r=function(e,t){var n=e.directives;if(n){var r,i,o,a,s="directives:[",c=!1;for(r=0,i=n.length;r<i;r++){o=n[r],a=!0;var l=t.directives[o.name];l&&(a=!!l(e,o,t.warn)),a&&(c=!0,s+='{name:"'+o.name+'",rawName:"'+o.rawName+'"'+(o.value?",value:("+o.value+"),expression:"+JSON.stringify(o.value):"")+(o.arg?",arg:"+(o.isDynamicArg?o.arg:'"'+o.arg+'"'):"")+(o.modifiers?",modifiers:"+JSON.stringify(o.modifiers):"")+"},")}return c?s.slice(0,-1)+"]":void 0}}(e,t);r&&(n+=r+","),e.key&&(n+="key:"+e.key+","),e.ref&&(n+="ref:"+e.ref+","),e.refInFor&&(n+="refInFor:true,"),e.pre&&(n+="pre:true,"),e.component&&(n+='tag:"'+e.tag+'",');for(var i=0;i<t.dataGenFns.length;i++)n+=t.dataGenFns[i](e);if(e.attrs&&(n+="attrs:"+za(e.attrs)+","),e.props&&(n+="domProps:"+za(e.props)+","),e.events&&(n+=$a(e.events,!1)+","),e.nativeEvents&&(n+=$a(e.nativeEvents,!0)+","),e.slotTarget&&!e.slotScope&&(n+="slot:"+e.slotTarget+","),e.scopedSlots&&(n+=function(e,t,n){var r=e.for||Object.keys(t).some((function(e){var n=t[e];return n.slotTargetDynamic||n.if||n.for||Ia(n)})),i=!!e.if;if(!r)for(var o=e.parent;o;){if(o.slotScope&&o.slotScope!==na||o.for){r=!0;break}o.if&&(i=!0),o=o.parent}var a=Object.keys(t).map((function(e){return Pa(t[e],n)})).join(",");return"scopedSlots:_u(["+a+"]"+(r?",null,true":"")+(!r&&i?",null,false,"+function(e){for(var t=5381,n=e.length;n;)t=33*t^e.charCodeAt(--n);return t>>>0}(a):"")+")"}(e,e.scopedSlots,t)+","),e.model&&(n+="model:{value:"+e.model.value+",callback:"+e.model.callback+",expression:"+e.model.expression+"},"),e.inlineTemplate){var o=function(e,t){var n=e.children[0];if(n&&1===n.type){var r=Ba(n,t.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map((function(e){return"function(){"+e+"}"})).join(",")+"]}"}}(e,t);o&&(n+=o+",")}return n=n.replace(/,$/,"")+"}",e.dynamicAttrs&&(n="_b("+n+',"'+e.tag+'",'+za(e.dynamicAttrs)+")"),e.wrapData&&(n=e.wrapData(n)),e.wrapListeners&&(n=e.wrapListeners(n)),n}function Ia(e){return 1===e.type&&("slot"===e.tag||e.children.some(Ia))}function Pa(e,t){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return Ma(e,t,Pa,"null");if(e.for&&!e.forProcessed)return Da(e,t,Pa);var r=e.slotScope===na?"":String(e.slotScope),i="function("+r+"){return "+("template"===e.tag?e.if&&n?"("+e.if+")?"+(Fa(e,t)||"undefined")+":undefined":Fa(e,t)||"undefined":ja(e,t))+"}",o=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+i+o+"}"}function Fa(e,t,n,r,i){var o=e.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=n?t.maybeComponent(a)?",1":",0":"";return""+(r||ja)(a,t)+s}var c=n?function(e,t){for(var n=0,r=0;r<e.length;r++){var i=e[r];if(1===i.type){if(Ra(i)||i.ifConditions&&i.ifConditions.some((function(e){return Ra(e.block)}))){n=2;break}(t(i)||i.ifConditions&&i.ifConditions.some((function(e){return t(e.block)})))&&(n=1)}}return n}(o,t.maybeComponent):0,l=i||Ua;return"["+o.map((function(e){return l(e,t)})).join(",")+"]"+(c?","+c:"")}}function Ra(e){return void 0!==e.for||"template"===e.tag||"slot"===e.tag}function Ua(e,t){return 1===e.type?ja(e,t):3===e.type&&e.isComment?(r=e,"_e("+JSON.stringify(r.text)+")"):"_v("+(2===(n=e).type?n.expression:Ha(JSON.stringify(n.text)))+")";var n,r}function za(e){for(var t="",n="",r=0;r<e.length;r++){var i=e[r],o=Ha(i.value);i.dynamic?n+=i.name+","+o+",":t+='"'+i.name+'":'+o+","}return t="{"+t.slice(0,-1)+"}",n?"_d("+t+",["+n.slice(0,-1)+"])":t}function Ha(e){return e.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}function Va(e,t){try{return new Function(e)}catch(n){return t.push({err:n,code:e}),j}}function Ka(e){var t=Object.create(null);return function(n,r,i){(r=T({},r)).warn,delete r.warn;var o=r.delimiters?String(r.delimiters)+n:n;if(t[o])return t[o];var a=e(n,r),s={},c=[];return s.render=Va(a.render,c),s.staticRenderFns=a.staticRenderFns.map((function(e){return Va(e,c)})),t[o]=s}}new RegExp("\\b"+"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments".split(",").join("\\b|\\b")+"\\b");var qa,Ja,Wa=(qa=function(e,t){var n=function(e,t){Do=t.warn||$r,Ro=t.isPreTag||L,Uo=t.mustUseProp||L,zo=t.getTagNamespace||L,t.isReservedTag,Io=kr(t.modules,"transformNode"),Po=kr(t.modules,"preTransformNode"),Fo=kr(t.modules,"postTransformNode"),No=t.delimiters;var n,r,i=[],o=!1!==t.preserveWhitespace,a=t.whitespace,s=!1,c=!1;function l(e){if(u(e),s||e.processed||(e=ia(e,t)),i.length||e===n||n.if&&(e.elseif||e.else)&&aa(n,{exp:e.elseif,block:e}),r&&!e.forbidden)if(e.elseif||e.else)a=e,(l=function(e){for(var t=e.length;t--;){if(1===e[t].type)return e[t];e.pop()}}(r.children))&&l.if&&aa(l,{exp:a.elseif,block:a});else{if(e.slotScope){var o=e.slotTarget||'"default"';(r.scopedSlots||(r.scopedSlots={}))[o]=e}r.children.push(e),e.parent=r}var a,l;e.children=e.children.filter((function(e){return!e.slotScope})),u(e),e.pre&&(s=!1),Ro(e.tag)&&(c=!1);for(var f=0;f<Fo.length;f++)Fo[f](e,t)}function u(e){if(!c)for(var t;(t=e.children[e.children.length-1])&&3===t.type&&" "===t.text;)e.children.pop()}return function(e,t){for(var n,r,i=[],o=t.expectHTML,a=t.isUnaryTag||L,s=t.canBeLeftOpenTag||L,c=0;e;){if(n=e,r&&So(r)){var l=0,u=r.toLowerCase(),f=Oo[u]||(Oo[u]=new RegExp("([\\s\\S]*?)(</"+u+"[^>]*>)","i")),p=e.replace(f,(function(e,n,r){return l=r.length,So(u)||"noscript"===u||(n=n.replace(/<!\--([\s\S]*?)-->/g,"$1").replace(/<!\[CDATA\[([\s\S]*?)]]>/g,"$1")),Eo(u,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""}));c+=e.length-p.length,e=p,k(u,c-l,c)}else{var d=e.indexOf("<");if(0===d){if($o.test(e)){var v=e.indexOf("--\x3e");if(v>=0){t.shouldKeepComment&&t.comment(e.substring(4,v),c,c+v+3),w(v+3);continue}}if(ko.test(e)){var h=e.indexOf("]>");if(h>=0){w(h+2);continue}}var m=e.match(xo);if(m){w(m[0].length);continue}var g=e.match(wo);if(g){var y=c;w(g[0].length),k(g[1],y,c);continue}var _=x();if(_){$(_),Eo(_.tagName,e)&&w(1);continue}}var b=void 0,A=void 0,C=void 0;if(d>=0){for(A=e.slice(d);!(wo.test(A)||Ao.test(A)||$o.test(A)||ko.test(A)||(C=A.indexOf("<",1))<0);)d+=C,A=e.slice(d);b=e.substring(0,d)}d<0&&(b=e),b&&w(b.length),t.chars&&b&&t.chars(b,c-b.length,c)}if(e===n){t.chars&&t.chars(e);break}}function w(t){c+=t,e=e.substring(t)}function x(){var t=e.match(Ao);if(t){var n,r,i={tagName:t[1],attrs:[],start:c};for(w(t[0].length);!(n=e.match(Co))&&(r=e.match(yo)||e.match(go));)r.start=c,w(r[0].length),r.end=c,i.attrs.push(r);if(n)return i.unarySlash=n[1],w(n[0].length),i.end=c,i}}function $(e){var n=e.tagName,c=e.unarySlash;o&&("p"===r&&mo(n)&&k(r),s(n)&&r===n&&k(n));for(var l=a(n)||!!c,u=e.attrs.length,f=new Array(u),p=0;p<u;p++){var d=e.attrs[p],v=d[3]||d[4]||d[5]||"",h="a"===n&&"href"===d[1]?t.shouldDecodeNewlinesForHref:t.shouldDecodeNewlines;f[p]={name:d[1],value:Mo(v,h)}}l||(i.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:f,start:e.start,end:e.end}),r=n),t.start&&t.start(n,f,l,e.start,e.end)}function k(e,n,o){var a,s;if(null==n&&(n=c),null==o&&(o=c),e)for(s=e.toLowerCase(),a=i.length-1;a>=0&&i[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var l=i.length-1;l>=a;l--)t.end&&t.end(i[l].tag,n,o);i.length=a,r=a&&i[a-1].tag}else"br"===s?t.start&&t.start(e,[],!0,n,o):"p"===s&&(t.start&&t.start(e,[],!1,n,o),t.end&&t.end(e,n,o))}k()}(e,{warn:Do,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,o,a,u,f){var p=r&&r.ns||zo(e);G&&"svg"===p&&(o=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];ua.test(r.name)||(r.name=r.name.replace(fa,""),t.push(r))}return t}(o));var d,v=ra(e,o,r);p&&(v.ns=p),"style"!==(d=v).tag&&("script"!==d.tag||d.attrsMap.type&&"text/javascript"!==d.attrsMap.type)||ie()||(v.forbidden=!0);for(var h=0;h<Po.length;h++)v=Po[h](v,t)||v;s||(function(e){null!=Mr(e,"v-pre")&&(e.pre=!0)}(v),v.pre&&(s=!0)),Ro(v.tag)&&(c=!0),s?function(e){var t=e.attrsList,n=t.length;if(n)for(var r=e.attrs=new Array(n),i=0;i<n;i++)r[i]={name:t[i].name,value:JSON.stringify(t[i].value)},null!=t[i].start&&(r[i].start=t[i].start,r[i].end=t[i].end);else e.pre||(e.plain=!0)}(v):v.processed||(oa(v),function(e){var t=Mr(e,"v-if");if(t)e.if=t,aa(e,{exp:t,block:e});else{null!=Mr(e,"v-else")&&(e.else=!0);var n=Mr(e,"v-else-if");n&&(e.elseif=n)}}(v),function(e){null!=Mr(e,"v-once")&&(e.once=!0)}(v)),n||(n=v),a?l(v):(r=v,i.push(v))},end:function(e,t,n){var o=i[i.length-1];i.length-=1,r=i[i.length-1],l(o)},chars:function(e,t,n){if(r&&(!G||"textarea"!==r.tag||r.attrsMap.placeholder!==e)){var i,l,u,f=r.children;(e=c||e.trim()?"script"===(i=r).tag||"style"===i.tag?e:ta(e):f.length?a?"condense"===a&&Yo.test(e)?"":" ":o?" ":"":"")&&(c||"condense"!==a||(e=e.replace(ea," ")),!s&&" "!==e&&(l=function(e,t){var n=t?uo(t):co;if(n.test(e)){for(var r,i,o,a=[],s=[],c=n.lastIndex=0;r=n.exec(e);){(i=r.index)>c&&(s.push(o=e.slice(c,i)),a.push(JSON.stringify(o)));var l=wr(r[1].trim());a.push("_s("+l+")"),s.push({"@binding":l}),c=i+r[0].length}return c<e.length&&(s.push(o=e.slice(c)),a.push(JSON.stringify(o))),{expression:a.join("+"),tokens:s}}}(e,No))?u={type:2,expression:l.expression,tokens:l.tokens,text:e}:" "===e&&f.length&&" "===f[f.length-1].text||(u={type:3,text:e}),u&&f.push(u))}},comment:function(e,t,n){if(r){var i={type:3,text:e,isComment:!0};r.children.push(i)}}}),n}(e.trim(),t);!1!==t.optimize&&function(e,t){e&&(da=ga(t.staticKeys||""),va=t.isReservedTag||L,function e(t){if(t.static=function(e){return 2!==e.type&&(3===e.type||!(!e.pre&&(e.hasBindings||e.if||e.for||m(e.tag)||!va(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(da))))}(t),1===t.type){if(!va(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n<r;n++){var i=t.children[n];e(i),i.static||(t.static=!1)}if(t.ifConditions)for(var o=1,a=t.ifConditions.length;o<a;o++){var s=t.ifConditions[o].block;e(s),s.static||(t.static=!1)}}}(e),function e(t,n){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=n),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var r=0,i=t.children.length;r<i;r++)e(t.children[r],n||!!t.for);if(t.ifConditions)for(var o=1,a=t.ifConditions.length;o<a;o++)e(t.ifConditions[o].block,n)}}(e,!1))}(n,t);var r=Ba(n,t);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(e){function t(t,n){var r=Object.create(e),i=[],o=[];if(n)for(var a in n.modules&&(r.modules=(e.modules||[]).concat(n.modules)),n.directives&&(r.directives=T(Object.create(e.directives||null),n.directives)),n)"modules"!==a&&"directives"!==a&&(r[a]=n[a]);r.warn=function(e,t,n){(n?o:i).push(e)};var s=qa(t.trim(),r);return s.errors=i,s.tips=o,s}return{compile:t,compileToFunctions:Ka(t)}})(ma),Za=(Wa.compile,Wa.compileToFunctions);function Ga(e){return(Ja=Ja||document.createElement("div")).innerHTML=e?'<a href="\n"/>':'<div a="\n"/>',Ja.innerHTML.indexOf("&#10;")>0}var Xa=!!q&&Ga(!1),Qa=!!q&&Ga(!0),Ya=A((function(e){var t=Zn(e);return t&&t.innerHTML})),es=Cn.prototype.$mount;Cn.prototype.$mount=function(e,t){if((e=e&&Zn(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=Ya(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){if(e.outerHTML)return e.outerHTML;var t=document.createElement("div");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){var i=Za(r,{outputSourceRange:!1,shouldDecodeNewlines:Xa,shouldDecodeNewlinesForHref:Qa,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return es.call(this,e,t)},Cn.compile=Za,e.exports=Cn}},t={};function n(r){var i=t[r];if(void 0!==i)return i.exports;var o=t[r]={id:r,exports:{}};return e[r](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e=i(n(19078)),t=i(n(48473)),r=i(n(43284));function i(e){return e&&e.__esModule?e:{default:e}}var o=window.$;o((function(){new e.default("#cms_page_page_category_id"),window.prestashop.component.initComponents(["TranslatableInput","TranslatableField","TinyMCEEditor"]);var n=window.prestashop.instance.translatableInput;new r.default({container:"#serp-app",defaultTitle:'input[name^="cms_page[title]"]',watchedTitle:'input[name^="cms_page[meta_title]"]',defaultDescription:'input[name^="cms_page[description]"]',watchedDescription:'input[name^="cms_page[meta_description]"]',watchedMetaUrl:'input[name^="cms_page[friendly_url]"]',multiLanguageInput:n.localeInputSelector+":not(.d-none)",multiLanguageItem:n.localeItemSelector},o("#serp-app").data("cms-url")),new window.prestashop.component.TaggableField({tokenFieldSelector:"input.js-taggable-field",options:{createTokensOnBlur:!0}}),new window.prestashop.component.PreviewOpener(".js-preview-url"),(0,t.default)({sourceElementSelector:"input.js-copier-source-title",destinationElementSelector:n.localeInputSelector+":not(.d-none) input.js-copier-destination-friendly-url"}),new e.default("#cms_page_shop_association").enableAutoCheckChildren()}))})(),window.cms_page_form={}})();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9bbmFtZV0vLi9qcy9hcHAvdXRpbHMvc2VycC9pbmRleC5qcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9qcy9jb21wb25lbnRzL2V2ZW50LWVtaXR0ZXIuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vanMvY29tcG9uZW50cy9mb3JtL2Nob2ljZS10cmVlLmpzIiwid2VicGFjazovL1tuYW1lXS8uL2pzL2NvbXBvbmVudHMvdGV4dC10by1saW5rLXJld3JpdGUtY29waWVyLmpzIiwid2VicGFjazovL1tuYW1lXS9qcy9hcHAvdXRpbHMvc2VycC9zZXJwLnZ1ZSIsIndlYnBhY2s6Ly9bbmFtZV0vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9jb3JlLWpzL29iamVjdC9kZWZpbmUtcHJvcGVydHkuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2JhYmVsLXJ1bnRpbWUvaGVscGVycy9jbGFzc0NhbGxDaGVjay5qcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9ub2RlX21vZHVsZXMvYmFiZWwtcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzLmpzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvZm4vb2JqZWN0L2RlZmluZS1wcm9wZXJ0eS5qcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9saWJyYXJ5L21vZHVsZXMvX2EtZnVuY3Rpb24uanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19hbi1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19jb3JlLmpzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fY3R4LmpzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZGVzY3JpcHRvcnMuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19kb20tY3JlYXRlLmpzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZXhwb3J0LmpzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fZmFpbHMuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19nbG9iYWwuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oYXMuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19oaWRlLmpzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9faWU4LWRvbS1kZWZpbmUuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19pcy1vYmplY3QuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19vYmplY3QtZHAuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbGlicmFyeS9tb2R1bGVzL19wcm9wZXJ0eS1kZXNjLmpzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9fdG8tcHJpbWl0aXZlLmpzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2xpYnJhcnkvbW9kdWxlcy9lczYub2JqZWN0LmRlZmluZS1wcm9wZXJ0eS5qcyIsIndlYnBhY2s6Ly9bbmFtZV0vLi9qcy9hcHAvdXRpbHMvc2VycC9zZXJwLnZ1ZT9mYThjIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL2V2ZW50cy9ldmVudHMuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vanMvYXBwL3V0aWxzL3NlcnAvc2VycC52dWU/M2Q4NSIsIndlYnBhY2s6Ly9bbmFtZV0vLi9qcy9hcHAvdXRpbHMvc2VycC9zZXJwLnZ1ZT9iZjYyIiwid2VicGFjazovL1tuYW1lXS8uL2pzL2FwcC91dGlscy9zZXJwL3NlcnAudnVlIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vanMvYXBwL3V0aWxzL3NlcnAvc2VycC52dWU/YjAyMCIsIndlYnBhY2s6Ly9bbmFtZV0vLi9ub2RlX21vZHVsZXMvdnVlLXN0eWxlLWxvYWRlci9saWIvbGlzdFRvU3R5bGVzLmpzIiwid2VicGFjazovL1tuYW1lXS8uL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL3Z1ZS9kaXN0L3Z1ZS5jb21tb24uanMiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vbm9kZV9tb2R1bGVzL3Z1ZS9kaXN0L3Z1ZS5jb21tb24ucHJvZC5qcyIsIndlYnBhY2s6Ly9bbmFtZV0vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vW25hbWVdL3dlYnBhY2svcnVudGltZS9jb21wYXQgZ2V0IGRlZmF1bHQgZXhwb3J0Iiwid2VicGFjazovL1tuYW1lXS93ZWJwYWNrL3J1bnRpbWUvZGVmaW5lIHByb3BlcnR5IGdldHRlcnMiLCJ3ZWJwYWNrOi8vW25hbWVdL3dlYnBhY2svcnVudGltZS9nbG9iYWwiLCJ3ZWJwYWNrOi8vW25hbWVdL3dlYnBhY2svcnVudGltZS9oYXNPd25Qcm9wZXJ0eSBzaG9ydGhhbmQiLCJ3ZWJwYWNrOi8vW25hbWVdL3dlYnBhY2svcnVudGltZS9tYWtlIG5hbWVzcGFjZSBvYmplY3QiLCJ3ZWJwYWNrOi8vW25hbWVdLy4vanMvcGFnZXMvY21zLXBhZ2UvZm9ybS9pbmRleC5qcyJdLCJuYW1lcyI6WyIkIiwid2luZG93IiwiU2VycEFwcCIsInNlbGVjdG9ycyIsInVybCIsImNvbnRhaW5lciIsImxlbmd0aCIsInRoaXMiLCJvcmlnaW5hbFVybCIsInVzZU11bHRpTGFuZyIsInVuZGVmaW5lZCIsIm11bHRpTGFuZ3VhZ2VJbnB1dCIsIm11bHRpTGFuZ3VhZ2VGaWVsZCIsInBvc3NpYmxlU2VsZWN0b3JzIiwicHVzaCIsIm11bHRpTGFuZ1NlbGVjdG9yIiwiam9pbiIsImF0dGFjaE11bHRpTGFuZ0V2ZW50cyIsImRhdGEiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwidm0iLCJWdWUiLCJlbCIsInRlbXBsYXRlIiwiY29tcG9uZW50cyIsInNlcnAiLCJpbml0aWFsaXplU2VsZWN0b3JzIiwiYXR0YWNoSW5wdXRFdmVudHMiLCJpdGVtU2VsZWN0b3IiLCJvbiIsImNoZWNrVGl0bGUiLCJjaGVja0Rlc2MiLCJjaGVja1VybCIsIkV2ZW50RW1pdHRlciIsImRlZmF1bHRUaXRsZSIsIndhdGNoZWRUaXRsZSIsImRlZmF1bHREZXNjcmlwdGlvbiIsIndhdGNoZWREZXNjcmlwdGlvbiIsIndhdGNoZWRNZXRhVXJsIiwicmV3cml0ZSIsInJlcGxhY2UiLCJjbG9zZXN0IiwiZmluZCIsInRpdGxlMSIsInZhbCIsInRpdGxlMiIsInNldFRpdGxlIiwiaXMiLCJkZXNjMSIsImlubmVyVGV4dCIsImRlc2MyIiwidGV4dCIsInNldERlc2NyaXB0aW9uIiwic2V0VXJsIiwiRXZlbnRFbWl0dGVyQ2xhc3MiLCJDaG9pY2VUcmVlIiwidHJlZVNlbGVjdG9yIiwiJGNvbnRhaW5lciIsImV2ZW50IiwiJGlucHV0V3JhcHBlciIsImN1cnJlbnRUYXJnZXQiLCJ0b2dnbGVDaGlsZFRyZWUiLCIkYWN0aW9uIiwidG9nZ2xlVHJlZSIsImVuYWJsZUF1dG9DaGVja0NoaWxkcmVuIiwiZW5hYmxlQWxsSW5wdXRzIiwiZGlzYWJsZUFsbElucHV0cyIsIiRjbGlja2VkQ2hlY2tib3giLCJwcm9wIiwicmVtb3ZlQXR0ciIsImF0dHIiLCIkcGFyZW50V3JhcHBlciIsImhhc0NsYXNzIiwicmVtb3ZlQ2xhc3MiLCJhZGRDbGFzcyIsIiRwYXJlbnRDb250YWluZXIiLCJhY3Rpb24iLCJjb25maWciLCJleHBhbmQiLCJjb2xsYXBzZSIsIm5leHRBY3Rpb24iLCJpY29uIiwiZWFjaCIsImluZGV4IiwiaXRlbSIsIiRpdGVtIiwic291cmNlRWxlbWVudFNlbGVjdG9yIiwiZGVzdGluYXRpb25FbGVtZW50U2VsZWN0b3IiLCJvcHRpb25zIiwiZXZlbnROYW1lIiwiZG9jdW1lbnQiLCJzdHIydXJsIiwibW9kdWxlIiwiZXhwb3J0cyIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiaW5zdGFuY2UiLCJDb25zdHJ1Y3RvciIsIlR5cGVFcnJvciIsIm9iaiIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJkZWZpbmVQcm9wZXJ0aWVzIiwidGFyZ2V0IiwicHJvcHMiLCJpIiwiZGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImtleSIsInByb3RvUHJvcHMiLCJzdGF0aWNQcm9wcyIsInByb3RvdHlwZSIsIiRPYmplY3QiLCJpdCIsImRlc2MiLCJkZWZpbmVQcm9wZXJ0eSIsImlzT2JqZWN0IiwiY29yZSIsInZlcnNpb24iLCJfX2UiLCJhRnVuY3Rpb24iLCJmbiIsInRoYXQiLCJhIiwiY2FsbCIsImIiLCJjIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJPYmplY3QiLCJnZXQiLCJjcmVhdGVFbGVtZW50IiwiZ2xvYmFsIiwiY3R4IiwiaGlkZSIsImhhcyIsIiRleHBvcnQiLCJ0eXBlIiwibmFtZSIsInNvdXJjZSIsIm93biIsIm91dCIsIklTX0ZPUkNFRCIsIkYiLCJJU19HTE9CQUwiLCJHIiwiSVNfU1RBVElDIiwiUyIsIklTX1BST1RPIiwiUCIsIklTX0JJTkQiLCJCIiwiSVNfV1JBUCIsIlciLCJleHBQcm90byIsIkMiLCJGdW5jdGlvbiIsInZpcnR1YWwiLCJSIiwiVSIsImV4ZWMiLCJlIiwiTWF0aCIsInNlbGYiLCJfX2ciLCJoYXNPd25Qcm9wZXJ0eSIsImRQIiwiY3JlYXRlRGVzYyIsIm9iamVjdCIsInZhbHVlIiwiZiIsImFuT2JqZWN0IiwiSUU4X0RPTV9ERUZJTkUiLCJ0b1ByaW1pdGl2ZSIsIk8iLCJBdHRyaWJ1dGVzIiwiYml0bWFwIiwidG9TdHJpbmciLCJ2YWx1ZU9mIiwiX19fQ1NTX0xPQURFUl9FWFBPUlRfX18iLCJpZCIsImNzc1dpdGhNYXBwaW5nVG9TdHJpbmciLCJsaXN0IiwibWFwIiwiY29udGVudCIsImNvbmNhdCIsIm1vZHVsZXMiLCJtZWRpYVF1ZXJ5IiwiZGVkdXBlIiwiYWxyZWFkeUltcG9ydGVkTW9kdWxlcyIsIl9pIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJhcnIiLCJsZW4iLCJhcnIyIiwiQXJyYXkiLCJfaXRlbSIsImlzQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJTeW1ib2wiLCJpdGVyYXRvciIsIl9hcnIiLCJfbiIsIl9kIiwiX2UiLCJfcyIsIm5leHQiLCJkb25lIiwiZXJyIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwibyIsIm1pbkxlbiIsIm4iLCJzbGljZSIsImNvbnN0cnVjdG9yIiwiZnJvbSIsInRlc3QiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiY3NzTWFwcGluZyIsImJ0b2EiLCJiYXNlNjQiLCJ1bmVzY2FwZSIsImVuY29kZVVSSUNvbXBvbmVudCIsIkpTT04iLCJzdHJpbmdpZnkiLCJzb3VyY2VNYXBwaW5nIiwic291cmNlVVJMcyIsInNvdXJjZXMiLCJzb3VyY2VSb290IiwiUmVmbGVjdE93bktleXMiLCJSZWZsZWN0IiwiUmVmbGVjdEFwcGx5IiwicmVjZWl2ZXIiLCJhcmdzIiwib3duS2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImdldE93blByb3BlcnR5TmFtZXMiLCJOdW1iZXJJc05hTiIsIk51bWJlciIsImlzTmFOIiwiaW5pdCIsIl9ldmVudHMiLCJfZXZlbnRzQ291bnQiLCJfbWF4TGlzdGVuZXJzIiwiZGVmYXVsdE1heExpc3RlbmVycyIsImNoZWNrTGlzdGVuZXIiLCJsaXN0ZW5lciIsIl9nZXRNYXhMaXN0ZW5lcnMiLCJfYWRkTGlzdGVuZXIiLCJwcmVwZW5kIiwibSIsImV2ZW50cyIsImV4aXN0aW5nIiwid2FybmluZyIsImNyZWF0ZSIsIm5ld0xpc3RlbmVyIiwiZW1pdCIsInVuc2hpZnQiLCJ3YXJuZWQiLCJ3IiwiRXJyb3IiLCJTdHJpbmciLCJlbWl0dGVyIiwiY291bnQiLCJjb25zb2xlIiwid2FybiIsIm9uY2VXcmFwcGVyIiwiZmlyZWQiLCJyZW1vdmVMaXN0ZW5lciIsIndyYXBGbiIsIl9vbmNlV3JhcCIsInN0YXRlIiwid3JhcHBlZCIsImJpbmQiLCJfbGlzdGVuZXJzIiwidW53cmFwIiwiZXZsaXN0ZW5lciIsInJldCIsInVud3JhcExpc3RlbmVycyIsImFycmF5Q2xvbmUiLCJsaXN0ZW5lckNvdW50IiwiY29weSIsInNldCIsImFyZyIsIlJhbmdlRXJyb3IiLCJnZXRQcm90b3R5cGVPZiIsInNldE1heExpc3RlbmVycyIsImdldE1heExpc3RlbmVycyIsImRvRXJyb3IiLCJlcnJvciIsImVyIiwibWVzc2FnZSIsImNvbnRleHQiLCJoYW5kbGVyIiwibGlzdGVuZXJzIiwiYWRkTGlzdGVuZXIiLCJwcmVwZW5kTGlzdGVuZXIiLCJvbmNlIiwicHJlcGVuZE9uY2VMaXN0ZW5lciIsInBvc2l0aW9uIiwib3JpZ2luYWxMaXN0ZW5lciIsInNoaWZ0IiwicG9wIiwic3BsaWNlT25lIiwib2ZmIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwia2V5cyIsInJhd0xpc3RlbmVycyIsImV2ZW50TmFtZXMiLCJyZW5kZXIiLCJfdm0iLCJfaCIsIiRjcmVhdGVFbGVtZW50IiwiX2MiLCJfc2VsZiIsImF0dHJzIiwic3RhdGljQ2xhc3MiLCJfdiIsImRpc3BsYXllZFRpdGxlIiwiZGlzcGxheWVkRGVzY3JpcHRpb24iLCJfd2l0aFN0cmlwcGVkIiwiY29tcG9uZW50IiwiX19maWxlIiwibm9ybWFsaXplQ29tcG9uZW50Iiwic2NyaXB0RXhwb3J0cyIsInN0YXRpY1JlbmRlckZucyIsImZ1bmN0aW9uYWxUZW1wbGF0ZSIsImluamVjdFN0eWxlcyIsInNjb3BlSWQiLCJtb2R1bGVJZGVudGlmaWVyIiwic2hhZG93TW9kZSIsImhvb2siLCJfY29tcGlsZWQiLCJmdW5jdGlvbmFsIiwiX3Njb3BlSWQiLCIkdm5vZGUiLCJzc3JDb250ZXh0IiwicGFyZW50IiwiX19WVUVfU1NSX0NPTlRFWFRfXyIsIl9yZWdpc3RlcmVkQ29tcG9uZW50cyIsImFkZCIsIl9zc3JSZWdpc3RlciIsIiRyb290IiwiJG9wdGlvbnMiLCJzaGFkb3dSb290IiwiX2luamVjdFN0eWxlcyIsIm9yaWdpbmFsUmVuZGVyIiwiaCIsImJlZm9yZUNyZWF0ZSIsImxvY2FscyIsImxpc3RUb1N0eWxlcyIsInBhcmVudElkIiwic3R5bGVzIiwibmV3U3R5bGVzIiwicGFydCIsImNzcyIsIm1lZGlhIiwic291cmNlTWFwIiwicGFydHMiLCJoYXNEb2N1bWVudCIsIkRFQlVHIiwic3R5bGVzSW5Eb20iLCJoZWFkIiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJzaW5nbGV0b25FbGVtZW50Iiwic2luZ2xldG9uQ291bnRlciIsImlzUHJvZHVjdGlvbiIsIm5vb3AiLCJzc3JJZEtleSIsImlzT2xkSUUiLCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJ0b0xvd2VyQ2FzZSIsImFkZFN0eWxlc0NsaWVudCIsIl9pc1Byb2R1Y3Rpb24iLCJfb3B0aW9ucyIsImFkZFN0eWxlc1RvRG9tIiwibmV3TGlzdCIsIm1heVJlbW92ZSIsImRvbVN0eWxlIiwicmVmcyIsImoiLCJhZGRTdHlsZSIsImNyZWF0ZVN0eWxlRWxlbWVudCIsInN0eWxlRWxlbWVudCIsImFwcGVuZENoaWxkIiwidXBkYXRlIiwicmVtb3ZlIiwicXVlcnlTZWxlY3RvciIsInBhcmVudE5vZGUiLCJyZW1vdmVDaGlsZCIsInN0eWxlSW5kZXgiLCJhcHBseVRvU2luZ2xldG9uVGFnIiwiYXBwbHlUb1RhZyIsIm5ld09iaiIsInRleHRTdG9yZSIsInJlcGxhY2VUZXh0IiwicmVwbGFjZW1lbnQiLCJmaWx0ZXIiLCJCb29sZWFuIiwic3R5bGVTaGVldCIsImNzc1RleHQiLCJjc3NOb2RlIiwiY3JlYXRlVGV4dE5vZGUiLCJjaGlsZE5vZGVzIiwiaW5zZXJ0QmVmb3JlIiwic2V0QXR0cmlidXRlIiwic3NySWQiLCJmaXJzdENoaWxkIiwiZnJlZXplIiwidCIsInIiLCJzIiwicGFyc2VGbG9hdCIsImZsb29yIiwiaXNGaW5pdGUiLCJ1IiwidGhlbiIsImNhdGNoIiwibCIsInAiLCJzcGxpdCIsImQiLCJ2IiwiaW5kZXhPZiIsInNwbGljZSIsInkiLCJnIiwiXyIsInRvVXBwZXJDYXNlIiwiY2hhckF0IiwieCIsIl9sZW5ndGgiLCJrIiwiQSIsIlQiLCJFIiwiTiIsImV2ZXJ5IiwiRGF0ZSIsImdldFRpbWUiLCJEIiwiTCIsIk0iLCJJIiwib3B0aW9uTWVyZ2VTdHJhdGVnaWVzIiwic2lsZW50IiwicHJvZHVjdGlvblRpcCIsImRldnRvb2xzIiwicGVyZm9ybWFuY2UiLCJlcnJvckhhbmRsZXIiLCJ3YXJuSGFuZGxlciIsImlnbm9yZWRFbGVtZW50cyIsImtleUNvZGVzIiwiaXNSZXNlcnZlZFRhZyIsImlzUmVzZXJ2ZWRBdHRyIiwiaXNVbmtub3duRWxlbWVudCIsImdldFRhZ05hbWVzcGFjZSIsInBhcnNlUGxhdGZvcm1UYWdOYW1lIiwibXVzdFVzZVByb3AiLCJhc3luYyIsIl9saWZlY3ljbGVIb29rcyIsIkgiLCJSZWdFeHAiLCJ6IiwiViIsIldYRW52aXJvbm1lbnQiLCJwbGF0Zm9ybSIsIksiLCJKIiwicSIsIloiLCJYIiwibWF0Y2giLCJZIiwid2F0Y2giLCJRIiwiZWUiLCJhZGRFdmVudExpc3RlbmVyIiwidGUiLCJwcm9jZXNzIiwiZW52IiwiVlVFX0VOViIsIm5lIiwiX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXyIsInJlIiwiaWUiLCJvZSIsIlNldCIsImNsZWFyIiwiYWUiLCJzZSIsImNlIiwic3VicyIsImFkZFN1YiIsInJlbW92ZVN1YiIsImRlcGVuZCIsImFkZERlcCIsIm5vdGlmeSIsInVlIiwibGUiLCJmZSIsInBlIiwidGFnIiwiY2hpbGRyZW4iLCJlbG0iLCJucyIsImZuQ29udGV4dCIsImZuT3B0aW9ucyIsImZuU2NvcGVJZCIsImNvbXBvbmVudE9wdGlvbnMiLCJjb21wb25lbnRJbnN0YW5jZSIsInJhdyIsImlzU3RhdGljIiwiaXNSb290SW5zZXJ0IiwiaXNDb21tZW50IiwiaXNDbG9uZWQiLCJpc09uY2UiLCJhc3luY0ZhY3RvcnkiLCJhc3luY01ldGEiLCJpc0FzeW5jUGxhY2Vob2xkZXIiLCJkZSIsImNoaWxkIiwidmUiLCJoZSIsIm1lIiwieWUiLCJnZSIsImZvckVhY2giLCJfX29iX18iLCJvYnNlcnZlQXJyYXkiLCJkZXAiLCJiZSIsIiRlIiwid2UiLCJ2bUNvdW50IiwiX19wcm90b19fIiwid2FsayIsIkNlIiwiaXNFeHRlbnNpYmxlIiwiX2lzVnVlIiwieGUiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZSIsIm1heCIsIkFlIiwiT2UiLCJTZSIsIlRlIiwiRWUiLCJOZSIsIm1ldGhvZHMiLCJpbmplY3QiLCJjb21wdXRlZCIsInByb3ZpZGUiLCJqZSIsIkRlIiwiZGlyZWN0aXZlcyIsIl9iYXNlIiwiZXh0ZW5kcyIsIm1peGlucyIsIkxlIiwiTWUiLCJQZSIsInByb3BzRGF0YSIsIl9wcm9wcyIsIkllIiwiRmUiLCJSZSIsIiRwYXJlbnQiLCJlcnJvckNhcHR1cmVkIiwiQmUiLCJIZSIsIl9oYW5kbGVkIiwiVWUiLCJ6ZSIsIlZlIiwiS2UiLCJKZSIsInFlIiwiUHJvbWlzZSIsIldlIiwicmVzb2x2ZSIsInNldFRpbWVvdXQiLCJNdXRhdGlvbk9ic2VydmVyIiwic2V0SW1tZWRpYXRlIiwiWmUiLCJHZSIsIlhlIiwib2JzZXJ2ZSIsImNoYXJhY3RlckRhdGEiLCJZZSIsIlFlIiwiZXQiLCJpc0Zyb3plbiIsInR0IiwiY2FwdHVyZSIsInBhc3NpdmUiLCJudCIsImZucyIsInJ0IiwicGFyYW1zIiwibWVyZ2VkIiwib3QiLCJhdCIsInN0IiwiX2lzVkxpc3QiLCJjdCIsIl9wcm92aWRlZCIsInV0Iiwic2xvdCIsImx0IiwiZnQiLCIkc3RhYmxlIiwiJGtleSIsIl9ub3JtYWxpemVkIiwiJGhhc05vcm1hbCIsInB0IiwiZHQiLCJwcm94eSIsInZ0IiwiaHQiLCIkc2NvcGVkU2xvdHMiLCIkc2xvdHMiLCJtdCIsInl0IiwiZ3QiLCJfdCIsImRvbVByb3BzIiwiYnQiLCJfc3RhdGljVHJlZXMiLCJ3dCIsIl9yZW5kZXJQcm94eSIsIiR0IiwiQ3QiLCJ4dCIsImt0IiwiQXQiLCJPdCIsIlN0IiwiX28iLCJfbCIsIl9xIiwiX20iLCJfZiIsIl9rIiwiX2IiLCJfdSIsIl9nIiwiX3AiLCJUdCIsIl9vcmlnaW5hbCIsImluamVjdGlvbnMiLCJzbG90cyIsInNjb3BlZFNsb3RzIiwiUHQiLCJFdCIsIk50IiwianQiLCJfaXNEZXN0cm95ZWQiLCJrZWVwQWxpdmUiLCJwcmVwYXRjaCIsIl9pc0NvbXBvbmVudCIsIl9wYXJlbnRWbm9kZSIsImlubGluZVRlbXBsYXRlIiwiQ3RvciIsIld0IiwiJG1vdW50IiwiX3JlbmRlckNoaWxkcmVuIiwiX3Zub2RlIiwiJGF0dHJzIiwiJGxpc3RlbmVycyIsIl9wcm9wS2V5cyIsIl9wYXJlbnRMaXN0ZW5lcnMiLCJxdCIsIiRmb3JjZVVwZGF0ZSIsImluc2VydCIsIl9pc01vdW50ZWQiLCJZdCIsIl9pbmFjdGl2ZSIsImVuIiwiWHQiLCJkZXN0cm95IiwiX2RpcmVjdEluYWN0aXZlIiwiR3QiLCIkY2hpbGRyZW4iLCIkZGVzdHJveSIsIkR0IiwiTHQiLCJleHRlbmQiLCJjaWQiLCJlcnJvckNvbXAiLCJyZXNvbHZlZCIsIkh0Iiwib3duZXJzIiwibG9hZGluZyIsImxvYWRpbmdDb21wIiwiJG9uIiwiY2xlYXJUaW1lb3V0IiwiQnQiLCJkZWxheSIsInRpbWVvdXQiLCIkbiIsIm1vZGVsIiwiY2FsbGJhY2siLCJuYXRpdmVPbiIsImFic3RyYWN0IiwiX21lcmdlZCIsIk10IiwicHJlIiwic3R5bGUiLCJjbGFzcyIsIlJ0IiwidG9TdHJpbmdUYWciLCJVdCIsInp0IiwiVnQiLCJLdCIsIiRvZmYiLCJKdCIsIlp0IiwiX2hhc0hvb2tFdmVudCIsIiRlbWl0IiwiUXQiLCJ0biIsIm5uIiwicm4iLCJhbiIsInNuIiwibm93IiwiY24iLCJjcmVhdGVFdmVudCIsInRpbWVTdGFtcCIsInVuIiwic29ydCIsImJlZm9yZSIsInJ1biIsIl93YXRjaGVyIiwibG4iLCJfd2F0Y2hlcnMiLCJkZWVwIiwidXNlciIsImxhenkiLCJzeW5jIiwiY2IiLCJhY3RpdmUiLCJkaXJ0eSIsImRlcHMiLCJuZXdEZXBzIiwiZGVwSWRzIiwibmV3RGVwSWRzIiwiZXhwcmVzc2lvbiIsImdldHRlciIsImNsZWFudXBEZXBzIiwiZXZhbHVhdGUiLCJ0ZWFyZG93biIsIl9pc0JlaW5nRGVzdHJveWVkIiwicG4iLCJkbiIsImhuIiwibW4iLCJ5biIsImduIiwiY2FjaGUiLCJfY29tcHV0ZWRXYXRjaGVycyIsIiR3YXRjaCIsImJuIiwic3VwZXIiLCJzdXBlck9wdGlvbnMiLCJzZWFsZWRPcHRpb25zIiwiZXh0ZW5kT3B0aW9ucyIsInduIiwiX2luaXQiLCJ4biIsImtuIiwiQW4iLCJPbiIsIl91aWQiLCJfY29tcG9uZW50VGFnIiwiJHJlZnMiLCJfZGF0YSIsImNoYXJDb2RlQXQiLCJ2biIsIiRzZXQiLCIkZGVsZXRlIiwiaW1tZWRpYXRlIiwiJG9uY2UiLCJfdXBkYXRlIiwiJGVsIiwiX19wYXRjaF9fIiwiX192dWVfXyIsIiRuZXh0VGljayIsIl9yZW5kZXIiLCJTbiIsIlRuIiwiS2VlcEFsaXZlIiwiaW5jbHVkZSIsImV4Y2x1ZGUiLCJjcmVhdGVkIiwiZGVzdHJveWVkIiwibW91bnRlZCIsInBhcnNlSW50IiwidXRpbCIsIm1lcmdlT3B0aW9ucyIsImRlZmluZVJlYWN0aXZlIiwiZGVsZXRlIiwibmV4dFRpY2siLCJvYnNlcnZhYmxlIiwidXNlIiwiX2luc3RhbGxlZFBsdWdpbnMiLCJpbnN0YWxsIiwibWl4aW4iLCJfQ3RvciIsIkNuIiwiRW4iLCJObiIsImpuIiwiRG4iLCJMbiIsIkluIiwiRm4iLCJQbiIsIlJuIiwiSG4iLCJVbiIsInpuIiwiVm4iLCJLbiIsInN2ZyIsIm1hdGgiLCJKbiIsInFuIiwiV24iLCJabiIsIkduIiwiWG4iLCJZbiIsIlFuIiwibXVsdGlwbGUiLCJjcmVhdGVFbGVtZW50TlMiLCJjcmVhdGVDb21tZW50IiwibmV4dFNpYmxpbmciLCJ0YWdOYW1lIiwic2V0VGV4dENvbnRlbnQiLCJ0ZXh0Q29udGVudCIsInNldFN0eWxlU2NvcGUiLCJ0ciIsInJlZiIsInJlZkluRm9yIiwibnIiLCJyciIsImlyIiwib3IiLCJhciIsInNyIiwidXIiLCJvbGRWYWx1ZSIsIm9sZEFyZyIsImZyIiwiZGVmIiwiY29tcG9uZW50VXBkYXRlZCIsImluc2VydGVkIiwiY3IiLCJtb2RpZmllcnMiLCJsciIsInJhd05hbWUiLCJwciIsImRyIiwiaW5oZXJpdEF0dHJzIiwidnIiLCJyZW1vdmVBdHRyaWJ1dGVOUyIsInJlbW92ZUF0dHJpYnV0ZSIsImhyIiwiTW4iLCJzZXRBdHRyaWJ1dGVOUyIsIl9faWVwaCIsInN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtciIsInlyIiwiQm4iLCJfdHJhbnNpdGlvbkNsYXNzZXMiLCJfcHJldkNsYXNzIiwiZ3IiLCJfciIsImJyIiwiJHIiLCJ3ciIsIkNyIiwieHIiLCJrciIsIkFyIiwidHJpbSIsIk9yIiwiU3IiLCJUciIsIkVyIiwiUnIiLCJkeW5hbWljIiwicGxhaW4iLCJOciIsImR5bmFtaWNBdHRycyIsImpyIiwiYXR0cnNNYXAiLCJhdHRyc0xpc3QiLCJEciIsImlzRHluYW1pY0FyZyIsIkxyIiwiTXIiLCJyaWdodCIsIm1pZGRsZSIsIm5hdGl2ZSIsIm5hdGl2ZUV2ZW50cyIsIklyIiwiRnIiLCJQciIsInN0YXJ0IiwiZW5kIiwiSHIiLCJudW1iZXIiLCJCciIsImxhc3RJbmRleE9mIiwiZXhwIiwienIiLCJWciIsIlVyIiwiSnIiLCJLciIsInFyIiwiR3IiLCJRciIsIlhyIiwiWXIiLCJfd3JhcHBlciIsIm93bmVyRG9jdW1lbnQiLCJlaSIsImNoYW5nZSIsInRpIiwibmkiLCJyaSIsIl92YWx1ZSIsImlpIiwiaW5uZXJIVE1MIiwiY29tcG9zaW5nIiwiYWN0aXZlRWxlbWVudCIsIl92TW9kaWZpZXJzIiwib2kiLCJhaSIsInNpIiwiY2kiLCJzdGF0aWNTdHlsZSIsInVpIiwibGkiLCJmaSIsInBpIiwic2V0UHJvcGVydHkiLCJ2aSIsImRpIiwiaGkiLCJub3JtYWxpemVkU3R5bGUiLCJtaSIsInlpIiwiZ2kiLCJjbGFzc0xpc3QiLCJnZXRBdHRyaWJ1dGUiLCJiaSIsIiRpIiwiZW50ZXJDbGFzcyIsImVudGVyVG9DbGFzcyIsImVudGVyQWN0aXZlQ2xhc3MiLCJsZWF2ZUNsYXNzIiwibGVhdmVUb0NsYXNzIiwibGVhdmVBY3RpdmVDbGFzcyIsIndpIiwiQ2kiLCJ4aSIsImtpIiwiQWkiLCJPaSIsIlNpIiwib250cmFuc2l0aW9uZW5kIiwib253ZWJraXR0cmFuc2l0aW9uZW5kIiwib25hbmltYXRpb25lbmQiLCJvbndlYmtpdGFuaW1hdGlvbmVuZCIsIlRpIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiRWkiLCJOaSIsImppIiwiRGkiLCJNaSIsInByb3BDb3VudCIsIkxpIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsIklpIiwiaGFzVHJhbnNmb3JtIiwiRmkiLCJQaSIsIl9sZWF2ZUNiIiwiY2FuY2VsbGVkIiwidHJhbnNpdGlvbiIsIl9lbnRlckNiIiwibm9kZVR5cGUiLCJhcHBlYXJDbGFzcyIsImFwcGVhclRvQ2xhc3MiLCJhcHBlYXJBY3RpdmVDbGFzcyIsImJlZm9yZUVudGVyIiwiZW50ZXIiLCJhZnRlckVudGVyIiwiZW50ZXJDYW5jZWxsZWQiLCJiZWZvcmVBcHBlYXIiLCJhcHBlYXIiLCJhZnRlckFwcGVhciIsImFwcGVhckNhbmNlbGxlZCIsImR1cmF0aW9uIiwiQmkiLCJzaG93IiwiX3BlbmRpbmciLCJIaSIsIlJpIiwiYmVmb3JlTGVhdmUiLCJsZWF2ZSIsImFmdGVyTGVhdmUiLCJsZWF2ZUNhbmNlbGxlZCIsImRlbGF5TGVhdmUiLCJVaSIsInppIiwibm9kZU9wcyIsImFjdGl2YXRlIiwicGVuZGluZ0luc2VydCIsInBvc3RwYXRjaCIsImhhc0NoaWxkTm9kZXMiLCJoYXNBdHRyaWJ1dGUiLCJ2bW9kZWwiLCJYaSIsIlZpIiwiX3ZPcHRpb25zIiwiS2kiLCJXaSIsIlppIiwiR2kiLCJzb21lIiwicWkiLCJKaSIsInNlbGVjdGVkIiwic2VsZWN0ZWRJbmRleCIsImluaXRFdmVudCIsImRpc3BhdGNoRXZlbnQiLCJZaSIsIlFpIiwiX192T3JpZ2luYWxEaXNwbGF5IiwiZGlzcGxheSIsInVuYmluZCIsImVvIiwibW9kZSIsInRvIiwibm8iLCJybyIsImlvIiwib28iLCJhbyIsIl9sZWF2aW5nIiwic28iLCJtb3ZlQ2xhc3MiLCJjbyIsIl9tb3ZlQ2IiLCJ1byIsIm5ld1BvcyIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImxvIiwicG9zIiwibGVmdCIsInRvcCIsIm1vdmVkIiwidHJhbnNmb3JtIiwiV2Via2l0VHJhbnNmb3JtIiwidHJhbnNpdGlvbkR1cmF0aW9uIiwiZm8iLCJUcmFuc2l0aW9uIiwiVHJhbnNpdGlvbkdyb3VwIiwiYmVmb3JlTW91bnQiLCJrZXB0IiwicHJldkNoaWxkcmVuIiwicmVtb3ZlZCIsInVwZGF0ZWQiLCJoYXNNb3ZlIiwiX3JlZmxvdyIsImJvZHkiLCJvZmZzZXRIZWlnaHQiLCJwcm9wZXJ0eU5hbWUiLCJfaGFzTW92ZSIsImNsb25lTm9kZSIsIkhUTUxVbmtub3duRWxlbWVudCIsIkhUTUxFbGVtZW50IiwieW8iLCJwbyIsInZvIiwiaG8iLCJtbyIsInN0YXRpY0tleXMiLCJ0cmFuc2Zvcm1Ob2RlIiwiY2xhc3NCaW5kaW5nIiwiZ2VuRGF0YSIsImdvIiwic3R5bGVCaW5kaW5nIiwiYm8iLCIkbyIsIndvIiwiQ28iLCJ4byIsImtvIiwiQW8iLCJPbyIsIlNvIiwiVG8iLCJFbyIsIk5vIiwiam8iLCJEbyIsIkxvIiwiTW8iLCJJbyIsIkZvIiwiUG8iLCJSbyIsIkhvIiwiQm8iLCJVbyIsInpvIiwiVm8iLCJLbyIsIkpvIiwicW8iLCJXbyIsIlpvIiwiR28iLCJYbyIsIllvIiwiUW8iLCJlYSIsInRhIiwibmEiLCJyYSIsImlhIiwib2EiLCJhYSIsInNhIiwiY2EiLCJ1YSIsIm1hIiwicmF3QXR0cnNNYXAiLCJmYSIsImZvciIsInNsb3RTY29wZSIsInNsb3RUYXJnZXQiLCJzbG90VGFyZ2V0RHluYW1pYyIsInZhIiwic2xvdE5hbWUiLCJoYXNCaW5kaW5ncyIsImhhIiwiY2FtZWwiLCJwYSIsImFsaWFzIiwiaXRlcmF0b3IxIiwiaXRlcmF0b3IyIiwiZGEiLCJpZkNvbmRpdGlvbnMiLCJ5YSIsImdhIiwiX2EiLCIkYSIsIndhIiwiYmEiLCJwcmVUcmFuc2Zvcm1Ob2RlIiwicHJvY2Vzc2VkIiwiaWYiLCJibG9jayIsImVsc2UiLCJlbHNlaWYiLCJDYSIsImV4cGVjdEhUTUwiLCJodG1sIiwiaXNQcmVUYWciLCJpc1VuYXJ5VGFnIiwiY2FuQmVMZWZ0T3BlblRhZyIsInJlZHVjZSIsInhhIiwiQWEiLCJPYSIsIlNhIiwiVGEiLCJlc2MiLCJ0YWIiLCJzcGFjZSIsInVwIiwiZG93biIsIkVhIiwiTmEiLCJqYSIsInN0b3AiLCJwcmV2ZW50IiwiY3RybCIsImFsdCIsIm1ldGEiLCJEYSIsIkxhIiwiTWEiLCJJYSIsIndyYXBMaXN0ZW5lcnMiLCJ3cmFwRGF0YSIsImNsb2FrIiwiRmEiLCJ0cmFuc2Zvcm1zIiwiZGF0YUdlbkZucyIsIm1heWJlQ29tcG9uZW50Iiwib25jZUlkIiwiUGEiLCJSYSIsInN0YXRpY1Jvb3QiLCJzdGF0aWNQcm9jZXNzZWQiLCJIYSIsIm9uY2VQcm9jZXNzZWQiLCJCYSIsImZvclByb2Nlc3NlZCIsInphIiwiaWZQcm9jZXNzZWQiLCJVYSIsInFhIiwiR2EiLCJWYSIsInN0YXRpY0luRm9yIiwiS2EiLCJKYSIsIldhIiwiWmEiLCJYYSIsIllhIiwiY29kZSIsIlFhIiwiZGVsaW1pdGVycyIsImVzIiwidHMiLCJwcmVzZXJ2ZVdoaXRlc3BhY2UiLCJ3aGl0ZXNwYWNlIiwiZm9yYmlkZGVuIiwiY2hhcnMiLCJzaG91bGRLZWVwQ29tbWVudCIsImNvbW1lbnQiLCJzdWJzdHJpbmciLCJ1bmFyeVNsYXNoIiwic2hvdWxkRGVjb2RlTmV3bGluZXNGb3JIcmVmIiwic2hvdWxkRGVjb2RlTmV3bGluZXMiLCJsb3dlckNhc2VkVGFnIiwiY29tbWVudHMiLCJvdXRwdXRTb3VyY2VSYW5nZSIsInBsYWNlaG9sZGVyIiwibGFzdEluZGV4IiwidG9rZW5zIiwibGEiLCJvcHRpbWl6ZSIsInN0YXRpYyIsImthIiwiYXN0IiwiZXJyb3JzIiwidGlwcyIsImNvbXBpbGUiLCJjb21waWxlVG9GdW5jdGlvbnMiLCJycyIsIm9zIiwiYXMiLCJzcyIsImNzIiwiZG9jdW1lbnRFbGVtZW50Iiwib3V0ZXJIVE1MIiwiX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiY2FjaGVkTW9kdWxlIiwiX193ZWJwYWNrX21vZHVsZXNfXyIsImRlZmluaXRpb24iLCJnbG9iYWxUaGlzIiwicHJlc3Rhc2hvcCIsImluaXRDb21wb25lbnRzIiwidHJhbnNsYXRvcklucHV0IiwidHJhbnNsYXRhYmxlSW5wdXQiLCJTZXJwIiwibG9jYWxlSW5wdXRTZWxlY3RvciIsIm11bHRpTGFuZ3VhZ2VJdGVtIiwibG9jYWxlSXRlbVNlbGVjdG9yIiwiVGFnZ2FibGVGaWVsZCIsInRva2VuRmllbGRTZWxlY3RvciIsImNyZWF0ZVRva2Vuc09uQmx1ciIsIlByZXZpZXdPcGVuZXIiXSwibWFwcGluZ3MiOiI7K0hBd0JBLFVBQ0EsVyxJQUNBLFUsdURBRU9BLEVBQUtDLE9BQUxELEVBUURFLEUsV0FDSixXQUFZQyxFQUFXQyxHQUVyQixJQUYwQixxQkFFWSxJQUFsQ0osRUFBRUcsRUFBVUUsV0FBV0MsT0FBM0IsQ0FPQSxHQUhBQyxLQUFLQyxZQUFjSixFQUNuQkcsS0FBS0Usa0JBQWdEQyxJQUFqQ1AsRUFBVVEseUJBQXFFRCxJQUFqQ1AsRUFBVVMsbUJBRXhFTCxLQUFLRSxhQUFjLENBQ3JCLElBQU1JLEVBQW9CLEdBRXRCVixFQUFVUSxvQkFDWkUsRUFBa0JDLEtBQUtYLEVBQVVRLG9CQUUvQlIsRUFBVVMsb0JBQ1pDLEVBQWtCQyxLQUFLWCxFQUFVUyxvQkFFbkNMLEtBQUtRLGtCQUFvQkYsRUFBa0JHLEtBQUssS0FDaERULEtBQUtVLHdCQUdQVixLQUFLVyxLQUFPLENBQ1ZkLE1BQ0FlLE1BQU8sR0FDUEMsWUFBYSxJQUdmYixLQUFLYyxHQUFLLElBQUlDLFVBQUksQ0FDaEJDLEdBQUlwQixFQUFVRSxVQUNkbUIsU0FBVSwyRUFDVkMsV0FBWSxDQUFDQyxnQkFDYlIsS0FBTVgsS0FBS1csT0FHYlgsS0FBS29CLG9CQUFvQnhCLEdBQ3pCSSxLQUFLcUIscUIsbUVBR2VDLEdBQWMsV0FDbEM3QixFQUFFLFFBQVE4QixHQUNSLFFBQ0FELEdBQ0EsV0FDRSxFQUFLRSxhQUNMLEVBQUtDLFlBQ0wsRUFBS0MsY0FJVEMsZUFBYUosR0FBRyxvQkFBb0IsV0FDbEMsRUFBS0MsYUFDTCxFQUFLQyxZQUNMLEVBQUtDLGdCLDBDQUlXOUIsR0FDbEJJLEtBQUs0QixhQUFlbkMsRUFB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LE9BQU9td0MsV0FBV2g4QixVQUFVMjhCLGNBQWMsb0JBRTlDLGFBQXdCLENBQ3RCeHJDLHNCQUF1QiwrQkFFdkJDLDJCQUErQjhxQyxFQUFnQkcsb0JBQS9DLDJEQUdGLElBQUlqdEMsVUFBVyw4QkFBOEJTLDhCIiwiZmlsZSI6ImNtc19wYWdlX2Zvcm0uYnVuZGxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgc2luY2UgMjAwNyBQcmVzdGFTaG9wIFNBIGFuZCBDb250cmlidXRvcnNcbiAqIFByZXN0YVNob3AgaXMgYW4gSW50ZXJuYXRpb25hbCBSZWdpc3RlcmVkIFRyYWRlbWFyayAmIFByb3BlcnR5IG9mIFByZXN0YVNob3AgU0FcbiAqXG4gKiBOT1RJQ0UgT0YgTElDRU5TRVxuICpcbiAqIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgT3BlbiBTb2Z0d2FyZSBMaWNlbnNlIChPU0wgMy4wKVxuICogdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0UubWQuXG4gKiBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvT1NMLTMuMFxuICogSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbiAqIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbiAqIHRvIGxpY2Vuc2VAcHJlc3Rhc2hvcC5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbiAqXG4gKiBESVNDTEFJTUVSXG4gKlxuICogRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIFByZXN0YVNob3AgdG8gbmV3ZXJcbiAqIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBQcmVzdGFTaG9wIGZvciB5b3VyXG4gKiBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9kZXZkb2NzLnByZXN0YXNob3AuY29tLyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAYXV0aG9yICAgIFByZXN0YVNob3AgU0EgYW5kIENvbnRyaWJ1dG9ycyA8Y29udGFjdEBwcmVzdGFzaG9wLmNvbT5cbiAqIEBjb3B5cmlnaHQgU2luY2UgMjAwNyBQcmVzdGFTaG9wIFNBIGFuZCBDb250cmlidXRvcnNcbiAqIEBsaWNlbnNlICAgaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9PU0wtMy4wIE9wZW4gU29mdHdhcmUgTGljZW5zZSAoT1NMIDMuMClcbiAqL1xuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnO1xuaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gJ0Bjb21wb25lbnRzL2V2ZW50LWVtaXR0ZXInO1xuaW1wb3J0IHNlcnAgZnJvbSAnLi9zZXJwLnZ1ZSc7XG5cbmNvbnN0IHskfSA9IHdpbmRvdztcblxuLyoqXG4gKiBWdWUgY29tcG9uZW50IGRpc3BsYXlpbmcgYSBzZWFyY2ggcGFnZSByZXN1bHQsIEdvb2dsZSBzdHlsZS5cbiAqIFJlcXVpcmVzIGEgdGFnIHdpdGggdGhlIGlkIFwiI3NlcnAtYXBwXCIgdG8gYmUgcHJlc2VudCBpbiB0aGUgRE9NIHRvIHJ1biBpdC5cbiAqIFRoZSBjb21wb25lbnQgaXMgYXV0b21hdGljYWxseSB1cGRhdGVkIGJ5IHdhdGNoaW5nIHNldmVyYWwgaW5wdXRzLlxuICogU2V0IHRoZSBwcm9wZXIgY2xhc3MgdG8gbGluayBhIGlucHV0IHRvIGEgcGFydCBvZiB0aGUgcGFuZWwuXG4gKi9cbmNsYXNzIFNlcnBBcHAge1xuICBjb25zdHJ1Y3RvcihzZWxlY3RvcnMsIHVybCkge1xuICAgIC8vIElmIHRoZSBzZWxlY3RvciBjYW5ub3QgYmUgZm91bmQsIHdlIGRvIG5vdCBsb2FkIHRoZSBWdWUgYXBwXG4gICAgaWYgKCQoc2VsZWN0b3JzLmNvbnRhaW5lcikubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5vcmlnaW5hbFVybCA9IHVybDtcbiAgICB0aGlzLnVzZU11bHRpTGFuZyA9IHNlbGVjdG9ycy5tdWx0aUxhbmd1YWdlSW5wdXQgIT09IHVuZGVmaW5lZCB8fCBzZWxlY3RvcnMubXVsdGlMYW5ndWFnZUZpZWxkICE9PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAodGhpcy51c2VNdWx0aUxhbmcpIHtcbiAgICAgIGNvbnN0IHBvc3NpYmxlU2VsZWN0b3JzID0gW107XG5cbiAgICAgIGlmIChzZWxlY3RvcnMubXVsdGlMYW5ndWFnZUlucHV0KSB7XG4gICAgICAgIHBvc3NpYmxlU2VsZWN0b3JzLnB1c2goc2VsZWN0b3JzLm11bHRpTGFuZ3VhZ2VJbnB1dCk7XG4gICAgICB9XG4gICAgICBpZiAoc2VsZWN0b3JzLm11bHRpTGFuZ3VhZ2VGaWVsZCkge1xuICAgICAgICBwb3NzaWJsZVNlbGVjdG9ycy5wdXNoKHNlbGVjdG9ycy5tdWx0aUxhbmd1YWdlRmllbGQpO1xuICAgICAgfVxuICAgICAgdGhpcy5tdWx0aUxhbmdTZWxlY3RvciA9IHBvc3NpYmxlU2VsZWN0b3JzLmpvaW4oJywnKTtcbiAgICAgIHRoaXMuYXR0YWNoTXVsdGlMYW5nRXZlbnRzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhID0ge1xuICAgICAgdXJsLFxuICAgICAgdGl0bGU6ICcnLFxuICAgICAgZGVzY3JpcHRpb246ICcnLFxuICAgIH07XG5cbiAgICB0aGlzLnZtID0gbmV3IFZ1ZSh7XG4gICAgICBlbDogc2VsZWN0b3JzLmNvbnRhaW5lcixcbiAgICAgIHRlbXBsYXRlOiAnPHNlcnAgcmVmPVwic2VycFwiIDp1cmw9XCJ1cmxcIiA6dGl0bGU9XCJ0aXRsZVwiIDpkZXNjcmlwdGlvbj1cImRlc2NyaXB0aW9uXCIgLz4nLFxuICAgICAgY29tcG9uZW50czoge3NlcnB9LFxuICAgICAgZGF0YTogdGhpcy5kYXRhLFxuICAgIH0pO1xuXG4gICAgdGhpcy5pbml0aWFsaXplU2VsZWN0b3JzKHNlbGVjdG9ycyk7XG4gICAgdGhpcy5hdHRhY2hJbnB1dEV2ZW50cygpO1xuICB9XG5cbiAgYXR0YWNoTXVsdGlMYW5nRXZlbnRzKGl0ZW1TZWxlY3Rvcikge1xuICAgICQoJ2JvZHknKS5vbihcbiAgICAgICdjbGljaycsXG4gICAgICBpdGVtU2VsZWN0b3IsXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRoaXMuY2hlY2tUaXRsZSgpO1xuICAgICAgICB0aGlzLmNoZWNrRGVzYygpO1xuICAgICAgICB0aGlzLmNoZWNrVXJsKCk7XG4gICAgICB9LFxuICAgICk7XG5cbiAgICBFdmVudEVtaXR0ZXIub24oJ2xhbmd1YWdlU2VsZWN0ZWQnLCAoKSA9PiB7XG4gICAgICB0aGlzLmNoZWNrVGl0bGUoKTtcbiAgICAgIHRoaXMuY2hlY2tEZXNjKCk7XG4gICAgICB0aGlzLmNoZWNrVXJsKCk7XG4gICAgfSk7XG4gIH1cblxuICBpbml0aWFsaXplU2VsZWN0b3JzKHNlbGVjdG9ycykge1xuICAgIHRoaXMuZGVmYXVsdFRpdGxlID0gJChzZWxlY3RvcnMuZGVmYXVsdFRpdGxlKTtcbiAgICB0aGlzLndhdGNoZWRUaXRsZSA9ICQoc2VsZWN0b3JzLndhdGNoZWRUaXRsZSk7XG4gICAgdGhpcy5kZWZhdWx0RGVzY3JpcHRpb24gPSAkKHNlbGVjdG9ycy5kZWZhdWx0RGVzY3JpcHRpb24pO1xuICAgIHRoaXMud2F0Y2hlZERlc2NyaXB0aW9uID0gJChzZWxlY3RvcnMud2F0Y2hlZERlc2NyaXB0aW9uKTtcbiAgICB0aGlzLndhdGNoZWRNZXRhVXJsID0gJChzZWxlY3RvcnMud2F0Y2hlZE1ldGFVcmwpO1xuICB9XG5cbiAgYXR0YWNoSW5wdXRFdmVudHMoKSB7XG4gICAgJCh0aGlzLmRlZmF1bHRUaXRsZSkub24oJ2tleXVwIGNoYW5nZScsICgpID0+IHRoaXMuY2hlY2tUaXRsZSgpKTtcbiAgICAkKHRoaXMud2F0Y2hlZFRpdGxlKS5vbigna2V5dXAgY2hhbmdlJywgKCkgPT4gdGhpcy5jaGVja1RpdGxlKCkpO1xuICAgICQodGhpcy5kZWZhdWx0RGVzY3JpcHRpb24pLm9uKCdrZXl1cCBjaGFuZ2UnLCAoKSA9PiB0aGlzLmNoZWNrRGVzYygpKTtcbiAgICAkKHRoaXMud2F0Y2hlZERlc2NyaXB0aW9uKS5vbigna2V5dXAgY2hhbmdlJywgKCkgPT4gdGhpcy5jaGVja0Rlc2MoKSk7XG4gICAgdGhpcy53YXRjaGVkTWV0YVVybC5vbigna2V5dXAgY2hhbmdlJywgKCkgPT4gdGhpcy5jaGVja1VybCgpKTtcblxuICAgIHRoaXMuY2hlY2tUaXRsZSgpO1xuICAgIHRoaXMuY2hlY2tEZXNjKCk7XG4gICAgdGhpcy5jaGVja1VybCgpO1xuICB9XG5cbiAgc2V0VGl0bGUodGl0bGUpIHtcbiAgICB0aGlzLmRhdGEudGl0bGUgPSB0aXRsZTtcbiAgfVxuXG4gIHNldERlc2NyaXB0aW9uKGRlc2NyaXB0aW9uKSB7XG4gICAgdGhpcy5kYXRhLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gIH1cblxuICBzZXRVcmwocmV3cml0ZSkge1xuICAgIC8vIFdlIHJlcGxhY2UgdHdvIHBsYWNlaG9sZGVycyBiZWNhdXNlIHRoZXJlIHdhcyBhIHR5cG8gaW4gdGhlIGluaXRpYWwgb25lICgnZnJpZW5keScgaW5zdGVhZCBvZiAnZnJpZW5kbHknKVxuICAgIHRoaXMuZGF0YS51cmwgPSB0aGlzLm9yaWdpbmFsVXJsLnJlcGxhY2UoXG4gICAgICAne2ZyaWVuZHktdXJsfScsXG4gICAgICByZXdyaXRlLFxuICAgICk7XG4gICAgdGhpcy5kYXRhLnVybCA9IHRoaXMuZGF0YS51cmwucmVwbGFjZShcbiAgICAgICd7ZnJpZW5kbHktdXJsfScsXG4gICAgICByZXdyaXRlLFxuICAgICk7XG4gIH1cblxuICBjaGVja1RpdGxlKCkge1xuICAgIGxldCB7ZGVmYXVsdFRpdGxlfSA9IHRoaXM7XG4gICAgbGV0IHt3YXRjaGVkVGl0bGV9ID0gdGhpcztcblxuICAgIGlmICh0aGlzLnVzZU11bHRpTGFuZykge1xuICAgICAgd2F0Y2hlZFRpdGxlID0gd2F0Y2hlZFRpdGxlLmNsb3Nlc3QodGhpcy5tdWx0aUxhbmdTZWxlY3RvcikuZmluZCgnaW5wdXQnKTtcbiAgICAgIGRlZmF1bHRUaXRsZSA9IGRlZmF1bHRUaXRsZS5jbG9zZXN0KHRoaXMubXVsdGlMYW5nU2VsZWN0b3IpLmZpbmQoJ2lucHV0Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgdGl0bGUxID0gd2F0Y2hlZFRpdGxlLmxlbmd0aCA/IHdhdGNoZWRUaXRsZS52YWwoKSA6ICcnO1xuICAgIGNvbnN0IHRpdGxlMiA9IGRlZmF1bHRUaXRsZS5sZW5ndGggPyBkZWZhdWx0VGl0bGUudmFsKCkgOiAnJztcblxuICAgIHRoaXMuc2V0VGl0bGUodGl0bGUxID09PSAnJyA/IHRpdGxlMiA6IHRpdGxlMSk7XG4gICAgLy8gQWx3YXlzIGNoZWNrIGZvciB1cmwgaWYgdGl0bGUgY2hhbmdlXG4gICAgdGhpcy5jaGVja1VybCgpO1xuICB9XG5cbiAgY2hlY2tEZXNjKCkge1xuICAgIGxldCB7d2F0Y2hlZERlc2NyaXB0aW9ufSA9IHRoaXM7XG4gICAgbGV0IHtkZWZhdWx0RGVzY3JpcHRpb259ID0gdGhpcztcblxuICAgIGlmICh0aGlzLnVzZU11bHRpTGFuZykge1xuICAgICAgd2F0Y2hlZERlc2NyaXB0aW9uID0gd2F0Y2hlZERlc2NyaXB0aW9uXG4gICAgICAgIC5jbG9zZXN0KHRoaXMubXVsdGlMYW5nU2VsZWN0b3IpXG4gICAgICAgIC5maW5kKHRoaXMud2F0Y2hlZERlc2NyaXB0aW9uLmlzKCdpbnB1dCcpID8gJ2lucHV0JyA6ICd0ZXh0YXJlYScpO1xuICAgICAgZGVmYXVsdERlc2NyaXB0aW9uID0gZGVmYXVsdERlc2NyaXB0aW9uXG4gICAgICAgIC5jbG9zZXN0KHRoaXMubXVsdGlMYW5nU2VsZWN0b3IpXG4gICAgICAgIC5maW5kKHRoaXMuZGVmYXVsdERlc2NyaXB0aW9uLmlzKCdpbnB1dCcpID8gJ2lucHV0JyA6ICd0ZXh0YXJlYScpO1xuICAgIH1cblxuICAgIGNvbnN0IGRlc2MxID0gd2F0Y2hlZERlc2NyaXB0aW9uLmxlbmd0aCA/IHdhdGNoZWREZXNjcmlwdGlvbi52YWwoKS5pbm5lclRleHQgfHwgd2F0Y2hlZERlc2NyaXB0aW9uLnZhbCgpIDogJyc7XG4gICAgY29uc3QgZGVzYzIgPSBkZWZhdWx0RGVzY3JpcHRpb24ubGVuZ3RoID8gJChkZWZhdWx0RGVzY3JpcHRpb24udmFsKCkpLnRleHQoKSB8fCBkZWZhdWx0RGVzY3JpcHRpb24udmFsKCkgOiAnJztcblxuICAgIHRoaXMuc2V0RGVzY3JpcHRpb24oZGVzYzEgPT09ICcnID8gZGVzYzIgOiBkZXNjMSk7XG4gIH1cblxuICBjaGVja1VybCgpIHtcbiAgICBsZXQge3dhdGNoZWRNZXRhVXJsfSA9IHRoaXM7XG5cbiAgICBpZiAodGhpcy51c2VNdWx0aUxhbmcpIHtcbiAgICAgIHdhdGNoZWRNZXRhVXJsID0gd2F0Y2hlZE1ldGFVcmwuY2xvc2VzdCh0aGlzLm11bHRpTGFuZ1NlbGVjdG9yKS5maW5kKCdpbnB1dCcpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0VXJsKHdhdGNoZWRNZXRhVXJsLnZhbCgpKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBTZXJwQXBwO1xuIiwiLyoqXG4gKiBDb3B5cmlnaHQgc2luY2UgMjAwNyBQcmVzdGFTaG9wIFNBIGFuZCBDb250cmlidXRvcnNcbiAqIFByZXN0YVNob3AgaXMgYW4gSW50ZXJuYXRpb25hbCBSZWdpc3RlcmVkIFRyYWRlbWFyayAmIFByb3BlcnR5IG9mIFByZXN0YVNob3AgU0FcbiAqXG4gKiBOT1RJQ0UgT0YgTElDRU5TRVxuICpcbiAqIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgT3BlbiBTb2Z0d2FyZSBMaWNlbnNlIChPU0wgMy4wKVxuICogdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0UubWQuXG4gKiBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvT1NMLTMuMFxuICogSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbiAqIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbiAqIHRvIGxpY2Vuc2VAcHJlc3Rhc2hvcC5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbiAqXG4gKiBESVNDTEFJTUVSXG4gKlxuICogRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIFByZXN0YVNob3AgdG8gbmV3ZXJcbiAqIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBQcmVzdGFTaG9wIGZvciB5b3VyXG4gKiBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9kZXZkb2NzLnByZXN0YXNob3AuY29tLyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAYXV0aG9yICAgIFByZXN0YVNob3AgU0EgYW5kIENvbnRyaWJ1dG9ycyA8Y29udGFjdEBwcmVzdGFzaG9wLmNvbT5cbiAqIEBjb3B5cmlnaHQgU2luY2UgMjAwNyBQcmVzdGFTaG9wIFNBIGFuZCBDb250cmlidXRvcnNcbiAqIEBsaWNlbnNlICAgaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9PU0wtMy4wIE9wZW4gU29mdHdhcmUgTGljZW5zZSAoT1NMIDMuMClcbiAqL1xuXG5pbXBvcnQgRXZlbnRFbWl0dGVyQ2xhc3MgZnJvbSAnZXZlbnRzJztcblxuLyoqXG4gKiBXZSBpbnN0YW5jaWF0ZSBvbmUgRXZlbnRFbWl0dGVyIChyZXN0cmljdGVkIHZpYSBhIGNvbnN0KSBzbyB0aGF0IGV2ZXJ5IGNvbXBvbmVudHNcbiAqIHJlZ2lzdGVyL2Rpc3BhdGNoIG9uIHRoZSBzYW1lIG9uZSBhbmQgY2FuIGNvbW11bmljYXRlIHdpdGggZWFjaCBvdGhlci5cbiAqL1xuZXhwb3J0IGNvbnN0IEV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXJDbGFzcygpO1xuXG5leHBvcnQgZGVmYXVsdCBFdmVudEVtaXR0ZXI7XG4iLCIvKipcbiAqIENvcHlyaWdodCBzaW5jZSAyMDA3IFByZXN0YVNob3AgU0EgYW5kIENvbnRyaWJ1dG9yc1xuICogUHJlc3RhU2hvcCBpcyBhbiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyZWQgVHJhZGVtYXJrICYgUHJvcGVydHkgb2YgUHJlc3RhU2hvcCBTQVxuICpcbiAqIE5PVElDRSBPRiBMSUNFTlNFXG4gKlxuICogVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBPcGVuIFNvZnR3YXJlIExpY2Vuc2UgKE9TTCAzLjApXG4gKiB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRS5tZC5cbiAqIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9PU0wtMy4wXG4gKiBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuICogb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuICogdG8gbGljZW5zZUBwcmVzdGFzaG9wLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuICpcbiAqIERJU0NMQUlNRVJcbiAqXG4gKiBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgUHJlc3RhU2hvcCB0byBuZXdlclxuICogdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIFByZXN0YVNob3AgZm9yIHlvdXJcbiAqIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwczovL2RldmRvY3MucHJlc3Rhc2hvcC5jb20vIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICpcbiAqIEBhdXRob3IgICAgUHJlc3RhU2hvcCBTQSBhbmQgQ29udHJpYnV0b3JzIDxjb250YWN0QHByZXN0YXNob3AuY29tPlxuICogQGNvcHlyaWdodCBTaW5jZSAyMDA3IFByZXN0YVNob3AgU0EgYW5kIENvbnRyaWJ1dG9yc1xuICogQGxpY2Vuc2UgICBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL09TTC0zLjAgT3BlbiBTb2Z0d2FyZSBMaWNlbnNlIChPU0wgMy4wKVxuICovXG5cbmNvbnN0IHskfSA9IHdpbmRvdztcblxuLyoqXG4gKiBIYW5kbGVzIFVJIGludGVyYWN0aW9ucyBvZiBjaG9pY2UgdHJlZVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDaG9pY2VUcmVlIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7U3RyaW5nfSB0cmVlU2VsZWN0b3JcbiAgICovXG4gIGNvbnN0cnVjdG9yKHRyZWVTZWxlY3Rvcikge1xuICAgIHRoaXMuJGNvbnRhaW5lciA9ICQodHJlZVNlbGVjdG9yKTtcblxuICAgIHRoaXMuJGNvbnRhaW5lci5vbignY2xpY2snLCAnLmpzLWlucHV0LXdyYXBwZXInLCAoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0ICRpbnB1dFdyYXBwZXIgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXG4gICAgICB0aGlzLnRvZ2dsZUNoaWxkVHJlZSgkaW5wdXRXcmFwcGVyKTtcbiAgICB9KTtcblxuICAgIHRoaXMuJGNvbnRhaW5lci5vbignY2xpY2snLCAnLmpzLXRvZ2dsZS1jaG9pY2UtdHJlZS1hY3Rpb24nLCAoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0ICRhY3Rpb24gPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpO1xuXG4gICAgICB0aGlzLnRvZ2dsZVRyZWUoJGFjdGlvbik7XG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZW5hYmxlQXV0b0NoZWNrQ2hpbGRyZW46ICgpID0+IHRoaXMuZW5hYmxlQXV0b0NoZWNrQ2hpbGRyZW4oKSxcbiAgICAgIGVuYWJsZUFsbElucHV0czogKCkgPT4gdGhpcy5lbmFibGVBbGxJbnB1dHMoKSxcbiAgICAgIGRpc2FibGVBbGxJbnB1dHM6ICgpID0+IHRoaXMuZGlzYWJsZUFsbElucHV0cygpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlIGF1dG9tYXRpYyBjaGVjay91bmNoZWNrIG9mIGNsaWNrZWQgaXRlbSdzIGNoaWxkcmVuLlxuICAgKi9cbiAgZW5hYmxlQXV0b0NoZWNrQ2hpbGRyZW4oKSB7XG4gICAgdGhpcy4kY29udGFpbmVyLm9uKCdjaGFuZ2UnLCAnaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJywgKGV2ZW50KSA9PiB7XG4gICAgICBjb25zdCAkY2xpY2tlZENoZWNrYm94ID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcbiAgICAgIGNvbnN0ICRpdGVtV2l0aENoaWxkcmVuID0gJGNsaWNrZWRDaGVja2JveC5jbG9zZXN0KCdsaScpO1xuXG4gICAgICAkaXRlbVdpdGhDaGlsZHJlblxuICAgICAgICAuZmluZCgndWwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJylcbiAgICAgICAgLnByb3AoJ2NoZWNrZWQnLCAkY2xpY2tlZENoZWNrYm94LmlzKCc6Y2hlY2tlZCcpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGUgYWxsIGlucHV0cyBpbiB0aGUgY2hvaWNlIHRyZWUuXG4gICAqL1xuICBlbmFibGVBbGxJbnB1dHMoKSB7XG4gICAgdGhpcy4kY29udGFpbmVyLmZpbmQoJ2lucHV0JykucmVtb3ZlQXR0cignZGlzYWJsZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlIGFsbCBpbnB1dHMgaW4gdGhlIGNob2ljZSB0cmVlLlxuICAgKi9cbiAgZGlzYWJsZUFsbElucHV0cygpIHtcbiAgICB0aGlzLiRjb250YWluZXIuZmluZCgnaW5wdXQnKS5hdHRyKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbGxhcHNlIG9yIGV4cGFuZCBzdWItdHJlZSBmb3Igc2luZ2xlIHBhcmVudFxuICAgKlxuICAgKiBAcGFyYW0ge2pRdWVyeX0gJGlucHV0V3JhcHBlclxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgdG9nZ2xlQ2hpbGRUcmVlKCRpbnB1dFdyYXBwZXIpIHtcbiAgICBjb25zdCAkcGFyZW50V3JhcHBlciA9ICRpbnB1dFdyYXBwZXIuY2xvc2VzdCgnbGknKTtcblxuICAgIGlmICgkcGFyZW50V3JhcHBlci5oYXNDbGFzcygnZXhwYW5kZWQnKSkge1xuICAgICAgJHBhcmVudFdyYXBwZXJcbiAgICAgICAgLnJlbW92ZUNsYXNzKCdleHBhbmRlZCcpXG4gICAgICAgIC5hZGRDbGFzcygnY29sbGFwc2VkJyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoJHBhcmVudFdyYXBwZXIuaGFzQ2xhc3MoJ2NvbGxhcHNlZCcpKSB7XG4gICAgICAkcGFyZW50V3JhcHBlclxuICAgICAgICAucmVtb3ZlQ2xhc3MoJ2NvbGxhcHNlZCcpXG4gICAgICAgIC5hZGRDbGFzcygnZXhwYW5kZWQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29sbGFwc2Ugb3IgZXhwYW5kIHdob2xlIHRyZWVcbiAgICpcbiAgICogQHBhcmFtIHtqUXVlcnl9ICRhY3Rpb25cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHRvZ2dsZVRyZWUoJGFjdGlvbikge1xuICAgIGNvbnN0ICRwYXJlbnRDb250YWluZXIgPSAkYWN0aW9uLmNsb3Nlc3QoJy5qcy1jaG9pY2UtdHJlZS1jb250YWluZXInKTtcbiAgICBjb25zdCBhY3Rpb24gPSAkYWN0aW9uLmRhdGEoJ2FjdGlvbicpO1xuXG4gICAgLy8gdG9nZ2xlIGFjdGlvbiBjb25maWd1cmF0aW9uXG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgYWRkQ2xhc3M6IHtcbiAgICAgICAgZXhwYW5kOiAnZXhwYW5kZWQnLFxuICAgICAgICBjb2xsYXBzZTogJ2NvbGxhcHNlZCcsXG4gICAgICB9LFxuICAgICAgcmVtb3ZlQ2xhc3M6IHtcbiAgICAgICAgZXhwYW5kOiAnY29sbGFwc2VkJyxcbiAgICAgICAgY29sbGFwc2U6ICdleHBhbmRlZCcsXG4gICAgICB9LFxuICAgICAgbmV4dEFjdGlvbjoge1xuICAgICAgICBleHBhbmQ6ICdjb2xsYXBzZScsXG4gICAgICAgIGNvbGxhcHNlOiAnZXhwYW5kJyxcbiAgICAgIH0sXG4gICAgICB0ZXh0OiB7XG4gICAgICAgIGV4cGFuZDogJ2NvbGxhcHNlZC10ZXh0JyxcbiAgICAgICAgY29sbGFwc2U6ICdleHBhbmRlZC10ZXh0JyxcbiAgICAgIH0sXG4gICAgICBpY29uOiB7XG4gICAgICAgIGV4cGFuZDogJ2NvbGxhcHNlZC1pY29uJyxcbiAgICAgICAgY29sbGFwc2U6ICdleHBhbmRlZC1pY29uJyxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgICRwYXJlbnRDb250YWluZXIuZmluZCgnbGknKS5lYWNoKChpbmRleCwgaXRlbSkgPT4ge1xuICAgICAgY29uc3QgJGl0ZW0gPSAkKGl0ZW0pO1xuXG4gICAgICBpZiAoJGl0ZW0uaGFzQ2xhc3MoY29uZmlnLnJlbW92ZUNsYXNzW2FjdGlvbl0pKSB7XG4gICAgICAgICRpdGVtLnJlbW92ZUNsYXNzKGNvbmZpZy5yZW1vdmVDbGFzc1thY3Rpb25dKVxuICAgICAgICAgIC5hZGRDbGFzcyhjb25maWcuYWRkQ2xhc3NbYWN0aW9uXSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAkYWN0aW9uLmRhdGEoJ2FjdGlvbicsIGNvbmZpZy5uZXh0QWN0aW9uW2FjdGlvbl0pO1xuICAgICRhY3Rpb24uZmluZCgnLm1hdGVyaWFsLWljb25zJykudGV4dCgkYWN0aW9uLmRhdGEoY29uZmlnLmljb25bYWN0aW9uXSkpO1xuICAgICRhY3Rpb24uZmluZCgnLmpzLXRvZ2dsZS10ZXh0JykudGV4dCgkYWN0aW9uLmRhdGEoY29uZmlnLnRleHRbYWN0aW9uXSkpO1xuICB9XG59XG4iLCIvKipcbiAqIENvcHlyaWdodCBzaW5jZSAyMDA3IFByZXN0YVNob3AgU0EgYW5kIENvbnRyaWJ1dG9yc1xuICogUHJlc3RhU2hvcCBpcyBhbiBJbnRlcm5hdGlvbmFsIFJlZ2lzdGVyZWQgVHJhZGVtYXJrICYgUHJvcGVydHkgb2YgUHJlc3RhU2hvcCBTQVxuICpcbiAqIE5PVElDRSBPRiBMSUNFTlNFXG4gKlxuICogVGhpcyBzb3VyY2UgZmlsZSBpcyBzdWJqZWN0IHRvIHRoZSBPcGVuIFNvZnR3YXJlIExpY2Vuc2UgKE9TTCAzLjApXG4gKiB0aGF0IGlzIGJ1bmRsZWQgd2l0aCB0aGlzIHBhY2thZ2UgaW4gdGhlIGZpbGUgTElDRU5TRS5tZC5cbiAqIEl0IGlzIGFsc28gYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViIGF0IHRoaXMgVVJMOlxuICogaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9PU0wtMy4wXG4gKiBJZiB5b3UgZGlkIG5vdCByZWNlaXZlIGEgY29weSBvZiB0aGUgbGljZW5zZSBhbmQgYXJlIHVuYWJsZSB0b1xuICogb2J0YWluIGl0IHRocm91Z2ggdGhlIHdvcmxkLXdpZGUtd2ViLCBwbGVhc2Ugc2VuZCBhbiBlbWFpbFxuICogdG8gbGljZW5zZUBwcmVzdGFzaG9wLmNvbSBzbyB3ZSBjYW4gc2VuZCB5b3UgYSBjb3B5IGltbWVkaWF0ZWx5LlxuICpcbiAqIERJU0NMQUlNRVJcbiAqXG4gKiBEbyBub3QgZWRpdCBvciBhZGQgdG8gdGhpcyBmaWxlIGlmIHlvdSB3aXNoIHRvIHVwZ3JhZGUgUHJlc3RhU2hvcCB0byBuZXdlclxuICogdmVyc2lvbnMgaW4gdGhlIGZ1dHVyZS4gSWYgeW91IHdpc2ggdG8gY3VzdG9taXplIFByZXN0YVNob3AgZm9yIHlvdXJcbiAqIG5lZWRzIHBsZWFzZSByZWZlciB0byBodHRwczovL2RldmRvY3MucHJlc3Rhc2hvcC5jb20vIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICpcbiAqIEBhdXRob3IgICAgUHJlc3RhU2hvcCBTQSBhbmQgQ29udHJpYnV0b3JzIDxjb250YWN0QHByZXN0YXNob3AuY29tPlxuICogQGNvcHlyaWdodCBTaW5jZSAyMDA3IFByZXN0YVNob3AgU0EgYW5kIENvbnRyaWJ1dG9yc1xuICogQGxpY2Vuc2UgICBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL09TTC0zLjAgT3BlbiBTb2Z0d2FyZSBMaWNlbnNlIChPU0wgMy4wKVxuICovXG5cbmNvbnN0IHskfSA9IHdpbmRvdztcblxuLyoqXG4gKiBDb21wb25lbnQgd2hpY2ggYWxsb3dzIHRvIGNvcHkgcmVndWxhciB0ZXh0IHRvIHVybCBmcmllbmRseSB0ZXh0XG4gKlxuICogVXNhZ2UgZXhhbXBsZSBpbiB0ZW1wbGF0ZTpcbiAqXG4gKiA8aW5wdXQgbmFtZT1cInNvdXJjZS1pbnB1dFwiXG4gKiAgICAgICAgY2xhc3M9XCJqcy1saW5rLXJld3JpdGUtY29waWVyLXNvdXJjZVwiPiAvLyBUaGUgb3JpZ2luYWwgdGV4dCB3aWxsIGJlIHRha2VuIGZyb20gdGhpcyBlbGVtZW50XG4gKiA8aW5wdXQgbmFtZT1cImRlc3RpbmF0aW9uLWlucHV0XCJcbiAqICAgICAgICBjbGFzcz1cImpzLWxpbmstcmV3cml0ZS1jb3BpZXItZGVzdGluYXRpb25cIj4gLy8gTW9kaWZpZWQgdGV4dCB3aWxsIGJlIGFkZGVkIHRvIHRoaXMgaW5wdXRcbiAqXG4gKiBpbiBqYXZhc2NyaXB0OlxuICpcbiAqIHRleHRUb0xpbmtSZXdyaXRlQ29waWVyKHtcbiAqICAgc291cmNlRWxlbWVudFNlbGVjdG9yOiAnLmpzLWxpbmstcmV3cml0ZS1jb3BpZXItc291cmNlJ1xuICogICBkZXN0aW5hdGlvbkVsZW1lbnRTZWxlY3RvcjogJy5qcy1saW5rLXJld3JpdGUtY29waWVyLWRlc3RpbmF0aW9uJyxcbiAqIH0pO1xuICpcbiAqIElmIHRoZSBzb3VyY2UtaW5wdXQgaGFzIHZhbHVlIFwidGVzdCBuYW1lXCIgdGhlIGxpbmsgcmV3cml0ZSB2YWx1ZSB3aWxsIGJlIFwidGVzdC1uYW1lXCIuXG4gKiBJZiB0aGUgc291cmNlLWlucHV0IGhhcyB2YWx1ZSBcInRlc3QgbmFtZSAjJFwiIGxpbmsgcmV3cml0ZSB3aWxsIGJlIFwidGVzdC1uYW1lLVwiIHNpbmNlICMkXG4gKiBhcmUgdW4gYWxsb3dlZCBjaGFyYWN0ZXJzIGluIHVybC5cbiAqXG4gKiBZb3UgY2FuIGFsc28gcGFzcyBhZGRpdGlvbmFsIG9wdGlvbnMgdG8gY2hhbmdlIHRoZSBldmVudCBuYW1lLCBvciBlbmNvZGluZyBmb3JtYXQ6XG4gKlxuICogdGV4dFRvTGlua1Jld3JpdGVDb3BpZXIoe1xuICogICBzb3VyY2VFbGVtZW50U2VsZWN0b3I6ICcuanMtbGluay1yZXdyaXRlLWNvcGllci1zb3VyY2UnXG4gKiAgIGRlc3RpbmF0aW9uRWxlbWVudFNlbGVjdG9yOiAnLmpzLWxpbmstcmV3cml0ZS1jb3BpZXItZGVzdGluYXRpb24nLFxuICogICBvcHRpb25zOiB7XG4gKiAgICAgZXZlbnROYW1lOiAnY2hhbmdlJywgLy8gZGVmYXVsdCBpcyAnaW5wdXQnXG4gKiAgIH1cbiAqIH0pO1xuICpcbiAqL1xuY29uc3QgdGV4dFRvTGlua1Jld3JpdGVDb3BpZXIgPSAoXG4gIHtcbiAgICBzb3VyY2VFbGVtZW50U2VsZWN0b3IsXG4gICAgZGVzdGluYXRpb25FbGVtZW50U2VsZWN0b3IsXG4gICAgb3B0aW9ucyA9IHtldmVudE5hbWU6ICdpbnB1dCd9LFxuICB9LFxuKSA9PiB7XG4gICQoZG9jdW1lbnQpLm9uKG9wdGlvbnMuZXZlbnROYW1lLCBgJHtzb3VyY2VFbGVtZW50U2VsZWN0b3J9YCwgKGV2ZW50KSA9PiB7XG4gICAgJChkZXN0aW5hdGlvbkVsZW1lbnRTZWxlY3RvcikudmFsKHdpbmRvdy5zdHIydXJsKCQoZXZlbnQuY3VycmVudFRhcmdldCkudmFsKCksICdVVEYtOCcpKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB0ZXh0VG9MaW5rUmV3cml0ZUNvcGllcjtcbiIsIjwhLS0qKlxuICogQ29weXJpZ2h0IHNpbmNlIDIwMDcgUHJlc3RhU2hvcCBTQSBhbmQgQ29udHJpYnV0b3JzXG4gKiBQcmVzdGFTaG9wIGlzIGFuIEludGVybmF0aW9uYWwgUmVnaXN0ZXJlZCBUcmFkZW1hcmsgJiBQcm9wZXJ0eSBvZiBQcmVzdGFTaG9wIFNBXG4gKlxuICogTk9USUNFIE9GIExJQ0VOU0VcbiAqXG4gKiBUaGlzIHNvdXJjZSBmaWxlIGlzIHN1YmplY3QgdG8gdGhlIE9wZW4gU29mdHdhcmUgTGljZW5zZSAoT1NMIDMuMClcbiAqIHRoYXQgaXMgYnVuZGxlZCB3aXRoIHRoaXMgcGFja2FnZSBpbiB0aGUgZmlsZSBMSUNFTlNFLm1kLlxuICogSXQgaXMgYWxzbyBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIgYXQgdGhpcyBVUkw6XG4gKiBodHRwczovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL09TTC0zLjBcbiAqIElmIHlvdSBkaWQgbm90IHJlY2VpdmUgYSBjb3B5IG9mIHRoZSBsaWNlbnNlIGFuZCBhcmUgdW5hYmxlIHRvXG4gKiBvYnRhaW4gaXQgdGhyb3VnaCB0aGUgd29ybGQtd2lkZS13ZWIsIHBsZWFzZSBzZW5kIGFuIGVtYWlsXG4gKiB0byBsaWNlbnNlQHByZXN0YXNob3AuY29tIHNvIHdlIGNhbiBzZW5kIHlvdSBhIGNvcHkgaW1tZWRpYXRlbHkuXG4gKlxuICogRElTQ0xBSU1FUlxuICpcbiAqIERvIG5vdCBlZGl0IG9yIGFkZCB0byB0aGlzIGZpbGUgaWYgeW91IHdpc2ggdG8gdXBncmFkZSBQcmVzdGFTaG9wIHRvIG5ld2VyXG4gKiB2ZXJzaW9ucyBpbiB0aGUgZnV0dXJlLiBJZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgUHJlc3RhU2hvcCBmb3IgeW91clxuICogbmVlZHMgcGxlYXNlIHJlZmVyIHRvIGh0dHBzOi8vZGV2ZG9jcy5wcmVzdGFzaG9wLmNvbS8gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gKlxuICogQGF1dGhvciAgICBQcmVzdGFTaG9wIFNBIGFuZCBDb250cmlidXRvcnMgPGNvbnRhY3RAcHJlc3Rhc2hvcC5jb20+XG4gKiBAY29weXJpZ2h0IFNpbmNlIDIwMDcgUHJlc3RhU2hvcCBTQSBhbmQgQ29udHJpYnV0b3JzXG4gKiBAbGljZW5zZSAgIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvT1NMLTMuMCBPcGVuIFNvZnR3YXJlIExpY2Vuc2UgKE9TTCAzLjApXG4gKi0tPlxuPHRlbXBsYXRlPlxuICA8ZGl2IGlkPVwic2VycFwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZXJwLXByZXZpZXdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZXJwLXRpdGxlXCI+XG4gICAgICAgIHt7IGRpc3BsYXllZFRpdGxlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZXJwLXVybFwiPlxuICAgICAgICB7eyB1cmwgfX08c3BhbiBjbGFzcz1cInNlcnAtYXJyb3dcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VycC1kZXNjcmlwdGlvblwiPlxuICAgICAgICB7eyBkaXNwbGF5ZWREZXNjcmlwdGlvbiB9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cbiAgZXhwb3J0IGRlZmF1bHQge1xuICAgIG5hbWU6ICdTZXJwJyxcbiAgICBwcm9wczoge1xuICAgICAgdXJsOiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgZGVmYXVsdDogJ2h0dHBzOi8vd3d3LmV4YW1wbGUuY29tLycsXG4gICAgICB9LFxuICAgICAgZGVzY3JpcHRpb246IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBkZWZhdWx0OiAnJyxcbiAgICAgIH0sXG4gICAgICB0aXRsZToge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIGRlZmF1bHQ6ICcnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNvbXB1dGVkOiB7XG4gICAgICBkaXNwbGF5ZWRUaXRsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMudGl0bGUubGVuZ3RoID4gNzApIHtcbiAgICAgICAgICByZXR1cm4gYCR7dGhpcy50aXRsZS5zdWJzdHJpbmcoMCwgNzApfS4uLmA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50aXRsZTtcbiAgICAgIH0sXG4gICAgICBkaXNwbGF5ZWREZXNjcmlwdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGVzY3JpcHRpb24ubGVuZ3RoID4gMTUwKSB7XG4gICAgICAgICAgcmV0dXJuIGAke3RoaXMuZGVzY3JpcHRpb24uc3Vic3RyaW5nKDAsIDE1MCl9Li4uYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmRlc2NyaXB0aW9uO1xuICAgICAgfSxcbiAgICB9LFxuICB9O1xuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHR5cGU9XCJ0ZXh0L3Njc3NcIiBzY29wZWQ+XG4gICAgLnNlcnAtcHJldmlldyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNlN2U3ZTc7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIG1heC13aWR0aDogNzAwcHg7XG5cbiAgICAgICAgLnNlcnAtYXJyb3cge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiKDAsIDEwMiwgMzMpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwcHg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiA0cHg7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA0cHg7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2IoMCwgMTAyLCAzMyk7XG4gICAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGhlaWdodDogMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VycC10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogIzFBMERBQjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbCwgcmVndWxhcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VycC11cmwge1xuICAgICAgICAgICAgY29sb3I6ICMwMDY2MjE7XG4gICAgICAgICAgICBmb250LWZhbWlseTogYXJpYWwsIHJlZ3VsYXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJwLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNTQ1NDU0O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCByZWd1bGFyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICB9XG4gICAgfVxuPC9zdHlsZT5cbiIsIm1vZHVsZS5leHBvcnRzID0geyBcImRlZmF1bHRcIjogcmVxdWlyZShcImNvcmUtanMvbGlicmFyeS9mbi9vYmplY3QvZGVmaW5lLXByb3BlcnR5XCIpLCBfX2VzTW9kdWxlOiB0cnVlIH07IiwiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydHMuX19lc01vZHVsZSA9IHRydWU7XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGZ1bmN0aW9uIChpbnN0YW5jZSwgQ29uc3RydWN0b3IpIHtcbiAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpO1xuICB9XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnRzLl9fZXNNb2R1bGUgPSB0cnVlO1xuXG52YXIgX2RlZmluZVByb3BlcnR5ID0gcmVxdWlyZShcIi4uL2NvcmUtanMvb2JqZWN0L2RlZmluZS1wcm9wZXJ0eVwiKTtcblxudmFyIF9kZWZpbmVQcm9wZXJ0eTIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9kZWZpbmVQcm9wZXJ0eSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQob2JqKSB7IHJldHVybiBvYmogJiYgb2JqLl9fZXNNb2R1bGUgPyBvYmogOiB7IGRlZmF1bHQ6IG9iaiB9OyB9XG5cbmV4cG9ydHMuZGVmYXVsdCA9IGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTtcbiAgICAgIGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTtcbiAgICAgIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTtcbiAgICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7XG4gICAgICAoMCwgX2RlZmluZVByb3BlcnR5Mi5kZWZhdWx0KSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykge1xuICAgIGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gICAgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7XG4gICAgcmV0dXJuIENvbnN0cnVjdG9yO1xuICB9O1xufSgpOyIsInJlcXVpcmUoJy4uLy4uL21vZHVsZXMvZXM2Lm9iamVjdC5kZWZpbmUtcHJvcGVydHknKTtcbnZhciAkT2JqZWN0ID0gcmVxdWlyZSgnLi4vLi4vbW9kdWxlcy9fY29yZScpLk9iamVjdDtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGVmaW5lUHJvcGVydHkoaXQsIGtleSwgZGVzYykge1xuICByZXR1cm4gJE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpdCwga2V5LCBkZXNjKTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICBpZiAodHlwZW9mIGl0ICE9ICdmdW5jdGlvbicpIHRocm93IFR5cGVFcnJvcihpdCArICcgaXMgbm90IGEgZnVuY3Rpb24hJyk7XG4gIHJldHVybiBpdDtcbn07XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuL19pcy1vYmplY3QnKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSB0aHJvdyBUeXBlRXJyb3IoaXQgKyAnIGlzIG5vdCBhbiBvYmplY3QhJyk7XG4gIHJldHVybiBpdDtcbn07XG4iLCJ2YXIgY29yZSA9IG1vZHVsZS5leHBvcnRzID0geyB2ZXJzaW9uOiAnMi42LjExJyB9O1xuaWYgKHR5cGVvZiBfX2UgPT0gJ251bWJlcicpIF9fZSA9IGNvcmU7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiIsIi8vIG9wdGlvbmFsIC8gc2ltcGxlIGNvbnRleHQgYmluZGluZ1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4vX2EtZnVuY3Rpb24nKTtcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGZuLCB0aGF0LCBsZW5ndGgpIHtcbiAgYUZ1bmN0aW9uKGZuKTtcbiAgaWYgKHRoYXQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIGZuO1xuICBzd2l0Y2ggKGxlbmd0aCkge1xuICAgIGNhc2UgMTogcmV0dXJuIGZ1bmN0aW9uIChhKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhKTtcbiAgICB9O1xuICAgIGNhc2UgMjogcmV0dXJuIGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiKTtcbiAgICB9O1xuICAgIGNhc2UgMzogcmV0dXJuIGZ1bmN0aW9uIChhLCBiLCBjKSB7XG4gICAgICByZXR1cm4gZm4uY2FsbCh0aGF0LCBhLCBiLCBjKTtcbiAgICB9O1xuICB9XG4gIHJldHVybiBmdW5jdGlvbiAoLyogLi4uYXJncyAqLykge1xuICAgIHJldHVybiBmbi5hcHBseSh0aGF0LCBhcmd1bWVudHMpO1xuICB9O1xufTtcbiIsIi8vIFRoYW5rJ3MgSUU4IGZvciBoaXMgZnVubnkgZGVmaW5lUHJvcGVydHlcbm1vZHVsZS5leHBvcnRzID0gIXJlcXVpcmUoJy4vX2ZhaWxzJykoZnVuY3Rpb24gKCkge1xuICByZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuIiwidmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG52YXIgZG9jdW1lbnQgPSByZXF1aXJlKCcuL19nbG9iYWwnKS5kb2N1bWVudDtcbi8vIHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50IGlzICdvYmplY3QnIGluIG9sZCBJRVxudmFyIGlzID0gaXNPYmplY3QoZG9jdW1lbnQpICYmIGlzT2JqZWN0KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpO1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIGlzID8gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChpdCkgOiB7fTtcbn07XG4iLCJ2YXIgZ2xvYmFsID0gcmVxdWlyZSgnLi9fZ2xvYmFsJyk7XG52YXIgY29yZSA9IHJlcXVpcmUoJy4vX2NvcmUnKTtcbnZhciBjdHggPSByZXF1aXJlKCcuL19jdHgnKTtcbnZhciBoaWRlID0gcmVxdWlyZSgnLi9faGlkZScpO1xudmFyIGhhcyA9IHJlcXVpcmUoJy4vX2hhcycpO1xudmFyIFBST1RPVFlQRSA9ICdwcm90b3R5cGUnO1xuXG52YXIgJGV4cG9ydCA9IGZ1bmN0aW9uICh0eXBlLCBuYW1lLCBzb3VyY2UpIHtcbiAgdmFyIElTX0ZPUkNFRCA9IHR5cGUgJiAkZXhwb3J0LkY7XG4gIHZhciBJU19HTE9CQUwgPSB0eXBlICYgJGV4cG9ydC5HO1xuICB2YXIgSVNfU1RBVElDID0gdHlwZSAmICRleHBvcnQuUztcbiAgdmFyIElTX1BST1RPID0gdHlwZSAmICRleHBvcnQuUDtcbiAgdmFyIElTX0JJTkQgPSB0eXBlICYgJGV4cG9ydC5CO1xuICB2YXIgSVNfV1JBUCA9IHR5cGUgJiAkZXhwb3J0Llc7XG4gIHZhciBleHBvcnRzID0gSVNfR0xPQkFMID8gY29yZSA6IGNvcmVbbmFtZV0gfHwgKGNvcmVbbmFtZV0gPSB7fSk7XG4gIHZhciBleHBQcm90byA9IGV4cG9ydHNbUFJPVE9UWVBFXTtcbiAgdmFyIHRhcmdldCA9IElTX0dMT0JBTCA/IGdsb2JhbCA6IElTX1NUQVRJQyA/IGdsb2JhbFtuYW1lXSA6IChnbG9iYWxbbmFtZV0gfHwge30pW1BST1RPVFlQRV07XG4gIHZhciBrZXksIG93biwgb3V0O1xuICBpZiAoSVNfR0xPQkFMKSBzb3VyY2UgPSBuYW1lO1xuICBmb3IgKGtleSBpbiBzb3VyY2UpIHtcbiAgICAvLyBjb250YWlucyBpbiBuYXRpdmVcbiAgICBvd24gPSAhSVNfRk9SQ0VEICYmIHRhcmdldCAmJiB0YXJnZXRba2V5XSAhPT0gdW5kZWZpbmVkO1xuICAgIGlmIChvd24gJiYgaGFzKGV4cG9ydHMsIGtleSkpIGNvbnRpbnVlO1xuICAgIC8vIGV4cG9ydCBuYXRpdmUgb3IgcGFzc2VkXG4gICAgb3V0ID0gb3duID8gdGFyZ2V0W2tleV0gOiBzb3VyY2Vba2V5XTtcbiAgICAvLyBwcmV2ZW50IGdsb2JhbCBwb2xsdXRpb24gZm9yIG5hbWVzcGFjZXNcbiAgICBleHBvcnRzW2tleV0gPSBJU19HTE9CQUwgJiYgdHlwZW9mIHRhcmdldFtrZXldICE9ICdmdW5jdGlvbicgPyBzb3VyY2Vba2V5XVxuICAgIC8vIGJpbmQgdGltZXJzIHRvIGdsb2JhbCBmb3IgY2FsbCBmcm9tIGV4cG9ydCBjb250ZXh0XG4gICAgOiBJU19CSU5EICYmIG93biA/IGN0eChvdXQsIGdsb2JhbClcbiAgICAvLyB3cmFwIGdsb2JhbCBjb25zdHJ1Y3RvcnMgZm9yIHByZXZlbnQgY2hhbmdlIHRoZW0gaW4gbGlicmFyeVxuICAgIDogSVNfV1JBUCAmJiB0YXJnZXRba2V5XSA9PSBvdXQgPyAoZnVuY3Rpb24gKEMpIHtcbiAgICAgIHZhciBGID0gZnVuY3Rpb24gKGEsIGIsIGMpIHtcbiAgICAgICAgaWYgKHRoaXMgaW5zdGFuY2VvZiBDKSB7XG4gICAgICAgICAgc3dpdGNoIChhcmd1bWVudHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjYXNlIDA6IHJldHVybiBuZXcgQygpO1xuICAgICAgICAgICAgY2FzZSAxOiByZXR1cm4gbmV3IEMoYSk7XG4gICAgICAgICAgICBjYXNlIDI6IHJldHVybiBuZXcgQyhhLCBiKTtcbiAgICAgICAgICB9IHJldHVybiBuZXcgQyhhLCBiLCBjKTtcbiAgICAgICAgfSByZXR1cm4gQy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfTtcbiAgICAgIEZbUFJPVE9UWVBFXSA9IENbUFJPVE9UWVBFXTtcbiAgICAgIHJldHVybiBGO1xuICAgIC8vIG1ha2Ugc3RhdGljIHZlcnNpb25zIGZvciBwcm90b3R5cGUgbWV0aG9kc1xuICAgIH0pKG91dCkgOiBJU19QUk9UTyAmJiB0eXBlb2Ygb3V0ID09ICdmdW5jdGlvbicgPyBjdHgoRnVuY3Rpb24uY2FsbCwgb3V0KSA6IG91dDtcbiAgICAvLyBleHBvcnQgcHJvdG8gbWV0aG9kcyB0byBjb3JlLiVDT05TVFJVQ1RPUiUubWV0aG9kcy4lTkFNRSVcbiAgICBpZiAoSVNfUFJPVE8pIHtcbiAgICAgIChleHBvcnRzLnZpcnR1YWwgfHwgKGV4cG9ydHMudmlydHVhbCA9IHt9KSlba2V5XSA9IG91dDtcbiAgICAgIC8vIGV4cG9ydCBwcm90byBtZXRob2RzIHRvIGNvcmUuJUNPTlNUUlVDVE9SJS5wcm90b3R5cGUuJU5BTUUlXG4gICAgICBpZiAodHlwZSAmICRleHBvcnQuUiAmJiBleHBQcm90byAmJiAhZXhwUHJvdG9ba2V5XSkgaGlkZShleHBQcm90bywga2V5LCBvdXQpO1xuICAgIH1cbiAgfVxufTtcbi8vIHR5cGUgYml0bWFwXG4kZXhwb3J0LkYgPSAxOyAgIC8vIGZvcmNlZFxuJGV4cG9ydC5HID0gMjsgICAvLyBnbG9iYWxcbiRleHBvcnQuUyA9IDQ7ICAgLy8gc3RhdGljXG4kZXhwb3J0LlAgPSA4OyAgIC8vIHByb3RvXG4kZXhwb3J0LkIgPSAxNjsgIC8vIGJpbmRcbiRleHBvcnQuVyA9IDMyOyAgLy8gd3JhcFxuJGV4cG9ydC5VID0gNjQ7ICAvLyBzYWZlXG4kZXhwb3J0LlIgPSAxMjg7IC8vIHJlYWwgcHJvdG8gbWV0aG9kIGZvciBgbGlicmFyeWBcbm1vZHVsZS5leHBvcnRzID0gJGV4cG9ydDtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGV4ZWMpIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gISFleGVjKCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufTtcbiIsIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2lzc3Vlcy84NiNpc3N1ZWNvbW1lbnQtMTE1NzU5MDI4XG52YXIgZ2xvYmFsID0gbW9kdWxlLmV4cG9ydHMgPSB0eXBlb2Ygd2luZG93ICE9ICd1bmRlZmluZWQnICYmIHdpbmRvdy5NYXRoID09IE1hdGhcbiAgPyB3aW5kb3cgOiB0eXBlb2Ygc2VsZiAhPSAndW5kZWZpbmVkJyAmJiBzZWxmLk1hdGggPT0gTWF0aCA/IHNlbGZcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jXG4gIDogRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcbmlmICh0eXBlb2YgX19nID09ICdudW1iZXInKSBfX2cgPSBnbG9iYWw7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZcbiIsInZhciBoYXNPd25Qcm9wZXJ0eSA9IHt9Lmhhc093blByb3BlcnR5O1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQsIGtleSkge1xuICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbn07XG4iLCJ2YXIgZFAgPSByZXF1aXJlKCcuL19vYmplY3QtZHAnKTtcbnZhciBjcmVhdGVEZXNjID0gcmVxdWlyZSgnLi9fcHJvcGVydHktZGVzYycpO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpID8gZnVuY3Rpb24gKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICByZXR1cm4gZFAuZihvYmplY3QsIGtleSwgY3JlYXRlRGVzYygxLCB2YWx1ZSkpO1xufSA6IGZ1bmN0aW9uIChvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgcmV0dXJuIG9iamVjdDtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9ICFyZXF1aXJlKCcuL19kZXNjcmlwdG9ycycpICYmICFyZXF1aXJlKCcuL19mYWlscycpKGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXF1aXJlKCcuL19kb20tY3JlYXRlJykoJ2RpdicpLCAnYScsIHsgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiA3OyB9IH0pLmEgIT0gNztcbn0pO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaXQpIHtcbiAgcmV0dXJuIHR5cGVvZiBpdCA9PT0gJ29iamVjdCcgPyBpdCAhPT0gbnVsbCA6IHR5cGVvZiBpdCA9PT0gJ2Z1bmN0aW9uJztcbn07XG4iLCJ2YXIgYW5PYmplY3QgPSByZXF1aXJlKCcuL19hbi1vYmplY3QnKTtcbnZhciBJRThfRE9NX0RFRklORSA9IHJlcXVpcmUoJy4vX2llOC1kb20tZGVmaW5lJyk7XG52YXIgdG9QcmltaXRpdmUgPSByZXF1aXJlKCcuL190by1wcmltaXRpdmUnKTtcbnZhciBkUCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcblxuZXhwb3J0cy5mID0gcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpIHtcbiAgYW5PYmplY3QoTyk7XG4gIFAgPSB0b1ByaW1pdGl2ZShQLCB0cnVlKTtcbiAgYW5PYmplY3QoQXR0cmlidXRlcyk7XG4gIGlmIChJRThfRE9NX0RFRklORSkgdHJ5IHtcbiAgICByZXR1cm4gZFAoTywgUCwgQXR0cmlidXRlcyk7XG4gIH0gY2F0Y2ggKGUpIHsgLyogZW1wdHkgKi8gfVxuICBpZiAoJ2dldCcgaW4gQXR0cmlidXRlcyB8fCAnc2V0JyBpbiBBdHRyaWJ1dGVzKSB0aHJvdyBUeXBlRXJyb3IoJ0FjY2Vzc29ycyBub3Qgc3VwcG9ydGVkIScpO1xuICBpZiAoJ3ZhbHVlJyBpbiBBdHRyaWJ1dGVzKSBPW1BdID0gQXR0cmlidXRlcy52YWx1ZTtcbiAgcmV0dXJuIE87XG59O1xuIiwibW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoYml0bWFwLCB2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIGVudW1lcmFibGU6ICEoYml0bWFwICYgMSksXG4gICAgY29uZmlndXJhYmxlOiAhKGJpdG1hcCAmIDIpLFxuICAgIHdyaXRhYmxlOiAhKGJpdG1hcCAmIDQpLFxuICAgIHZhbHVlOiB2YWx1ZVxuICB9O1xufTtcbiIsIi8vIDcuMS4xIFRvUHJpbWl0aXZlKGlucHV0IFssIFByZWZlcnJlZFR5cGVdKVxudmFyIGlzT2JqZWN0ID0gcmVxdWlyZSgnLi9faXMtb2JqZWN0Jyk7XG4vLyBpbnN0ZWFkIG9mIHRoZSBFUzYgc3BlYyB2ZXJzaW9uLCB3ZSBkaWRuJ3QgaW1wbGVtZW50IEBAdG9QcmltaXRpdmUgY2FzZVxuLy8gYW5kIHRoZSBzZWNvbmQgYXJndW1lbnQgLSBmbGFnIC0gcHJlZmVycmVkIHR5cGUgaXMgYSBzdHJpbmdcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0LCBTKSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSByZXR1cm4gaXQ7XG4gIHZhciBmbiwgdmFsO1xuICBpZiAoUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKHR5cGVvZiAoZm4gPSBpdC52YWx1ZU9mKSA9PSAnZnVuY3Rpb24nICYmICFpc09iamVjdCh2YWwgPSBmbi5jYWxsKGl0KSkpIHJldHVybiB2YWw7XG4gIGlmICghUyAmJiB0eXBlb2YgKGZuID0gaXQudG9TdHJpbmcpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaXQpKSkgcmV0dXJuIHZhbDtcbiAgdGhyb3cgVHlwZUVycm9yKFwiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlXCIpO1xufTtcbiIsInZhciAkZXhwb3J0ID0gcmVxdWlyZSgnLi9fZXhwb3J0Jyk7XG4vLyAxOS4xLjIuNCAvIDE1LjIuMy42IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShPLCBQLCBBdHRyaWJ1dGVzKVxuJGV4cG9ydCgkZXhwb3J0LlMgKyAkZXhwb3J0LkYgKiAhcmVxdWlyZSgnLi9fZGVzY3JpcHRvcnMnKSwgJ09iamVjdCcsIHsgZGVmaW5lUHJvcGVydHk6IHJlcXVpcmUoJy4vX29iamVjdC1kcCcpLmYgfSk7XG4iLCIvLyBJbXBvcnRzXG5pbXBvcnQgX19fQ1NTX0xPQURFUl9BUElfU09VUkNFTUFQX0lNUE9SVF9fXyBmcm9tIFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Nzcy1sb2FkZXIvZGlzdC9ydW50aW1lL2Nzc1dpdGhNYXBwaW5nVG9TdHJpbmcuanNcIjtcbmltcG9ydCBfX19DU1NfTE9BREVSX0FQSV9JTVBPUlRfX18gZnJvbSBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvcnVudGltZS9hcGkuanNcIjtcbnZhciBfX19DU1NfTE9BREVSX0VYUE9SVF9fXyA9IF9fX0NTU19MT0FERVJfQVBJX0lNUE9SVF9fXyhfX19DU1NfTE9BREVSX0FQSV9TT1VSQ0VNQVBfSU1QT1JUX19fKTtcbi8vIE1vZHVsZVxuX19fQ1NTX0xPQURFUl9FWFBPUlRfX18ucHVzaChbbW9kdWxlLmlkLCBcIi5zZXJwLXByZXZpZXdbZGF0YS12LTY2YzRjNWFiXXttYXJnaW4tdG9wOjE1cHg7bWFyZ2luLWJvdHRvbToxNXB4O2JvcmRlci1yYWRpdXM6MnB4O2JveC1zaGFkb3c6MCAwIDVweCAwIHJnYmEoMCwwLDAsMC4xMik7YmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO2JvcmRlcjpzb2xpZCAxcHggI2U3ZTdlNztwYWRkaW5nOjMwcHg7bWF4LXdpZHRoOjcwMHB4fS5zZXJwLXByZXZpZXcgLnNlcnAtYXJyb3dbZGF0YS12LTY2YzRjNWFiXXtib3JkZXItYm90dG9tLWNvbG9yOiMwMDY2MjE7Ym9yZGVyLWJvdHRvbS1zdHlsZTpzb2xpZDtib3JkZXItYm90dG9tLXdpZHRoOjBweDtib3JkZXItbGVmdC1jb2xvcjpyZ2JhKDAsMCwwLDApO2JvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO2JvcmRlci1sZWZ0LXdpZHRoOjRweDtib3JkZXItcmlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTtib3JkZXItcmlnaHQtc3R5bGU6c29saWQ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjRweDtib3JkZXItdG9wLWNvbG9yOiMwMDY2MjE7Ym9yZGVyLXRvcC1zdHlsZTpzb2xpZDtib3JkZXItdG9wLXdpZHRoOjVweDtjb2xvcjpncmF5O2N1cnNvcjpkZWZhdWx0O2ZvbnQtZmFtaWx5OmFyaWFsLCBzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OmJvbGQ7aGVpZ2h0OjBweDtwb3NpdGlvbjphYnNvbHV0ZTtsaW5lLWhlaWdodDoyN3B4O21hcmdpbi1sZWZ0OjNweDttYXJnaW4tdG9wOjZweDt0ZXh0LWFsaWduOmNlbnRlcjt1c2VyLXNlbGVjdDpub25lO3Zpc2liaWxpdHk6dmlzaWJsZTt3aGl0ZS1zcGFjZTpub3dyYXA7d2lkdGg6MHB4fS5zZXJwLXByZXZpZXcgLnNlcnAtdGl0bGVbZGF0YS12LTY2YzRjNWFiXXtjb2xvcjojMUEwREFCO2N1cnNvcjpwb2ludGVyO2ZvbnQtZmFtaWx5OmFyaWFsLCByZWd1bGFyO2ZvbnQtc2l6ZToxOHB4O2ZvbnQtd2VpZ2h0Om5vcm1hbDt0ZXh0LWFsaWduOmxlZnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlO3doaXRlLXNwYWNlOm5vd3JhcH0uc2VycC1wcmV2aWV3IC5zZXJwLXVybFtkYXRhLXYtNjZjNGM1YWJde2NvbG9yOiMwMDY2MjE7Zm9udC1mYW1pbHk6YXJpYWwsIHJlZ3VsYXI7Zm9udC1zaXplOjE0cHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2xpbmUtaGVpZ2h0OjI0cHg7dGV4dC1hbGlnbjpsZWZ0O3Zpc2liaWxpdHk6dmlzaWJsZX0uc2VycC1wcmV2aWV3IC5zZXJwLWRlc2NyaXB0aW9uW2RhdGEtdi02NmM0YzVhYl17Y29sb3I6IzU0NTQ1NDtmb250LWZhbWlseTphcmlhbCwgcmVndWxhcjtmb250LXNpemU6MTNweDtmb250LXdlaWdodDpub3JtYWw7dGV4dC1hbGlnbjpsZWZ0O3Zpc2liaWxpdHk6dmlzaWJsZTt3b3JkLXdyYXA6YnJlYWstd29yZH1cXG5cIiwgXCJcIix7XCJ2ZXJzaW9uXCI6MyxcInNvdXJjZXNcIjpbXCJ3ZWJwYWNrOi8vLi9qcy9hcHAvdXRpbHMvc2VycC9zZXJwLnZ1ZVwiXSxcIm5hbWVzXCI6W10sXCJtYXBwaW5nc1wiOlwiQUE2RUEsK0JBQ0ksZUFBZ0IsQ0FDaEIsa0JBQW1CLENBQ25CLGlCQUFrQixDQUNsQixxQ0FBeUMsQ0FDekMsd0JBQXlCLENBQ3pCLHdCQUF5QixDQUN6QixZQUFhLENBQ2IsZUFBZ0IsQ0FScEIsMkNBV1EsMkJBQW9DLENBQ3BDLHlCQUEwQixDQUMxQix1QkFBd0IsQ0FDeEIsK0JBQW1DLENBQ25DLHVCQUF3QixDQUN4QixxQkFBc0IsQ0FDdEIsZ0NBQW9DLENBQ3BDLHdCQUF5QixDQUN6QixzQkFBdUIsQ0FDdkIsd0JBQWlDLENBQ2pDLHNCQUF1QixDQUN2QixvQkFBcUIsQ0FDckIsVUFBeUIsQ0FDekIsY0FBZSxDQUNmLDZCQUE4QixDQUM5QixjQUFlLENBQ2YsZ0JBQWlCLENBQ2pCLFVBQVcsQ0FDWCxpQkFBa0IsQ0FDbEIsZ0JBQWlCLENBQ2pCLGVBQWdCLENBQ2hCLGNBQWUsQ0FDZixpQkFBa0IsQ0FDbEIsZ0JBQWlCLENBQ2pCLGtCQUFtQixDQUNuQixrQkFBbUIsQ0FDbkIsU0FBVSxDQXJDbEIsMkNBeUNRLGFBQWMsQ0FDZCxjQUFlLENBQ2YsMEJBQTJCLENBQzNCLGNBQWUsQ0FDZixrQkFBbUIsQ0FDbkIsZUFBZ0IsQ0FDaEIsb0JBQXFCLENBQ3JCLGtCQUFtQixDQUNuQixrQkFBbUIsQ0FqRDNCLHlDQXFEUSxhQUFjLENBQ2QsMEJBQTJCLENBQzNCLGNBQWUsQ0FDZixpQkFBa0IsQ0FDbEIsa0JBQW1CLENBQ25CLGdCQUFpQixDQUNqQixlQUFnQixDQUNoQixrQkFBbUIsQ0E1RDNCLGlEQWdFUSxhQUFjLENBQ2QsMEJBQTJCLENBQzNCLGNBQWUsQ0FDZixrQkFBbUIsQ0FDbkIsZUFBZ0IsQ0FDaEIsa0JBQW1CLENBQ25CLG9CQUFxQlwiLFwic291cmNlc0NvbnRlbnRcIjpbXCJcXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG5cXG4uc2VycC1wcmV2aWV3IHtcXG4gICAgbWFyZ2luLXRvcDogMTVweDtcXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2U3ZTdlNztcXG4gICAgcGFkZGluZzogMzBweDtcXG4gICAgbWF4LXdpZHRoOiA3MDBweDtcXG5cXG4gICAgLnNlcnAtYXJyb3cge1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiKDAsIDEwMiwgMzMpO1xcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XFxuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwcHg7XFxuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcXG4gICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcXG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiA0cHg7XFxuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XFxuICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiA0cHg7XFxuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2IoMCwgMTAyLCAzMyk7XFxuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcXG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDVweDtcXG4gICAgICAgIGNvbG9yOiByZ2IoMTI4LCAxMjgsIDEyOCk7XFxuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XFxuICAgICAgICBmb250LWZhbWlseTogYXJpYWwsIHNhbnMtc2VyaWY7XFxuICAgICAgICBmb250LXNpemU6IDExcHg7XFxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcXG4gICAgICAgIGhlaWdodDogMHB4O1xcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XFxuICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XFxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcXG4gICAgICAgIHdpZHRoOiAwcHg7XFxuICAgIH1cXG5cXG4gICAgLnNlcnAtdGl0bGUge1xcbiAgICAgICAgY29sb3I6ICMxQTBEQUI7XFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgICBmb250LWZhbWlseTogYXJpYWwsIHJlZ3VsYXI7XFxuICAgICAgICBmb250LXNpemU6IDE4cHg7XFxuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XFxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xcbiAgICB9XFxuXFxuICAgIC5zZXJwLXVybCB7XFxuICAgICAgICBjb2xvcjogIzAwNjYyMTtcXG4gICAgICAgIGZvbnQtZmFtaWx5OiBhcmlhbCwgcmVndWxhcjtcXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XFxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XFxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xcbiAgICB9XFxuXFxuICAgIC5zZXJwLWRlc2NyaXB0aW9uIHtcXG4gICAgICAgIGNvbG9yOiAjNTQ1NDU0O1xcbiAgICAgICAgZm9udC1mYW1pbHk6IGFyaWFsLCByZWd1bGFyO1xcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XFxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xcbiAgICB9XFxufVxcblwiXSxcInNvdXJjZVJvb3RcIjpcIlwifV0pO1xuLy8gRXhwb3J0c1xuZXhwb3J0IGRlZmF1bHQgX19fQ1NTX0xPQURFUl9FWFBPUlRfX187XG4iLCJcInVzZSBzdHJpY3RcIjtcblxuLypcbiAgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHBcbiAgQXV0aG9yIFRvYmlhcyBLb3BwZXJzIEBzb2tyYVxuKi9cbi8vIGNzcyBiYXNlIGNvZGUsIGluamVjdGVkIGJ5IHRoZSBjc3MtbG9hZGVyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZnVuYy1uYW1lc1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY3NzV2l0aE1hcHBpbmdUb1N0cmluZykge1xuICB2YXIgbGlzdCA9IFtdOyAvLyByZXR1cm4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhcyBjc3Mgc3RyaW5nXG5cbiAgbGlzdC50b1N0cmluZyA9IGZ1bmN0aW9uIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgdmFyIGNvbnRlbnQgPSBjc3NXaXRoTWFwcGluZ1RvU3RyaW5nKGl0ZW0pO1xuXG4gICAgICBpZiAoaXRlbVsyXSkge1xuICAgICAgICByZXR1cm4gXCJAbWVkaWEgXCIuY29uY2F0KGl0ZW1bMl0sIFwiIHtcIikuY29uY2F0KGNvbnRlbnQsIFwifVwiKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfSkuam9pbihcIlwiKTtcbiAgfTsgLy8gaW1wb3J0IGEgbGlzdCBvZiBtb2R1bGVzIGludG8gdGhlIGxpc3RcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGZ1bmMtbmFtZXNcblxuXG4gIGxpc3QuaSA9IGZ1bmN0aW9uIChtb2R1bGVzLCBtZWRpYVF1ZXJ5LCBkZWR1cGUpIHtcbiAgICBpZiAodHlwZW9mIG1vZHVsZXMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgbW9kdWxlcyA9IFtbbnVsbCwgbW9kdWxlcywgXCJcIl1dO1xuICAgIH1cblxuICAgIHZhciBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzID0ge307XG5cbiAgICBpZiAoZGVkdXBlKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1kZXN0cnVjdHVyaW5nXG4gICAgICAgIHZhciBpZCA9IHRoaXNbaV1bMF07XG5cbiAgICAgICAgaWYgKGlkICE9IG51bGwpIHtcbiAgICAgICAgICBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2lkXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgbW9kdWxlcy5sZW5ndGg7IF9pKyspIHtcbiAgICAgIHZhciBpdGVtID0gW10uY29uY2F0KG1vZHVsZXNbX2ldKTtcblxuICAgICAgaWYgKGRlZHVwZSAmJiBhbHJlYWR5SW1wb3J0ZWRNb2R1bGVzW2l0ZW1bMF1dKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb250aW51ZVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1lZGlhUXVlcnkpIHtcbiAgICAgICAgaWYgKCFpdGVtWzJdKSB7XG4gICAgICAgICAgaXRlbVsyXSA9IG1lZGlhUXVlcnk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaXRlbVsyXSA9IFwiXCIuY29uY2F0KG1lZGlhUXVlcnksIFwiIGFuZCBcIikuY29uY2F0KGl0ZW1bMl0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxpc3QucHVzaChpdGVtKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIGxpc3Q7XG59OyIsIlwidXNlIHN0cmljdFwiO1xuXG5mdW5jdGlvbiBfc2xpY2VkVG9BcnJheShhcnIsIGkpIHsgcmV0dXJuIF9hcnJheVdpdGhIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIsIGkpIHx8IF9ub25JdGVyYWJsZVJlc3QoKTsgfVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVSZXN0KCkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpOyB9XG5cbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvLCBtaW5MZW4pIHsgaWYgKCFvKSByZXR1cm47IGlmICh0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7IHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTsgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTsgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7IGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTsgfVxuXG5mdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikgeyBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDsgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkobGVuKTsgaSA8IGxlbjsgaSsrKSB7IGFycjJbaV0gPSBhcnJbaV07IH0gcmV0dXJuIGFycjI7IH1cblxuZnVuY3Rpb24gX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgeyBpZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJ1bmRlZmluZWRcIiB8fCAhKFN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoYXJyKSkpIHJldHVybjsgdmFyIF9hcnIgPSBbXTsgdmFyIF9uID0gdHJ1ZTsgdmFyIF9kID0gZmFsc2U7IHZhciBfZSA9IHVuZGVmaW5lZDsgdHJ5IHsgZm9yICh2YXIgX2kgPSBhcnJbU3ltYm9sLml0ZXJhdG9yXSgpLCBfczsgIShfbiA9IChfcyA9IF9pLm5leHQoKSkuZG9uZSk7IF9uID0gdHJ1ZSkgeyBfYXJyLnB1c2goX3MudmFsdWUpOyBpZiAoaSAmJiBfYXJyLmxlbmd0aCA9PT0gaSkgYnJlYWs7IH0gfSBjYXRjaCAoZXJyKSB7IF9kID0gdHJ1ZTsgX2UgPSBlcnI7IH0gZmluYWxseSB7IHRyeSB7IGlmICghX24gJiYgX2lbXCJyZXR1cm5cIl0gIT0gbnVsbCkgX2lbXCJyZXR1cm5cIl0oKTsgfSBmaW5hbGx5IHsgaWYgKF9kKSB0aHJvdyBfZTsgfSB9IHJldHVybiBfYXJyOyB9XG5cbmZ1bmN0aW9uIF9hcnJheVdpdGhIb2xlcyhhcnIpIHsgaWYgKEFycmF5LmlzQXJyYXkoYXJyKSkgcmV0dXJuIGFycjsgfVxuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGNzc1dpdGhNYXBwaW5nVG9TdHJpbmcoaXRlbSkge1xuICB2YXIgX2l0ZW0gPSBfc2xpY2VkVG9BcnJheShpdGVtLCA0KSxcbiAgICAgIGNvbnRlbnQgPSBfaXRlbVsxXSxcbiAgICAgIGNzc01hcHBpbmcgPSBfaXRlbVszXTtcblxuICBpZiAodHlwZW9mIGJ0b2EgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICAgIHZhciBiYXNlNjQgPSBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShjc3NNYXBwaW5nKSkpKTtcbiAgICB2YXIgZGF0YSA9IFwic291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsXCIuY29uY2F0KGJhc2U2NCk7XG4gICAgdmFyIHNvdXJjZU1hcHBpbmcgPSBcIi8qIyBcIi5jb25jYXQoZGF0YSwgXCIgKi9cIik7XG4gICAgdmFyIHNvdXJjZVVSTHMgPSBjc3NNYXBwaW5nLnNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgIHJldHVybiBcIi8qIyBzb3VyY2VVUkw9XCIuY29uY2F0KGNzc01hcHBpbmcuc291cmNlUm9vdCB8fCBcIlwiKS5jb25jYXQoc291cmNlLCBcIiAqL1wiKTtcbiAgICB9KTtcbiAgICByZXR1cm4gW2NvbnRlbnRdLmNvbmNhdChzb3VyY2VVUkxzKS5jb25jYXQoW3NvdXJjZU1hcHBpbmddKS5qb2luKFwiXFxuXCIpO1xuICB9XG5cbiAgcmV0dXJuIFtjb250ZW50XS5qb2luKFwiXFxuXCIpO1xufTsiLCIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUiA9IHR5cGVvZiBSZWZsZWN0ID09PSAnb2JqZWN0JyA/IFJlZmxlY3QgOiBudWxsXG52YXIgUmVmbGVjdEFwcGx5ID0gUiAmJiB0eXBlb2YgUi5hcHBseSA9PT0gJ2Z1bmN0aW9uJ1xuICA/IFIuYXBwbHlcbiAgOiBmdW5jdGlvbiBSZWZsZWN0QXBwbHkodGFyZ2V0LCByZWNlaXZlciwgYXJncykge1xuICAgIHJldHVybiBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbCh0YXJnZXQsIHJlY2VpdmVyLCBhcmdzKTtcbiAgfVxuXG52YXIgUmVmbGVjdE93bktleXNcbmlmIChSICYmIHR5cGVvZiBSLm93bktleXMgPT09ICdmdW5jdGlvbicpIHtcbiAgUmVmbGVjdE93bktleXMgPSBSLm93bktleXNcbn0gZWxzZSBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICBSZWZsZWN0T3duS2V5cyA9IGZ1bmN0aW9uIFJlZmxlY3RPd25LZXlzKHRhcmdldCkge1xuICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0YXJnZXQpXG4gICAgICAuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModGFyZ2V0KSk7XG4gIH07XG59IGVsc2Uge1xuICBSZWZsZWN0T3duS2V5cyA9IGZ1bmN0aW9uIFJlZmxlY3RPd25LZXlzKHRhcmdldCkge1xuICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0YXJnZXQpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBQcm9jZXNzRW1pdFdhcm5pbmcod2FybmluZykge1xuICBpZiAoY29uc29sZSAmJiBjb25zb2xlLndhcm4pIGNvbnNvbGUud2Fybih3YXJuaW5nKTtcbn1cblxudmFyIE51bWJlcklzTmFOID0gTnVtYmVyLmlzTmFOIHx8IGZ1bmN0aW9uIE51bWJlcklzTmFOKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSAhPT0gdmFsdWU7XG59XG5cbmZ1bmN0aW9uIEV2ZW50RW1pdHRlcigpIHtcbiAgRXZlbnRFbWl0dGVyLmluaXQuY2FsbCh0aGlzKTtcbn1cbm1vZHVsZS5leHBvcnRzID0gRXZlbnRFbWl0dGVyO1xuXG4vLyBCYWNrd2FyZHMtY29tcGF0IHdpdGggbm9kZSAwLjEwLnhcbkV2ZW50RW1pdHRlci5FdmVudEVtaXR0ZXIgPSBFdmVudEVtaXR0ZXI7XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX2V2ZW50cyA9IHVuZGVmaW5lZDtcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX2V2ZW50c0NvdW50ID0gMDtcbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuX21heExpc3RlbmVycyA9IHVuZGVmaW5lZDtcblxuLy8gQnkgZGVmYXVsdCBFdmVudEVtaXR0ZXJzIHdpbGwgcHJpbnQgYSB3YXJuaW5nIGlmIG1vcmUgdGhhbiAxMCBsaXN0ZW5lcnMgYXJlXG4vLyBhZGRlZCB0byBpdC4gVGhpcyBpcyBhIHVzZWZ1bCBkZWZhdWx0IHdoaWNoIGhlbHBzIGZpbmRpbmcgbWVtb3J5IGxlYWtzLlxudmFyIGRlZmF1bHRNYXhMaXN0ZW5lcnMgPSAxMDtcblxuZnVuY3Rpb24gY2hlY2tMaXN0ZW5lcihsaXN0ZW5lcikge1xuICBpZiAodHlwZW9mIGxpc3RlbmVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwibGlzdGVuZXJcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24uIFJlY2VpdmVkIHR5cGUgJyArIHR5cGVvZiBsaXN0ZW5lcik7XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEV2ZW50RW1pdHRlciwgJ2RlZmF1bHRNYXhMaXN0ZW5lcnMnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRNYXhMaXN0ZW5lcnM7XG4gIH0sXG4gIHNldDogZnVuY3Rpb24oYXJnKSB7XG4gICAgaWYgKHR5cGVvZiBhcmcgIT09ICdudW1iZXInIHx8IGFyZyA8IDAgfHwgTnVtYmVySXNOYU4oYXJnKSkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiBcImRlZmF1bHRNYXhMaXN0ZW5lcnNcIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnICsgYXJnICsgJy4nKTtcbiAgICB9XG4gICAgZGVmYXVsdE1heExpc3RlbmVycyA9IGFyZztcbiAgfVxufSk7XG5cbkV2ZW50RW1pdHRlci5pbml0ID0gZnVuY3Rpb24oKSB7XG5cbiAgaWYgKHRoaXMuX2V2ZW50cyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICB0aGlzLl9ldmVudHMgPT09IE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKS5fZXZlbnRzKSB7XG4gICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICB0aGlzLl9ldmVudHNDb3VudCA9IDA7XG4gIH1cblxuICB0aGlzLl9tYXhMaXN0ZW5lcnMgPSB0aGlzLl9tYXhMaXN0ZW5lcnMgfHwgdW5kZWZpbmVkO1xufTtcblxuLy8gT2J2aW91c2x5IG5vdCBhbGwgRW1pdHRlcnMgc2hvdWxkIGJlIGxpbWl0ZWQgdG8gMTAuIFRoaXMgZnVuY3Rpb24gYWxsb3dzXG4vLyB0aGF0IHRvIGJlIGluY3JlYXNlZC4gU2V0IHRvIHplcm8gZm9yIHVubGltaXRlZC5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzID0gZnVuY3Rpb24gc2V0TWF4TGlzdGVuZXJzKG4pIHtcbiAgaWYgKHR5cGVvZiBuICE9PSAnbnVtYmVyJyB8fCBuIDwgMCB8fCBOdW1iZXJJc05hTihuKSkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgXCJuXCIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJyArIG4gKyAnLicpO1xuICB9XG4gIHRoaXMuX21heExpc3RlbmVycyA9IG47XG4gIHJldHVybiB0aGlzO1xufTtcblxuZnVuY3Rpb24gX2dldE1heExpc3RlbmVycyh0aGF0KSB7XG4gIGlmICh0aGF0Ll9tYXhMaXN0ZW5lcnMgPT09IHVuZGVmaW5lZClcbiAgICByZXR1cm4gRXZlbnRFbWl0dGVyLmRlZmF1bHRNYXhMaXN0ZW5lcnM7XG4gIHJldHVybiB0aGF0Ll9tYXhMaXN0ZW5lcnM7XG59XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuZ2V0TWF4TGlzdGVuZXJzID0gZnVuY3Rpb24gZ2V0TWF4TGlzdGVuZXJzKCkge1xuICByZXR1cm4gX2dldE1heExpc3RlbmVycyh0aGlzKTtcbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUuZW1pdCA9IGZ1bmN0aW9uIGVtaXQodHlwZSkge1xuICB2YXIgYXJncyA9IFtdO1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgYXJncy5wdXNoKGFyZ3VtZW50c1tpXSk7XG4gIHZhciBkb0Vycm9yID0gKHR5cGUgPT09ICdlcnJvcicpO1xuXG4gIHZhciBldmVudHMgPSB0aGlzLl9ldmVudHM7XG4gIGlmIChldmVudHMgIT09IHVuZGVmaW5lZClcbiAgICBkb0Vycm9yID0gKGRvRXJyb3IgJiYgZXZlbnRzLmVycm9yID09PSB1bmRlZmluZWQpO1xuICBlbHNlIGlmICghZG9FcnJvcilcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgLy8gSWYgdGhlcmUgaXMgbm8gJ2Vycm9yJyBldmVudCBsaXN0ZW5lciB0aGVuIHRocm93LlxuICBpZiAoZG9FcnJvcikge1xuICAgIHZhciBlcjtcbiAgICBpZiAoYXJncy5sZW5ndGggPiAwKVxuICAgICAgZXIgPSBhcmdzWzBdO1xuICAgIGlmIChlciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAvLyBOb3RlOiBUaGUgY29tbWVudHMgb24gdGhlIGB0aHJvd2AgbGluZXMgYXJlIGludGVudGlvbmFsLCB0aGV5IHNob3dcbiAgICAgIC8vIHVwIGluIE5vZGUncyBvdXRwdXQgaWYgdGhpcyByZXN1bHRzIGluIGFuIHVuaGFuZGxlZCBleGNlcHRpb24uXG4gICAgICB0aHJvdyBlcjsgLy8gVW5oYW5kbGVkICdlcnJvcicgZXZlbnRcbiAgICB9XG4gICAgLy8gQXQgbGVhc3QgZ2l2ZSBzb21lIGtpbmQgb2YgY29udGV4dCB0byB0aGUgdXNlclxuICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoJ1VuaGFuZGxlZCBlcnJvci4nICsgKGVyID8gJyAoJyArIGVyLm1lc3NhZ2UgKyAnKScgOiAnJykpO1xuICAgIGVyci5jb250ZXh0ID0gZXI7XG4gICAgdGhyb3cgZXJyOyAvLyBVbmhhbmRsZWQgJ2Vycm9yJyBldmVudFxuICB9XG5cbiAgdmFyIGhhbmRsZXIgPSBldmVudHNbdHlwZV07XG5cbiAgaWYgKGhhbmRsZXIgPT09IHVuZGVmaW5lZClcbiAgICByZXR1cm4gZmFsc2U7XG5cbiAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgUmVmbGVjdEFwcGx5KGhhbmRsZXIsIHRoaXMsIGFyZ3MpO1xuICB9IGVsc2Uge1xuICAgIHZhciBsZW4gPSBoYW5kbGVyLmxlbmd0aDtcbiAgICB2YXIgbGlzdGVuZXJzID0gYXJyYXlDbG9uZShoYW5kbGVyLCBsZW4pO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpXG4gICAgICBSZWZsZWN0QXBwbHkobGlzdGVuZXJzW2ldLCB0aGlzLCBhcmdzKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuZnVuY3Rpb24gX2FkZExpc3RlbmVyKHRhcmdldCwgdHlwZSwgbGlzdGVuZXIsIHByZXBlbmQpIHtcbiAgdmFyIG07XG4gIHZhciBldmVudHM7XG4gIHZhciBleGlzdGluZztcblxuICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcblxuICBldmVudHMgPSB0YXJnZXQuX2V2ZW50cztcbiAgaWYgKGV2ZW50cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgZXZlbnRzID0gdGFyZ2V0Ll9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIHRhcmdldC5fZXZlbnRzQ291bnQgPSAwO1xuICB9IGVsc2Uge1xuICAgIC8vIFRvIGF2b2lkIHJlY3Vyc2lvbiBpbiB0aGUgY2FzZSB0aGF0IHR5cGUgPT09IFwibmV3TGlzdGVuZXJcIiEgQmVmb3JlXG4gICAgLy8gYWRkaW5nIGl0IHRvIHRoZSBsaXN0ZW5lcnMsIGZpcnN0IGVtaXQgXCJuZXdMaXN0ZW5lclwiLlxuICAgIGlmIChldmVudHMubmV3TGlzdGVuZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGFyZ2V0LmVtaXQoJ25ld0xpc3RlbmVyJywgdHlwZSxcbiAgICAgICAgICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyID8gbGlzdGVuZXIubGlzdGVuZXIgOiBsaXN0ZW5lcik7XG5cbiAgICAgIC8vIFJlLWFzc2lnbiBgZXZlbnRzYCBiZWNhdXNlIGEgbmV3TGlzdGVuZXIgaGFuZGxlciBjb3VsZCBoYXZlIGNhdXNlZCB0aGVcbiAgICAgIC8vIHRoaXMuX2V2ZW50cyB0byBiZSBhc3NpZ25lZCB0byBhIG5ldyBvYmplY3RcbiAgICAgIGV2ZW50cyA9IHRhcmdldC5fZXZlbnRzO1xuICAgIH1cbiAgICBleGlzdGluZyA9IGV2ZW50c1t0eXBlXTtcbiAgfVxuXG4gIGlmIChleGlzdGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gT3B0aW1pemUgdGhlIGNhc2Ugb2Ygb25lIGxpc3RlbmVyLiBEb24ndCBuZWVkIHRoZSBleHRyYSBhcnJheSBvYmplY3QuXG4gICAgZXhpc3RpbmcgPSBldmVudHNbdHlwZV0gPSBsaXN0ZW5lcjtcbiAgICArK3RhcmdldC5fZXZlbnRzQ291bnQ7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHR5cGVvZiBleGlzdGluZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgLy8gQWRkaW5nIHRoZSBzZWNvbmQgZWxlbWVudCwgbmVlZCB0byBjaGFuZ2UgdG8gYXJyYXkuXG4gICAgICBleGlzdGluZyA9IGV2ZW50c1t0eXBlXSA9XG4gICAgICAgIHByZXBlbmQgPyBbbGlzdGVuZXIsIGV4aXN0aW5nXSA6IFtleGlzdGluZywgbGlzdGVuZXJdO1xuICAgICAgLy8gSWYgd2UndmUgYWxyZWFkeSBnb3QgYW4gYXJyYXksIGp1c3QgYXBwZW5kLlxuICAgIH0gZWxzZSBpZiAocHJlcGVuZCkge1xuICAgICAgZXhpc3RpbmcudW5zaGlmdChsaXN0ZW5lcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV4aXN0aW5nLnB1c2gobGlzdGVuZXIpO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGZvciBsaXN0ZW5lciBsZWFrXG4gICAgbSA9IF9nZXRNYXhMaXN0ZW5lcnModGFyZ2V0KTtcbiAgICBpZiAobSA+IDAgJiYgZXhpc3RpbmcubGVuZ3RoID4gbSAmJiAhZXhpc3Rpbmcud2FybmVkKSB7XG4gICAgICBleGlzdGluZy53YXJuZWQgPSB0cnVlO1xuICAgICAgLy8gTm8gZXJyb3IgY29kZSBmb3IgdGhpcyBzaW5jZSBpdCBpcyBhIFdhcm5pbmdcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICAgICAgdmFyIHcgPSBuZXcgRXJyb3IoJ1Bvc3NpYmxlIEV2ZW50RW1pdHRlciBtZW1vcnkgbGVhayBkZXRlY3RlZC4gJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nLmxlbmd0aCArICcgJyArIFN0cmluZyh0eXBlKSArICcgbGlzdGVuZXJzICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5jcmVhc2UgbGltaXQnKTtcbiAgICAgIHcubmFtZSA9ICdNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmcnO1xuICAgICAgdy5lbWl0dGVyID0gdGFyZ2V0O1xuICAgICAgdy50eXBlID0gdHlwZTtcbiAgICAgIHcuY291bnQgPSBleGlzdGluZy5sZW5ndGg7XG4gICAgICBQcm9jZXNzRW1pdFdhcm5pbmcodyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5hZGRMaXN0ZW5lciA9IGZ1bmN0aW9uIGFkZExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XG4gIHJldHVybiBfYWRkTGlzdGVuZXIodGhpcywgdHlwZSwgbGlzdGVuZXIsIGZhbHNlKTtcbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUub24gPSBFdmVudEVtaXR0ZXIucHJvdG90eXBlLmFkZExpc3RlbmVyO1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lciA9XG4gICAgZnVuY3Rpb24gcHJlcGVuZExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyKSB7XG4gICAgICByZXR1cm4gX2FkZExpc3RlbmVyKHRoaXMsIHR5cGUsIGxpc3RlbmVyLCB0cnVlKTtcbiAgICB9O1xuXG5mdW5jdGlvbiBvbmNlV3JhcHBlcigpIHtcbiAgaWYgKCF0aGlzLmZpcmVkKSB7XG4gICAgdGhpcy50YXJnZXQucmVtb3ZlTGlzdGVuZXIodGhpcy50eXBlLCB0aGlzLndyYXBGbik7XG4gICAgdGhpcy5maXJlZCA9IHRydWU7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApXG4gICAgICByZXR1cm4gdGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTtcbiAgICByZXR1cm4gdGhpcy5saXN0ZW5lci5hcHBseSh0aGlzLnRhcmdldCwgYXJndW1lbnRzKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfb25jZVdyYXAodGFyZ2V0LCB0eXBlLCBsaXN0ZW5lcikge1xuICB2YXIgc3RhdGUgPSB7IGZpcmVkOiBmYWxzZSwgd3JhcEZuOiB1bmRlZmluZWQsIHRhcmdldDogdGFyZ2V0LCB0eXBlOiB0eXBlLCBsaXN0ZW5lcjogbGlzdGVuZXIgfTtcbiAgdmFyIHdyYXBwZWQgPSBvbmNlV3JhcHBlci5iaW5kKHN0YXRlKTtcbiAgd3JhcHBlZC5saXN0ZW5lciA9IGxpc3RlbmVyO1xuICBzdGF0ZS53cmFwRm4gPSB3cmFwcGVkO1xuICByZXR1cm4gd3JhcHBlZDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5vbmNlID0gZnVuY3Rpb24gb25jZSh0eXBlLCBsaXN0ZW5lcikge1xuICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcbiAgdGhpcy5vbih0eXBlLCBfb25jZVdyYXAodGhpcywgdHlwZSwgbGlzdGVuZXIpKTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLnByZXBlbmRPbmNlTGlzdGVuZXIgPVxuICAgIGZ1bmN0aW9uIHByZXBlbmRPbmNlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpIHtcbiAgICAgIGNoZWNrTGlzdGVuZXIobGlzdGVuZXIpO1xuICAgICAgdGhpcy5wcmVwZW5kTGlzdGVuZXIodHlwZSwgX29uY2VXcmFwKHRoaXMsIHR5cGUsIGxpc3RlbmVyKSk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG4vLyBFbWl0cyBhICdyZW1vdmVMaXN0ZW5lcicgZXZlbnQgaWYgYW5kIG9ubHkgaWYgdGhlIGxpc3RlbmVyIHdhcyByZW1vdmVkLlxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lciA9XG4gICAgZnVuY3Rpb24gcmVtb3ZlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXIpIHtcbiAgICAgIHZhciBsaXN0LCBldmVudHMsIHBvc2l0aW9uLCBpLCBvcmlnaW5hbExpc3RlbmVyO1xuXG4gICAgICBjaGVja0xpc3RlbmVyKGxpc3RlbmVyKTtcblxuICAgICAgZXZlbnRzID0gdGhpcy5fZXZlbnRzO1xuICAgICAgaWYgKGV2ZW50cyA9PT0gdW5kZWZpbmVkKVxuICAgICAgICByZXR1cm4gdGhpcztcblxuICAgICAgbGlzdCA9IGV2ZW50c1t0eXBlXTtcbiAgICAgIGlmIChsaXN0ID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICBpZiAobGlzdCA9PT0gbGlzdGVuZXIgfHwgbGlzdC5saXN0ZW5lciA9PT0gbGlzdGVuZXIpIHtcbiAgICAgICAgaWYgKC0tdGhpcy5fZXZlbnRzQ291bnQgPT09IDApXG4gICAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgZGVsZXRlIGV2ZW50c1t0eXBlXTtcbiAgICAgICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyKVxuICAgICAgICAgICAgdGhpcy5lbWl0KCdyZW1vdmVMaXN0ZW5lcicsIHR5cGUsIGxpc3QubGlzdGVuZXIgfHwgbGlzdGVuZXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBsaXN0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHBvc2l0aW9uID0gLTE7XG5cbiAgICAgICAgZm9yIChpID0gbGlzdC5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgIGlmIChsaXN0W2ldID09PSBsaXN0ZW5lciB8fCBsaXN0W2ldLmxpc3RlbmVyID09PSBsaXN0ZW5lcikge1xuICAgICAgICAgICAgb3JpZ2luYWxMaXN0ZW5lciA9IGxpc3RbaV0ubGlzdGVuZXI7XG4gICAgICAgICAgICBwb3NpdGlvbiA9IGk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocG9zaXRpb24gPCAwKVxuICAgICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gMClcbiAgICAgICAgICBsaXN0LnNoaWZ0KCk7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHNwbGljZU9uZShsaXN0LCBwb3NpdGlvbik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAobGlzdC5sZW5ndGggPT09IDEpXG4gICAgICAgICAgZXZlbnRzW3R5cGVdID0gbGlzdFswXTtcblxuICAgICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgdGhpcy5lbWl0KCdyZW1vdmVMaXN0ZW5lcicsIHR5cGUsIG9yaWdpbmFsTGlzdGVuZXIgfHwgbGlzdGVuZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLm9mZiA9IEV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI7XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzID1cbiAgICBmdW5jdGlvbiByZW1vdmVBbGxMaXN0ZW5lcnModHlwZSkge1xuICAgICAgdmFyIGxpc3RlbmVycywgZXZlbnRzLCBpO1xuXG4gICAgICBldmVudHMgPSB0aGlzLl9ldmVudHM7XG4gICAgICBpZiAoZXZlbnRzID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybiB0aGlzO1xuXG4gICAgICAvLyBub3QgbGlzdGVuaW5nIGZvciByZW1vdmVMaXN0ZW5lciwgbm8gbmVlZCB0byBlbWl0XG4gICAgICBpZiAoZXZlbnRzLnJlbW92ZUxpc3RlbmVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aGlzLl9ldmVudHMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudHNbdHlwZV0gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmICgtLXRoaXMuX2V2ZW50c0NvdW50ID09PSAwKVxuICAgICAgICAgICAgdGhpcy5fZXZlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgICBlbHNlXG4gICAgICAgICAgICBkZWxldGUgZXZlbnRzW3R5cGVdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuXG4gICAgICAvLyBlbWl0IHJlbW92ZUxpc3RlbmVyIGZvciBhbGwgbGlzdGVuZXJzIG9uIGFsbCBldmVudHNcbiAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMoZXZlbnRzKTtcbiAgICAgICAgdmFyIGtleTtcbiAgICAgICAgZm9yIChpID0gMDsgaSA8IGtleXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICBrZXkgPSBrZXlzW2ldO1xuICAgICAgICAgIGlmIChrZXkgPT09ICdyZW1vdmVMaXN0ZW5lcicpIGNvbnRpbnVlO1xuICAgICAgICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoJ3JlbW92ZUxpc3RlbmVyJyk7XG4gICAgICAgIHRoaXMuX2V2ZW50cyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIHRoaXMuX2V2ZW50c0NvdW50ID0gMDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG5cbiAgICAgIGxpc3RlbmVycyA9IGV2ZW50c1t0eXBlXTtcblxuICAgICAgaWYgKHR5cGVvZiBsaXN0ZW5lcnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhpcy5yZW1vdmVMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lcnMpO1xuICAgICAgfSBlbHNlIGlmIChsaXN0ZW5lcnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyBMSUZPIG9yZGVyXG4gICAgICAgIGZvciAoaSA9IGxpc3RlbmVycy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlTGlzdGVuZXIodHlwZSwgbGlzdGVuZXJzW2ldKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9O1xuXG5mdW5jdGlvbiBfbGlzdGVuZXJzKHRhcmdldCwgdHlwZSwgdW53cmFwKSB7XG4gIHZhciBldmVudHMgPSB0YXJnZXQuX2V2ZW50cztcblxuICBpZiAoZXZlbnRzID09PSB1bmRlZmluZWQpXG4gICAgcmV0dXJuIFtdO1xuXG4gIHZhciBldmxpc3RlbmVyID0gZXZlbnRzW3R5cGVdO1xuICBpZiAoZXZsaXN0ZW5lciA9PT0gdW5kZWZpbmVkKVxuICAgIHJldHVybiBbXTtcblxuICBpZiAodHlwZW9mIGV2bGlzdGVuZXIgPT09ICdmdW5jdGlvbicpXG4gICAgcmV0dXJuIHVud3JhcCA/IFtldmxpc3RlbmVyLmxpc3RlbmVyIHx8IGV2bGlzdGVuZXJdIDogW2V2bGlzdGVuZXJdO1xuXG4gIHJldHVybiB1bndyYXAgP1xuICAgIHVud3JhcExpc3RlbmVycyhldmxpc3RlbmVyKSA6IGFycmF5Q2xvbmUoZXZsaXN0ZW5lciwgZXZsaXN0ZW5lci5sZW5ndGgpO1xufVxuXG5FdmVudEVtaXR0ZXIucHJvdG90eXBlLmxpc3RlbmVycyA9IGZ1bmN0aW9uIGxpc3RlbmVycyh0eXBlKSB7XG4gIHJldHVybiBfbGlzdGVuZXJzKHRoaXMsIHR5cGUsIHRydWUpO1xufTtcblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5yYXdMaXN0ZW5lcnMgPSBmdW5jdGlvbiByYXdMaXN0ZW5lcnModHlwZSkge1xuICByZXR1cm4gX2xpc3RlbmVycyh0aGlzLCB0eXBlLCBmYWxzZSk7XG59O1xuXG5FdmVudEVtaXR0ZXIubGlzdGVuZXJDb3VudCA9IGZ1bmN0aW9uKGVtaXR0ZXIsIHR5cGUpIHtcbiAgaWYgKHR5cGVvZiBlbWl0dGVyLmxpc3RlbmVyQ291bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gZW1pdHRlci5saXN0ZW5lckNvdW50KHR5cGUpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBsaXN0ZW5lckNvdW50LmNhbGwoZW1pdHRlciwgdHlwZSk7XG4gIH1cbn07XG5cbkV2ZW50RW1pdHRlci5wcm90b3R5cGUubGlzdGVuZXJDb3VudCA9IGxpc3RlbmVyQ291bnQ7XG5mdW5jdGlvbiBsaXN0ZW5lckNvdW50KHR5cGUpIHtcbiAgdmFyIGV2ZW50cyA9IHRoaXMuX2V2ZW50cztcblxuICBpZiAoZXZlbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgZXZsaXN0ZW5lciA9IGV2ZW50c1t0eXBlXTtcblxuICAgIGlmICh0eXBlb2YgZXZsaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfSBlbHNlIGlmIChldmxpc3RlbmVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBldmxpc3RlbmVyLmxlbmd0aDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gMDtcbn1cblxuRXZlbnRFbWl0dGVyLnByb3RvdHlwZS5ldmVudE5hbWVzID0gZnVuY3Rpb24gZXZlbnROYW1lcygpIHtcbiAgcmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50ID4gMCA/IFJlZmxlY3RPd25LZXlzKHRoaXMuX2V2ZW50cykgOiBbXTtcbn07XG5cbmZ1bmN0aW9uIGFycmF5Q2xvbmUoYXJyLCBuKSB7XG4gIHZhciBjb3B5ID0gbmV3IEFycmF5KG4pO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSlcbiAgICBjb3B5W2ldID0gYXJyW2ldO1xuICByZXR1cm4gY29weTtcbn1cblxuZnVuY3Rpb24gc3BsaWNlT25lKGxpc3QsIGluZGV4KSB7XG4gIGZvciAoOyBpbmRleCArIDEgPCBsaXN0Lmxlbmd0aDsgaW5kZXgrKylcbiAgICBsaXN0W2luZGV4XSA9IGxpc3RbaW5kZXggKyAxXTtcbiAgbGlzdC5wb3AoKTtcbn1cblxuZnVuY3Rpb24gdW53cmFwTGlzdGVuZXJzKGFycikge1xuICB2YXIgcmV0ID0gbmV3IEFycmF5KGFyci5sZW5ndGgpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHJldC5sZW5ndGg7ICsraSkge1xuICAgIHJldFtpXSA9IGFycltpXS5saXN0ZW5lciB8fCBhcnJbaV07XG4gIH1cbiAgcmV0dXJuIHJldDtcbn1cbiIsInZhciByZW5kZXIgPSBmdW5jdGlvbigpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgeyBhdHRyczogeyBpZDogXCJzZXJwXCIgfSB9LCBbXG4gICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJzZXJwLXByZXZpZXdcIiB9LCBbXG4gICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInNlcnAtdGl0bGVcIiB9LCBbXG4gICAgICAgIF92bS5fdihcIlxcbiAgICAgIFwiICsgX3ZtLl9zKF92bS5kaXNwbGF5ZWRUaXRsZSkgKyBcIlxcbiAgICBcIilcbiAgICAgIF0pLFxuICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwic2VycC11cmxcIiB9LCBbXG4gICAgICAgIF92bS5fdihcIlxcbiAgICAgIFwiICsgX3ZtLl9zKF92bS51cmwpKSxcbiAgICAgICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwic2VycC1hcnJvd1wiIH0pXG4gICAgICBdKSxcbiAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInNlcnAtZGVzY3JpcHRpb25cIiB9LCBbXG4gICAgICAgIF92bS5fdihcIlxcbiAgICAgIFwiICsgX3ZtLl9zKF92bS5kaXNwbGF5ZWREZXNjcmlwdGlvbikgKyBcIlxcbiAgICBcIilcbiAgICAgIF0pXG4gICAgXSlcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9iYWJlbC1sb2FkZXIvbGliL2luZGV4LmpzPz9jbG9uZWRSdWxlU2V0LTFbMF0ucnVsZXNbMF0udXNlWzBdIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vc2VycC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCI7IGV4cG9ydCBkZWZhdWx0IG1vZDsgZXhwb3J0ICogZnJvbSBcIi0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P2Nsb25lZFJ1bGVTZXQtMVswXS5ydWxlc1swXS51c2VbMF0hLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9zZXJwLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIiIsImltcG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0gZnJvbSBcIi4vc2VycC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NjZjNGM1YWImc2NvcGVkPXRydWUmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vc2VycC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcbmV4cG9ydCAqIGZyb20gXCIuL3NlcnAudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5pbXBvcnQgc3R5bGUwIGZyb20gXCIuL3NlcnAudnVlP3Z1ZSZ0eXBlPXN0eWxlJmluZGV4PTAmaWQ9NjZjNGM1YWImbGFuZz1zY3NzJnNjb3BlZD10cnVlJlwiXG5cblxuLyogbm9ybWFsaXplIGNvbXBvbmVudCAqL1xuaW1wb3J0IG5vcm1hbGl6ZXIgZnJvbSBcIiEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvcnVudGltZS9jb21wb25lbnROb3JtYWxpemVyLmpzXCJcbnZhciBjb21wb25lbnQgPSBub3JtYWxpemVyKFxuICBzY3JpcHQsXG4gIHJlbmRlcixcbiAgc3RhdGljUmVuZGVyRm5zLFxuICBmYWxzZSxcbiAgbnVsbCxcbiAgXCI2NmM0YzVhYlwiLFxuICBudWxsXG4gIFxuKVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi90bXAvcHJlc3Rhc2hvcC9hZG1pbi1kZXYvdGhlbWVzL25ldy10aGVtZS9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCc2NmM0YzVhYicpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCc2NmM0YzVhYicsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCc2NmM0YzVhYicsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vc2VycC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NjZjNGM1YWImc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGFwaS5yZXJlbmRlcignNjZjNGM1YWInLCB7XG4gICAgICAgIHJlbmRlcjogcmVuZGVyLFxuICAgICAgICBzdGF0aWNSZW5kZXJGbnM6IHN0YXRpY1JlbmRlckZuc1xuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcImpzL2FwcC91dGlscy9zZXJwL3NlcnAudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIiwiLyogZ2xvYmFscyBfX1ZVRV9TU1JfQ09OVEVYVF9fICovXG5cbi8vIElNUE9SVEFOVDogRG8gTk9UIHVzZSBFUzIwMTUgZmVhdHVyZXMgaW4gdGhpcyBmaWxlIChleGNlcHQgZm9yIG1vZHVsZXMpLlxuLy8gVGhpcyBtb2R1bGUgaXMgYSBydW50aW1lIHV0aWxpdHkgZm9yIGNsZWFuZXIgY29tcG9uZW50IG1vZHVsZSBvdXRwdXQgYW5kIHdpbGxcbi8vIGJlIGluY2x1ZGVkIGluIHRoZSBmaW5hbCB3ZWJwYWNrIHVzZXIgYnVuZGxlLlxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBub3JtYWxpemVDb21wb25lbnQgKFxuICBzY3JpcHRFeHBvcnRzLFxuICByZW5kZXIsXG4gIHN0YXRpY1JlbmRlckZucyxcbiAgZnVuY3Rpb25hbFRlbXBsYXRlLFxuICBpbmplY3RTdHlsZXMsXG4gIHNjb3BlSWQsXG4gIG1vZHVsZUlkZW50aWZpZXIsIC8qIHNlcnZlciBvbmx5ICovXG4gIHNoYWRvd01vZGUgLyogdnVlLWNsaSBvbmx5ICovXG4pIHtcbiAgLy8gVnVlLmV4dGVuZCBjb25zdHJ1Y3RvciBleHBvcnQgaW50ZXJvcFxuICB2YXIgb3B0aW9ucyA9IHR5cGVvZiBzY3JpcHRFeHBvcnRzID09PSAnZnVuY3Rpb24nXG4gICAgPyBzY3JpcHRFeHBvcnRzLm9wdGlvbnNcbiAgICA6IHNjcmlwdEV4cG9ydHNcblxuICAvLyByZW5kZXIgZnVuY3Rpb25zXG4gIGlmIChyZW5kZXIpIHtcbiAgICBvcHRpb25zLnJlbmRlciA9IHJlbmRlclxuICAgIG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zID0gc3RhdGljUmVuZGVyRm5zXG4gICAgb3B0aW9ucy5fY29tcGlsZWQgPSB0cnVlXG4gIH1cblxuICAvLyBmdW5jdGlvbmFsIHRlbXBsYXRlXG4gIGlmIChmdW5jdGlvbmFsVGVtcGxhdGUpIHtcbiAgICBvcHRpb25zLmZ1bmN0aW9uYWwgPSB0cnVlXG4gIH1cblxuICAvLyBzY29wZWRJZFxuICBpZiAoc2NvcGVJZCkge1xuICAgIG9wdGlvbnMuX3Njb3BlSWQgPSAnZGF0YS12LScgKyBzY29wZUlkXG4gIH1cblxuICB2YXIgaG9va1xuICBpZiAobW9kdWxlSWRlbnRpZmllcikgeyAvLyBzZXJ2ZXIgYnVpbGRcbiAgICBob29rID0gZnVuY3Rpb24gKGNvbnRleHQpIHtcbiAgICAgIC8vIDIuMyBpbmplY3Rpb25cbiAgICAgIGNvbnRleHQgPVxuICAgICAgICBjb250ZXh0IHx8IC8vIGNhY2hlZCBjYWxsXG4gICAgICAgICh0aGlzLiR2bm9kZSAmJiB0aGlzLiR2bm9kZS5zc3JDb250ZXh0KSB8fCAvLyBzdGF0ZWZ1bFxuICAgICAgICAodGhpcy5wYXJlbnQgJiYgdGhpcy5wYXJlbnQuJHZub2RlICYmIHRoaXMucGFyZW50LiR2bm9kZS5zc3JDb250ZXh0KSAvLyBmdW5jdGlvbmFsXG4gICAgICAvLyAyLjIgd2l0aCBydW5Jbk5ld0NvbnRleHQ6IHRydWVcbiAgICAgIGlmICghY29udGV4dCAmJiB0eXBlb2YgX19WVUVfU1NSX0NPTlRFWFRfXyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgY29udGV4dCA9IF9fVlVFX1NTUl9DT05URVhUX19cbiAgICAgIH1cbiAgICAgIC8vIGluamVjdCBjb21wb25lbnQgc3R5bGVzXG4gICAgICBpZiAoaW5qZWN0U3R5bGVzKSB7XG4gICAgICAgIGluamVjdFN0eWxlcy5jYWxsKHRoaXMsIGNvbnRleHQpXG4gICAgICB9XG4gICAgICAvLyByZWdpc3RlciBjb21wb25lbnQgbW9kdWxlIGlkZW50aWZpZXIgZm9yIGFzeW5jIGNodW5rIGluZmVycmVuY2VcbiAgICAgIGlmIChjb250ZXh0ICYmIGNvbnRleHQuX3JlZ2lzdGVyZWRDb21wb25lbnRzKSB7XG4gICAgICAgIGNvbnRleHQuX3JlZ2lzdGVyZWRDb21wb25lbnRzLmFkZChtb2R1bGVJZGVudGlmaWVyKVxuICAgICAgfVxuICAgIH1cbiAgICAvLyB1c2VkIGJ5IHNzciBpbiBjYXNlIGNvbXBvbmVudCBpcyBjYWNoZWQgYW5kIGJlZm9yZUNyZWF0ZVxuICAgIC8vIG5ldmVyIGdldHMgY2FsbGVkXG4gICAgb3B0aW9ucy5fc3NyUmVnaXN0ZXIgPSBob29rXG4gIH0gZWxzZSBpZiAoaW5qZWN0U3R5bGVzKSB7XG4gICAgaG9vayA9IHNoYWRvd01vZGVcbiAgICAgID8gZnVuY3Rpb24gKCkge1xuICAgICAgICBpbmplY3RTdHlsZXMuY2FsbChcbiAgICAgICAgICB0aGlzLFxuICAgICAgICAgIChvcHRpb25zLmZ1bmN0aW9uYWwgPyB0aGlzLnBhcmVudCA6IHRoaXMpLiRyb290LiRvcHRpb25zLnNoYWRvd1Jvb3RcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgOiBpbmplY3RTdHlsZXNcbiAgfVxuXG4gIGlmIChob29rKSB7XG4gICAgaWYgKG9wdGlvbnMuZnVuY3Rpb25hbCkge1xuICAgICAgLy8gZm9yIHRlbXBsYXRlLW9ubHkgaG90LXJlbG9hZCBiZWNhdXNlIGluIHRoYXQgY2FzZSB0aGUgcmVuZGVyIGZuIGRvZXNuJ3RcbiAgICAgIC8vIGdvIHRocm91Z2ggdGhlIG5vcm1hbGl6ZXJcbiAgICAgIG9wdGlvbnMuX2luamVjdFN0eWxlcyA9IGhvb2tcbiAgICAgIC8vIHJlZ2lzdGVyIGZvciBmdW5jdGlvbmFsIGNvbXBvbmVudCBpbiB2dWUgZmlsZVxuICAgICAgdmFyIG9yaWdpbmFsUmVuZGVyID0gb3B0aW9ucy5yZW5kZXJcbiAgICAgIG9wdGlvbnMucmVuZGVyID0gZnVuY3Rpb24gcmVuZGVyV2l0aFN0eWxlSW5qZWN0aW9uIChoLCBjb250ZXh0KSB7XG4gICAgICAgIGhvb2suY2FsbChjb250ZXh0KVxuICAgICAgICByZXR1cm4gb3JpZ2luYWxSZW5kZXIoaCwgY29udGV4dClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaW5qZWN0IGNvbXBvbmVudCByZWdpc3RyYXRpb24gYXMgYmVmb3JlQ3JlYXRlIGhvb2tcbiAgICAgIHZhciBleGlzdGluZyA9IG9wdGlvbnMuYmVmb3JlQ3JlYXRlXG4gICAgICBvcHRpb25zLmJlZm9yZUNyZWF0ZSA9IGV4aXN0aW5nXG4gICAgICAgID8gW10uY29uY2F0KGV4aXN0aW5nLCBob29rKVxuICAgICAgICA6IFtob29rXVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZXhwb3J0czogc2NyaXB0RXhwb3J0cyxcbiAgICBvcHRpb25zOiBvcHRpb25zXG4gIH1cbn1cbiIsIi8vIHN0eWxlLWxvYWRlcjogQWRkcyBzb21lIGNzcyB0byB0aGUgRE9NIGJ5IGFkZGluZyBhIDxzdHlsZT4gdGFnXG5cbi8vIGxvYWQgdGhlIHN0eWxlc1xudmFyIGNvbnRlbnQgPSByZXF1aXJlKFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vc2VycC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02NmM0YzVhYiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIpO1xuaWYoY29udGVudC5fX2VzTW9kdWxlKSBjb250ZW50ID0gY29udGVudC5kZWZhdWx0O1xuaWYodHlwZW9mIGNvbnRlbnQgPT09ICdzdHJpbmcnKSBjb250ZW50ID0gW1ttb2R1bGUuaWQsIGNvbnRlbnQsICcnXV07XG5pZihjb250ZW50LmxvY2FscykgbW9kdWxlLmV4cG9ydHMgPSBjb250ZW50LmxvY2Fscztcbi8vIGFkZCB0aGUgc3R5bGVzIHRvIHRoZSBET01cbnZhciBhZGQgPSByZXF1aXJlKFwiIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtc3R5bGUtbG9hZGVyL2xpYi9hZGRTdHlsZXNDbGllbnQuanNcIikuZGVmYXVsdFxudmFyIHVwZGF0ZSA9IGFkZChcIjJjODNkNGRiXCIsIGNvbnRlbnQsIGZhbHNlLCB7fSk7XG4vLyBIb3QgTW9kdWxlIFJlcGxhY2VtZW50XG5pZihtb2R1bGUuaG90KSB7XG4gLy8gV2hlbiB0aGUgc3R5bGVzIGNoYW5nZSwgdXBkYXRlIHRoZSA8c3R5bGU+IHRhZ3NcbiBpZighY29udGVudC5sb2NhbHMpIHtcbiAgIG1vZHVsZS5ob3QuYWNjZXB0KFwiISEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvY3NzLWxvYWRlci9kaXN0L2Nqcy5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy9zdHlsZVBvc3RMb2FkZXIuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Nhc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vc2VycC52dWU/dnVlJnR5cGU9c3R5bGUmaW5kZXg9MCZpZD02NmM0YzVhYiZsYW5nPXNjc3Mmc2NvcGVkPXRydWUmXCIsIGZ1bmN0aW9uKCkge1xuICAgICB2YXIgbmV3Q29udGVudCA9IHJlcXVpcmUoXCIhIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9jc3MtbG9hZGVyL2Rpc3QvY2pzLmpzIS4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9sb2FkZXJzL3N0eWxlUG9zdExvYWRlci5qcyEuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1sb2FkZXIvZGlzdC9janMuanMhLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9zZXJwLnZ1ZT92dWUmdHlwZT1zdHlsZSZpbmRleD0wJmlkPTY2YzRjNWFiJmxhbmc9c2NzcyZzY29wZWQ9dHJ1ZSZcIik7XG4gICAgIGlmKG5ld0NvbnRlbnQuX19lc01vZHVsZSkgbmV3Q29udGVudCA9IG5ld0NvbnRlbnQuZGVmYXVsdDtcbiAgICAgaWYodHlwZW9mIG5ld0NvbnRlbnQgPT09ICdzdHJpbmcnKSBuZXdDb250ZW50ID0gW1ttb2R1bGUuaWQsIG5ld0NvbnRlbnQsICcnXV07XG4gICAgIHVwZGF0ZShuZXdDb250ZW50KTtcbiAgIH0pO1xuIH1cbiAvLyBXaGVuIHRoZSBtb2R1bGUgaXMgZGlzcG9zZWQsIHJlbW92ZSB0aGUgPHN0eWxlPiB0YWdzXG4gbW9kdWxlLmhvdC5kaXNwb3NlKGZ1bmN0aW9uKCkgeyB1cGRhdGUoKTsgfSk7XG59IiwiLyoqXG4gKiBUcmFuc2xhdGVzIHRoZSBsaXN0IGZvcm1hdCBwcm9kdWNlZCBieSBjc3MtbG9hZGVyIGludG8gc29tZXRoaW5nXG4gKiBlYXNpZXIgdG8gbWFuaXB1bGF0ZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbGlzdFRvU3R5bGVzIChwYXJlbnRJZCwgbGlzdCkge1xuICB2YXIgc3R5bGVzID0gW11cbiAgdmFyIG5ld1N0eWxlcyA9IHt9XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpdGVtID0gbGlzdFtpXVxuICAgIHZhciBpZCA9IGl0ZW1bMF1cbiAgICB2YXIgY3NzID0gaXRlbVsxXVxuICAgIHZhciBtZWRpYSA9IGl0ZW1bMl1cbiAgICB2YXIgc291cmNlTWFwID0gaXRlbVszXVxuICAgIHZhciBwYXJ0ID0ge1xuICAgICAgaWQ6IHBhcmVudElkICsgJzonICsgaSxcbiAgICAgIGNzczogY3NzLFxuICAgICAgbWVkaWE6IG1lZGlhLFxuICAgICAgc291cmNlTWFwOiBzb3VyY2VNYXBcbiAgICB9XG4gICAgaWYgKCFuZXdTdHlsZXNbaWRdKSB7XG4gICAgICBzdHlsZXMucHVzaChuZXdTdHlsZXNbaWRdID0geyBpZDogaWQsIHBhcnRzOiBbcGFydF0gfSlcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3U3R5bGVzW2lkXS5wYXJ0cy5wdXNoKHBhcnQpXG4gICAgfVxuICB9XG4gIHJldHVybiBzdHlsZXNcbn1cbiIsIi8qXG4gIE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwXG4gIEF1dGhvciBUb2JpYXMgS29wcGVycyBAc29rcmFcbiAgTW9kaWZpZWQgYnkgRXZhbiBZb3UgQHl5eDk5MDgwM1xuKi9cblxuaW1wb3J0IGxpc3RUb1N0eWxlcyBmcm9tICcuL2xpc3RUb1N0eWxlcydcblxudmFyIGhhc0RvY3VtZW50ID0gdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJ1xuXG5pZiAodHlwZW9mIERFQlVHICE9PSAndW5kZWZpbmVkJyAmJiBERUJVRykge1xuICBpZiAoIWhhc0RvY3VtZW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICd2dWUtc3R5bGUtbG9hZGVyIGNhbm5vdCBiZSB1c2VkIGluIGEgbm9uLWJyb3dzZXIgZW52aXJvbm1lbnQuICcgK1xuICAgIFwiVXNlIHsgdGFyZ2V0OiAnbm9kZScgfSBpbiB5b3VyIFdlYnBhY2sgY29uZmlnIHRvIGluZGljYXRlIGEgc2VydmVyLXJlbmRlcmluZyBlbnZpcm9ubWVudC5cIlxuICApIH1cbn1cblxuLypcbnR5cGUgU3R5bGVPYmplY3QgPSB7XG4gIGlkOiBudW1iZXI7XG4gIHBhcnRzOiBBcnJheTxTdHlsZU9iamVjdFBhcnQ+XG59XG5cbnR5cGUgU3R5bGVPYmplY3RQYXJ0ID0ge1xuICBjc3M6IHN0cmluZztcbiAgbWVkaWE6IHN0cmluZztcbiAgc291cmNlTWFwOiA/c3RyaW5nXG59XG4qL1xuXG52YXIgc3R5bGVzSW5Eb20gPSB7LypcbiAgW2lkOiBudW1iZXJdOiB7XG4gICAgaWQ6IG51bWJlcixcbiAgICByZWZzOiBudW1iZXIsXG4gICAgcGFydHM6IEFycmF5PChvYmo/OiBTdHlsZU9iamVjdFBhcnQpID0+IHZvaWQ+XG4gIH1cbiovfVxuXG52YXIgaGVhZCA9IGhhc0RvY3VtZW50ICYmIChkb2N1bWVudC5oZWFkIHx8IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0pXG52YXIgc2luZ2xldG9uRWxlbWVudCA9IG51bGxcbnZhciBzaW5nbGV0b25Db3VudGVyID0gMFxudmFyIGlzUHJvZHVjdGlvbiA9IGZhbHNlXG52YXIgbm9vcCA9IGZ1bmN0aW9uICgpIHt9XG52YXIgb3B0aW9ucyA9IG51bGxcbnZhciBzc3JJZEtleSA9ICdkYXRhLXZ1ZS1zc3ItaWQnXG5cbi8vIEZvcmNlIHNpbmdsZS10YWcgc29sdXRpb24gb24gSUU2LTksIHdoaWNoIGhhcyBhIGhhcmQgbGltaXQgb24gdGhlICMgb2YgPHN0eWxlPlxuLy8gdGFncyBpdCB3aWxsIGFsbG93IG9uIGEgcGFnZVxudmFyIGlzT2xkSUUgPSB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAvbXNpZSBbNi05XVxcYi8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkpXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFkZFN0eWxlc0NsaWVudCAocGFyZW50SWQsIGxpc3QsIF9pc1Byb2R1Y3Rpb24sIF9vcHRpb25zKSB7XG4gIGlzUHJvZHVjdGlvbiA9IF9pc1Byb2R1Y3Rpb25cblxuICBvcHRpb25zID0gX29wdGlvbnMgfHwge31cblxuICB2YXIgc3R5bGVzID0gbGlzdFRvU3R5bGVzKHBhcmVudElkLCBsaXN0KVxuICBhZGRTdHlsZXNUb0RvbShzdHlsZXMpXG5cbiAgcmV0dXJuIGZ1bmN0aW9uIHVwZGF0ZSAobmV3TGlzdCkge1xuICAgIHZhciBtYXlSZW1vdmUgPSBbXVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3R5bGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgaXRlbSA9IHN0eWxlc1tpXVxuICAgICAgdmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF1cbiAgICAgIGRvbVN0eWxlLnJlZnMtLVxuICAgICAgbWF5UmVtb3ZlLnB1c2goZG9tU3R5bGUpXG4gICAgfVxuICAgIGlmIChuZXdMaXN0KSB7XG4gICAgICBzdHlsZXMgPSBsaXN0VG9TdHlsZXMocGFyZW50SWQsIG5ld0xpc3QpXG4gICAgICBhZGRTdHlsZXNUb0RvbShzdHlsZXMpXG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlcyA9IFtdXG4gICAgfVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWF5UmVtb3ZlLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgZG9tU3R5bGUgPSBtYXlSZW1vdmVbaV1cbiAgICAgIGlmIChkb21TdHlsZS5yZWZzID09PSAwKSB7XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgZG9tU3R5bGUucGFydHMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBkb21TdHlsZS5wYXJ0c1tqXSgpXG4gICAgICAgIH1cbiAgICAgICAgZGVsZXRlIHN0eWxlc0luRG9tW2RvbVN0eWxlLmlkXVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRTdHlsZXNUb0RvbSAoc3R5bGVzIC8qIEFycmF5PFN0eWxlT2JqZWN0PiAqLykge1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0eWxlcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBpdGVtID0gc3R5bGVzW2ldXG4gICAgdmFyIGRvbVN0eWxlID0gc3R5bGVzSW5Eb21baXRlbS5pZF1cbiAgICBpZiAoZG9tU3R5bGUpIHtcbiAgICAgIGRvbVN0eWxlLnJlZnMrK1xuICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCBkb21TdHlsZS5wYXJ0cy5sZW5ndGg7IGorKykge1xuICAgICAgICBkb21TdHlsZS5wYXJ0c1tqXShpdGVtLnBhcnRzW2pdKVxuICAgICAgfVxuICAgICAgZm9yICg7IGogPCBpdGVtLnBhcnRzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIGRvbVN0eWxlLnBhcnRzLnB1c2goYWRkU3R5bGUoaXRlbS5wYXJ0c1tqXSkpXG4gICAgICB9XG4gICAgICBpZiAoZG9tU3R5bGUucGFydHMubGVuZ3RoID4gaXRlbS5wYXJ0cy5sZW5ndGgpIHtcbiAgICAgICAgZG9tU3R5bGUucGFydHMubGVuZ3RoID0gaXRlbS5wYXJ0cy5sZW5ndGhcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIHBhcnRzID0gW11cbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgaXRlbS5wYXJ0cy5sZW5ndGg7IGorKykge1xuICAgICAgICBwYXJ0cy5wdXNoKGFkZFN0eWxlKGl0ZW0ucGFydHNbal0pKVxuICAgICAgfVxuICAgICAgc3R5bGVzSW5Eb21baXRlbS5pZF0gPSB7IGlkOiBpdGVtLmlkLCByZWZzOiAxLCBwYXJ0czogcGFydHMgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVTdHlsZUVsZW1lbnQgKCkge1xuICB2YXIgc3R5bGVFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKVxuICBzdHlsZUVsZW1lbnQudHlwZSA9ICd0ZXh0L2NzcydcbiAgaGVhZC5hcHBlbmRDaGlsZChzdHlsZUVsZW1lbnQpXG4gIHJldHVybiBzdHlsZUVsZW1lbnRcbn1cblxuZnVuY3Rpb24gYWRkU3R5bGUgKG9iaiAvKiBTdHlsZU9iamVjdFBhcnQgKi8pIHtcbiAgdmFyIHVwZGF0ZSwgcmVtb3ZlXG4gIHZhciBzdHlsZUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzdHlsZVsnICsgc3NySWRLZXkgKyAnfj1cIicgKyBvYmouaWQgKyAnXCJdJylcblxuICBpZiAoc3R5bGVFbGVtZW50KSB7XG4gICAgaWYgKGlzUHJvZHVjdGlvbikge1xuICAgICAgLy8gaGFzIFNTUiBzdHlsZXMgYW5kIGluIHByb2R1Y3Rpb24gbW9kZS5cbiAgICAgIC8vIHNpbXBseSBkbyBub3RoaW5nLlxuICAgICAgcmV0dXJuIG5vb3BcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaGFzIFNTUiBzdHlsZXMgYnV0IGluIGRldiBtb2RlLlxuICAgICAgLy8gZm9yIHNvbWUgcmVhc29uIENocm9tZSBjYW4ndCBoYW5kbGUgc291cmNlIG1hcCBpbiBzZXJ2ZXItcmVuZGVyZWRcbiAgICAgIC8vIHN0eWxlIHRhZ3MgLSBzb3VyY2UgbWFwcyBpbiA8c3R5bGU+IG9ubHkgd29ya3MgaWYgdGhlIHN0eWxlIHRhZyBpc1xuICAgICAgLy8gY3JlYXRlZCBhbmQgaW5zZXJ0ZWQgZHluYW1pY2FsbHkuIFNvIHdlIHJlbW92ZSB0aGUgc2VydmVyIHJlbmRlcmVkXG4gICAgICAvLyBzdHlsZXMgYW5kIGluamVjdCBuZXcgb25lcy5cbiAgICAgIHN0eWxlRWxlbWVudC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHN0eWxlRWxlbWVudClcbiAgICB9XG4gIH1cblxuICBpZiAoaXNPbGRJRSkge1xuICAgIC8vIHVzZSBzaW5nbGV0b24gbW9kZSBmb3IgSUU5LlxuICAgIHZhciBzdHlsZUluZGV4ID0gc2luZ2xldG9uQ291bnRlcisrXG4gICAgc3R5bGVFbGVtZW50ID0gc2luZ2xldG9uRWxlbWVudCB8fCAoc2luZ2xldG9uRWxlbWVudCA9IGNyZWF0ZVN0eWxlRWxlbWVudCgpKVxuICAgIHVwZGF0ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZUVsZW1lbnQsIHN0eWxlSW5kZXgsIGZhbHNlKVxuICAgIHJlbW92ZSA9IGFwcGx5VG9TaW5nbGV0b25UYWcuYmluZChudWxsLCBzdHlsZUVsZW1lbnQsIHN0eWxlSW5kZXgsIHRydWUpXG4gIH0gZWxzZSB7XG4gICAgLy8gdXNlIG11bHRpLXN0eWxlLXRhZyBtb2RlIGluIGFsbCBvdGhlciBjYXNlc1xuICAgIHN0eWxlRWxlbWVudCA9IGNyZWF0ZVN0eWxlRWxlbWVudCgpXG4gICAgdXBkYXRlID0gYXBwbHlUb1RhZy5iaW5kKG51bGwsIHN0eWxlRWxlbWVudClcbiAgICByZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBzdHlsZUVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzdHlsZUVsZW1lbnQpXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKG9iailcblxuICByZXR1cm4gZnVuY3Rpb24gdXBkYXRlU3R5bGUgKG5ld09iaiAvKiBTdHlsZU9iamVjdFBhcnQgKi8pIHtcbiAgICBpZiAobmV3T2JqKSB7XG4gICAgICBpZiAobmV3T2JqLmNzcyA9PT0gb2JqLmNzcyAmJlxuICAgICAgICAgIG5ld09iai5tZWRpYSA9PT0gb2JqLm1lZGlhICYmXG4gICAgICAgICAgbmV3T2JqLnNvdXJjZU1hcCA9PT0gb2JqLnNvdXJjZU1hcCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIHVwZGF0ZShvYmogPSBuZXdPYmopXG4gICAgfSBlbHNlIHtcbiAgICAgIHJlbW92ZSgpXG4gICAgfVxuICB9XG59XG5cbnZhciByZXBsYWNlVGV4dCA9IChmdW5jdGlvbiAoKSB7XG4gIHZhciB0ZXh0U3RvcmUgPSBbXVxuXG4gIHJldHVybiBmdW5jdGlvbiAoaW5kZXgsIHJlcGxhY2VtZW50KSB7XG4gICAgdGV4dFN0b3JlW2luZGV4XSA9IHJlcGxhY2VtZW50XG4gICAgcmV0dXJuIHRleHRTdG9yZS5maWx0ZXIoQm9vbGVhbikuam9pbignXFxuJylcbiAgfVxufSkoKVxuXG5mdW5jdGlvbiBhcHBseVRvU2luZ2xldG9uVGFnIChzdHlsZUVsZW1lbnQsIGluZGV4LCByZW1vdmUsIG9iaikge1xuICB2YXIgY3NzID0gcmVtb3ZlID8gJycgOiBvYmouY3NzXG5cbiAgaWYgKHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGVFbGVtZW50LnN0eWxlU2hlZXQuY3NzVGV4dCA9IHJlcGxhY2VUZXh0KGluZGV4LCBjc3MpXG4gIH0gZWxzZSB7XG4gICAgdmFyIGNzc05vZGUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjc3MpXG4gICAgdmFyIGNoaWxkTm9kZXMgPSBzdHlsZUVsZW1lbnQuY2hpbGROb2Rlc1xuICAgIGlmIChjaGlsZE5vZGVzW2luZGV4XSkgc3R5bGVFbGVtZW50LnJlbW92ZUNoaWxkKGNoaWxkTm9kZXNbaW5kZXhdKVxuICAgIGlmIChjaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgc3R5bGVFbGVtZW50Lmluc2VydEJlZm9yZShjc3NOb2RlLCBjaGlsZE5vZGVzW2luZGV4XSlcbiAgICB9IGVsc2Uge1xuICAgICAgc3R5bGVFbGVtZW50LmFwcGVuZENoaWxkKGNzc05vZGUpXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFwcGx5VG9UYWcgKHN0eWxlRWxlbWVudCwgb2JqKSB7XG4gIHZhciBjc3MgPSBvYmouY3NzXG4gIHZhciBtZWRpYSA9IG9iai5tZWRpYVxuICB2YXIgc291cmNlTWFwID0gb2JqLnNvdXJjZU1hcFxuXG4gIGlmIChtZWRpYSkge1xuICAgIHN0eWxlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ21lZGlhJywgbWVkaWEpXG4gIH1cbiAgaWYgKG9wdGlvbnMuc3NySWQpIHtcbiAgICBzdHlsZUVsZW1lbnQuc2V0QXR0cmlidXRlKHNzcklkS2V5LCBvYmouaWQpXG4gIH1cblxuICBpZiAoc291cmNlTWFwKSB7XG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9kZXZ0b29scy9kb2NzL2phdmFzY3JpcHQtZGVidWdnaW5nXG4gICAgLy8gdGhpcyBtYWtlcyBzb3VyY2UgbWFwcyBpbnNpZGUgc3R5bGUgdGFncyB3b3JrIHByb3Blcmx5IGluIENocm9tZVxuICAgIGNzcyArPSAnXFxuLyojIHNvdXJjZVVSTD0nICsgc291cmNlTWFwLnNvdXJjZXNbMF0gKyAnICovJ1xuICAgIC8vIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzI2NjAzODc1XG4gICAgY3NzICs9ICdcXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LCcgKyBidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzb3VyY2VNYXApKSkpICsgJyAqLydcbiAgfVxuXG4gIGlmIChzdHlsZUVsZW1lbnQuc3R5bGVTaGVldCkge1xuICAgIHN0eWxlRWxlbWVudC5zdHlsZVNoZWV0LmNzc1RleHQgPSBjc3NcbiAgfSBlbHNlIHtcbiAgICB3aGlsZSAoc3R5bGVFbGVtZW50LmZpcnN0Q2hpbGQpIHtcbiAgICAgIHN0eWxlRWxlbWVudC5yZW1vdmVDaGlsZChzdHlsZUVsZW1lbnQuZmlyc3RDaGlsZClcbiAgICB9XG4gICAgc3R5bGVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpXG4gIH1cbn1cbiIsImlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi92dWUuY29tbW9uLnByb2QuanMnKVxufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL3Z1ZS5jb21tb24uZGV2LmpzJylcbn1cbiIsIi8qIVxuICogVnVlLmpzIHYyLjYuMTJcbiAqIChjKSAyMDE0LTIwMjAgRXZhbiBZb3VcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS5cbiAqL1xuXCJ1c2Ugc3RyaWN0XCI7dmFyIGU9T2JqZWN0LmZyZWV6ZSh7fSk7ZnVuY3Rpb24gdChlKXtyZXR1cm4gbnVsbD09ZX1mdW5jdGlvbiBuKGUpe3JldHVybiBudWxsIT1lfWZ1bmN0aW9uIHIoZSl7cmV0dXJuITA9PT1lfWZ1bmN0aW9uIGkoZSl7cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIGV8fFwibnVtYmVyXCI9PXR5cGVvZiBlfHxcInN5bWJvbFwiPT10eXBlb2YgZXx8XCJib29sZWFuXCI9PXR5cGVvZiBlfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIG51bGwhPT1lJiZcIm9iamVjdFwiPT10eXBlb2YgZX12YXIgYT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIHMoZSl7cmV0dXJuXCJbb2JqZWN0IE9iamVjdF1cIj09PWEuY2FsbChlKX1mdW5jdGlvbiBjKGUpe3ZhciB0PXBhcnNlRmxvYXQoU3RyaW5nKGUpKTtyZXR1cm4gdD49MCYmTWF0aC5mbG9vcih0KT09PXQmJmlzRmluaXRlKGUpfWZ1bmN0aW9uIHUoZSl7cmV0dXJuIG4oZSkmJlwiZnVuY3Rpb25cIj09dHlwZW9mIGUudGhlbiYmXCJmdW5jdGlvblwiPT10eXBlb2YgZS5jYXRjaH1mdW5jdGlvbiBsKGUpe3JldHVybiBudWxsPT1lP1wiXCI6QXJyYXkuaXNBcnJheShlKXx8cyhlKSYmZS50b1N0cmluZz09PWE/SlNPTi5zdHJpbmdpZnkoZSxudWxsLDIpOlN0cmluZyhlKX1mdW5jdGlvbiBmKGUpe3ZhciB0PXBhcnNlRmxvYXQoZSk7cmV0dXJuIGlzTmFOKHQpP2U6dH1mdW5jdGlvbiBwKGUsdCl7Zm9yKHZhciBuPU9iamVjdC5jcmVhdGUobnVsbCkscj1lLnNwbGl0KFwiLFwiKSxpPTA7aTxyLmxlbmd0aDtpKyspbltyW2ldXT0hMDtyZXR1cm4gdD9mdW5jdGlvbihlKXtyZXR1cm4gbltlLnRvTG93ZXJDYXNlKCldfTpmdW5jdGlvbihlKXtyZXR1cm4gbltlXX19dmFyIGQ9cChcInNsb3QsY29tcG9uZW50XCIsITApLHY9cChcImtleSxyZWYsc2xvdCxzbG90LXNjb3BlLGlzXCIpO2Z1bmN0aW9uIGgoZSx0KXtpZihlLmxlbmd0aCl7dmFyIG49ZS5pbmRleE9mKHQpO2lmKG4+LTEpcmV0dXJuIGUuc3BsaWNlKG4sMSl9fXZhciBtPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24geShlLHQpe3JldHVybiBtLmNhbGwoZSx0KX1mdW5jdGlvbiBnKGUpe3ZhciB0PU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiB0W25dfHwodFtuXT1lKG4pKX19dmFyIF89Ly0oXFx3KS9nLGI9ZyhmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKF8sZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD90LnRvVXBwZXJDYXNlKCk6XCJcIn0pfSksJD1nKGZ1bmN0aW9uKGUpe3JldHVybiBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSl9KSx3PS9cXEIoW0EtWl0pL2csQz1nKGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UodyxcIi0kMVwiKS50b0xvd2VyQ2FzZSgpfSk7dmFyIHg9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ/ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5iaW5kKHQpfTpmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4obil7dmFyIHI9YXJndW1lbnRzLmxlbmd0aDtyZXR1cm4gcj9yPjE/ZS5hcHBseSh0LGFyZ3VtZW50cyk6ZS5jYWxsKHQsbik6ZS5jYWxsKHQpfXJldHVybiBuLl9sZW5ndGg9ZS5sZW5ndGgsbn07ZnVuY3Rpb24gayhlLHQpe3Q9dHx8MDtmb3IodmFyIG49ZS5sZW5ndGgtdCxyPW5ldyBBcnJheShuKTtuLS07KXJbbl09ZVtuK3RdO3JldHVybiByfWZ1bmN0aW9uIEEoZSx0KXtmb3IodmFyIG4gaW4gdCllW25dPXRbbl07cmV0dXJuIGV9ZnVuY3Rpb24gTyhlKXtmb3IodmFyIHQ9e30sbj0wO248ZS5sZW5ndGg7bisrKWVbbl0mJkEodCxlW25dKTtyZXR1cm4gdH1mdW5jdGlvbiBTKGUsdCxuKXt9dmFyIFQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiExfSxFPWZ1bmN0aW9uKGUpe3JldHVybiBlfTtmdW5jdGlvbiBOKGUsdCl7aWYoZT09PXQpcmV0dXJuITA7dmFyIG49byhlKSxyPW8odCk7aWYoIW58fCFyKXJldHVybiFuJiYhciYmU3RyaW5nKGUpPT09U3RyaW5nKHQpO3RyeXt2YXIgaT1BcnJheS5pc0FycmF5KGUpLGE9QXJyYXkuaXNBcnJheSh0KTtpZihpJiZhKXJldHVybiBlLmxlbmd0aD09PXQubGVuZ3RoJiZlLmV2ZXJ5KGZ1bmN0aW9uKGUsbil7cmV0dXJuIE4oZSx0W25dKX0pO2lmKGUgaW5zdGFuY2VvZiBEYXRlJiZ0IGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4gZS5nZXRUaW1lKCk9PT10LmdldFRpbWUoKTtpZihpfHxhKXJldHVybiExO3ZhciBzPU9iamVjdC5rZXlzKGUpLGM9T2JqZWN0LmtleXModCk7cmV0dXJuIHMubGVuZ3RoPT09Yy5sZW5ndGgmJnMuZXZlcnkoZnVuY3Rpb24obil7cmV0dXJuIE4oZVtuXSx0W25dKX0pfWNhdGNoKGUpe3JldHVybiExfX1mdW5jdGlvbiBqKGUsdCl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspaWYoTihlW25dLHQpKXJldHVybiBuO3JldHVybi0xfWZ1bmN0aW9uIEQoZSl7dmFyIHQ9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7dHx8KHQ9ITAsZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfX12YXIgTD1cImRhdGEtc2VydmVyLXJlbmRlcmVkXCIsTT1bXCJjb21wb25lbnRcIixcImRpcmVjdGl2ZVwiLFwiZmlsdGVyXCJdLEk9W1wiYmVmb3JlQ3JlYXRlXCIsXCJjcmVhdGVkXCIsXCJiZWZvcmVNb3VudFwiLFwibW91bnRlZFwiLFwiYmVmb3JlVXBkYXRlXCIsXCJ1cGRhdGVkXCIsXCJiZWZvcmVEZXN0cm95XCIsXCJkZXN0cm95ZWRcIixcImFjdGl2YXRlZFwiLFwiZGVhY3RpdmF0ZWRcIixcImVycm9yQ2FwdHVyZWRcIixcInNlcnZlclByZWZldGNoXCJdLEY9e29wdGlvbk1lcmdlU3RyYXRlZ2llczpPYmplY3QuY3JlYXRlKG51bGwpLHNpbGVudDohMSxwcm9kdWN0aW9uVGlwOiExLGRldnRvb2xzOiExLHBlcmZvcm1hbmNlOiExLGVycm9ySGFuZGxlcjpudWxsLHdhcm5IYW5kbGVyOm51bGwsaWdub3JlZEVsZW1lbnRzOltdLGtleUNvZGVzOk9iamVjdC5jcmVhdGUobnVsbCksaXNSZXNlcnZlZFRhZzpULGlzUmVzZXJ2ZWRBdHRyOlQsaXNVbmtub3duRWxlbWVudDpULGdldFRhZ05hbWVzcGFjZTpTLHBhcnNlUGxhdGZvcm1UYWdOYW1lOkUsbXVzdFVzZVByb3A6VCxhc3luYzohMCxfbGlmZWN5Y2xlSG9va3M6SX0sUD0vYS16QS1aXFx1MDBCN1xcdTAwQzAtXFx1MDBENlxcdTAwRDgtXFx1MDBGNlxcdTAwRjgtXFx1MDM3RFxcdTAzN0YtXFx1MUZGRlxcdTIwMEMtXFx1MjAwRFxcdTIwM0YtXFx1MjA0MFxcdTIwNzAtXFx1MjE4RlxcdTJDMDAtXFx1MkZFRlxcdTMwMDEtXFx1RDdGRlxcdUY5MDAtXFx1RkRDRlxcdUZERjAtXFx1RkZGRC87ZnVuY3Rpb24gUihlLHQsbixyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHt2YWx1ZTpuLGVudW1lcmFibGU6ISFyLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pfXZhciBIPW5ldyBSZWdFeHAoXCJbXlwiK1Auc291cmNlK1wiLiRfXFxcXGRdXCIpO3ZhciBCLFU9XCJfX3Byb3RvX19cImlue30sej1cInVuZGVmaW5lZFwiIT10eXBlb2Ygd2luZG93LFY9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFdYRW52aXJvbm1lbnQmJiEhV1hFbnZpcm9ubWVudC5wbGF0Zm9ybSxLPVYmJldYRW52aXJvbm1lbnQucGxhdGZvcm0udG9Mb3dlckNhc2UoKSxKPXomJndpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkscT1KJiYvbXNpZXx0cmlkZW50Ly50ZXN0KEopLFc9SiYmSi5pbmRleE9mKFwibXNpZSA5LjBcIik+MCxaPUomJkouaW5kZXhPZihcImVkZ2UvXCIpPjAsRz0oSiYmSi5pbmRleE9mKFwiYW5kcm9pZFwiKSxKJiYvaXBob25lfGlwYWR8aXBvZHxpb3MvLnRlc3QoSil8fFwiaW9zXCI9PT1LKSxYPShKJiYvY2hyb21lXFwvXFxkKy8udGVzdChKKSxKJiYvcGhhbnRvbWpzLy50ZXN0KEopLEomJkoubWF0Y2goL2ZpcmVmb3hcXC8oXFxkKykvKSksWT17fS53YXRjaCxRPSExO2lmKHopdHJ5e3ZhciBlZT17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZWUsXCJwYXNzaXZlXCIse2dldDpmdW5jdGlvbigpe1E9ITB9fSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJ0ZXN0LXBhc3NpdmVcIixudWxsLGVlKX1jYXRjaChlKXt9dmFyIHRlPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PUImJihCPSF6JiYhViYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIGdsb2JhbCYmKGdsb2JhbC5wcm9jZXNzJiZcInNlcnZlclwiPT09Z2xvYmFsLnByb2Nlc3MuZW52LlZVRV9FTlYpKSxCfSxuZT16JiZ3aW5kb3cuX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztmdW5jdGlvbiByZShlKXtyZXR1cm5cImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiYvbmF0aXZlIGNvZGUvLnRlc3QoZS50b1N0cmluZygpKX12YXIgaWUsb2U9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFN5bWJvbCYmcmUoU3ltYm9sKSYmXCJ1bmRlZmluZWRcIiE9dHlwZW9mIFJlZmxlY3QmJnJlKFJlZmxlY3Qub3duS2V5cyk7aWU9XCJ1bmRlZmluZWRcIiE9dHlwZW9mIFNldCYmcmUoU2V0KT9TZXQ6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7dGhpcy5zZXQ9T2JqZWN0LmNyZWF0ZShudWxsKX1yZXR1cm4gZS5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKGUpe3JldHVybiEwPT09dGhpcy5zZXRbZV19LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXt0aGlzLnNldFtlXT0hMH0sZS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnNldD1PYmplY3QuY3JlYXRlKG51bGwpfSxlfSgpO3ZhciBhZT1TLHNlPTAsY2U9ZnVuY3Rpb24oKXt0aGlzLmlkPXNlKyssdGhpcy5zdWJzPVtdfTtjZS5wcm90b3R5cGUuYWRkU3ViPWZ1bmN0aW9uKGUpe3RoaXMuc3Vicy5wdXNoKGUpfSxjZS5wcm90b3R5cGUucmVtb3ZlU3ViPWZ1bmN0aW9uKGUpe2godGhpcy5zdWJzLGUpfSxjZS5wcm90b3R5cGUuZGVwZW5kPWZ1bmN0aW9uKCl7Y2UudGFyZ2V0JiZjZS50YXJnZXQuYWRkRGVwKHRoaXMpfSxjZS5wcm90b3R5cGUubm90aWZ5PWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuc3Vicy5zbGljZSgpLHQ9MCxuPWUubGVuZ3RoO3Q8bjt0KyspZVt0XS51cGRhdGUoKX0sY2UudGFyZ2V0PW51bGw7dmFyIHVlPVtdO2Z1bmN0aW9uIGxlKGUpe3VlLnB1c2goZSksY2UudGFyZ2V0PWV9ZnVuY3Rpb24gZmUoKXt1ZS5wb3AoKSxjZS50YXJnZXQ9dWVbdWUubGVuZ3RoLTFdfXZhciBwZT1mdW5jdGlvbihlLHQsbixyLGksbyxhLHMpe3RoaXMudGFnPWUsdGhpcy5kYXRhPXQsdGhpcy5jaGlsZHJlbj1uLHRoaXMudGV4dD1yLHRoaXMuZWxtPWksdGhpcy5ucz12b2lkIDAsdGhpcy5jb250ZXh0PW8sdGhpcy5mbkNvbnRleHQ9dm9pZCAwLHRoaXMuZm5PcHRpb25zPXZvaWQgMCx0aGlzLmZuU2NvcGVJZD12b2lkIDAsdGhpcy5rZXk9dCYmdC5rZXksdGhpcy5jb21wb25lbnRPcHRpb25zPWEsdGhpcy5jb21wb25lbnRJbnN0YW5jZT12b2lkIDAsdGhpcy5wYXJlbnQ9dm9pZCAwLHRoaXMucmF3PSExLHRoaXMuaXNTdGF0aWM9ITEsdGhpcy5pc1Jvb3RJbnNlcnQ9ITAsdGhpcy5pc0NvbW1lbnQ9ITEsdGhpcy5pc0Nsb25lZD0hMSx0aGlzLmlzT25jZT0hMSx0aGlzLmFzeW5jRmFjdG9yeT1zLHRoaXMuYXN5bmNNZXRhPXZvaWQgMCx0aGlzLmlzQXN5bmNQbGFjZWhvbGRlcj0hMX0sZGU9e2NoaWxkOntjb25maWd1cmFibGU6ITB9fTtkZS5jaGlsZC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb21wb25lbnRJbnN0YW5jZX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMocGUucHJvdG90eXBlLGRlKTt2YXIgdmU9ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9XCJcIik7dmFyIHQ9bmV3IHBlO3JldHVybiB0LnRleHQ9ZSx0LmlzQ29tbWVudD0hMCx0fTtmdW5jdGlvbiBoZShlKXtyZXR1cm4gbmV3IHBlKHZvaWQgMCx2b2lkIDAsdm9pZCAwLFN0cmluZyhlKSl9ZnVuY3Rpb24gbWUoZSl7dmFyIHQ9bmV3IHBlKGUudGFnLGUuZGF0YSxlLmNoaWxkcmVuJiZlLmNoaWxkcmVuLnNsaWNlKCksZS50ZXh0LGUuZWxtLGUuY29udGV4dCxlLmNvbXBvbmVudE9wdGlvbnMsZS5hc3luY0ZhY3RvcnkpO3JldHVybiB0Lm5zPWUubnMsdC5pc1N0YXRpYz1lLmlzU3RhdGljLHQua2V5PWUua2V5LHQuaXNDb21tZW50PWUuaXNDb21tZW50LHQuZm5Db250ZXh0PWUuZm5Db250ZXh0LHQuZm5PcHRpb25zPWUuZm5PcHRpb25zLHQuZm5TY29wZUlkPWUuZm5TY29wZUlkLHQuYXN5bmNNZXRhPWUuYXN5bmNNZXRhLHQuaXNDbG9uZWQ9ITAsdH12YXIgeWU9QXJyYXkucHJvdG90eXBlLGdlPU9iamVjdC5jcmVhdGUoeWUpO1tcInB1c2hcIixcInBvcFwiLFwic2hpZnRcIixcInVuc2hpZnRcIixcInNwbGljZVwiLFwic29ydFwiLFwicmV2ZXJzZVwiXS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciB0PXllW2VdO1IoZ2UsZSxmdW5jdGlvbigpe2Zvcih2YXIgbj1bXSxyPWFyZ3VtZW50cy5sZW5ndGg7ci0tOyluW3JdPWFyZ3VtZW50c1tyXTt2YXIgaSxvPXQuYXBwbHkodGhpcyxuKSxhPXRoaXMuX19vYl9fO3N3aXRjaChlKXtjYXNlXCJwdXNoXCI6Y2FzZVwidW5zaGlmdFwiOmk9bjticmVhaztjYXNlXCJzcGxpY2VcIjppPW4uc2xpY2UoMil9cmV0dXJuIGkmJmEub2JzZXJ2ZUFycmF5KGkpLGEuZGVwLm5vdGlmeSgpLG99KX0pO3ZhciBfZT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhnZSksYmU9ITA7ZnVuY3Rpb24gJGUoZSl7YmU9ZX12YXIgd2U9ZnVuY3Rpb24oZSl7dmFyIHQ7dGhpcy52YWx1ZT1lLHRoaXMuZGVwPW5ldyBjZSx0aGlzLnZtQ291bnQ9MCxSKGUsXCJfX29iX19cIix0aGlzKSxBcnJheS5pc0FycmF5KGUpPyhVPyh0PWdlLGUuX19wcm90b19fPXQpOmZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9MCxpPW4ubGVuZ3RoO3I8aTtyKyspe3ZhciBvPW5bcl07UihlLG8sdFtvXSl9fShlLGdlLF9lKSx0aGlzLm9ic2VydmVBcnJheShlKSk6dGhpcy53YWxrKGUpfTtmdW5jdGlvbiBDZShlLHQpe3ZhciBuO2lmKG8oZSkmJiEoZSBpbnN0YW5jZW9mIHBlKSlyZXR1cm4geShlLFwiX19vYl9fXCIpJiZlLl9fb2JfXyBpbnN0YW5jZW9mIHdlP249ZS5fX29iX186YmUmJiF0ZSgpJiYoQXJyYXkuaXNBcnJheShlKXx8cyhlKSkmJk9iamVjdC5pc0V4dGVuc2libGUoZSkmJiFlLl9pc1Z1ZSYmKG49bmV3IHdlKGUpKSx0JiZuJiZuLnZtQ291bnQrKyxufWZ1bmN0aW9uIHhlKGUsdCxuLHIsaSl7dmFyIG89bmV3IGNlLGE9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpO2lmKCFhfHwhMSE9PWEuY29uZmlndXJhYmxlKXt2YXIgcz1hJiZhLmdldCxjPWEmJmEuc2V0O3MmJiFjfHwyIT09YXJndW1lbnRzLmxlbmd0aHx8KG49ZVt0XSk7dmFyIHU9IWkmJkNlKG4pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciB0PXM/cy5jYWxsKGUpOm47cmV0dXJuIGNlLnRhcmdldCYmKG8uZGVwZW5kKCksdSYmKHUuZGVwLmRlcGVuZCgpLEFycmF5LmlzQXJyYXkodCkmJmZ1bmN0aW9uIGUodCl7Zm9yKHZhciBuPXZvaWQgMCxyPTAsaT10Lmxlbmd0aDtyPGk7cisrKShuPXRbcl0pJiZuLl9fb2JfXyYmbi5fX29iX18uZGVwLmRlcGVuZCgpLEFycmF5LmlzQXJyYXkobikmJmUobil9KHQpKSksdH0sc2V0OmZ1bmN0aW9uKHQpe3ZhciByPXM/cy5jYWxsKGUpOm47dD09PXJ8fHQhPXQmJnIhPXJ8fHMmJiFjfHwoYz9jLmNhbGwoZSx0KTpuPXQsdT0haSYmQ2UodCksby5ub3RpZnkoKSl9fSl9fWZ1bmN0aW9uIGtlKGUsdCxuKXtpZihBcnJheS5pc0FycmF5KGUpJiZjKHQpKXJldHVybiBlLmxlbmd0aD1NYXRoLm1heChlLmxlbmd0aCx0KSxlLnNwbGljZSh0LDEsbiksbjtpZih0IGluIGUmJiEodCBpbiBPYmplY3QucHJvdG90eXBlKSlyZXR1cm4gZVt0XT1uLG47dmFyIHI9ZS5fX29iX187cmV0dXJuIGUuX2lzVnVlfHxyJiZyLnZtQ291bnQ/bjpyPyh4ZShyLnZhbHVlLHQsbiksci5kZXAubm90aWZ5KCksbik6KGVbdF09bixuKX1mdW5jdGlvbiBBZShlLHQpe2lmKEFycmF5LmlzQXJyYXkoZSkmJmModCkpZS5zcGxpY2UodCwxKTtlbHNle3ZhciBuPWUuX19vYl9fO2UuX2lzVnVlfHxuJiZuLnZtQ291bnR8fHkoZSx0KSYmKGRlbGV0ZSBlW3RdLG4mJm4uZGVwLm5vdGlmeSgpKX19d2UucHJvdG90eXBlLndhbGs9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PU9iamVjdC5rZXlzKGUpLG49MDtuPHQubGVuZ3RoO24rKyl4ZShlLHRbbl0pfSx3ZS5wcm90b3R5cGUub2JzZXJ2ZUFycmF5PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLG49ZS5sZW5ndGg7dDxuO3QrKylDZShlW3RdKX07dmFyIE9lPUYub3B0aW9uTWVyZ2VTdHJhdGVnaWVzO2Z1bmN0aW9uIFNlKGUsdCl7aWYoIXQpcmV0dXJuIGU7Zm9yKHZhciBuLHIsaSxvPW9lP1JlZmxlY3Qub3duS2V5cyh0KTpPYmplY3Qua2V5cyh0KSxhPTA7YTxvLmxlbmd0aDthKyspXCJfX29iX19cIiE9PShuPW9bYV0pJiYocj1lW25dLGk9dFtuXSx5KGUsbik/ciE9PWkmJnMocikmJnMoaSkmJlNlKHIsaSk6a2UoZSxuLGkpKTtyZXR1cm4gZX1mdW5jdGlvbiBUZShlLHQsbil7cmV0dXJuIG4/ZnVuY3Rpb24oKXt2YXIgcj1cImZ1bmN0aW9uXCI9PXR5cGVvZiB0P3QuY2FsbChuLG4pOnQsaT1cImZ1bmN0aW9uXCI9PXR5cGVvZiBlP2UuY2FsbChuLG4pOmU7cmV0dXJuIHI/U2UocixpKTppfTp0P2U/ZnVuY3Rpb24oKXtyZXR1cm4gU2UoXCJmdW5jdGlvblwiPT10eXBlb2YgdD90LmNhbGwodGhpcyx0aGlzKTp0LFwiZnVuY3Rpb25cIj09dHlwZW9mIGU/ZS5jYWxsKHRoaXMsdGhpcyk6ZSl9OnQ6ZX1mdW5jdGlvbiBFZShlLHQpe3ZhciBuPXQ/ZT9lLmNvbmNhdCh0KTpBcnJheS5pc0FycmF5KHQpP3Q6W3RdOmU7cmV0dXJuIG4/ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49MDtuPGUubGVuZ3RoO24rKyktMT09PXQuaW5kZXhPZihlW25dKSYmdC5wdXNoKGVbbl0pO3JldHVybiB0fShuKTpufWZ1bmN0aW9uIE5lKGUsdCxuLHIpe3ZhciBpPU9iamVjdC5jcmVhdGUoZXx8bnVsbCk7cmV0dXJuIHQ/QShpLHQpOml9T2UuZGF0YT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG4/VGUoZSx0LG4pOnQmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIHQ/ZTpUZShlLHQpfSxJLmZvckVhY2goZnVuY3Rpb24oZSl7T2VbZV09RWV9KSxNLmZvckVhY2goZnVuY3Rpb24oZSl7T2VbZStcInNcIl09TmV9KSxPZS53YXRjaD1mdW5jdGlvbihlLHQsbixyKXtpZihlPT09WSYmKGU9dm9pZCAwKSx0PT09WSYmKHQ9dm9pZCAwKSwhdClyZXR1cm4gT2JqZWN0LmNyZWF0ZShlfHxudWxsKTtpZighZSlyZXR1cm4gdDt2YXIgaT17fTtmb3IodmFyIG8gaW4gQShpLGUpLHQpe3ZhciBhPWlbb10scz10W29dO2EmJiFBcnJheS5pc0FycmF5KGEpJiYoYT1bYV0pLGlbb109YT9hLmNvbmNhdChzKTpBcnJheS5pc0FycmF5KHMpP3M6W3NdfXJldHVybiBpfSxPZS5wcm9wcz1PZS5tZXRob2RzPU9lLmluamVjdD1PZS5jb21wdXRlZD1mdW5jdGlvbihlLHQsbixyKXtpZighZSlyZXR1cm4gdDt2YXIgaT1PYmplY3QuY3JlYXRlKG51bGwpO3JldHVybiBBKGksZSksdCYmQShpLHQpLGl9LE9lLnByb3ZpZGU9VGU7dmFyIGplPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQ/ZTp0fTtmdW5jdGlvbiBEZShlLHQsbil7aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgdCYmKHQ9dC5vcHRpb25zKSxmdW5jdGlvbihlLHQpe3ZhciBuPWUucHJvcHM7aWYobil7dmFyIHIsaSxvPXt9O2lmKEFycmF5LmlzQXJyYXkobikpZm9yKHI9bi5sZW5ndGg7ci0tOylcInN0cmluZ1wiPT10eXBlb2YoaT1uW3JdKSYmKG9bYihpKV09e3R5cGU6bnVsbH0pO2Vsc2UgaWYocyhuKSlmb3IodmFyIGEgaW4gbilpPW5bYV0sb1tiKGEpXT1zKGkpP2k6e3R5cGU6aX07ZS5wcm9wcz1vfX0odCksZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmluamVjdDtpZihuKXt2YXIgcj1lLmluamVjdD17fTtpZihBcnJheS5pc0FycmF5KG4pKWZvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXJbbltpXV09e2Zyb206bltpXX07ZWxzZSBpZihzKG4pKWZvcih2YXIgbyBpbiBuKXt2YXIgYT1uW29dO3Jbb109cyhhKT9BKHtmcm9tOm99LGEpOntmcm9tOmF9fX19KHQpLGZ1bmN0aW9uKGUpe3ZhciB0PWUuZGlyZWN0aXZlcztpZih0KWZvcih2YXIgbiBpbiB0KXt2YXIgcj10W25dO1wiZnVuY3Rpb25cIj09dHlwZW9mIHImJih0W25dPXtiaW5kOnIsdXBkYXRlOnJ9KX19KHQpLCF0Ll9iYXNlJiYodC5leHRlbmRzJiYoZT1EZShlLHQuZXh0ZW5kcyxuKSksdC5taXhpbnMpKWZvcih2YXIgcj0wLGk9dC5taXhpbnMubGVuZ3RoO3I8aTtyKyspZT1EZShlLHQubWl4aW5zW3JdLG4pO3ZhciBvLGE9e307Zm9yKG8gaW4gZSljKG8pO2ZvcihvIGluIHQpeShlLG8pfHxjKG8pO2Z1bmN0aW9uIGMocil7dmFyIGk9T2Vbcl18fGplO2Fbcl09aShlW3JdLHRbcl0sbixyKX1yZXR1cm4gYX1mdW5jdGlvbiBMZShlLHQsbixyKXtpZihcInN0cmluZ1wiPT10eXBlb2Ygbil7dmFyIGk9ZVt0XTtpZih5KGksbikpcmV0dXJuIGlbbl07dmFyIG89YihuKTtpZih5KGksbykpcmV0dXJuIGlbb107dmFyIGE9JChvKTtyZXR1cm4geShpLGEpP2lbYV06aVtuXXx8aVtvXXx8aVthXX19ZnVuY3Rpb24gTWUoZSx0LG4scil7dmFyIGk9dFtlXSxvPSF5KG4sZSksYT1uW2VdLHM9UGUoQm9vbGVhbixpLnR5cGUpO2lmKHM+LTEpaWYobyYmIXkoaSxcImRlZmF1bHRcIikpYT0hMTtlbHNlIGlmKFwiXCI9PT1hfHxhPT09QyhlKSl7dmFyIGM9UGUoU3RyaW5nLGkudHlwZSk7KGM8MHx8czxjKSYmKGE9ITApfWlmKHZvaWQgMD09PWEpe2E9ZnVuY3Rpb24oZSx0LG4pe2lmKCF5KHQsXCJkZWZhdWx0XCIpKXJldHVybjt2YXIgcj10LmRlZmF1bHQ7aWYoZSYmZS4kb3B0aW9ucy5wcm9wc0RhdGEmJnZvaWQgMD09PWUuJG9wdGlvbnMucHJvcHNEYXRhW25dJiZ2b2lkIDAhPT1lLl9wcm9wc1tuXSlyZXR1cm4gZS5fcHJvcHNbbl07cmV0dXJuXCJmdW5jdGlvblwiPT10eXBlb2YgciYmXCJGdW5jdGlvblwiIT09SWUodC50eXBlKT9yLmNhbGwoZSk6cn0ocixpLGUpO3ZhciB1PWJlOyRlKCEwKSxDZShhKSwkZSh1KX1yZXR1cm4gYX1mdW5jdGlvbiBJZShlKXt2YXIgdD1lJiZlLnRvU3RyaW5nKCkubWF0Y2goL15cXHMqZnVuY3Rpb24gKFxcdyspLyk7cmV0dXJuIHQ/dFsxXTpcIlwifWZ1bmN0aW9uIEZlKGUsdCl7cmV0dXJuIEllKGUpPT09SWUodCl9ZnVuY3Rpb24gUGUoZSx0KXtpZighQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gRmUodCxlKT8wOi0xO2Zvcih2YXIgbj0wLHI9dC5sZW5ndGg7bjxyO24rKylpZihGZSh0W25dLGUpKXJldHVybiBuO3JldHVybi0xfWZ1bmN0aW9uIFJlKGUsdCxuKXtsZSgpO3RyeXtpZih0KWZvcih2YXIgcj10O3I9ci4kcGFyZW50Oyl7dmFyIGk9ci4kb3B0aW9ucy5lcnJvckNhcHR1cmVkO2lmKGkpZm9yKHZhciBvPTA7bzxpLmxlbmd0aDtvKyspdHJ5e2lmKCExPT09aVtvXS5jYWxsKHIsZSx0LG4pKXJldHVybn1jYXRjaChlKXtCZShlLHIsXCJlcnJvckNhcHR1cmVkIGhvb2tcIil9fUJlKGUsdCxuKX1maW5hbGx5e2ZlKCl9fWZ1bmN0aW9uIEhlKGUsdCxuLHIsaSl7dmFyIG87dHJ5eyhvPW4/ZS5hcHBseSh0LG4pOmUuY2FsbCh0KSkmJiFvLl9pc1Z1ZSYmdShvKSYmIW8uX2hhbmRsZWQmJihvLmNhdGNoKGZ1bmN0aW9uKGUpe3JldHVybiBSZShlLHIsaStcIiAoUHJvbWlzZS9hc3luYylcIil9KSxvLl9oYW5kbGVkPSEwKX1jYXRjaChlKXtSZShlLHIsaSl9cmV0dXJuIG99ZnVuY3Rpb24gQmUoZSx0LG4pe2lmKEYuZXJyb3JIYW5kbGVyKXRyeXtyZXR1cm4gRi5lcnJvckhhbmRsZXIuY2FsbChudWxsLGUsdCxuKX1jYXRjaCh0KXt0IT09ZSYmVWUodCxudWxsLFwiY29uZmlnLmVycm9ySGFuZGxlclwiKX1VZShlLHQsbil9ZnVuY3Rpb24gVWUoZSx0LG4pe2lmKCF6JiYhVnx8XCJ1bmRlZmluZWRcIj09dHlwZW9mIGNvbnNvbGUpdGhyb3cgZTtjb25zb2xlLmVycm9yKGUpfXZhciB6ZSxWZT0hMSxLZT1bXSxKZT0hMTtmdW5jdGlvbiBxZSgpe0plPSExO3ZhciBlPUtlLnNsaWNlKDApO0tlLmxlbmd0aD0wO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0oKX1pZihcInVuZGVmaW5lZFwiIT10eXBlb2YgUHJvbWlzZSYmcmUoUHJvbWlzZSkpe3ZhciBXZT1Qcm9taXNlLnJlc29sdmUoKTt6ZT1mdW5jdGlvbigpe1dlLnRoZW4ocWUpLEcmJnNldFRpbWVvdXQoUyl9LFZlPSEwfWVsc2UgaWYocXx8XCJ1bmRlZmluZWRcIj09dHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXJ8fCFyZShNdXRhdGlvbk9ic2VydmVyKSYmXCJbb2JqZWN0IE11dGF0aW9uT2JzZXJ2ZXJDb25zdHJ1Y3Rvcl1cIiE9PU11dGF0aW9uT2JzZXJ2ZXIudG9TdHJpbmcoKSl6ZT1cInVuZGVmaW5lZFwiIT10eXBlb2Ygc2V0SW1tZWRpYXRlJiZyZShzZXRJbW1lZGlhdGUpP2Z1bmN0aW9uKCl7c2V0SW1tZWRpYXRlKHFlKX06ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KHFlLDApfTtlbHNle3ZhciBaZT0xLEdlPW5ldyBNdXRhdGlvbk9ic2VydmVyKHFlKSxYZT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoWmUpKTtHZS5vYnNlcnZlKFhlLHtjaGFyYWN0ZXJEYXRhOiEwfSksemU9ZnVuY3Rpb24oKXtaZT0oWmUrMSklMixYZS5kYXRhPVN0cmluZyhaZSl9LFZlPSEwfWZ1bmN0aW9uIFllKGUsdCl7dmFyIG47aWYoS2UucHVzaChmdW5jdGlvbigpe2lmKGUpdHJ5e2UuY2FsbCh0KX1jYXRjaChlKXtSZShlLHQsXCJuZXh0VGlja1wiKX1lbHNlIG4mJm4odCl9KSxKZXx8KEplPSEwLHplKCkpLCFlJiZcInVuZGVmaW5lZFwiIT10eXBlb2YgUHJvbWlzZSlyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oZSl7bj1lfSl9dmFyIFFlPW5ldyBpZTtmdW5jdGlvbiBldChlKXshZnVuY3Rpb24gZSh0LG4pe3ZhciByLGk7dmFyIGE9QXJyYXkuaXNBcnJheSh0KTtpZighYSYmIW8odCl8fE9iamVjdC5pc0Zyb3plbih0KXx8dCBpbnN0YW5jZW9mIHBlKXJldHVybjtpZih0Ll9fb2JfXyl7dmFyIHM9dC5fX29iX18uZGVwLmlkO2lmKG4uaGFzKHMpKXJldHVybjtuLmFkZChzKX1pZihhKWZvcihyPXQubGVuZ3RoO3ItLTspZSh0W3JdLG4pO2Vsc2UgZm9yKGk9T2JqZWN0LmtleXModCkscj1pLmxlbmd0aDtyLS07KWUodFtpW3JdXSxuKX0oZSxRZSksUWUuY2xlYXIoKX12YXIgdHQ9ZyhmdW5jdGlvbihlKXt2YXIgdD1cIiZcIj09PWUuY2hhckF0KDApLG49XCJ+XCI9PT0oZT10P2Uuc2xpY2UoMSk6ZSkuY2hhckF0KDApLHI9XCIhXCI9PT0oZT1uP2Uuc2xpY2UoMSk6ZSkuY2hhckF0KDApO3JldHVybntuYW1lOmU9cj9lLnNsaWNlKDEpOmUsb25jZTpuLGNhcHR1cmU6cixwYXNzaXZlOnR9fSk7ZnVuY3Rpb24gbnQoZSx0KXtmdW5jdGlvbiBuKCl7dmFyIGU9YXJndW1lbnRzLHI9bi5mbnM7aWYoIUFycmF5LmlzQXJyYXkocikpcmV0dXJuIEhlKHIsbnVsbCxhcmd1bWVudHMsdCxcInYtb24gaGFuZGxlclwiKTtmb3IodmFyIGk9ci5zbGljZSgpLG89MDtvPGkubGVuZ3RoO28rKylIZShpW29dLG51bGwsZSx0LFwidi1vbiBoYW5kbGVyXCIpfXJldHVybiBuLmZucz1lLG59ZnVuY3Rpb24gcnQoZSxuLGksbyxhLHMpe3ZhciBjLHUsbCxmO2ZvcihjIGluIGUpdT1lW2NdLGw9bltjXSxmPXR0KGMpLHQodSl8fCh0KGwpPyh0KHUuZm5zKSYmKHU9ZVtjXT1udCh1LHMpKSxyKGYub25jZSkmJih1PWVbY109YShmLm5hbWUsdSxmLmNhcHR1cmUpKSxpKGYubmFtZSx1LGYuY2FwdHVyZSxmLnBhc3NpdmUsZi5wYXJhbXMpKTp1IT09bCYmKGwuZm5zPXUsZVtjXT1sKSk7Zm9yKGMgaW4gbil0KGVbY10pJiZvKChmPXR0KGMpKS5uYW1lLG5bY10sZi5jYXB0dXJlKX1mdW5jdGlvbiBpdChlLGksbyl7dmFyIGE7ZSBpbnN0YW5jZW9mIHBlJiYoZT1lLmRhdGEuaG9va3x8KGUuZGF0YS5ob29rPXt9KSk7dmFyIHM9ZVtpXTtmdW5jdGlvbiBjKCl7by5hcHBseSh0aGlzLGFyZ3VtZW50cyksaChhLmZucyxjKX10KHMpP2E9bnQoW2NdKTpuKHMuZm5zKSYmcihzLm1lcmdlZCk/KGE9cykuZm5zLnB1c2goYyk6YT1udChbcyxjXSksYS5tZXJnZWQ9ITAsZVtpXT1hfWZ1bmN0aW9uIG90KGUsdCxyLGksbyl7aWYobih0KSl7aWYoeSh0LHIpKXJldHVybiBlW3JdPXRbcl0sb3x8ZGVsZXRlIHRbcl0sITA7aWYoeSh0LGkpKXJldHVybiBlW3JdPXRbaV0sb3x8ZGVsZXRlIHRbaV0sITB9cmV0dXJuITF9ZnVuY3Rpb24gYXQoZSl7cmV0dXJuIGkoZSk/W2hlKGUpXTpBcnJheS5pc0FycmF5KGUpP2Z1bmN0aW9uIGUobyxhKXt2YXIgcz1bXTt2YXIgYyx1LGwsZjtmb3IoYz0wO2M8by5sZW5ndGg7YysrKXQodT1vW2NdKXx8XCJib29sZWFuXCI9PXR5cGVvZiB1fHwobD1zLmxlbmd0aC0xLGY9c1tsXSxBcnJheS5pc0FycmF5KHUpP3UubGVuZ3RoPjAmJihzdCgodT1lKHUsKGF8fFwiXCIpK1wiX1wiK2MpKVswXSkmJnN0KGYpJiYoc1tsXT1oZShmLnRleHQrdVswXS50ZXh0KSx1LnNoaWZ0KCkpLHMucHVzaC5hcHBseShzLHUpKTppKHUpP3N0KGYpP3NbbF09aGUoZi50ZXh0K3UpOlwiXCIhPT11JiZzLnB1c2goaGUodSkpOnN0KHUpJiZzdChmKT9zW2xdPWhlKGYudGV4dCt1LnRleHQpOihyKG8uX2lzVkxpc3QpJiZuKHUudGFnKSYmdCh1LmtleSkmJm4oYSkmJih1LmtleT1cIl9fdmxpc3RcIithK1wiX1wiK2MrXCJfX1wiKSxzLnB1c2godSkpKTtyZXR1cm4gc30oZSk6dm9pZCAwfWZ1bmN0aW9uIHN0KGUpe3JldHVybiBuKGUpJiZuKGUudGV4dCkmJiExPT09ZS5pc0NvbW1lbnR9ZnVuY3Rpb24gY3QoZSx0KXtpZihlKXtmb3IodmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKSxyPW9lP1JlZmxlY3Qub3duS2V5cyhlKTpPYmplY3Qua2V5cyhlKSxpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBvPXJbaV07aWYoXCJfX29iX19cIiE9PW8pe2Zvcih2YXIgYT1lW29dLmZyb20scz10O3M7KXtpZihzLl9wcm92aWRlZCYmeShzLl9wcm92aWRlZCxhKSl7bltvXT1zLl9wcm92aWRlZFthXTticmVha31zPXMuJHBhcmVudH1pZighcyYmXCJkZWZhdWx0XCJpbiBlW29dKXt2YXIgYz1lW29dLmRlZmF1bHQ7bltvXT1cImZ1bmN0aW9uXCI9PXR5cGVvZiBjP2MuY2FsbCh0KTpjfX19cmV0dXJuIG59fWZ1bmN0aW9uIHV0KGUsdCl7aWYoIWV8fCFlLmxlbmd0aClyZXR1cm57fTtmb3IodmFyIG49e30scj0wLGk9ZS5sZW5ndGg7cjxpO3IrKyl7dmFyIG89ZVtyXSxhPW8uZGF0YTtpZihhJiZhLmF0dHJzJiZhLmF0dHJzLnNsb3QmJmRlbGV0ZSBhLmF0dHJzLnNsb3Qsby5jb250ZXh0IT09dCYmby5mbkNvbnRleHQhPT10fHwhYXx8bnVsbD09YS5zbG90KShuLmRlZmF1bHR8fChuLmRlZmF1bHQ9W10pKS5wdXNoKG8pO2Vsc2V7dmFyIHM9YS5zbG90LGM9bltzXXx8KG5bc109W10pO1widGVtcGxhdGVcIj09PW8udGFnP2MucHVzaC5hcHBseShjLG8uY2hpbGRyZW58fFtdKTpjLnB1c2gobyl9fWZvcih2YXIgdSBpbiBuKW5bdV0uZXZlcnkobHQpJiZkZWxldGUgblt1XTtyZXR1cm4gbn1mdW5jdGlvbiBsdChlKXtyZXR1cm4gZS5pc0NvbW1lbnQmJiFlLmFzeW5jRmFjdG9yeXx8XCIgXCI9PT1lLnRleHR9ZnVuY3Rpb24gZnQodCxuLHIpe3ZhciBpLG89T2JqZWN0LmtleXMobikubGVuZ3RoPjAsYT10PyEhdC4kc3RhYmxlOiFvLHM9dCYmdC4ka2V5O2lmKHQpe2lmKHQuX25vcm1hbGl6ZWQpcmV0dXJuIHQuX25vcm1hbGl6ZWQ7aWYoYSYmciYmciE9PWUmJnM9PT1yLiRrZXkmJiFvJiYhci4kaGFzTm9ybWFsKXJldHVybiByO2Zvcih2YXIgYyBpbiBpPXt9LHQpdFtjXSYmXCIkXCIhPT1jWzBdJiYoaVtjXT1wdChuLGMsdFtjXSkpfWVsc2UgaT17fTtmb3IodmFyIHUgaW4gbil1IGluIGl8fChpW3VdPWR0KG4sdSkpO3JldHVybiB0JiZPYmplY3QuaXNFeHRlbnNpYmxlKHQpJiYodC5fbm9ybWFsaXplZD1pKSxSKGksXCIkc3RhYmxlXCIsYSksUihpLFwiJGtleVwiLHMpLFIoaSxcIiRoYXNOb3JtYWxcIixvKSxpfWZ1bmN0aW9uIHB0KGUsdCxuKXt2YXIgcj1mdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg/bi5hcHBseShudWxsLGFyZ3VtZW50cyk6bih7fSk7cmV0dXJuKGU9ZSYmXCJvYmplY3RcIj09dHlwZW9mIGUmJiFBcnJheS5pc0FycmF5KGUpP1tlXTphdChlKSkmJigwPT09ZS5sZW5ndGh8fDE9PT1lLmxlbmd0aCYmZVswXS5pc0NvbW1lbnQpP3ZvaWQgMDplfTtyZXR1cm4gbi5wcm94eSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7Z2V0OnIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxyfWZ1bmN0aW9uIGR0KGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGVbdF19fWZ1bmN0aW9uIHZ0KGUsdCl7dmFyIHIsaSxhLHMsYztpZihBcnJheS5pc0FycmF5KGUpfHxcInN0cmluZ1wiPT10eXBlb2YgZSlmb3Iocj1uZXcgQXJyYXkoZS5sZW5ndGgpLGk9MCxhPWUubGVuZ3RoO2k8YTtpKyspcltpXT10KGVbaV0saSk7ZWxzZSBpZihcIm51bWJlclwiPT10eXBlb2YgZSlmb3Iocj1uZXcgQXJyYXkoZSksaT0wO2k8ZTtpKyspcltpXT10KGkrMSxpKTtlbHNlIGlmKG8oZSkpaWYob2UmJmVbU3ltYm9sLml0ZXJhdG9yXSl7cj1bXTtmb3IodmFyIHU9ZVtTeW1ib2wuaXRlcmF0b3JdKCksbD11Lm5leHQoKTshbC5kb25lOylyLnB1c2godChsLnZhbHVlLHIubGVuZ3RoKSksbD11Lm5leHQoKX1lbHNlIGZvcihzPU9iamVjdC5rZXlzKGUpLHI9bmV3IEFycmF5KHMubGVuZ3RoKSxpPTAsYT1zLmxlbmd0aDtpPGE7aSsrKWM9c1tpXSxyW2ldPXQoZVtjXSxjLGkpO3JldHVybiBuKHIpfHwocj1bXSksci5faXNWTGlzdD0hMCxyfWZ1bmN0aW9uIGh0KGUsdCxuLHIpe3ZhciBpLG89dGhpcy4kc2NvcGVkU2xvdHNbZV07bz8obj1ufHx7fSxyJiYobj1BKEEoe30sciksbikpLGk9byhuKXx8dCk6aT10aGlzLiRzbG90c1tlXXx8dDt2YXIgYT1uJiZuLnNsb3Q7cmV0dXJuIGE/dGhpcy4kY3JlYXRlRWxlbWVudChcInRlbXBsYXRlXCIse3Nsb3Q6YX0saSk6aX1mdW5jdGlvbiBtdChlKXtyZXR1cm4gTGUodGhpcy4kb3B0aW9ucyxcImZpbHRlcnNcIixlKXx8RX1mdW5jdGlvbiB5dChlLHQpe3JldHVybiBBcnJheS5pc0FycmF5KGUpPy0xPT09ZS5pbmRleE9mKHQpOmUhPT10fWZ1bmN0aW9uIGd0KGUsdCxuLHIsaSl7dmFyIG89Ri5rZXlDb2Rlc1t0XXx8bjtyZXR1cm4gaSYmciYmIUYua2V5Q29kZXNbdF0/eXQoaSxyKTpvP3l0KG8sZSk6cj9DKHIpIT09dDp2b2lkIDB9ZnVuY3Rpb24gX3QoZSx0LG4scixpKXtpZihuKWlmKG8obikpe3ZhciBhO0FycmF5LmlzQXJyYXkobikmJihuPU8obikpO3ZhciBzPWZ1bmN0aW9uKG8pe2lmKFwiY2xhc3NcIj09PW98fFwic3R5bGVcIj09PW98fHYobykpYT1lO2Vsc2V7dmFyIHM9ZS5hdHRycyYmZS5hdHRycy50eXBlO2E9cnx8Ri5tdXN0VXNlUHJvcCh0LHMsbyk/ZS5kb21Qcm9wc3x8KGUuZG9tUHJvcHM9e30pOmUuYXR0cnN8fChlLmF0dHJzPXt9KX12YXIgYz1iKG8pLHU9QyhvKTtjIGluIGF8fHUgaW4gYXx8KGFbb109bltvXSxpJiYoKGUub258fChlLm9uPXt9KSlbXCJ1cGRhdGU6XCIrb109ZnVuY3Rpb24oZSl7bltvXT1lfSkpfTtmb3IodmFyIGMgaW4gbilzKGMpfWVsc2U7cmV0dXJuIGV9ZnVuY3Rpb24gYnQoZSx0KXt2YXIgbj10aGlzLl9zdGF0aWNUcmVlc3x8KHRoaXMuX3N0YXRpY1RyZWVzPVtdKSxyPW5bZV07cmV0dXJuIHImJiF0P3I6KHd0KHI9bltlXT10aGlzLiRvcHRpb25zLnN0YXRpY1JlbmRlckZuc1tlXS5jYWxsKHRoaXMuX3JlbmRlclByb3h5LG51bGwsdGhpcyksXCJfX3N0YXRpY19fXCIrZSwhMSkscil9ZnVuY3Rpb24gJHQoZSx0LG4pe3JldHVybiB3dChlLFwiX19vbmNlX19cIit0KyhuP1wiX1wiK246XCJcIiksITApLGV9ZnVuY3Rpb24gd3QoZSx0LG4pe2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXSYmXCJzdHJpbmdcIiE9dHlwZW9mIGVbcl0mJkN0KGVbcl0sdCtcIl9cIityLG4pO2Vsc2UgQ3QoZSx0LG4pfWZ1bmN0aW9uIEN0KGUsdCxuKXtlLmlzU3RhdGljPSEwLGUua2V5PXQsZS5pc09uY2U9bn1mdW5jdGlvbiB4dChlLHQpe2lmKHQpaWYocyh0KSl7dmFyIG49ZS5vbj1lLm9uP0Eoe30sZS5vbik6e307Zm9yKHZhciByIGluIHQpe3ZhciBpPW5bcl0sbz10W3JdO25bcl09aT9bXS5jb25jYXQoaSxvKTpvfX1lbHNlO3JldHVybiBlfWZ1bmN0aW9uIGt0KGUsdCxuLHIpe3Q9dHx8eyRzdGFibGU6IW59O2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgbz1lW2ldO0FycmF5LmlzQXJyYXkobyk/a3Qobyx0LG4pOm8mJihvLnByb3h5JiYoby5mbi5wcm94eT0hMCksdFtvLmtleV09by5mbil9cmV0dXJuIHImJih0LiRrZXk9ciksdH1mdW5jdGlvbiBBdChlLHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bis9Mil7dmFyIHI9dFtuXTtcInN0cmluZ1wiPT10eXBlb2YgciYmciYmKGVbdFtuXV09dFtuKzFdKX1yZXR1cm4gZX1mdW5jdGlvbiBPdChlLHQpe3JldHVyblwic3RyaW5nXCI9PXR5cGVvZiBlP3QrZTplfWZ1bmN0aW9uIFN0KGUpe2UuX289JHQsZS5fbj1mLGUuX3M9bCxlLl9sPXZ0LGUuX3Q9aHQsZS5fcT1OLGUuX2k9aixlLl9tPWJ0LGUuX2Y9bXQsZS5faz1ndCxlLl9iPV90LGUuX3Y9aGUsZS5fZT12ZSxlLl91PWt0LGUuX2c9eHQsZS5fZD1BdCxlLl9wPU90fWZ1bmN0aW9uIFR0KHQsbixpLG8sYSl7dmFyIHMsYz10aGlzLHU9YS5vcHRpb25zO3kobyxcIl91aWRcIik/KHM9T2JqZWN0LmNyZWF0ZShvKSkuX29yaWdpbmFsPW86KHM9byxvPW8uX29yaWdpbmFsKTt2YXIgbD1yKHUuX2NvbXBpbGVkKSxmPSFsO3RoaXMuZGF0YT10LHRoaXMucHJvcHM9bix0aGlzLmNoaWxkcmVuPWksdGhpcy5wYXJlbnQ9byx0aGlzLmxpc3RlbmVycz10Lm9ufHxlLHRoaXMuaW5qZWN0aW9ucz1jdCh1LmluamVjdCxvKSx0aGlzLnNsb3RzPWZ1bmN0aW9uKCl7cmV0dXJuIGMuJHNsb3RzfHxmdCh0LnNjb3BlZFNsb3RzLGMuJHNsb3RzPXV0KGksbykpLGMuJHNsb3RzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxcInNjb3BlZFNsb3RzXCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGZ0KHQuc2NvcGVkU2xvdHMsdGhpcy5zbG90cygpKX19KSxsJiYodGhpcy4kb3B0aW9ucz11LHRoaXMuJHNsb3RzPXRoaXMuc2xvdHMoKSx0aGlzLiRzY29wZWRTbG90cz1mdCh0LnNjb3BlZFNsb3RzLHRoaXMuJHNsb3RzKSksdS5fc2NvcGVJZD90aGlzLl9jPWZ1bmN0aW9uKGUsdCxuLHIpe3ZhciBpPVB0KHMsZSx0LG4scixmKTtyZXR1cm4gaSYmIUFycmF5LmlzQXJyYXkoaSkmJihpLmZuU2NvcGVJZD11Ll9zY29wZUlkLGkuZm5Db250ZXh0PW8pLGl9OnRoaXMuX2M9ZnVuY3Rpb24oZSx0LG4scil7cmV0dXJuIFB0KHMsZSx0LG4scixmKX19ZnVuY3Rpb24gRXQoZSx0LG4scixpKXt2YXIgbz1tZShlKTtyZXR1cm4gby5mbkNvbnRleHQ9bixvLmZuT3B0aW9ucz1yLHQuc2xvdCYmKChvLmRhdGF8fChvLmRhdGE9e30pKS5zbG90PXQuc2xvdCksb31mdW5jdGlvbiBOdChlLHQpe2Zvcih2YXIgbiBpbiB0KWVbYihuKV09dFtuXX1TdChUdC5wcm90b3R5cGUpO3ZhciBqdD17aW5pdDpmdW5jdGlvbihlLHQpe2lmKGUuY29tcG9uZW50SW5zdGFuY2UmJiFlLmNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCYmZS5kYXRhLmtlZXBBbGl2ZSl7dmFyIHI9ZTtqdC5wcmVwYXRjaChyLHIpfWVsc2V7KGUuY29tcG9uZW50SW5zdGFuY2U9ZnVuY3Rpb24oZSx0KXt2YXIgcj17X2lzQ29tcG9uZW50OiEwLF9wYXJlbnRWbm9kZTplLHBhcmVudDp0fSxpPWUuZGF0YS5pbmxpbmVUZW1wbGF0ZTtuKGkpJiYoci5yZW5kZXI9aS5yZW5kZXIsci5zdGF0aWNSZW5kZXJGbnM9aS5zdGF0aWNSZW5kZXJGbnMpO3JldHVybiBuZXcgZS5jb21wb25lbnRPcHRpb25zLkN0b3Iocil9KGUsV3QpKS4kbW91bnQodD9lLmVsbTp2b2lkIDAsdCl9fSxwcmVwYXRjaDpmdW5jdGlvbih0LG4pe3ZhciByPW4uY29tcG9uZW50T3B0aW9uczshZnVuY3Rpb24odCxuLHIsaSxvKXt2YXIgYT1pLmRhdGEuc2NvcGVkU2xvdHMscz10LiRzY29wZWRTbG90cyxjPSEhKGEmJiFhLiRzdGFibGV8fHMhPT1lJiYhcy4kc3RhYmxlfHxhJiZ0LiRzY29wZWRTbG90cy4ka2V5IT09YS4ka2V5KSx1PSEhKG98fHQuJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVufHxjKTt0LiRvcHRpb25zLl9wYXJlbnRWbm9kZT1pLHQuJHZub2RlPWksdC5fdm5vZGUmJih0Ll92bm9kZS5wYXJlbnQ9aSk7aWYodC4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW49byx0LiRhdHRycz1pLmRhdGEuYXR0cnN8fGUsdC4kbGlzdGVuZXJzPXJ8fGUsbiYmdC4kb3B0aW9ucy5wcm9wcyl7JGUoITEpO2Zvcih2YXIgbD10Ll9wcm9wcyxmPXQuJG9wdGlvbnMuX3Byb3BLZXlzfHxbXSxwPTA7cDxmLmxlbmd0aDtwKyspe3ZhciBkPWZbcF0sdj10LiRvcHRpb25zLnByb3BzO2xbZF09TWUoZCx2LG4sdCl9JGUoITApLHQuJG9wdGlvbnMucHJvcHNEYXRhPW59cj1yfHxlO3ZhciBoPXQuJG9wdGlvbnMuX3BhcmVudExpc3RlbmVyczt0LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM9cixxdCh0LHIsaCksdSYmKHQuJHNsb3RzPXV0KG8saS5jb250ZXh0KSx0LiRmb3JjZVVwZGF0ZSgpKX0obi5jb21wb25lbnRJbnN0YW5jZT10LmNvbXBvbmVudEluc3RhbmNlLHIucHJvcHNEYXRhLHIubGlzdGVuZXJzLG4sci5jaGlsZHJlbil9LGluc2VydDpmdW5jdGlvbihlKXt2YXIgdCxuPWUuY29udGV4dCxyPWUuY29tcG9uZW50SW5zdGFuY2U7ci5faXNNb3VudGVkfHwoci5faXNNb3VudGVkPSEwLFl0KHIsXCJtb3VudGVkXCIpKSxlLmRhdGEua2VlcEFsaXZlJiYobi5faXNNb3VudGVkPygodD1yKS5faW5hY3RpdmU9ITEsZW4ucHVzaCh0KSk6WHQociwhMCkpfSxkZXN0cm95OmZ1bmN0aW9uKGUpe3ZhciB0PWUuY29tcG9uZW50SW5zdGFuY2U7dC5faXNEZXN0cm95ZWR8fChlLmRhdGEua2VlcEFsaXZlP2Z1bmN0aW9uIGUodCxuKXtpZihuJiYodC5fZGlyZWN0SW5hY3RpdmU9ITAsR3QodCkpKXJldHVybjtpZighdC5faW5hY3RpdmUpe3QuX2luYWN0aXZlPSEwO2Zvcih2YXIgcj0wO3I8dC4kY2hpbGRyZW4ubGVuZ3RoO3IrKyllKHQuJGNoaWxkcmVuW3JdKTtZdCh0LFwiZGVhY3RpdmF0ZWRcIil9fSh0LCEwKTp0LiRkZXN0cm95KCkpfX0sRHQ9T2JqZWN0LmtleXMoanQpO2Z1bmN0aW9uIEx0KGksYSxzLGMsbCl7aWYoIXQoaSkpe3ZhciBmPXMuJG9wdGlvbnMuX2Jhc2U7aWYobyhpKSYmKGk9Zi5leHRlbmQoaSkpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGkpe3ZhciBwO2lmKHQoaS5jaWQpJiZ2b2lkIDA9PT0oaT1mdW5jdGlvbihlLGkpe2lmKHIoZS5lcnJvcikmJm4oZS5lcnJvckNvbXApKXJldHVybiBlLmVycm9yQ29tcDtpZihuKGUucmVzb2x2ZWQpKXJldHVybiBlLnJlc29sdmVkO3ZhciBhPUh0O2EmJm4oZS5vd25lcnMpJiYtMT09PWUub3duZXJzLmluZGV4T2YoYSkmJmUub3duZXJzLnB1c2goYSk7aWYocihlLmxvYWRpbmcpJiZuKGUubG9hZGluZ0NvbXApKXJldHVybiBlLmxvYWRpbmdDb21wO2lmKGEmJiFuKGUub3duZXJzKSl7dmFyIHM9ZS5vd25lcnM9W2FdLGM9ITAsbD1udWxsLGY9bnVsbDthLiRvbihcImhvb2s6ZGVzdHJveWVkXCIsZnVuY3Rpb24oKXtyZXR1cm4gaChzLGEpfSk7dmFyIHA9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAsbj1zLmxlbmd0aDt0PG47dCsrKXNbdF0uJGZvcmNlVXBkYXRlKCk7ZSYmKHMubGVuZ3RoPTAsbnVsbCE9PWwmJihjbGVhclRpbWVvdXQobCksbD1udWxsKSxudWxsIT09ZiYmKGNsZWFyVGltZW91dChmKSxmPW51bGwpKX0sZD1EKGZ1bmN0aW9uKHQpe2UucmVzb2x2ZWQ9QnQodCxpKSxjP3MubGVuZ3RoPTA6cCghMCl9KSx2PUQoZnVuY3Rpb24odCl7bihlLmVycm9yQ29tcCkmJihlLmVycm9yPSEwLHAoITApKX0pLG09ZShkLHYpO3JldHVybiBvKG0pJiYodShtKT90KGUucmVzb2x2ZWQpJiZtLnRoZW4oZCx2KTp1KG0uY29tcG9uZW50KSYmKG0uY29tcG9uZW50LnRoZW4oZCx2KSxuKG0uZXJyb3IpJiYoZS5lcnJvckNvbXA9QnQobS5lcnJvcixpKSksbihtLmxvYWRpbmcpJiYoZS5sb2FkaW5nQ29tcD1CdChtLmxvYWRpbmcsaSksMD09PW0uZGVsYXk/ZS5sb2FkaW5nPSEwOmw9c2V0VGltZW91dChmdW5jdGlvbigpe2w9bnVsbCx0KGUucmVzb2x2ZWQpJiZ0KGUuZXJyb3IpJiYoZS5sb2FkaW5nPSEwLHAoITEpKX0sbS5kZWxheXx8MjAwKSksbihtLnRpbWVvdXQpJiYoZj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zj1udWxsLHQoZS5yZXNvbHZlZCkmJnYobnVsbCl9LG0udGltZW91dCkpKSksYz0hMSxlLmxvYWRpbmc/ZS5sb2FkaW5nQ29tcDplLnJlc29sdmVkfX0ocD1pLGYpKSlyZXR1cm4gZnVuY3Rpb24oZSx0LG4scixpKXt2YXIgbz12ZSgpO3JldHVybiBvLmFzeW5jRmFjdG9yeT1lLG8uYXN5bmNNZXRhPXtkYXRhOnQsY29udGV4dDpuLGNoaWxkcmVuOnIsdGFnOml9LG99KHAsYSxzLGMsbCk7YT1hfHx7fSwkbihpKSxuKGEubW9kZWwpJiZmdW5jdGlvbihlLHQpe3ZhciByPWUubW9kZWwmJmUubW9kZWwucHJvcHx8XCJ2YWx1ZVwiLGk9ZS5tb2RlbCYmZS5tb2RlbC5ldmVudHx8XCJpbnB1dFwiOyh0LmF0dHJzfHwodC5hdHRycz17fSkpW3JdPXQubW9kZWwudmFsdWU7dmFyIG89dC5vbnx8KHQub249e30pLGE9b1tpXSxzPXQubW9kZWwuY2FsbGJhY2s7bihhKT8oQXJyYXkuaXNBcnJheShhKT8tMT09PWEuaW5kZXhPZihzKTphIT09cykmJihvW2ldPVtzXS5jb25jYXQoYSkpOm9baV09c30oaS5vcHRpb25zLGEpO3ZhciBkPWZ1bmN0aW9uKGUscixpKXt2YXIgbz1yLm9wdGlvbnMucHJvcHM7aWYoIXQobykpe3ZhciBhPXt9LHM9ZS5hdHRycyxjPWUucHJvcHM7aWYobihzKXx8bihjKSlmb3IodmFyIHUgaW4gbyl7dmFyIGw9Qyh1KTtvdChhLGMsdSxsLCEwKXx8b3QoYSxzLHUsbCwhMSl9cmV0dXJuIGF9fShhLGkpO2lmKHIoaS5vcHRpb25zLmZ1bmN0aW9uYWwpKXJldHVybiBmdW5jdGlvbih0LHIsaSxvLGEpe3ZhciBzPXQub3B0aW9ucyxjPXt9LHU9cy5wcm9wcztpZihuKHUpKWZvcih2YXIgbCBpbiB1KWNbbF09TWUobCx1LHJ8fGUpO2Vsc2UgbihpLmF0dHJzKSYmTnQoYyxpLmF0dHJzKSxuKGkucHJvcHMpJiZOdChjLGkucHJvcHMpO3ZhciBmPW5ldyBUdChpLGMsYSxvLHQpLHA9cy5yZW5kZXIuY2FsbChudWxsLGYuX2MsZik7aWYocCBpbnN0YW5jZW9mIHBlKXJldHVybiBFdChwLGksZi5wYXJlbnQscyk7aWYoQXJyYXkuaXNBcnJheShwKSl7Zm9yKHZhciBkPWF0KHApfHxbXSx2PW5ldyBBcnJheShkLmxlbmd0aCksaD0wO2g8ZC5sZW5ndGg7aCsrKXZbaF09RXQoZFtoXSxpLGYucGFyZW50LHMpO3JldHVybiB2fX0oaSxkLGEscyxjKTt2YXIgdj1hLm9uO2lmKGEub249YS5uYXRpdmVPbixyKGkub3B0aW9ucy5hYnN0cmFjdCkpe3ZhciBtPWEuc2xvdDthPXt9LG0mJihhLnNsb3Q9bSl9IWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLmhvb2t8fChlLmhvb2s9e30pLG49MDtuPER0Lmxlbmd0aDtuKyspe3ZhciByPUR0W25dLGk9dFtyXSxvPWp0W3JdO2k9PT1vfHxpJiZpLl9tZXJnZWR8fCh0W3JdPWk/TXQobyxpKTpvKX19KGEpO3ZhciB5PWkub3B0aW9ucy5uYW1lfHxsO3JldHVybiBuZXcgcGUoXCJ2dWUtY29tcG9uZW50LVwiK2kuY2lkKyh5P1wiLVwiK3k6XCJcIiksYSx2b2lkIDAsdm9pZCAwLHZvaWQgMCxzLHtDdG9yOmkscHJvcHNEYXRhOmQsbGlzdGVuZXJzOnYsdGFnOmwsY2hpbGRyZW46Y30scCl9fX1mdW5jdGlvbiBNdChlLHQpe3ZhciBuPWZ1bmN0aW9uKG4scil7ZShuLHIpLHQobixyKX07cmV0dXJuIG4uX21lcmdlZD0hMCxufXZhciBJdD0xLEZ0PTI7ZnVuY3Rpb24gUHQoZSxhLHMsYyx1LGwpe3JldHVybihBcnJheS5pc0FycmF5KHMpfHxpKHMpKSYmKHU9YyxjPXMscz12b2lkIDApLHIobCkmJih1PUZ0KSxmdW5jdGlvbihlLGksYSxzLGMpe2lmKG4oYSkmJm4oYS5fX29iX18pKXJldHVybiB2ZSgpO24oYSkmJm4oYS5pcykmJihpPWEuaXMpO2lmKCFpKXJldHVybiB2ZSgpO0FycmF5LmlzQXJyYXkocykmJlwiZnVuY3Rpb25cIj09dHlwZW9mIHNbMF0mJigoYT1hfHx7fSkuc2NvcGVkU2xvdHM9e2RlZmF1bHQ6c1swXX0scy5sZW5ndGg9MCk7Yz09PUZ0P3M9YXQocyk6Yz09PUl0JiYocz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKylpZihBcnJheS5pc0FycmF5KGVbdF0pKXJldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLGUpO3JldHVybiBlfShzKSk7dmFyIHUsbDtpZihcInN0cmluZ1wiPT10eXBlb2YgaSl7dmFyIGY7bD1lLiR2bm9kZSYmZS4kdm5vZGUubnN8fEYuZ2V0VGFnTmFtZXNwYWNlKGkpLHU9Ri5pc1Jlc2VydmVkVGFnKGkpP25ldyBwZShGLnBhcnNlUGxhdGZvcm1UYWdOYW1lKGkpLGEscyx2b2lkIDAsdm9pZCAwLGUpOmEmJmEucHJlfHwhbihmPUxlKGUuJG9wdGlvbnMsXCJjb21wb25lbnRzXCIsaSkpP25ldyBwZShpLGEscyx2b2lkIDAsdm9pZCAwLGUpOkx0KGYsYSxlLHMsaSl9ZWxzZSB1PUx0KGksYSxlLHMpO3JldHVybiBBcnJheS5pc0FycmF5KHUpP3U6bih1KT8obihsKSYmZnVuY3Rpb24gZShpLG8sYSl7aS5ucz1vO1wiZm9yZWlnbk9iamVjdFwiPT09aS50YWcmJihvPXZvaWQgMCxhPSEwKTtpZihuKGkuY2hpbGRyZW4pKWZvcih2YXIgcz0wLGM9aS5jaGlsZHJlbi5sZW5ndGg7czxjO3MrKyl7dmFyIHU9aS5jaGlsZHJlbltzXTtuKHUudGFnKSYmKHQodS5ucyl8fHIoYSkmJlwic3ZnXCIhPT11LnRhZykmJmUodSxvLGEpfX0odSxsKSxuKGEpJiZmdW5jdGlvbihlKXtvKGUuc3R5bGUpJiZldChlLnN0eWxlKTtvKGUuY2xhc3MpJiZldChlLmNsYXNzKX0oYSksdSk6dmUoKX0oZSxhLHMsYyx1KX12YXIgUnQsSHQ9bnVsbDtmdW5jdGlvbiBCdChlLHQpe3JldHVybihlLl9fZXNNb2R1bGV8fG9lJiZcIk1vZHVsZVwiPT09ZVtTeW1ib2wudG9TdHJpbmdUYWddKSYmKGU9ZS5kZWZhdWx0KSxvKGUpP3QuZXh0ZW5kKGUpOmV9ZnVuY3Rpb24gVXQoZSl7cmV0dXJuIGUuaXNDb21tZW50JiZlLmFzeW5jRmFjdG9yeX1mdW5jdGlvbiB6dChlKXtpZihBcnJheS5pc0FycmF5KGUpKWZvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgcj1lW3RdO2lmKG4ocikmJihuKHIuY29tcG9uZW50T3B0aW9ucyl8fFV0KHIpKSlyZXR1cm4gcn19ZnVuY3Rpb24gVnQoZSx0KXtSdC4kb24oZSx0KX1mdW5jdGlvbiBLdChlLHQpe1J0LiRvZmYoZSx0KX1mdW5jdGlvbiBKdChlLHQpe3ZhciBuPVJ0O3JldHVybiBmdW5jdGlvbiByKCl7bnVsbCE9PXQuYXBwbHkobnVsbCxhcmd1bWVudHMpJiZuLiRvZmYoZSxyKX19ZnVuY3Rpb24gcXQoZSx0LG4pe1J0PWUscnQodCxufHx7fSxWdCxLdCxKdCxlKSxSdD12b2lkIDB9dmFyIFd0PW51bGw7ZnVuY3Rpb24gWnQoZSl7dmFyIHQ9V3Q7cmV0dXJuIFd0PWUsZnVuY3Rpb24oKXtXdD10fX1mdW5jdGlvbiBHdChlKXtmb3IoO2UmJihlPWUuJHBhcmVudCk7KWlmKGUuX2luYWN0aXZlKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIFh0KGUsdCl7aWYodCl7aWYoZS5fZGlyZWN0SW5hY3RpdmU9ITEsR3QoZSkpcmV0dXJufWVsc2UgaWYoZS5fZGlyZWN0SW5hY3RpdmUpcmV0dXJuO2lmKGUuX2luYWN0aXZlfHxudWxsPT09ZS5faW5hY3RpdmUpe2UuX2luYWN0aXZlPSExO2Zvcih2YXIgbj0wO248ZS4kY2hpbGRyZW4ubGVuZ3RoO24rKylYdChlLiRjaGlsZHJlbltuXSk7WXQoZSxcImFjdGl2YXRlZFwiKX19ZnVuY3Rpb24gWXQoZSx0KXtsZSgpO3ZhciBuPWUuJG9wdGlvbnNbdF0scj10K1wiIGhvb2tcIjtpZihuKWZvcih2YXIgaT0wLG89bi5sZW5ndGg7aTxvO2krKylIZShuW2ldLGUsbnVsbCxlLHIpO2UuX2hhc0hvb2tFdmVudCYmZS4kZW1pdChcImhvb2s6XCIrdCksZmUoKX12YXIgUXQ9W10sZW49W10sdG49e30sbm49ITEscm49ITEsb249MDt2YXIgYW49MCxzbj1EYXRlLm5vdztpZih6JiYhcSl7dmFyIGNuPXdpbmRvdy5wZXJmb3JtYW5jZTtjbiYmXCJmdW5jdGlvblwiPT10eXBlb2YgY24ubm93JiZzbigpPmRvY3VtZW50LmNyZWF0ZUV2ZW50KFwiRXZlbnRcIikudGltZVN0YW1wJiYoc249ZnVuY3Rpb24oKXtyZXR1cm4gY24ubm93KCl9KX1mdW5jdGlvbiB1bigpe3ZhciBlLHQ7Zm9yKGFuPXNuKCkscm49ITAsUXQuc29ydChmdW5jdGlvbihlLHQpe3JldHVybiBlLmlkLXQuaWR9KSxvbj0wO29uPFF0Lmxlbmd0aDtvbisrKShlPVF0W29uXSkuYmVmb3JlJiZlLmJlZm9yZSgpLHQ9ZS5pZCx0blt0XT1udWxsLGUucnVuKCk7dmFyIG49ZW4uc2xpY2UoKSxyPVF0LnNsaWNlKCk7b249UXQubGVuZ3RoPWVuLmxlbmd0aD0wLHRuPXt9LG5uPXJuPSExLGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0uX2luYWN0aXZlPSEwLFh0KGVbdF0sITApfShuKSxmdW5jdGlvbihlKXt2YXIgdD1lLmxlbmd0aDtmb3IoO3QtLTspe3ZhciBuPWVbdF0scj1uLnZtO3IuX3dhdGNoZXI9PT1uJiZyLl9pc01vdW50ZWQmJiFyLl9pc0Rlc3Ryb3llZCYmWXQocixcInVwZGF0ZWRcIil9fShyKSxuZSYmRi5kZXZ0b29scyYmbmUuZW1pdChcImZsdXNoXCIpfXZhciBsbj0wLGZuPWZ1bmN0aW9uKGUsdCxuLHIsaSl7dGhpcy52bT1lLGkmJihlLl93YXRjaGVyPXRoaXMpLGUuX3dhdGNoZXJzLnB1c2godGhpcykscj8odGhpcy5kZWVwPSEhci5kZWVwLHRoaXMudXNlcj0hIXIudXNlcix0aGlzLmxhenk9ISFyLmxhenksdGhpcy5zeW5jPSEhci5zeW5jLHRoaXMuYmVmb3JlPXIuYmVmb3JlKTp0aGlzLmRlZXA9dGhpcy51c2VyPXRoaXMubGF6eT10aGlzLnN5bmM9ITEsdGhpcy5jYj1uLHRoaXMuaWQ9Kytsbix0aGlzLmFjdGl2ZT0hMCx0aGlzLmRpcnR5PXRoaXMubGF6eSx0aGlzLmRlcHM9W10sdGhpcy5uZXdEZXBzPVtdLHRoaXMuZGVwSWRzPW5ldyBpZSx0aGlzLm5ld0RlcElkcz1uZXcgaWUsdGhpcy5leHByZXNzaW9uPVwiXCIsXCJmdW5jdGlvblwiPT10eXBlb2YgdD90aGlzLmdldHRlcj10Oih0aGlzLmdldHRlcj1mdW5jdGlvbihlKXtpZighSC50ZXN0KGUpKXt2YXIgdD1lLnNwbGl0KFwiLlwiKTtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe2lmKCFlKXJldHVybjtlPWVbdFtuXV19cmV0dXJuIGV9fX0odCksdGhpcy5nZXR0ZXJ8fCh0aGlzLmdldHRlcj1TKSksdGhpcy52YWx1ZT10aGlzLmxhenk/dm9pZCAwOnRoaXMuZ2V0KCl9O2ZuLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oKXt2YXIgZTtsZSh0aGlzKTt2YXIgdD10aGlzLnZtO3RyeXtlPXRoaXMuZ2V0dGVyLmNhbGwodCx0KX1jYXRjaChlKXtpZighdGhpcy51c2VyKXRocm93IGU7UmUoZSx0LCdnZXR0ZXIgZm9yIHdhdGNoZXIgXCInK3RoaXMuZXhwcmVzc2lvbisnXCInKX1maW5hbGx5e3RoaXMuZGVlcCYmZXQoZSksZmUoKSx0aGlzLmNsZWFudXBEZXBzKCl9cmV0dXJuIGV9LGZuLnByb3RvdHlwZS5hZGREZXA9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5pZDt0aGlzLm5ld0RlcElkcy5oYXModCl8fCh0aGlzLm5ld0RlcElkcy5hZGQodCksdGhpcy5uZXdEZXBzLnB1c2goZSksdGhpcy5kZXBJZHMuaGFzKHQpfHxlLmFkZFN1Yih0aGlzKSl9LGZuLnByb3RvdHlwZS5jbGVhbnVwRGVwcz1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLmRlcHMubGVuZ3RoO2UtLTspe3ZhciB0PXRoaXMuZGVwc1tlXTt0aGlzLm5ld0RlcElkcy5oYXModC5pZCl8fHQucmVtb3ZlU3ViKHRoaXMpfXZhciBuPXRoaXMuZGVwSWRzO3RoaXMuZGVwSWRzPXRoaXMubmV3RGVwSWRzLHRoaXMubmV3RGVwSWRzPW4sdGhpcy5uZXdEZXBJZHMuY2xlYXIoKSxuPXRoaXMuZGVwcyx0aGlzLmRlcHM9dGhpcy5uZXdEZXBzLHRoaXMubmV3RGVwcz1uLHRoaXMubmV3RGVwcy5sZW5ndGg9MH0sZm4ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMubGF6eT90aGlzLmRpcnR5PSEwOnRoaXMuc3luYz90aGlzLnJ1bigpOmZ1bmN0aW9uKGUpe3ZhciB0PWUuaWQ7aWYobnVsbD09dG5bdF0pe2lmKHRuW3RdPSEwLHJuKXtmb3IodmFyIG49UXQubGVuZ3RoLTE7bj5vbiYmUXRbbl0uaWQ+ZS5pZDspbi0tO1F0LnNwbGljZShuKzEsMCxlKX1lbHNlIFF0LnB1c2goZSk7bm58fChubj0hMCxZZSh1bikpfX0odGhpcyl9LGZuLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXtpZih0aGlzLmFjdGl2ZSl7dmFyIGU9dGhpcy5nZXQoKTtpZihlIT09dGhpcy52YWx1ZXx8byhlKXx8dGhpcy5kZWVwKXt2YXIgdD10aGlzLnZhbHVlO2lmKHRoaXMudmFsdWU9ZSx0aGlzLnVzZXIpdHJ5e3RoaXMuY2IuY2FsbCh0aGlzLnZtLGUsdCl9Y2F0Y2goZSl7UmUoZSx0aGlzLnZtLCdjYWxsYmFjayBmb3Igd2F0Y2hlciBcIicrdGhpcy5leHByZXNzaW9uKydcIicpfWVsc2UgdGhpcy5jYi5jYWxsKHRoaXMudm0sZSx0KX19fSxmbi5wcm90b3R5cGUuZXZhbHVhdGU9ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPXRoaXMuZ2V0KCksdGhpcy5kaXJ0eT0hMX0sZm4ucHJvdG90eXBlLmRlcGVuZD1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLmRlcHMubGVuZ3RoO2UtLTspdGhpcy5kZXBzW2VdLmRlcGVuZCgpfSxmbi5wcm90b3R5cGUudGVhcmRvd249ZnVuY3Rpb24oKXtpZih0aGlzLmFjdGl2ZSl7dGhpcy52bS5faXNCZWluZ0Rlc3Ryb3llZHx8aCh0aGlzLnZtLl93YXRjaGVycyx0aGlzKTtmb3IodmFyIGU9dGhpcy5kZXBzLmxlbmd0aDtlLS07KXRoaXMuZGVwc1tlXS5yZW1vdmVTdWIodGhpcyk7dGhpcy5hY3RpdmU9ITF9fTt2YXIgcG49e2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpTLHNldDpTfTtmdW5jdGlvbiBkbihlLHQsbil7cG4uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbdF1bbl19LHBuLnNldD1mdW5jdGlvbihlKXt0aGlzW3RdW25dPWV9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4scG4pfWZ1bmN0aW9uIHZuKGUpe2UuX3dhdGNoZXJzPVtdO3ZhciB0PWUuJG9wdGlvbnM7dC5wcm9wcyYmZnVuY3Rpb24oZSx0KXt2YXIgbj1lLiRvcHRpb25zLnByb3BzRGF0YXx8e30scj1lLl9wcm9wcz17fSxpPWUuJG9wdGlvbnMuX3Byb3BLZXlzPVtdO2UuJHBhcmVudCYmJGUoITEpO3ZhciBvPWZ1bmN0aW9uKG8pe2kucHVzaChvKTt2YXIgYT1NZShvLHQsbixlKTt4ZShyLG8sYSksbyBpbiBlfHxkbihlLFwiX3Byb3BzXCIsbyl9O2Zvcih2YXIgYSBpbiB0KW8oYSk7JGUoITApfShlLHQucHJvcHMpLHQubWV0aG9kcyYmZnVuY3Rpb24oZSx0KXtlLiRvcHRpb25zLnByb3BzO2Zvcih2YXIgbiBpbiB0KWVbbl09XCJmdW5jdGlvblwiIT10eXBlb2YgdFtuXT9TOngodFtuXSxlKX0oZSx0Lm1ldGhvZHMpLHQuZGF0YT9mdW5jdGlvbihlKXt2YXIgdD1lLiRvcHRpb25zLmRhdGE7cyh0PWUuX2RhdGE9XCJmdW5jdGlvblwiPT10eXBlb2YgdD9mdW5jdGlvbihlLHQpe2xlKCk7dHJ5e3JldHVybiBlLmNhbGwodCx0KX1jYXRjaChlKXtyZXR1cm4gUmUoZSx0LFwiZGF0YSgpXCIpLHt9fWZpbmFsbHl7ZmUoKX19KHQsZSk6dHx8e30pfHwodD17fSk7dmFyIG49T2JqZWN0LmtleXModCkscj1lLiRvcHRpb25zLnByb3BzLGk9KGUuJG9wdGlvbnMubWV0aG9kcyxuLmxlbmd0aCk7Zm9yKDtpLS07KXt2YXIgbz1uW2ldO3ImJnkocixvKXx8KGE9dm9pZCAwLDM2IT09KGE9KG8rXCJcIikuY2hhckNvZGVBdCgwKSkmJjk1IT09YSYmZG4oZSxcIl9kYXRhXCIsbykpfXZhciBhO0NlKHQsITApfShlKTpDZShlLl9kYXRhPXt9LCEwKSx0LmNvbXB1dGVkJiZmdW5jdGlvbihlLHQpe3ZhciBuPWUuX2NvbXB1dGVkV2F0Y2hlcnM9T2JqZWN0LmNyZWF0ZShudWxsKSxyPXRlKCk7Zm9yKHZhciBpIGluIHQpe3ZhciBvPXRbaV0sYT1cImZ1bmN0aW9uXCI9PXR5cGVvZiBvP286by5nZXQ7cnx8KG5baV09bmV3IGZuKGUsYXx8UyxTLGhuKSksaSBpbiBlfHxtbihlLGksbyl9fShlLHQuY29tcHV0ZWQpLHQud2F0Y2gmJnQud2F0Y2ghPT1ZJiZmdW5jdGlvbihlLHQpe2Zvcih2YXIgbiBpbiB0KXt2YXIgcj10W25dO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKHZhciBpPTA7aTxyLmxlbmd0aDtpKyspX24oZSxuLHJbaV0pO2Vsc2UgX24oZSxuLHIpfX0oZSx0LndhdGNoKX12YXIgaG49e2xhenk6ITB9O2Z1bmN0aW9uIG1uKGUsdCxuKXt2YXIgcj0hdGUoKTtcImZ1bmN0aW9uXCI9PXR5cGVvZiBuPyhwbi5nZXQ9cj95bih0KTpnbihuKSxwbi5zZXQ9Uyk6KHBuLmdldD1uLmdldD9yJiYhMSE9PW4uY2FjaGU/eW4odCk6Z24obi5nZXQpOlMscG4uc2V0PW4uc2V0fHxTKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHBuKX1mdW5jdGlvbiB5bihlKXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9jb21wdXRlZFdhdGNoZXJzJiZ0aGlzLl9jb21wdXRlZFdhdGNoZXJzW2VdO2lmKHQpcmV0dXJuIHQuZGlydHkmJnQuZXZhbHVhdGUoKSxjZS50YXJnZXQmJnQuZGVwZW5kKCksdC52YWx1ZX19ZnVuY3Rpb24gZ24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuY2FsbCh0aGlzLHRoaXMpfX1mdW5jdGlvbiBfbihlLHQsbixyKXtyZXR1cm4gcyhuKSYmKHI9bixuPW4uaGFuZGxlciksXCJzdHJpbmdcIj09dHlwZW9mIG4mJihuPWVbbl0pLGUuJHdhdGNoKHQsbixyKX12YXIgYm49MDtmdW5jdGlvbiAkbihlKXt2YXIgdD1lLm9wdGlvbnM7aWYoZS5zdXBlcil7dmFyIG49JG4oZS5zdXBlcik7aWYobiE9PWUuc3VwZXJPcHRpb25zKXtlLnN1cGVyT3B0aW9ucz1uO3ZhciByPWZ1bmN0aW9uKGUpe3ZhciB0LG49ZS5vcHRpb25zLHI9ZS5zZWFsZWRPcHRpb25zO2Zvcih2YXIgaSBpbiBuKW5baV0hPT1yW2ldJiYodHx8KHQ9e30pLHRbaV09bltpXSk7cmV0dXJuIHR9KGUpO3ImJkEoZS5leHRlbmRPcHRpb25zLHIpLCh0PWUub3B0aW9ucz1EZShuLGUuZXh0ZW5kT3B0aW9ucykpLm5hbWUmJih0LmNvbXBvbmVudHNbdC5uYW1lXT1lKX19cmV0dXJuIHR9ZnVuY3Rpb24gd24oZSl7dGhpcy5faW5pdChlKX1mdW5jdGlvbiBDbihlKXtlLmNpZD0wO3ZhciB0PTE7ZS5leHRlbmQ9ZnVuY3Rpb24oZSl7ZT1lfHx7fTt2YXIgbj10aGlzLHI9bi5jaWQsaT1lLl9DdG9yfHwoZS5fQ3Rvcj17fSk7aWYoaVtyXSlyZXR1cm4gaVtyXTt2YXIgbz1lLm5hbWV8fG4ub3B0aW9ucy5uYW1lLGE9ZnVuY3Rpb24oZSl7dGhpcy5faW5pdChlKX07cmV0dXJuKGEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobi5wcm90b3R5cGUpKS5jb25zdHJ1Y3Rvcj1hLGEuY2lkPXQrKyxhLm9wdGlvbnM9RGUobi5vcHRpb25zLGUpLGEuc3VwZXI9bixhLm9wdGlvbnMucHJvcHMmJmZ1bmN0aW9uKGUpe3ZhciB0PWUub3B0aW9ucy5wcm9wcztmb3IodmFyIG4gaW4gdClkbihlLnByb3RvdHlwZSxcIl9wcm9wc1wiLG4pfShhKSxhLm9wdGlvbnMuY29tcHV0ZWQmJmZ1bmN0aW9uKGUpe3ZhciB0PWUub3B0aW9ucy5jb21wdXRlZDtmb3IodmFyIG4gaW4gdCltbihlLnByb3RvdHlwZSxuLHRbbl0pfShhKSxhLmV4dGVuZD1uLmV4dGVuZCxhLm1peGluPW4ubWl4aW4sYS51c2U9bi51c2UsTS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2FbZV09bltlXX0pLG8mJihhLm9wdGlvbnMuY29tcG9uZW50c1tvXT1hKSxhLnN1cGVyT3B0aW9ucz1uLm9wdGlvbnMsYS5leHRlbmRPcHRpb25zPWUsYS5zZWFsZWRPcHRpb25zPUEoe30sYS5vcHRpb25zKSxpW3JdPWEsYX19ZnVuY3Rpb24geG4oZSl7cmV0dXJuIGUmJihlLkN0b3Iub3B0aW9ucy5uYW1lfHxlLnRhZyl9ZnVuY3Rpb24ga24oZSx0KXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLmluZGV4T2YodCk+LTE6XCJzdHJpbmdcIj09dHlwZW9mIGU/ZS5zcGxpdChcIixcIikuaW5kZXhPZih0KT4tMToobj1lLFwiW29iamVjdCBSZWdFeHBdXCI9PT1hLmNhbGwobikmJmUudGVzdCh0KSk7dmFyIG59ZnVuY3Rpb24gQW4oZSx0KXt2YXIgbj1lLmNhY2hlLHI9ZS5rZXlzLGk9ZS5fdm5vZGU7Zm9yKHZhciBvIGluIG4pe3ZhciBhPW5bb107aWYoYSl7dmFyIHM9eG4oYS5jb21wb25lbnRPcHRpb25zKTtzJiYhdChzKSYmT24obixvLHIsaSl9fX1mdW5jdGlvbiBPbihlLHQsbixyKXt2YXIgaT1lW3RdOyFpfHxyJiZpLnRhZz09PXIudGFnfHxpLmNvbXBvbmVudEluc3RhbmNlLiRkZXN0cm95KCksZVt0XT1udWxsLGgobix0KX0hZnVuY3Rpb24odCl7dC5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24odCl7dmFyIG49dGhpcztuLl91aWQ9Ym4rKyxuLl9pc1Z1ZT0hMCx0JiZ0Ll9pc0NvbXBvbmVudD9mdW5jdGlvbihlLHQpe3ZhciBuPWUuJG9wdGlvbnM9T2JqZWN0LmNyZWF0ZShlLmNvbnN0cnVjdG9yLm9wdGlvbnMpLHI9dC5fcGFyZW50Vm5vZGU7bi5wYXJlbnQ9dC5wYXJlbnQsbi5fcGFyZW50Vm5vZGU9cjt2YXIgaT1yLmNvbXBvbmVudE9wdGlvbnM7bi5wcm9wc0RhdGE9aS5wcm9wc0RhdGEsbi5fcGFyZW50TGlzdGVuZXJzPWkubGlzdGVuZXJzLG4uX3JlbmRlckNoaWxkcmVuPWkuY2hpbGRyZW4sbi5fY29tcG9uZW50VGFnPWkudGFnLHQucmVuZGVyJiYobi5yZW5kZXI9dC5yZW5kZXIsbi5zdGF0aWNSZW5kZXJGbnM9dC5zdGF0aWNSZW5kZXJGbnMpfShuLHQpOm4uJG9wdGlvbnM9RGUoJG4obi5jb25zdHJ1Y3RvciksdHx8e30sbiksbi5fcmVuZGVyUHJveHk9bixuLl9zZWxmPW4sZnVuY3Rpb24oZSl7dmFyIHQ9ZS4kb3B0aW9ucyxuPXQucGFyZW50O2lmKG4mJiF0LmFic3RyYWN0KXtmb3IoO24uJG9wdGlvbnMuYWJzdHJhY3QmJm4uJHBhcmVudDspbj1uLiRwYXJlbnQ7bi4kY2hpbGRyZW4ucHVzaChlKX1lLiRwYXJlbnQ9bixlLiRyb290PW4/bi4kcm9vdDplLGUuJGNoaWxkcmVuPVtdLGUuJHJlZnM9e30sZS5fd2F0Y2hlcj1udWxsLGUuX2luYWN0aXZlPW51bGwsZS5fZGlyZWN0SW5hY3RpdmU9ITEsZS5faXNNb3VudGVkPSExLGUuX2lzRGVzdHJveWVkPSExLGUuX2lzQmVpbmdEZXN0cm95ZWQ9ITF9KG4pLGZ1bmN0aW9uKGUpe2UuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLGUuX2hhc0hvb2tFdmVudD0hMTt2YXIgdD1lLiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7dCYmcXQoZSx0KX0obiksZnVuY3Rpb24odCl7dC5fdm5vZGU9bnVsbCx0Ll9zdGF0aWNUcmVlcz1udWxsO3ZhciBuPXQuJG9wdGlvbnMscj10LiR2bm9kZT1uLl9wYXJlbnRWbm9kZSxpPXImJnIuY29udGV4dDt0LiRzbG90cz11dChuLl9yZW5kZXJDaGlsZHJlbixpKSx0LiRzY29wZWRTbG90cz1lLHQuX2M9ZnVuY3Rpb24oZSxuLHIsaSl7cmV0dXJuIFB0KHQsZSxuLHIsaSwhMSl9LHQuJGNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSxuLHIsaSl7cmV0dXJuIFB0KHQsZSxuLHIsaSwhMCl9O3ZhciBvPXImJnIuZGF0YTt4ZSh0LFwiJGF0dHJzXCIsbyYmby5hdHRyc3x8ZSxudWxsLCEwKSx4ZSh0LFwiJGxpc3RlbmVyc1wiLG4uX3BhcmVudExpc3RlbmVyc3x8ZSxudWxsLCEwKX0obiksWXQobixcImJlZm9yZUNyZWF0ZVwiKSxmdW5jdGlvbihlKXt2YXIgdD1jdChlLiRvcHRpb25zLmluamVjdCxlKTt0JiYoJGUoITEpLE9iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24obil7eGUoZSxuLHRbbl0pfSksJGUoITApKX0obiksdm4obiksZnVuY3Rpb24oZSl7dmFyIHQ9ZS4kb3B0aW9ucy5wcm92aWRlO3QmJihlLl9wcm92aWRlZD1cImZ1bmN0aW9uXCI9PXR5cGVvZiB0P3QuY2FsbChlKTp0KX0obiksWXQobixcImNyZWF0ZWRcIiksbi4kb3B0aW9ucy5lbCYmbi4kbW91bnQobi4kb3B0aW9ucy5lbCl9fSh3biksZnVuY3Rpb24oZSl7dmFyIHQ9e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9kYXRhfX0sbj17Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Byb3BzfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLFwiJGRhdGFcIix0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsXCIkcHJvcHNcIixuKSxlLnByb3RvdHlwZS4kc2V0PWtlLGUucHJvdG90eXBlLiRkZWxldGU9QWUsZS5wcm90b3R5cGUuJHdhdGNoPWZ1bmN0aW9uKGUsdCxuKXtpZihzKHQpKXJldHVybiBfbih0aGlzLGUsdCxuKTsobj1ufHx7fSkudXNlcj0hMDt2YXIgcj1uZXcgZm4odGhpcyxlLHQsbik7aWYobi5pbW1lZGlhdGUpdHJ5e3QuY2FsbCh0aGlzLHIudmFsdWUpfWNhdGNoKGUpe1JlKGUsdGhpcywnY2FsbGJhY2sgZm9yIGltbWVkaWF0ZSB3YXRjaGVyIFwiJytyLmV4cHJlc3Npb24rJ1wiJyl9cmV0dXJuIGZ1bmN0aW9uKCl7ci50ZWFyZG93bigpfX19KHduKSxmdW5jdGlvbihlKXt2YXIgdD0vXmhvb2s6LztlLnByb3RvdHlwZS4kb249ZnVuY3Rpb24oZSxuKXt2YXIgcj10aGlzO2lmKEFycmF5LmlzQXJyYXkoZSkpZm9yKHZhciBpPTAsbz1lLmxlbmd0aDtpPG87aSsrKXIuJG9uKGVbaV0sbik7ZWxzZShyLl9ldmVudHNbZV18fChyLl9ldmVudHNbZV09W10pKS5wdXNoKG4pLHQudGVzdChlKSYmKHIuX2hhc0hvb2tFdmVudD0hMCk7cmV0dXJuIHJ9LGUucHJvdG90eXBlLiRvbmNlPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztmdW5jdGlvbiByKCl7bi4kb2ZmKGUsciksdC5hcHBseShuLGFyZ3VtZW50cyl9cmV0dXJuIHIuZm49dCxuLiRvbihlLHIpLG59LGUucHJvdG90eXBlLiRvZmY9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBuLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSxuO2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgcj0wLGk9ZS5sZW5ndGg7cjxpO3IrKyluLiRvZmYoZVtyXSx0KTtyZXR1cm4gbn12YXIgbyxhPW4uX2V2ZW50c1tlXTtpZighYSlyZXR1cm4gbjtpZighdClyZXR1cm4gbi5fZXZlbnRzW2VdPW51bGwsbjtmb3IodmFyIHM9YS5sZW5ndGg7cy0tOylpZigobz1hW3NdKT09PXR8fG8uZm49PT10KXthLnNwbGljZShzLDEpO2JyZWFrfXJldHVybiBufSxlLnByb3RvdHlwZS4kZW1pdD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLl9ldmVudHNbZV07aWYodCl7dD10Lmxlbmd0aD4xP2sodCk6dDtmb3IodmFyIG49ayhhcmd1bWVudHMsMSkscj0nZXZlbnQgaGFuZGxlciBmb3IgXCInK2UrJ1wiJyxpPTAsbz10Lmxlbmd0aDtpPG87aSsrKUhlKHRbaV0sdGhpcyxuLHRoaXMscil9cmV0dXJuIHRoaXN9fSh3biksZnVuY3Rpb24oZSl7ZS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMscj1uLiRlbCxpPW4uX3Zub2RlLG89WnQobik7bi5fdm5vZGU9ZSxuLiRlbD1pP24uX19wYXRjaF9fKGksZSk6bi5fX3BhdGNoX18obi4kZWwsZSx0LCExKSxvKCksciYmKHIuX192dWVfXz1udWxsKSxuLiRlbCYmKG4uJGVsLl9fdnVlX189biksbi4kdm5vZGUmJm4uJHBhcmVudCYmbi4kdm5vZGU9PT1uLiRwYXJlbnQuX3Zub2RlJiYobi4kcGFyZW50LiRlbD1uLiRlbCl9LGUucHJvdG90eXBlLiRmb3JjZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX3dhdGNoZXImJnRoaXMuX3dhdGNoZXIudXBkYXRlKCl9LGUucHJvdG90eXBlLiRkZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpZighZS5faXNCZWluZ0Rlc3Ryb3llZCl7WXQoZSxcImJlZm9yZURlc3Ryb3lcIiksZS5faXNCZWluZ0Rlc3Ryb3llZD0hMDt2YXIgdD1lLiRwYXJlbnQ7IXR8fHQuX2lzQmVpbmdEZXN0cm95ZWR8fGUuJG9wdGlvbnMuYWJzdHJhY3R8fGgodC4kY2hpbGRyZW4sZSksZS5fd2F0Y2hlciYmZS5fd2F0Y2hlci50ZWFyZG93bigpO2Zvcih2YXIgbj1lLl93YXRjaGVycy5sZW5ndGg7bi0tOyllLl93YXRjaGVyc1tuXS50ZWFyZG93bigpO2UuX2RhdGEuX19vYl9fJiZlLl9kYXRhLl9fb2JfXy52bUNvdW50LS0sZS5faXNEZXN0cm95ZWQ9ITAsZS5fX3BhdGNoX18oZS5fdm5vZGUsbnVsbCksWXQoZSxcImRlc3Ryb3llZFwiKSxlLiRvZmYoKSxlLiRlbCYmKGUuJGVsLl9fdnVlX189bnVsbCksZS4kdm5vZGUmJihlLiR2bm9kZS5wYXJlbnQ9bnVsbCl9fX0od24pLGZ1bmN0aW9uKGUpe1N0KGUucHJvdG90eXBlKSxlLnByb3RvdHlwZS4kbmV4dFRpY2s9ZnVuY3Rpb24oZSl7cmV0dXJuIFllKGUsdGhpcyl9LGUucHJvdG90eXBlLl9yZW5kZXI9ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMsbj10LiRvcHRpb25zLHI9bi5yZW5kZXIsaT1uLl9wYXJlbnRWbm9kZTtpJiYodC4kc2NvcGVkU2xvdHM9ZnQoaS5kYXRhLnNjb3BlZFNsb3RzLHQuJHNsb3RzLHQuJHNjb3BlZFNsb3RzKSksdC4kdm5vZGU9aTt0cnl7SHQ9dCxlPXIuY2FsbCh0Ll9yZW5kZXJQcm94eSx0LiRjcmVhdGVFbGVtZW50KX1jYXRjaChuKXtSZShuLHQsXCJyZW5kZXJcIiksZT10Ll92bm9kZX1maW5hbGx5e0h0PW51bGx9cmV0dXJuIEFycmF5LmlzQXJyYXkoZSkmJjE9PT1lLmxlbmd0aCYmKGU9ZVswXSksZSBpbnN0YW5jZW9mIHBlfHwoZT12ZSgpKSxlLnBhcmVudD1pLGV9fSh3bik7dmFyIFNuPVtTdHJpbmcsUmVnRXhwLEFycmF5XSxUbj17S2VlcEFsaXZlOntuYW1lOlwia2VlcC1hbGl2ZVwiLGFic3RyYWN0OiEwLHByb3BzOntpbmNsdWRlOlNuLGV4Y2x1ZGU6U24sbWF4OltTdHJpbmcsTnVtYmVyXX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuY2FjaGU9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLmtleXM9W119LGRlc3Ryb3llZDpmdW5jdGlvbigpe2Zvcih2YXIgZSBpbiB0aGlzLmNhY2hlKU9uKHRoaXMuY2FjaGUsZSx0aGlzLmtleXMpfSxtb3VudGVkOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLiR3YXRjaChcImluY2x1ZGVcIixmdW5jdGlvbih0KXtBbihlLGZ1bmN0aW9uKGUpe3JldHVybiBrbih0LGUpfSl9KSx0aGlzLiR3YXRjaChcImV4Y2x1ZGVcIixmdW5jdGlvbih0KXtBbihlLGZ1bmN0aW9uKGUpe3JldHVybiFrbih0LGUpfSl9KX0scmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy4kc2xvdHMuZGVmYXVsdCx0PXp0KGUpLG49dCYmdC5jb21wb25lbnRPcHRpb25zO2lmKG4pe3ZhciByPXhuKG4pLGk9dGhpcy5pbmNsdWRlLG89dGhpcy5leGNsdWRlO2lmKGkmJighcnx8IWtuKGkscikpfHxvJiZyJiZrbihvLHIpKXJldHVybiB0O3ZhciBhPXRoaXMuY2FjaGUscz10aGlzLmtleXMsYz1udWxsPT10LmtleT9uLkN0b3IuY2lkKyhuLnRhZz9cIjo6XCIrbi50YWc6XCJcIik6dC5rZXk7YVtjXT8odC5jb21wb25lbnRJbnN0YW5jZT1hW2NdLmNvbXBvbmVudEluc3RhbmNlLGgocyxjKSxzLnB1c2goYykpOihhW2NdPXQscy5wdXNoKGMpLHRoaXMubWF4JiZzLmxlbmd0aD5wYXJzZUludCh0aGlzLm1heCkmJk9uKGEsc1swXSxzLHRoaXMuX3Zub2RlKSksdC5kYXRhLmtlZXBBbGl2ZT0hMH1yZXR1cm4gdHx8ZSYmZVswXX19fTshZnVuY3Rpb24oZSl7dmFyIHQ9e2dldDpmdW5jdGlvbigpe3JldHVybiBGfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJjb25maWdcIix0KSxlLnV0aWw9e3dhcm46YWUsZXh0ZW5kOkEsbWVyZ2VPcHRpb25zOkRlLGRlZmluZVJlYWN0aXZlOnhlfSxlLnNldD1rZSxlLmRlbGV0ZT1BZSxlLm5leHRUaWNrPVllLGUub2JzZXJ2YWJsZT1mdW5jdGlvbihlKXtyZXR1cm4gQ2UoZSksZX0sZS5vcHRpb25zPU9iamVjdC5jcmVhdGUobnVsbCksTS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2Uub3B0aW9uc1t0K1wic1wiXT1PYmplY3QuY3JlYXRlKG51bGwpfSksZS5vcHRpb25zLl9iYXNlPWUsQShlLm9wdGlvbnMuY29tcG9uZW50cyxUbiksZnVuY3Rpb24oZSl7ZS51c2U9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5faW5zdGFsbGVkUGx1Z2luc3x8KHRoaXMuX2luc3RhbGxlZFBsdWdpbnM9W10pO2lmKHQuaW5kZXhPZihlKT4tMSlyZXR1cm4gdGhpczt2YXIgbj1rKGFyZ3VtZW50cywxKTtyZXR1cm4gbi51bnNoaWZ0KHRoaXMpLFwiZnVuY3Rpb25cIj09dHlwZW9mIGUuaW5zdGFsbD9lLmluc3RhbGwuYXBwbHkoZSxuKTpcImZ1bmN0aW9uXCI9PXR5cGVvZiBlJiZlLmFwcGx5KG51bGwsbiksdC5wdXNoKGUpLHRoaXN9fShlKSxmdW5jdGlvbihlKXtlLm1peGluPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9wdGlvbnM9RGUodGhpcy5vcHRpb25zLGUpLHRoaXN9fShlKSxDbihlKSxmdW5jdGlvbihlKXtNLmZvckVhY2goZnVuY3Rpb24odCl7ZVt0XT1mdW5jdGlvbihlLG4pe3JldHVybiBuPyhcImNvbXBvbmVudFwiPT09dCYmcyhuKSYmKG4ubmFtZT1uLm5hbWV8fGUsbj10aGlzLm9wdGlvbnMuX2Jhc2UuZXh0ZW5kKG4pKSxcImRpcmVjdGl2ZVwiPT09dCYmXCJmdW5jdGlvblwiPT10eXBlb2YgbiYmKG49e2JpbmQ6bix1cGRhdGU6bn0pLHRoaXMub3B0aW9uc1t0K1wic1wiXVtlXT1uLG4pOnRoaXMub3B0aW9uc1t0K1wic1wiXVtlXX19KX0oZSl9KHduKSxPYmplY3QuZGVmaW5lUHJvcGVydHkod24ucHJvdG90eXBlLFwiJGlzU2VydmVyXCIse2dldDp0ZX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3bi5wcm90b3R5cGUsXCIkc3NyQ29udGV4dFwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kdm5vZGUmJnRoaXMuJHZub2RlLnNzckNvbnRleHR9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHduLFwiRnVuY3Rpb25hbFJlbmRlckNvbnRleHRcIix7dmFsdWU6VHR9KSx3bi52ZXJzaW9uPVwiMi42LjEyXCI7dmFyIEVuPXAoXCJzdHlsZSxjbGFzc1wiKSxObj1wKFwiaW5wdXQsdGV4dGFyZWEsb3B0aW9uLHNlbGVjdCxwcm9ncmVzc1wiKSxqbj1mdW5jdGlvbihlLHQsbil7cmV0dXJuXCJ2YWx1ZVwiPT09biYmTm4oZSkmJlwiYnV0dG9uXCIhPT10fHxcInNlbGVjdGVkXCI9PT1uJiZcIm9wdGlvblwiPT09ZXx8XCJjaGVja2VkXCI9PT1uJiZcImlucHV0XCI9PT1lfHxcIm11dGVkXCI9PT1uJiZcInZpZGVvXCI9PT1lfSxEbj1wKFwiY29udGVudGVkaXRhYmxlLGRyYWdnYWJsZSxzcGVsbGNoZWNrXCIpLExuPXAoXCJldmVudHMsY2FyZXQsdHlwaW5nLHBsYWludGV4dC1vbmx5XCIpLE1uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIEhuKHQpfHxcImZhbHNlXCI9PT10P1wiZmFsc2VcIjpcImNvbnRlbnRlZGl0YWJsZVwiPT09ZSYmTG4odCk/dDpcInRydWVcIn0sSW49cChcImFsbG93ZnVsbHNjcmVlbixhc3luYyxhdXRvZm9jdXMsYXV0b3BsYXksY2hlY2tlZCxjb21wYWN0LGNvbnRyb2xzLGRlY2xhcmUsZGVmYXVsdCxkZWZhdWx0Y2hlY2tlZCxkZWZhdWx0bXV0ZWQsZGVmYXVsdHNlbGVjdGVkLGRlZmVyLGRpc2FibGVkLGVuYWJsZWQsZm9ybW5vdmFsaWRhdGUsaGlkZGVuLGluZGV0ZXJtaW5hdGUsaW5lcnQsaXNtYXAsaXRlbXNjb3BlLGxvb3AsbXVsdGlwbGUsbXV0ZWQsbm9ocmVmLG5vcmVzaXplLG5vc2hhZGUsbm92YWxpZGF0ZSxub3dyYXAsb3BlbixwYXVzZW9uZXhpdCxyZWFkb25seSxyZXF1aXJlZCxyZXZlcnNlZCxzY29wZWQsc2VhbWxlc3Msc2VsZWN0ZWQsc29ydGFibGUsdHJhbnNsYXRlLHRydWVzcGVlZCx0eXBlbXVzdG1hdGNoLHZpc2libGVcIiksRm49XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIsUG49ZnVuY3Rpb24oZSl7cmV0dXJuXCI6XCI9PT1lLmNoYXJBdCg1KSYmXCJ4bGlua1wiPT09ZS5zbGljZSgwLDUpfSxSbj1mdW5jdGlvbihlKXtyZXR1cm4gUG4oZSk/ZS5zbGljZSg2LGUubGVuZ3RoKTpcIlwifSxIbj1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZXx8ITE9PT1lfTtmdW5jdGlvbiBCbihlKXtmb3IodmFyIHQ9ZS5kYXRhLHI9ZSxpPWU7bihpLmNvbXBvbmVudEluc3RhbmNlKTspKGk9aS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUpJiZpLmRhdGEmJih0PVVuKGkuZGF0YSx0KSk7Zm9yKDtuKHI9ci5wYXJlbnQpOylyJiZyLmRhdGEmJih0PVVuKHQsci5kYXRhKSk7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7aWYobihlKXx8bih0KSlyZXR1cm4gem4oZSxWbih0KSk7cmV0dXJuXCJcIn0odC5zdGF0aWNDbGFzcyx0LmNsYXNzKX1mdW5jdGlvbiBVbihlLHQpe3JldHVybntzdGF0aWNDbGFzczp6bihlLnN0YXRpY0NsYXNzLHQuc3RhdGljQ2xhc3MpLGNsYXNzOm4oZS5jbGFzcyk/W2UuY2xhc3MsdC5jbGFzc106dC5jbGFzc319ZnVuY3Rpb24gem4oZSx0KXtyZXR1cm4gZT90P2UrXCIgXCIrdDplOnR8fFwiXCJ9ZnVuY3Rpb24gVm4oZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LHI9XCJcIixpPTAsbz1lLmxlbmd0aDtpPG87aSsrKW4odD1WbihlW2ldKSkmJlwiXCIhPT10JiYociYmKHIrPVwiIFwiKSxyKz10KTtyZXR1cm4gcn0oZSk6byhlKT9mdW5jdGlvbihlKXt2YXIgdD1cIlwiO2Zvcih2YXIgbiBpbiBlKWVbbl0mJih0JiYodCs9XCIgXCIpLHQrPW4pO3JldHVybiB0fShlKTpcInN0cmluZ1wiPT10eXBlb2YgZT9lOlwiXCJ9dmFyIEtuPXtzdmc6XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLG1hdGg6XCJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MXCJ9LEpuPXAoXCJodG1sLGJvZHksYmFzZSxoZWFkLGxpbmssbWV0YSxzdHlsZSx0aXRsZSxhZGRyZXNzLGFydGljbGUsYXNpZGUsZm9vdGVyLGhlYWRlcixoMSxoMixoMyxoNCxoNSxoNixoZ3JvdXAsbmF2LHNlY3Rpb24sZGl2LGRkLGRsLGR0LGZpZ2NhcHRpb24sZmlndXJlLHBpY3R1cmUsaHIsaW1nLGxpLG1haW4sb2wscCxwcmUsdWwsYSxiLGFiYnIsYmRpLGJkbyxicixjaXRlLGNvZGUsZGF0YSxkZm4sZW0saSxrYmQsbWFyayxxLHJwLHJ0LHJ0YyxydWJ5LHMsc2FtcCxzbWFsbCxzcGFuLHN0cm9uZyxzdWIsc3VwLHRpbWUsdSx2YXIsd2JyLGFyZWEsYXVkaW8sbWFwLHRyYWNrLHZpZGVvLGVtYmVkLG9iamVjdCxwYXJhbSxzb3VyY2UsY2FudmFzLHNjcmlwdCxub3NjcmlwdCxkZWwsaW5zLGNhcHRpb24sY29sLGNvbGdyb3VwLHRhYmxlLHRoZWFkLHRib2R5LHRkLHRoLHRyLGJ1dHRvbixkYXRhbGlzdCxmaWVsZHNldCxmb3JtLGlucHV0LGxhYmVsLGxlZ2VuZCxtZXRlcixvcHRncm91cCxvcHRpb24sb3V0cHV0LHByb2dyZXNzLHNlbGVjdCx0ZXh0YXJlYSxkZXRhaWxzLGRpYWxvZyxtZW51LG1lbnVpdGVtLHN1bW1hcnksY29udGVudCxlbGVtZW50LHNoYWRvdyx0ZW1wbGF0ZSxibG9ja3F1b3RlLGlmcmFtZSx0Zm9vdFwiKSxxbj1wKFwic3ZnLGFuaW1hdGUsY2lyY2xlLGNsaXBwYXRoLGN1cnNvcixkZWZzLGRlc2MsZWxsaXBzZSxmaWx0ZXIsZm9udC1mYWNlLGZvcmVpZ25PYmplY3QsZyxnbHlwaCxpbWFnZSxsaW5lLG1hcmtlcixtYXNrLG1pc3NpbmctZ2x5cGgscGF0aCxwYXR0ZXJuLHBvbHlnb24scG9seWxpbmUscmVjdCxzd2l0Y2gsc3ltYm9sLHRleHQsdGV4dHBhdGgsdHNwYW4sdXNlLHZpZXdcIiwhMCksV249ZnVuY3Rpb24oZSl7cmV0dXJuIEpuKGUpfHxxbihlKX07ZnVuY3Rpb24gWm4oZSl7cmV0dXJuIHFuKGUpP1wic3ZnXCI6XCJtYXRoXCI9PT1lP1wibWF0aFwiOnZvaWQgMH12YXIgR249T2JqZWN0LmNyZWF0ZShudWxsKTt2YXIgWG49cChcInRleHQsbnVtYmVyLHBhc3N3b3JkLHNlYXJjaCxlbWFpbCx0ZWwsdXJsXCIpO2Z1bmN0aW9uIFluKGUpe2lmKFwic3RyaW5nXCI9PXR5cGVvZiBlKXt2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGUpO3JldHVybiB0fHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpfXJldHVybiBlfXZhciBRbj1PYmplY3QuZnJlZXplKHtjcmVhdGVFbGVtZW50OmZ1bmN0aW9uKGUsdCl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChlKTtyZXR1cm5cInNlbGVjdFwiIT09ZT9uOih0LmRhdGEmJnQuZGF0YS5hdHRycyYmdm9pZCAwIT09dC5kYXRhLmF0dHJzLm11bHRpcGxlJiZuLnNldEF0dHJpYnV0ZShcIm11bHRpcGxlXCIsXCJtdWx0aXBsZVwiKSxuKX0sY3JlYXRlRWxlbWVudE5TOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhLbltlXSx0KX0sY3JlYXRlVGV4dE5vZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpfSxjcmVhdGVDb21tZW50OmZ1bmN0aW9uKGUpe3JldHVybiBkb2N1bWVudC5jcmVhdGVDb21tZW50KGUpfSxpbnNlcnRCZWZvcmU6ZnVuY3Rpb24oZSx0LG4pe2UuaW5zZXJ0QmVmb3JlKHQsbil9LHJlbW92ZUNoaWxkOmZ1bmN0aW9uKGUsdCl7ZS5yZW1vdmVDaGlsZCh0KX0sYXBwZW5kQ2hpbGQ6ZnVuY3Rpb24oZSx0KXtlLmFwcGVuZENoaWxkKHQpfSxwYXJlbnROb2RlOmZ1bmN0aW9uKGUpe3JldHVybiBlLnBhcmVudE5vZGV9LG5leHRTaWJsaW5nOmZ1bmN0aW9uKGUpe3JldHVybiBlLm5leHRTaWJsaW5nfSx0YWdOYW1lOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRhZ05hbWV9LHNldFRleHRDb250ZW50OmZ1bmN0aW9uKGUsdCl7ZS50ZXh0Q29udGVudD10fSxzZXRTdHlsZVNjb3BlOmZ1bmN0aW9uKGUsdCl7ZS5zZXRBdHRyaWJ1dGUodCxcIlwiKX19KSxlcj17Y3JlYXRlOmZ1bmN0aW9uKGUsdCl7dHIodCl9LHVwZGF0ZTpmdW5jdGlvbihlLHQpe2UuZGF0YS5yZWYhPT10LmRhdGEucmVmJiYodHIoZSwhMCksdHIodCkpfSxkZXN0cm95OmZ1bmN0aW9uKGUpe3RyKGUsITApfX07ZnVuY3Rpb24gdHIoZSx0KXt2YXIgcj1lLmRhdGEucmVmO2lmKG4ocikpe3ZhciBpPWUuY29udGV4dCxvPWUuY29tcG9uZW50SW5zdGFuY2V8fGUuZWxtLGE9aS4kcmVmczt0P0FycmF5LmlzQXJyYXkoYVtyXSk/aChhW3JdLG8pOmFbcl09PT1vJiYoYVtyXT12b2lkIDApOmUuZGF0YS5yZWZJbkZvcj9BcnJheS5pc0FycmF5KGFbcl0pP2Fbcl0uaW5kZXhPZihvKTwwJiZhW3JdLnB1c2gobyk6YVtyXT1bb106YVtyXT1vfX12YXIgbnI9bmV3IHBlKFwiXCIse30sW10pLHJyPVtcImNyZWF0ZVwiLFwiYWN0aXZhdGVcIixcInVwZGF0ZVwiLFwicmVtb3ZlXCIsXCJkZXN0cm95XCJdO2Z1bmN0aW9uIGlyKGUsaSl7cmV0dXJuIGUua2V5PT09aS5rZXkmJihlLnRhZz09PWkudGFnJiZlLmlzQ29tbWVudD09PWkuaXNDb21tZW50JiZuKGUuZGF0YSk9PT1uKGkuZGF0YSkmJmZ1bmN0aW9uKGUsdCl7aWYoXCJpbnB1dFwiIT09ZS50YWcpcmV0dXJuITA7dmFyIHIsaT1uKHI9ZS5kYXRhKSYmbihyPXIuYXR0cnMpJiZyLnR5cGUsbz1uKHI9dC5kYXRhKSYmbihyPXIuYXR0cnMpJiZyLnR5cGU7cmV0dXJuIGk9PT1vfHxYbihpKSYmWG4obyl9KGUsaSl8fHIoZS5pc0FzeW5jUGxhY2Vob2xkZXIpJiZlLmFzeW5jRmFjdG9yeT09PWkuYXN5bmNGYWN0b3J5JiZ0KGkuYXN5bmNGYWN0b3J5LmVycm9yKSl9ZnVuY3Rpb24gb3IoZSx0LHIpe3ZhciBpLG8sYT17fTtmb3IoaT10O2k8PXI7KytpKW4obz1lW2ldLmtleSkmJihhW29dPWkpO3JldHVybiBhfXZhciBhcj17Y3JlYXRlOnNyLHVwZGF0ZTpzcixkZXN0cm95OmZ1bmN0aW9uKGUpe3NyKGUsbnIpfX07ZnVuY3Rpb24gc3IoZSx0KXsoZS5kYXRhLmRpcmVjdGl2ZXN8fHQuZGF0YS5kaXJlY3RpdmVzKSYmZnVuY3Rpb24oZSx0KXt2YXIgbixyLGksbz1lPT09bnIsYT10PT09bnIscz11cihlLmRhdGEuZGlyZWN0aXZlcyxlLmNvbnRleHQpLGM9dXIodC5kYXRhLmRpcmVjdGl2ZXMsdC5jb250ZXh0KSx1PVtdLGw9W107Zm9yKG4gaW4gYylyPXNbbl0saT1jW25dLHI/KGkub2xkVmFsdWU9ci52YWx1ZSxpLm9sZEFyZz1yLmFyZyxmcihpLFwidXBkYXRlXCIsdCxlKSxpLmRlZiYmaS5kZWYuY29tcG9uZW50VXBkYXRlZCYmbC5wdXNoKGkpKTooZnIoaSxcImJpbmRcIix0LGUpLGkuZGVmJiZpLmRlZi5pbnNlcnRlZCYmdS5wdXNoKGkpKTtpZih1Lmxlbmd0aCl7dmFyIGY9ZnVuY3Rpb24oKXtmb3IodmFyIG49MDtuPHUubGVuZ3RoO24rKylmcih1W25dLFwiaW5zZXJ0ZWRcIix0LGUpfTtvP2l0KHQsXCJpbnNlcnRcIixmKTpmKCl9bC5sZW5ndGgmJml0KHQsXCJwb3N0cGF0Y2hcIixmdW5jdGlvbigpe2Zvcih2YXIgbj0wO248bC5sZW5ndGg7bisrKWZyKGxbbl0sXCJjb21wb25lbnRVcGRhdGVkXCIsdCxlKX0pO2lmKCFvKWZvcihuIGluIHMpY1tuXXx8ZnIoc1tuXSxcInVuYmluZFwiLGUsZSxhKX0oZSx0KX12YXIgY3I9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiB1cihlLHQpe3ZhciBuLHIsaT1PYmplY3QuY3JlYXRlKG51bGwpO2lmKCFlKXJldHVybiBpO2ZvcihuPTA7bjxlLmxlbmd0aDtuKyspKHI9ZVtuXSkubW9kaWZpZXJzfHwoci5tb2RpZmllcnM9Y3IpLGlbbHIocildPXIsci5kZWY9TGUodC4kb3B0aW9ucyxcImRpcmVjdGl2ZXNcIixyLm5hbWUpO3JldHVybiBpfWZ1bmN0aW9uIGxyKGUpe3JldHVybiBlLnJhd05hbWV8fGUubmFtZStcIi5cIitPYmplY3Qua2V5cyhlLm1vZGlmaWVyc3x8e30pLmpvaW4oXCIuXCIpfWZ1bmN0aW9uIGZyKGUsdCxuLHIsaSl7dmFyIG89ZS5kZWYmJmUuZGVmW3RdO2lmKG8pdHJ5e28obi5lbG0sZSxuLHIsaSl9Y2F0Y2gocil7UmUocixuLmNvbnRleHQsXCJkaXJlY3RpdmUgXCIrZS5uYW1lK1wiIFwiK3QrXCIgaG9va1wiKX19dmFyIHByPVtlcixhcl07ZnVuY3Rpb24gZHIoZSxyKXt2YXIgaT1yLmNvbXBvbmVudE9wdGlvbnM7aWYoIShuKGkpJiYhMT09PWkuQ3Rvci5vcHRpb25zLmluaGVyaXRBdHRyc3x8dChlLmRhdGEuYXR0cnMpJiZ0KHIuZGF0YS5hdHRycykpKXt2YXIgbyxhLHM9ci5lbG0sYz1lLmRhdGEuYXR0cnN8fHt9LHU9ci5kYXRhLmF0dHJzfHx7fTtmb3IobyBpbiBuKHUuX19vYl9fKSYmKHU9ci5kYXRhLmF0dHJzPUEoe30sdSkpLHUpYT11W29dLGNbb10hPT1hJiZ2cihzLG8sYSk7Zm9yKG8gaW4ocXx8WikmJnUudmFsdWUhPT1jLnZhbHVlJiZ2cihzLFwidmFsdWVcIix1LnZhbHVlKSxjKXQodVtvXSkmJihQbihvKT9zLnJlbW92ZUF0dHJpYnV0ZU5TKEZuLFJuKG8pKTpEbihvKXx8cy5yZW1vdmVBdHRyaWJ1dGUobykpfX1mdW5jdGlvbiB2cihlLHQsbil7ZS50YWdOYW1lLmluZGV4T2YoXCItXCIpPi0xP2hyKGUsdCxuKTpJbih0KT9IbihuKT9lLnJlbW92ZUF0dHJpYnV0ZSh0KToobj1cImFsbG93ZnVsbHNjcmVlblwiPT09dCYmXCJFTUJFRFwiPT09ZS50YWdOYW1lP1widHJ1ZVwiOnQsZS5zZXRBdHRyaWJ1dGUodCxuKSk6RG4odCk/ZS5zZXRBdHRyaWJ1dGUodCxNbih0LG4pKTpQbih0KT9IbihuKT9lLnJlbW92ZUF0dHJpYnV0ZU5TKEZuLFJuKHQpKTplLnNldEF0dHJpYnV0ZU5TKEZuLHQsbik6aHIoZSx0LG4pfWZ1bmN0aW9uIGhyKGUsdCxuKXtpZihIbihuKSllLnJlbW92ZUF0dHJpYnV0ZSh0KTtlbHNle2lmKHEmJiFXJiZcIlRFWFRBUkVBXCI9PT1lLnRhZ05hbWUmJlwicGxhY2Vob2xkZXJcIj09PXQmJlwiXCIhPT1uJiYhZS5fX2llcGgpe3ZhciByPWZ1bmN0aW9uKHQpe3Quc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksZS5yZW1vdmVFdmVudExpc3RlbmVyKFwiaW5wdXRcIixyKX07ZS5hZGRFdmVudExpc3RlbmVyKFwiaW5wdXRcIixyKSxlLl9faWVwaD0hMH1lLnNldEF0dHJpYnV0ZSh0LG4pfX12YXIgbXI9e2NyZWF0ZTpkcix1cGRhdGU6ZHJ9O2Z1bmN0aW9uIHlyKGUscil7dmFyIGk9ci5lbG0sbz1yLmRhdGEsYT1lLmRhdGE7aWYoISh0KG8uc3RhdGljQ2xhc3MpJiZ0KG8uY2xhc3MpJiYodChhKXx8dChhLnN0YXRpY0NsYXNzKSYmdChhLmNsYXNzKSkpKXt2YXIgcz1CbihyKSxjPWkuX3RyYW5zaXRpb25DbGFzc2VzO24oYykmJihzPXpuKHMsVm4oYykpKSxzIT09aS5fcHJldkNsYXNzJiYoaS5zZXRBdHRyaWJ1dGUoXCJjbGFzc1wiLHMpLGkuX3ByZXZDbGFzcz1zKX19dmFyIGdyLF9yLGJyLCRyLHdyLENyLHhyPXtjcmVhdGU6eXIsdXBkYXRlOnlyfSxrcj0vW1xcdykuK1xcLV8kXFxdXS87ZnVuY3Rpb24gQXIoZSl7dmFyIHQsbixyLGksbyxhPSExLHM9ITEsYz0hMSx1PSExLGw9MCxmPTAscD0wLGQ9MDtmb3Iocj0wO3I8ZS5sZW5ndGg7cisrKWlmKG49dCx0PWUuY2hhckNvZGVBdChyKSxhKTM5PT09dCYmOTIhPT1uJiYoYT0hMSk7ZWxzZSBpZihzKTM0PT09dCYmOTIhPT1uJiYocz0hMSk7ZWxzZSBpZihjKTk2PT09dCYmOTIhPT1uJiYoYz0hMSk7ZWxzZSBpZih1KTQ3PT09dCYmOTIhPT1uJiYodT0hMSk7ZWxzZSBpZigxMjQhPT10fHwxMjQ9PT1lLmNoYXJDb2RlQXQocisxKXx8MTI0PT09ZS5jaGFyQ29kZUF0KHItMSl8fGx8fGZ8fHApe3N3aXRjaCh0KXtjYXNlIDM0OnM9ITA7YnJlYWs7Y2FzZSAzOTphPSEwO2JyZWFrO2Nhc2UgOTY6Yz0hMDticmVhaztjYXNlIDQwOnArKzticmVhaztjYXNlIDQxOnAtLTticmVhaztjYXNlIDkxOmYrKzticmVhaztjYXNlIDkzOmYtLTticmVhaztjYXNlIDEyMzpsKys7YnJlYWs7Y2FzZSAxMjU6bC0tfWlmKDQ3PT09dCl7Zm9yKHZhciB2PXItMSxoPXZvaWQgMDt2Pj0wJiZcIiBcIj09PShoPWUuY2hhckF0KHYpKTt2LS0pO2gmJmtyLnRlc3QoaCl8fCh1PSEwKX19ZWxzZSB2b2lkIDA9PT1pPyhkPXIrMSxpPWUuc2xpY2UoMCxyKS50cmltKCkpOm0oKTtmdW5jdGlvbiBtKCl7KG98fChvPVtdKSkucHVzaChlLnNsaWNlKGQscikudHJpbSgpKSxkPXIrMX1pZih2b2lkIDA9PT1pP2k9ZS5zbGljZSgwLHIpLnRyaW0oKTowIT09ZCYmbSgpLG8pZm9yKHI9MDtyPG8ubGVuZ3RoO3IrKylpPU9yKGksb1tyXSk7cmV0dXJuIGl9ZnVuY3Rpb24gT3IoZSx0KXt2YXIgbj10LmluZGV4T2YoXCIoXCIpO2lmKG48MClyZXR1cm4nX2YoXCInK3QrJ1wiKSgnK2UrXCIpXCI7dmFyIHI9dC5zbGljZSgwLG4pLGk9dC5zbGljZShuKzEpO3JldHVybidfZihcIicrcisnXCIpKCcrZSsoXCIpXCIhPT1pP1wiLFwiK2k6aSl9ZnVuY3Rpb24gU3IoZSx0KXtjb25zb2xlLmVycm9yKFwiW1Z1ZSBjb21waWxlcl06IFwiK2UpfWZ1bmN0aW9uIFRyKGUsdCl7cmV0dXJuIGU/ZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGVbdF19KS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KTpbXX1mdW5jdGlvbiBFcihlLHQsbixyLGkpeyhlLnByb3BzfHwoZS5wcm9wcz1bXSkpLnB1c2goUnIoe25hbWU6dCx2YWx1ZTpuLGR5bmFtaWM6aX0scikpLGUucGxhaW49ITF9ZnVuY3Rpb24gTnIoZSx0LG4scixpKXsoaT9lLmR5bmFtaWNBdHRyc3x8KGUuZHluYW1pY0F0dHJzPVtdKTplLmF0dHJzfHwoZS5hdHRycz1bXSkpLnB1c2goUnIoe25hbWU6dCx2YWx1ZTpuLGR5bmFtaWM6aX0scikpLGUucGxhaW49ITF9ZnVuY3Rpb24ganIoZSx0LG4scil7ZS5hdHRyc01hcFt0XT1uLGUuYXR0cnNMaXN0LnB1c2goUnIoe25hbWU6dCx2YWx1ZTpufSxyKSl9ZnVuY3Rpb24gRHIoZSx0LG4scixpLG8sYSxzKXsoZS5kaXJlY3RpdmVzfHwoZS5kaXJlY3RpdmVzPVtdKSkucHVzaChScih7bmFtZTp0LHJhd05hbWU6bix2YWx1ZTpyLGFyZzppLGlzRHluYW1pY0FyZzpvLG1vZGlmaWVyczphfSxzKSksZS5wbGFpbj0hMX1mdW5jdGlvbiBMcihlLHQsbil7cmV0dXJuIG4/XCJfcChcIit0KycsXCInK2UrJ1wiKSc6ZSt0fWZ1bmN0aW9uIE1yKHQsbixyLGksbyxhLHMsYyl7dmFyIHU7KGk9aXx8ZSkucmlnaHQ/Yz9uPVwiKFwiK24rXCIpPT09J2NsaWNrJz8nY29udGV4dG1lbnUnOihcIituK1wiKVwiOlwiY2xpY2tcIj09PW4mJihuPVwiY29udGV4dG1lbnVcIixkZWxldGUgaS5yaWdodCk6aS5taWRkbGUmJihjP249XCIoXCIrbitcIik9PT0nY2xpY2snPydtb3VzZXVwJzooXCIrbitcIilcIjpcImNsaWNrXCI9PT1uJiYobj1cIm1vdXNldXBcIikpLGkuY2FwdHVyZSYmKGRlbGV0ZSBpLmNhcHR1cmUsbj1McihcIiFcIixuLGMpKSxpLm9uY2UmJihkZWxldGUgaS5vbmNlLG49THIoXCJ+XCIsbixjKSksaS5wYXNzaXZlJiYoZGVsZXRlIGkucGFzc2l2ZSxuPUxyKFwiJlwiLG4sYykpLGkubmF0aXZlPyhkZWxldGUgaS5uYXRpdmUsdT10Lm5hdGl2ZUV2ZW50c3x8KHQubmF0aXZlRXZlbnRzPXt9KSk6dT10LmV2ZW50c3x8KHQuZXZlbnRzPXt9KTt2YXIgbD1Scih7dmFsdWU6ci50cmltKCksZHluYW1pYzpjfSxzKTtpIT09ZSYmKGwubW9kaWZpZXJzPWkpO3ZhciBmPXVbbl07QXJyYXkuaXNBcnJheShmKT9vP2YudW5zaGlmdChsKTpmLnB1c2gobCk6dVtuXT1mP28/W2wsZl06W2YsbF06bCx0LnBsYWluPSExfWZ1bmN0aW9uIElyKGUsdCxuKXt2YXIgcj1GcihlLFwiOlwiK3QpfHxGcihlLFwidi1iaW5kOlwiK3QpO2lmKG51bGwhPXIpcmV0dXJuIEFyKHIpO2lmKCExIT09bil7dmFyIGk9RnIoZSx0KTtpZihudWxsIT1pKXJldHVybiBKU09OLnN0cmluZ2lmeShpKX19ZnVuY3Rpb24gRnIoZSx0LG4pe3ZhciByO2lmKG51bGwhPShyPWUuYXR0cnNNYXBbdF0pKWZvcih2YXIgaT1lLmF0dHJzTGlzdCxvPTAsYT1pLmxlbmd0aDtvPGE7bysrKWlmKGlbb10ubmFtZT09PXQpe2kuc3BsaWNlKG8sMSk7YnJlYWt9cmV0dXJuIG4mJmRlbGV0ZSBlLmF0dHJzTWFwW3RdLHJ9ZnVuY3Rpb24gUHIoZSx0KXtmb3IodmFyIG49ZS5hdHRyc0xpc3Qscj0wLGk9bi5sZW5ndGg7cjxpO3IrKyl7dmFyIG89bltyXTtpZih0LnRlc3Qoby5uYW1lKSlyZXR1cm4gbi5zcGxpY2UociwxKSxvfX1mdW5jdGlvbiBScihlLHQpe3JldHVybiB0JiYobnVsbCE9dC5zdGFydCYmKGUuc3RhcnQ9dC5zdGFydCksbnVsbCE9dC5lbmQmJihlLmVuZD10LmVuZCkpLGV9ZnVuY3Rpb24gSHIoZSx0LG4pe3ZhciByPW58fHt9LGk9ci5udW1iZXIsbz1cIiQkdlwiO3IudHJpbSYmKG89XCIodHlwZW9mICQkdiA9PT0gJ3N0cmluZyc/ICQkdi50cmltKCk6ICQkdilcIiksaSYmKG89XCJfbihcIitvK1wiKVwiKTt2YXIgYT1Ccih0LG8pO2UubW9kZWw9e3ZhbHVlOlwiKFwiK3QrXCIpXCIsZXhwcmVzc2lvbjpKU09OLnN0cmluZ2lmeSh0KSxjYWxsYmFjazpcImZ1bmN0aW9uICgkJHYpIHtcIithK1wifVwifX1mdW5jdGlvbiBCcihlLHQpe3ZhciBuPWZ1bmN0aW9uKGUpe2lmKGU9ZS50cmltKCksZ3I9ZS5sZW5ndGgsZS5pbmRleE9mKFwiW1wiKTwwfHxlLmxhc3RJbmRleE9mKFwiXVwiKTxnci0xKXJldHVybigkcj1lLmxhc3RJbmRleE9mKFwiLlwiKSk+LTE/e2V4cDplLnNsaWNlKDAsJHIpLGtleTonXCInK2Uuc2xpY2UoJHIrMSkrJ1wiJ306e2V4cDplLGtleTpudWxsfTtfcj1lLCRyPXdyPUNyPTA7Zm9yKDshenIoKTspVnIoYnI9VXIoKSk/SnIoYnIpOjkxPT09YnImJktyKGJyKTtyZXR1cm57ZXhwOmUuc2xpY2UoMCx3ciksa2V5OmUuc2xpY2Uod3IrMSxDcil9fShlKTtyZXR1cm4gbnVsbD09PW4ua2V5P2UrXCI9XCIrdDpcIiRzZXQoXCIrbi5leHArXCIsIFwiK24ua2V5K1wiLCBcIit0K1wiKVwifWZ1bmN0aW9uIFVyKCl7cmV0dXJuIF9yLmNoYXJDb2RlQXQoKyskcil9ZnVuY3Rpb24genIoKXtyZXR1cm4gJHI+PWdyfWZ1bmN0aW9uIFZyKGUpe3JldHVybiAzND09PWV8fDM5PT09ZX1mdW5jdGlvbiBLcihlKXt2YXIgdD0xO2Zvcih3cj0kcjshenIoKTspaWYoVnIoZT1VcigpKSlKcihlKTtlbHNlIGlmKDkxPT09ZSYmdCsrLDkzPT09ZSYmdC0tLDA9PT10KXtDcj0kcjticmVha319ZnVuY3Rpb24gSnIoZSl7Zm9yKHZhciB0PWU7IXpyKCkmJihlPVVyKCkpIT09dDspO312YXIgcXIsV3I9XCJfX3JcIixacj1cIl9fY1wiO2Z1bmN0aW9uIEdyKGUsdCxuKXt2YXIgcj1xcjtyZXR1cm4gZnVuY3Rpb24gaSgpe251bGwhPT10LmFwcGx5KG51bGwsYXJndW1lbnRzKSYmUXIoZSxpLG4scil9fXZhciBYcj1WZSYmIShYJiZOdW1iZXIoWFsxXSk8PTUzKTtmdW5jdGlvbiBZcihlLHQsbixyKXtpZihYcil7dmFyIGk9YW4sbz10O3Q9by5fd3JhcHBlcj1mdW5jdGlvbihlKXtpZihlLnRhcmdldD09PWUuY3VycmVudFRhcmdldHx8ZS50aW1lU3RhbXA+PWl8fGUudGltZVN0YW1wPD0wfHxlLnRhcmdldC5vd25lckRvY3VtZW50IT09ZG9jdW1lbnQpcmV0dXJuIG8uYXBwbHkodGhpcyxhcmd1bWVudHMpfX1xci5hZGRFdmVudExpc3RlbmVyKGUsdCxRP3tjYXB0dXJlOm4scGFzc2l2ZTpyfTpuKX1mdW5jdGlvbiBRcihlLHQsbixyKXsocnx8cXIpLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0Ll93cmFwcGVyfHx0LG4pfWZ1bmN0aW9uIGVpKGUscil7aWYoIXQoZS5kYXRhLm9uKXx8IXQoci5kYXRhLm9uKSl7dmFyIGk9ci5kYXRhLm9ufHx7fSxvPWUuZGF0YS5vbnx8e307cXI9ci5lbG0sZnVuY3Rpb24oZSl7aWYobihlW1dyXSkpe3ZhciB0PXE/XCJjaGFuZ2VcIjpcImlucHV0XCI7ZVt0XT1bXS5jb25jYXQoZVtXcl0sZVt0XXx8W10pLGRlbGV0ZSBlW1dyXX1uKGVbWnJdKSYmKGUuY2hhbmdlPVtdLmNvbmNhdChlW1pyXSxlLmNoYW5nZXx8W10pLGRlbGV0ZSBlW1pyXSl9KGkpLHJ0KGksbyxZcixRcixHcixyLmNvbnRleHQpLHFyPXZvaWQgMH19dmFyIHRpLG5pPXtjcmVhdGU6ZWksdXBkYXRlOmVpfTtmdW5jdGlvbiByaShlLHIpe2lmKCF0KGUuZGF0YS5kb21Qcm9wcyl8fCF0KHIuZGF0YS5kb21Qcm9wcykpe3ZhciBpLG8sYT1yLmVsbSxzPWUuZGF0YS5kb21Qcm9wc3x8e30sYz1yLmRhdGEuZG9tUHJvcHN8fHt9O2ZvcihpIGluIG4oYy5fX29iX18pJiYoYz1yLmRhdGEuZG9tUHJvcHM9QSh7fSxjKSkscylpIGluIGN8fChhW2ldPVwiXCIpO2ZvcihpIGluIGMpe2lmKG89Y1tpXSxcInRleHRDb250ZW50XCI9PT1pfHxcImlubmVySFRNTFwiPT09aSl7aWYoci5jaGlsZHJlbiYmKHIuY2hpbGRyZW4ubGVuZ3RoPTApLG89PT1zW2ldKWNvbnRpbnVlOzE9PT1hLmNoaWxkTm9kZXMubGVuZ3RoJiZhLnJlbW92ZUNoaWxkKGEuY2hpbGROb2Rlc1swXSl9aWYoXCJ2YWx1ZVwiPT09aSYmXCJQUk9HUkVTU1wiIT09YS50YWdOYW1lKXthLl92YWx1ZT1vO3ZhciB1PXQobyk/XCJcIjpTdHJpbmcobyk7aWkoYSx1KSYmKGEudmFsdWU9dSl9ZWxzZSBpZihcImlubmVySFRNTFwiPT09aSYmcW4oYS50YWdOYW1lKSYmdChhLmlubmVySFRNTCkpeyh0aT10aXx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSkuaW5uZXJIVE1MPVwiPHN2Zz5cIitvK1wiPC9zdmc+XCI7Zm9yKHZhciBsPXRpLmZpcnN0Q2hpbGQ7YS5maXJzdENoaWxkOylhLnJlbW92ZUNoaWxkKGEuZmlyc3RDaGlsZCk7Zm9yKDtsLmZpcnN0Q2hpbGQ7KWEuYXBwZW5kQ2hpbGQobC5maXJzdENoaWxkKX1lbHNlIGlmKG8hPT1zW2ldKXRyeXthW2ldPW99Y2F0Y2goZSl7fX19fWZ1bmN0aW9uIGlpKGUsdCl7cmV0dXJuIWUuY29tcG9zaW5nJiYoXCJPUFRJT05cIj09PWUudGFnTmFtZXx8ZnVuY3Rpb24oZSx0KXt2YXIgbj0hMDt0cnl7bj1kb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ZX1jYXRjaChlKXt9cmV0dXJuIG4mJmUudmFsdWUhPT10fShlLHQpfHxmdW5jdGlvbihlLHQpe3ZhciByPWUudmFsdWUsaT1lLl92TW9kaWZpZXJzO2lmKG4oaSkpe2lmKGkubnVtYmVyKXJldHVybiBmKHIpIT09Zih0KTtpZihpLnRyaW0pcmV0dXJuIHIudHJpbSgpIT09dC50cmltKCl9cmV0dXJuIHIhPT10fShlLHQpKX12YXIgb2k9e2NyZWF0ZTpyaSx1cGRhdGU6cml9LGFpPWcoZnVuY3Rpb24oZSl7dmFyIHQ9e30sbj0vOiguKykvO3JldHVybiBlLnNwbGl0KC87KD8hW14oXSpcXCkpL2cpLmZvckVhY2goZnVuY3Rpb24oZSl7aWYoZSl7dmFyIHI9ZS5zcGxpdChuKTtyLmxlbmd0aD4xJiYodFtyWzBdLnRyaW0oKV09clsxXS50cmltKCkpfX0pLHR9KTtmdW5jdGlvbiBzaShlKXt2YXIgdD1jaShlLnN0eWxlKTtyZXR1cm4gZS5zdGF0aWNTdHlsZT9BKGUuc3RhdGljU3R5bGUsdCk6dH1mdW5jdGlvbiBjaShlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9PKGUpOlwic3RyaW5nXCI9PXR5cGVvZiBlP2FpKGUpOmV9dmFyIHVpLGxpPS9eLS0vLGZpPS9cXHMqIWltcG9ydGFudCQvLHBpPWZ1bmN0aW9uKGUsdCxuKXtpZihsaS50ZXN0KHQpKWUuc3R5bGUuc2V0UHJvcGVydHkodCxuKTtlbHNlIGlmKGZpLnRlc3QobikpZS5zdHlsZS5zZXRQcm9wZXJ0eShDKHQpLG4ucmVwbGFjZShmaSxcIlwiKSxcImltcG9ydGFudFwiKTtlbHNle3ZhciByPXZpKHQpO2lmKEFycmF5LmlzQXJyYXkobikpZm9yKHZhciBpPTAsbz1uLmxlbmd0aDtpPG87aSsrKWUuc3R5bGVbcl09bltpXTtlbHNlIGUuc3R5bGVbcl09bn19LGRpPVtcIldlYmtpdFwiLFwiTW96XCIsXCJtc1wiXSx2aT1nKGZ1bmN0aW9uKGUpe2lmKHVpPXVpfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpLnN0eWxlLFwiZmlsdGVyXCIhPT0oZT1iKGUpKSYmZSBpbiB1aSlyZXR1cm4gZTtmb3IodmFyIHQ9ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG49MDtuPGRpLmxlbmd0aDtuKyspe3ZhciByPWRpW25dK3Q7aWYociBpbiB1aSlyZXR1cm4gcn19KTtmdW5jdGlvbiBoaShlLHIpe3ZhciBpPXIuZGF0YSxvPWUuZGF0YTtpZighKHQoaS5zdGF0aWNTdHlsZSkmJnQoaS5zdHlsZSkmJnQoby5zdGF0aWNTdHlsZSkmJnQoby5zdHlsZSkpKXt2YXIgYSxzLGM9ci5lbG0sdT1vLnN0YXRpY1N0eWxlLGw9by5ub3JtYWxpemVkU3R5bGV8fG8uc3R5bGV8fHt9LGY9dXx8bCxwPWNpKHIuZGF0YS5zdHlsZSl8fHt9O3IuZGF0YS5ub3JtYWxpemVkU3R5bGU9bihwLl9fb2JfXyk/QSh7fSxwKTpwO3ZhciBkPWZ1bmN0aW9uKGUsdCl7dmFyIG4scj17fTtpZih0KWZvcih2YXIgaT1lO2kuY29tcG9uZW50SW5zdGFuY2U7KShpPWkuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlKSYmaS5kYXRhJiYobj1zaShpLmRhdGEpKSYmQShyLG4pOyhuPXNpKGUuZGF0YSkpJiZBKHIsbik7Zm9yKHZhciBvPWU7bz1vLnBhcmVudDspby5kYXRhJiYobj1zaShvLmRhdGEpKSYmQShyLG4pO3JldHVybiByfShyLCEwKTtmb3IocyBpbiBmKXQoZFtzXSkmJnBpKGMscyxcIlwiKTtmb3IocyBpbiBkKShhPWRbc10pIT09ZltzXSYmcGkoYyxzLG51bGw9PWE/XCJcIjphKX19dmFyIG1pPXtjcmVhdGU6aGksdXBkYXRlOmhpfSx5aT0vXFxzKy87ZnVuY3Rpb24gZ2koZSx0KXtpZih0JiYodD10LnRyaW0oKSkpaWYoZS5jbGFzc0xpc3QpdC5pbmRleE9mKFwiIFwiKT4tMT90LnNwbGl0KHlpKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiBlLmNsYXNzTGlzdC5hZGQodCl9KTplLmNsYXNzTGlzdC5hZGQodCk7ZWxzZXt2YXIgbj1cIiBcIisoZS5nZXRBdHRyaWJ1dGUoXCJjbGFzc1wiKXx8XCJcIikrXCIgXCI7bi5pbmRleE9mKFwiIFwiK3QrXCIgXCIpPDAmJmUuc2V0QXR0cmlidXRlKFwiY2xhc3NcIiwobit0KS50cmltKCkpfX1mdW5jdGlvbiBfaShlLHQpe2lmKHQmJih0PXQudHJpbSgpKSlpZihlLmNsYXNzTGlzdCl0LmluZGV4T2YoXCIgXCIpPi0xP3Quc3BsaXQoeWkpLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIGUuY2xhc3NMaXN0LnJlbW92ZSh0KX0pOmUuY2xhc3NMaXN0LnJlbW92ZSh0KSxlLmNsYXNzTGlzdC5sZW5ndGh8fGUucmVtb3ZlQXR0cmlidXRlKFwiY2xhc3NcIik7ZWxzZXtmb3IodmFyIG49XCIgXCIrKGUuZ2V0QXR0cmlidXRlKFwiY2xhc3NcIil8fFwiXCIpK1wiIFwiLHI9XCIgXCIrdCtcIiBcIjtuLmluZGV4T2Yocik+PTA7KW49bi5yZXBsYWNlKHIsXCIgXCIpOyhuPW4udHJpbSgpKT9lLnNldEF0dHJpYnV0ZShcImNsYXNzXCIsbik6ZS5yZW1vdmVBdHRyaWJ1dGUoXCJjbGFzc1wiKX19ZnVuY3Rpb24gYmkoZSl7aWYoZSl7aWYoXCJvYmplY3RcIj09dHlwZW9mIGUpe3ZhciB0PXt9O3JldHVybiExIT09ZS5jc3MmJkEodCwkaShlLm5hbWV8fFwidlwiKSksQSh0LGUpLHR9cmV0dXJuXCJzdHJpbmdcIj09dHlwZW9mIGU/JGkoZSk6dm9pZCAwfX12YXIgJGk9ZyhmdW5jdGlvbihlKXtyZXR1cm57ZW50ZXJDbGFzczplK1wiLWVudGVyXCIsZW50ZXJUb0NsYXNzOmUrXCItZW50ZXItdG9cIixlbnRlckFjdGl2ZUNsYXNzOmUrXCItZW50ZXItYWN0aXZlXCIsbGVhdmVDbGFzczplK1wiLWxlYXZlXCIsbGVhdmVUb0NsYXNzOmUrXCItbGVhdmUtdG9cIixsZWF2ZUFjdGl2ZUNsYXNzOmUrXCItbGVhdmUtYWN0aXZlXCJ9fSksd2k9eiYmIVcsQ2k9XCJ0cmFuc2l0aW9uXCIseGk9XCJhbmltYXRpb25cIixraT1cInRyYW5zaXRpb25cIixBaT1cInRyYW5zaXRpb25lbmRcIixPaT1cImFuaW1hdGlvblwiLFNpPVwiYW5pbWF0aW9uZW5kXCI7d2kmJih2b2lkIDA9PT13aW5kb3cub250cmFuc2l0aW9uZW5kJiZ2b2lkIDAhPT13aW5kb3cub253ZWJraXR0cmFuc2l0aW9uZW5kJiYoa2k9XCJXZWJraXRUcmFuc2l0aW9uXCIsQWk9XCJ3ZWJraXRUcmFuc2l0aW9uRW5kXCIpLHZvaWQgMD09PXdpbmRvdy5vbmFuaW1hdGlvbmVuZCYmdm9pZCAwIT09d2luZG93Lm9ud2Via2l0YW5pbWF0aW9uZW5kJiYoT2k9XCJXZWJraXRBbmltYXRpb25cIixTaT1cIndlYmtpdEFuaW1hdGlvbkVuZFwiKSk7dmFyIFRpPXo/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTpzZXRUaW1lb3V0OmZ1bmN0aW9uKGUpe3JldHVybiBlKCl9O2Z1bmN0aW9uIEVpKGUpe1RpKGZ1bmN0aW9uKCl7VGkoZSl9KX1mdW5jdGlvbiBOaShlLHQpe3ZhciBuPWUuX3RyYW5zaXRpb25DbGFzc2VzfHwoZS5fdHJhbnNpdGlvbkNsYXNzZXM9W10pO24uaW5kZXhPZih0KTwwJiYobi5wdXNoKHQpLGdpKGUsdCkpfWZ1bmN0aW9uIGppKGUsdCl7ZS5fdHJhbnNpdGlvbkNsYXNzZXMmJmgoZS5fdHJhbnNpdGlvbkNsYXNzZXMsdCksX2koZSx0KX1mdW5jdGlvbiBEaShlLHQsbil7dmFyIHI9TWkoZSx0KSxpPXIudHlwZSxvPXIudGltZW91dCxhPXIucHJvcENvdW50O2lmKCFpKXJldHVybiBuKCk7dmFyIHM9aT09PUNpP0FpOlNpLGM9MCx1PWZ1bmN0aW9uKCl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKHMsbCksbigpfSxsPWZ1bmN0aW9uKHQpe3QudGFyZ2V0PT09ZSYmKytjPj1hJiZ1KCl9O3NldFRpbWVvdXQoZnVuY3Rpb24oKXtjPGEmJnUoKX0sbysxKSxlLmFkZEV2ZW50TGlzdGVuZXIocyxsKX12YXIgTGk9L1xcYih0cmFuc2Zvcm18YWxsKSgsfCQpLztmdW5jdGlvbiBNaShlLHQpe3ZhciBuLHI9d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSksaT0ocltraStcIkRlbGF5XCJdfHxcIlwiKS5zcGxpdChcIiwgXCIpLG89KHJba2krXCJEdXJhdGlvblwiXXx8XCJcIikuc3BsaXQoXCIsIFwiKSxhPUlpKGksbykscz0ocltPaStcIkRlbGF5XCJdfHxcIlwiKS5zcGxpdChcIiwgXCIpLGM9KHJbT2krXCJEdXJhdGlvblwiXXx8XCJcIikuc3BsaXQoXCIsIFwiKSx1PUlpKHMsYyksbD0wLGY9MDtyZXR1cm4gdD09PUNpP2E+MCYmKG49Q2ksbD1hLGY9by5sZW5ndGgpOnQ9PT14aT91PjAmJihuPXhpLGw9dSxmPWMubGVuZ3RoKTpmPShuPShsPU1hdGgubWF4KGEsdSkpPjA/YT51P0NpOnhpOm51bGwpP249PT1DaT9vLmxlbmd0aDpjLmxlbmd0aDowLHt0eXBlOm4sdGltZW91dDpsLHByb3BDb3VudDpmLGhhc1RyYW5zZm9ybTpuPT09Q2kmJkxpLnRlc3QocltraStcIlByb3BlcnR5XCJdKX19ZnVuY3Rpb24gSWkoZSx0KXtmb3IoO2UubGVuZ3RoPHQubGVuZ3RoOyllPWUuY29uY2F0KGUpO3JldHVybiBNYXRoLm1heC5hcHBseShudWxsLHQubWFwKGZ1bmN0aW9uKHQsbil7cmV0dXJuIEZpKHQpK0ZpKGVbbl0pfSkpfWZ1bmN0aW9uIEZpKGUpe3JldHVybiAxZTMqTnVtYmVyKGUuc2xpY2UoMCwtMSkucmVwbGFjZShcIixcIixcIi5cIikpfWZ1bmN0aW9uIFBpKGUscil7dmFyIGk9ZS5lbG07bihpLl9sZWF2ZUNiKSYmKGkuX2xlYXZlQ2IuY2FuY2VsbGVkPSEwLGkuX2xlYXZlQ2IoKSk7dmFyIGE9YmkoZS5kYXRhLnRyYW5zaXRpb24pO2lmKCF0KGEpJiYhbihpLl9lbnRlckNiKSYmMT09PWkubm9kZVR5cGUpe2Zvcih2YXIgcz1hLmNzcyxjPWEudHlwZSx1PWEuZW50ZXJDbGFzcyxsPWEuZW50ZXJUb0NsYXNzLHA9YS5lbnRlckFjdGl2ZUNsYXNzLGQ9YS5hcHBlYXJDbGFzcyx2PWEuYXBwZWFyVG9DbGFzcyxoPWEuYXBwZWFyQWN0aXZlQ2xhc3MsbT1hLmJlZm9yZUVudGVyLHk9YS5lbnRlcixnPWEuYWZ0ZXJFbnRlcixfPWEuZW50ZXJDYW5jZWxsZWQsYj1hLmJlZm9yZUFwcGVhciwkPWEuYXBwZWFyLHc9YS5hZnRlckFwcGVhcixDPWEuYXBwZWFyQ2FuY2VsbGVkLHg9YS5kdXJhdGlvbixrPVd0LEE9V3QuJHZub2RlO0EmJkEucGFyZW50OylrPUEuY29udGV4dCxBPUEucGFyZW50O3ZhciBPPSFrLl9pc01vdW50ZWR8fCFlLmlzUm9vdEluc2VydDtpZighT3x8JHx8XCJcIj09PSQpe3ZhciBTPU8mJmQ/ZDp1LFQ9TyYmaD9oOnAsRT1PJiZ2P3Y6bCxOPU8mJmJ8fG0saj1PJiZcImZ1bmN0aW9uXCI9PXR5cGVvZiAkPyQ6eSxMPU8mJnd8fGcsTT1PJiZDfHxfLEk9ZihvKHgpP3guZW50ZXI6eCksRj0hMSE9PXMmJiFXLFA9QmkoaiksUj1pLl9lbnRlckNiPUQoZnVuY3Rpb24oKXtGJiYoamkoaSxFKSxqaShpLFQpKSxSLmNhbmNlbGxlZD8oRiYmamkoaSxTKSxNJiZNKGkpKTpMJiZMKGkpLGkuX2VudGVyQ2I9bnVsbH0pO2UuZGF0YS5zaG93fHxpdChlLFwiaW5zZXJ0XCIsZnVuY3Rpb24oKXt2YXIgdD1pLnBhcmVudE5vZGUsbj10JiZ0Ll9wZW5kaW5nJiZ0Ll9wZW5kaW5nW2Uua2V5XTtuJiZuLnRhZz09PWUudGFnJiZuLmVsbS5fbGVhdmVDYiYmbi5lbG0uX2xlYXZlQ2IoKSxqJiZqKGksUil9KSxOJiZOKGkpLEYmJihOaShpLFMpLE5pKGksVCksRWkoZnVuY3Rpb24oKXtqaShpLFMpLFIuY2FuY2VsbGVkfHwoTmkoaSxFKSxQfHwoSGkoSSk/c2V0VGltZW91dChSLEkpOkRpKGksYyxSKSkpfSkpLGUuZGF0YS5zaG93JiYociYmcigpLGomJmooaSxSKSksRnx8UHx8UigpfX19ZnVuY3Rpb24gUmkoZSxyKXt2YXIgaT1lLmVsbTtuKGkuX2VudGVyQ2IpJiYoaS5fZW50ZXJDYi5jYW5jZWxsZWQ9ITAsaS5fZW50ZXJDYigpKTt2YXIgYT1iaShlLmRhdGEudHJhbnNpdGlvbik7aWYodChhKXx8MSE9PWkubm9kZVR5cGUpcmV0dXJuIHIoKTtpZighbihpLl9sZWF2ZUNiKSl7dmFyIHM9YS5jc3MsYz1hLnR5cGUsdT1hLmxlYXZlQ2xhc3MsbD1hLmxlYXZlVG9DbGFzcyxwPWEubGVhdmVBY3RpdmVDbGFzcyxkPWEuYmVmb3JlTGVhdmUsdj1hLmxlYXZlLGg9YS5hZnRlckxlYXZlLG09YS5sZWF2ZUNhbmNlbGxlZCx5PWEuZGVsYXlMZWF2ZSxnPWEuZHVyYXRpb24sXz0hMSE9PXMmJiFXLGI9QmkodiksJD1mKG8oZyk/Zy5sZWF2ZTpnKSx3PWkuX2xlYXZlQ2I9RChmdW5jdGlvbigpe2kucGFyZW50Tm9kZSYmaS5wYXJlbnROb2RlLl9wZW5kaW5nJiYoaS5wYXJlbnROb2RlLl9wZW5kaW5nW2Uua2V5XT1udWxsKSxfJiYoamkoaSxsKSxqaShpLHApKSx3LmNhbmNlbGxlZD8oXyYmamkoaSx1KSxtJiZtKGkpKToocigpLGgmJmgoaSkpLGkuX2xlYXZlQ2I9bnVsbH0pO3k/eShDKTpDKCl9ZnVuY3Rpb24gQygpe3cuY2FuY2VsbGVkfHwoIWUuZGF0YS5zaG93JiZpLnBhcmVudE5vZGUmJigoaS5wYXJlbnROb2RlLl9wZW5kaW5nfHwoaS5wYXJlbnROb2RlLl9wZW5kaW5nPXt9KSlbZS5rZXldPWUpLGQmJmQoaSksXyYmKE5pKGksdSksTmkoaSxwKSxFaShmdW5jdGlvbigpe2ppKGksdSksdy5jYW5jZWxsZWR8fChOaShpLGwpLGJ8fChIaSgkKT9zZXRUaW1lb3V0KHcsJCk6RGkoaSxjLHcpKSl9KSksdiYmdihpLHcpLF98fGJ8fHcoKSl9fWZ1bmN0aW9uIEhpKGUpe3JldHVyblwibnVtYmVyXCI9PXR5cGVvZiBlJiYhaXNOYU4oZSl9ZnVuY3Rpb24gQmkoZSl7aWYodChlKSlyZXR1cm4hMTt2YXIgcj1lLmZucztyZXR1cm4gbihyKT9CaShBcnJheS5pc0FycmF5KHIpP3JbMF06cik6KGUuX2xlbmd0aHx8ZS5sZW5ndGgpPjF9ZnVuY3Rpb24gVWkoZSx0KXshMCE9PXQuZGF0YS5zaG93JiZQaSh0KX12YXIgemk9ZnVuY3Rpb24oZSl7dmFyIG8sYSxzPXt9LGM9ZS5tb2R1bGVzLHU9ZS5ub2RlT3BzO2ZvcihvPTA7bzxyci5sZW5ndGg7KytvKWZvcihzW3JyW29dXT1bXSxhPTA7YTxjLmxlbmd0aDsrK2EpbihjW2FdW3JyW29dXSkmJnNbcnJbb11dLnB1c2goY1thXVtycltvXV0pO2Z1bmN0aW9uIGwoZSl7dmFyIHQ9dS5wYXJlbnROb2RlKGUpO24odCkmJnUucmVtb3ZlQ2hpbGQodCxlKX1mdW5jdGlvbiBmKGUsdCxpLG8sYSxjLGwpe2lmKG4oZS5lbG0pJiZuKGMpJiYoZT1jW2xdPW1lKGUpKSxlLmlzUm9vdEluc2VydD0hYSwhZnVuY3Rpb24oZSx0LGksbyl7dmFyIGE9ZS5kYXRhO2lmKG4oYSkpe3ZhciBjPW4oZS5jb21wb25lbnRJbnN0YW5jZSkmJmEua2VlcEFsaXZlO2lmKG4oYT1hLmhvb2spJiZuKGE9YS5pbml0KSYmYShlLCExKSxuKGUuY29tcG9uZW50SW5zdGFuY2UpKXJldHVybiBkKGUsdCksdihpLGUuZWxtLG8pLHIoYykmJmZ1bmN0aW9uKGUsdCxyLGkpe2Zvcih2YXIgbyxhPWU7YS5jb21wb25lbnRJbnN0YW5jZTspaWYoYT1hLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZSxuKG89YS5kYXRhKSYmbihvPW8udHJhbnNpdGlvbikpe2ZvcihvPTA7bzxzLmFjdGl2YXRlLmxlbmd0aDsrK28pcy5hY3RpdmF0ZVtvXShucixhKTt0LnB1c2goYSk7YnJlYWt9dihyLGUuZWxtLGkpfShlLHQsaSxvKSwhMH19KGUsdCxpLG8pKXt2YXIgZj1lLmRhdGEscD1lLmNoaWxkcmVuLG09ZS50YWc7bihtKT8oZS5lbG09ZS5ucz91LmNyZWF0ZUVsZW1lbnROUyhlLm5zLG0pOnUuY3JlYXRlRWxlbWVudChtLGUpLGcoZSksaChlLHAsdCksbihmKSYmeShlLHQpLHYoaSxlLmVsbSxvKSk6cihlLmlzQ29tbWVudCk/KGUuZWxtPXUuY3JlYXRlQ29tbWVudChlLnRleHQpLHYoaSxlLmVsbSxvKSk6KGUuZWxtPXUuY3JlYXRlVGV4dE5vZGUoZS50ZXh0KSx2KGksZS5lbG0sbykpfX1mdW5jdGlvbiBkKGUsdCl7bihlLmRhdGEucGVuZGluZ0luc2VydCkmJih0LnB1c2guYXBwbHkodCxlLmRhdGEucGVuZGluZ0luc2VydCksZS5kYXRhLnBlbmRpbmdJbnNlcnQ9bnVsbCksZS5lbG09ZS5jb21wb25lbnRJbnN0YW5jZS4kZWwsbShlKT8oeShlLHQpLGcoZSkpOih0cihlKSx0LnB1c2goZSkpfWZ1bmN0aW9uIHYoZSx0LHIpe24oZSkmJihuKHIpP3UucGFyZW50Tm9kZShyKT09PWUmJnUuaW5zZXJ0QmVmb3JlKGUsdCxyKTp1LmFwcGVuZENoaWxkKGUsdCkpfWZ1bmN0aW9uIGgoZSx0LG4pe2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKHZhciByPTA7cjx0Lmxlbmd0aDsrK3IpZih0W3JdLG4sZS5lbG0sbnVsbCwhMCx0LHIpO2Vsc2UgaShlLnRleHQpJiZ1LmFwcGVuZENoaWxkKGUuZWxtLHUuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGUudGV4dCkpKX1mdW5jdGlvbiBtKGUpe2Zvcig7ZS5jb21wb25lbnRJbnN0YW5jZTspZT1lLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtyZXR1cm4gbihlLnRhZyl9ZnVuY3Rpb24geShlLHQpe2Zvcih2YXIgcj0wO3I8cy5jcmVhdGUubGVuZ3RoOysrcilzLmNyZWF0ZVtyXShucixlKTtuKG89ZS5kYXRhLmhvb2spJiYobihvLmNyZWF0ZSkmJm8uY3JlYXRlKG5yLGUpLG4oby5pbnNlcnQpJiZ0LnB1c2goZSkpfWZ1bmN0aW9uIGcoZSl7dmFyIHQ7aWYobih0PWUuZm5TY29wZUlkKSl1LnNldFN0eWxlU2NvcGUoZS5lbG0sdCk7ZWxzZSBmb3IodmFyIHI9ZTtyOyluKHQ9ci5jb250ZXh0KSYmbih0PXQuJG9wdGlvbnMuX3Njb3BlSWQpJiZ1LnNldFN0eWxlU2NvcGUoZS5lbG0sdCkscj1yLnBhcmVudDtuKHQ9V3QpJiZ0IT09ZS5jb250ZXh0JiZ0IT09ZS5mbkNvbnRleHQmJm4odD10LiRvcHRpb25zLl9zY29wZUlkKSYmdS5zZXRTdHlsZVNjb3BlKGUuZWxtLHQpfWZ1bmN0aW9uIF8oZSx0LG4scixpLG8pe2Zvcig7cjw9aTsrK3IpZihuW3JdLG8sZSx0LCExLG4scil9ZnVuY3Rpb24gYihlKXt2YXIgdCxyLGk9ZS5kYXRhO2lmKG4oaSkpZm9yKG4odD1pLmhvb2spJiZuKHQ9dC5kZXN0cm95KSYmdChlKSx0PTA7dDxzLmRlc3Ryb3kubGVuZ3RoOysrdClzLmRlc3Ryb3lbdF0oZSk7aWYobih0PWUuY2hpbGRyZW4pKWZvcihyPTA7cjxlLmNoaWxkcmVuLmxlbmd0aDsrK3IpYihlLmNoaWxkcmVuW3JdKX1mdW5jdGlvbiAkKGUsdCxyKXtmb3IoO3Q8PXI7Kyt0KXt2YXIgaT1lW3RdO24oaSkmJihuKGkudGFnKT8odyhpKSxiKGkpKTpsKGkuZWxtKSl9fWZ1bmN0aW9uIHcoZSx0KXtpZihuKHQpfHxuKGUuZGF0YSkpe3ZhciByLGk9cy5yZW1vdmUubGVuZ3RoKzE7Zm9yKG4odCk/dC5saXN0ZW5lcnMrPWk6dD1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oKXswPT0tLW4ubGlzdGVuZXJzJiZsKGUpfXJldHVybiBuLmxpc3RlbmVycz10LG59KGUuZWxtLGkpLG4ocj1lLmNvbXBvbmVudEluc3RhbmNlKSYmbihyPXIuX3Zub2RlKSYmbihyLmRhdGEpJiZ3KHIsdCkscj0wO3I8cy5yZW1vdmUubGVuZ3RoOysrcilzLnJlbW92ZVtyXShlLHQpO24ocj1lLmRhdGEuaG9vaykmJm4ocj1yLnJlbW92ZSk/cihlLHQpOnQoKX1lbHNlIGwoZS5lbG0pfWZ1bmN0aW9uIEMoZSx0LHIsaSl7Zm9yKHZhciBvPXI7bzxpO28rKyl7dmFyIGE9dFtvXTtpZihuKGEpJiZpcihlLGEpKXJldHVybiBvfX1mdW5jdGlvbiB4KGUsaSxvLGEsYyxsKXtpZihlIT09aSl7bihpLmVsbSkmJm4oYSkmJihpPWFbY109bWUoaSkpO3ZhciBwPWkuZWxtPWUuZWxtO2lmKHIoZS5pc0FzeW5jUGxhY2Vob2xkZXIpKW4oaS5hc3luY0ZhY3RvcnkucmVzb2x2ZWQpP08oZS5lbG0saSxvKTppLmlzQXN5bmNQbGFjZWhvbGRlcj0hMDtlbHNlIGlmKHIoaS5pc1N0YXRpYykmJnIoZS5pc1N0YXRpYykmJmkua2V5PT09ZS5rZXkmJihyKGkuaXNDbG9uZWQpfHxyKGkuaXNPbmNlKSkpaS5jb21wb25lbnRJbnN0YW5jZT1lLmNvbXBvbmVudEluc3RhbmNlO2Vsc2V7dmFyIGQsdj1pLmRhdGE7bih2KSYmbihkPXYuaG9vaykmJm4oZD1kLnByZXBhdGNoKSYmZChlLGkpO3ZhciBoPWUuY2hpbGRyZW4seT1pLmNoaWxkcmVuO2lmKG4odikmJm0oaSkpe2ZvcihkPTA7ZDxzLnVwZGF0ZS5sZW5ndGg7KytkKXMudXBkYXRlW2RdKGUsaSk7bihkPXYuaG9vaykmJm4oZD1kLnVwZGF0ZSkmJmQoZSxpKX10KGkudGV4dCk/bihoKSYmbih5KT9oIT09eSYmZnVuY3Rpb24oZSxyLGksbyxhKXtmb3IodmFyIHMsYyxsLHA9MCxkPTAsdj1yLmxlbmd0aC0xLGg9clswXSxtPXJbdl0seT1pLmxlbmd0aC0xLGc9aVswXSxiPWlbeV0sdz0hYTtwPD12JiZkPD15Oyl0KGgpP2g9clsrK3BdOnQobSk/bT1yWy0tdl06aXIoaCxnKT8oeChoLGcsbyxpLGQpLGg9clsrK3BdLGc9aVsrK2RdKTppcihtLGIpPyh4KG0sYixvLGkseSksbT1yWy0tdl0sYj1pWy0teV0pOmlyKGgsYik/KHgoaCxiLG8saSx5KSx3JiZ1Lmluc2VydEJlZm9yZShlLGguZWxtLHUubmV4dFNpYmxpbmcobS5lbG0pKSxoPXJbKytwXSxiPWlbLS15XSk6aXIobSxnKT8oeChtLGcsbyxpLGQpLHcmJnUuaW5zZXJ0QmVmb3JlKGUsbS5lbG0saC5lbG0pLG09clstLXZdLGc9aVsrK2RdKToodChzKSYmKHM9b3IocixwLHYpKSx0KGM9bihnLmtleSk/c1tnLmtleV06QyhnLHIscCx2KSk/ZihnLG8sZSxoLmVsbSwhMSxpLGQpOmlyKGw9cltjXSxnKT8oeChsLGcsbyxpLGQpLHJbY109dm9pZCAwLHcmJnUuaW5zZXJ0QmVmb3JlKGUsbC5lbG0saC5lbG0pKTpmKGcsbyxlLGguZWxtLCExLGksZCksZz1pWysrZF0pO3A+dj9fKGUsdChpW3krMV0pP251bGw6aVt5KzFdLmVsbSxpLGQseSxvKTpkPnkmJiQocixwLHYpfShwLGgseSxvLGwpOm4oeSk/KG4oZS50ZXh0KSYmdS5zZXRUZXh0Q29udGVudChwLFwiXCIpLF8ocCxudWxsLHksMCx5Lmxlbmd0aC0xLG8pKTpuKGgpPyQoaCwwLGgubGVuZ3RoLTEpOm4oZS50ZXh0KSYmdS5zZXRUZXh0Q29udGVudChwLFwiXCIpOmUudGV4dCE9PWkudGV4dCYmdS5zZXRUZXh0Q29udGVudChwLGkudGV4dCksbih2KSYmbihkPXYuaG9vaykmJm4oZD1kLnBvc3RwYXRjaCkmJmQoZSxpKX19fWZ1bmN0aW9uIGsoZSx0LGkpe2lmKHIoaSkmJm4oZS5wYXJlbnQpKWUucGFyZW50LmRhdGEucGVuZGluZ0luc2VydD10O2Vsc2UgZm9yKHZhciBvPTA7bzx0Lmxlbmd0aDsrK28pdFtvXS5kYXRhLmhvb2suaW5zZXJ0KHRbb10pfXZhciBBPXAoXCJhdHRycyxjbGFzcyxzdGF0aWNDbGFzcyxzdGF0aWNTdHlsZSxrZXlcIik7ZnVuY3Rpb24gTyhlLHQsaSxvKXt2YXIgYSxzPXQudGFnLGM9dC5kYXRhLHU9dC5jaGlsZHJlbjtpZihvPW98fGMmJmMucHJlLHQuZWxtPWUscih0LmlzQ29tbWVudCkmJm4odC5hc3luY0ZhY3RvcnkpKXJldHVybiB0LmlzQXN5bmNQbGFjZWhvbGRlcj0hMCwhMDtpZihuKGMpJiYobihhPWMuaG9vaykmJm4oYT1hLmluaXQpJiZhKHQsITApLG4oYT10LmNvbXBvbmVudEluc3RhbmNlKSkpcmV0dXJuIGQodCxpKSwhMDtpZihuKHMpKXtpZihuKHUpKWlmKGUuaGFzQ2hpbGROb2RlcygpKWlmKG4oYT1jKSYmbihhPWEuZG9tUHJvcHMpJiZuKGE9YS5pbm5lckhUTUwpKXtpZihhIT09ZS5pbm5lckhUTUwpcmV0dXJuITF9ZWxzZXtmb3IodmFyIGw9ITAsZj1lLmZpcnN0Q2hpbGQscD0wO3A8dS5sZW5ndGg7cCsrKXtpZighZnx8IU8oZix1W3BdLGksbykpe2w9ITE7YnJlYWt9Zj1mLm5leHRTaWJsaW5nfWlmKCFsfHxmKXJldHVybiExfWVsc2UgaCh0LHUsaSk7aWYobihjKSl7dmFyIHY9ITE7Zm9yKHZhciBtIGluIGMpaWYoIUEobSkpe3Y9ITAseSh0LGkpO2JyZWFrfSF2JiZjLmNsYXNzJiZldChjLmNsYXNzKX19ZWxzZSBlLmRhdGEhPT10LnRleHQmJihlLmRhdGE9dC50ZXh0KTtyZXR1cm4hMH1yZXR1cm4gZnVuY3Rpb24oZSxpLG8sYSl7aWYoIXQoaSkpe3ZhciBjLGw9ITEscD1bXTtpZih0KGUpKWw9ITAsZihpLHApO2Vsc2V7dmFyIGQ9bihlLm5vZGVUeXBlKTtpZighZCYmaXIoZSxpKSl4KGUsaSxwLG51bGwsbnVsbCxhKTtlbHNle2lmKGQpe2lmKDE9PT1lLm5vZGVUeXBlJiZlLmhhc0F0dHJpYnV0ZShMKSYmKGUucmVtb3ZlQXR0cmlidXRlKEwpLG89ITApLHIobykmJk8oZSxpLHApKXJldHVybiBrKGkscCwhMCksZTtjPWUsZT1uZXcgcGUodS50YWdOYW1lKGMpLnRvTG93ZXJDYXNlKCkse30sW10sdm9pZCAwLGMpfXZhciB2PWUuZWxtLGg9dS5wYXJlbnROb2RlKHYpO2lmKGYoaSxwLHYuX2xlYXZlQ2I/bnVsbDpoLHUubmV4dFNpYmxpbmcodikpLG4oaS5wYXJlbnQpKWZvcih2YXIgeT1pLnBhcmVudCxnPW0oaSk7eTspe2Zvcih2YXIgXz0wO188cy5kZXN0cm95Lmxlbmd0aDsrK18pcy5kZXN0cm95W19dKHkpO2lmKHkuZWxtPWkuZWxtLGcpe2Zvcih2YXIgdz0wO3c8cy5jcmVhdGUubGVuZ3RoOysrdylzLmNyZWF0ZVt3XShucix5KTt2YXIgQz15LmRhdGEuaG9vay5pbnNlcnQ7aWYoQy5tZXJnZWQpZm9yKHZhciBBPTE7QTxDLmZucy5sZW5ndGg7QSsrKUMuZm5zW0FdKCl9ZWxzZSB0cih5KTt5PXkucGFyZW50fW4oaCk/JChbZV0sMCwwKTpuKGUudGFnKSYmYihlKX19cmV0dXJuIGsoaSxwLGwpLGkuZWxtfW4oZSkmJmIoZSl9fSh7bm9kZU9wczpRbixtb2R1bGVzOlttcix4cixuaSxvaSxtaSx6P3tjcmVhdGU6VWksYWN0aXZhdGU6VWkscmVtb3ZlOmZ1bmN0aW9uKGUsdCl7ITAhPT1lLmRhdGEuc2hvdz9SaShlLHQpOnQoKX19Ont9XS5jb25jYXQocHIpfSk7VyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcInNlbGVjdGlvbmNoYW5nZVwiLGZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDtlJiZlLnZtb2RlbCYmWGkoZSxcImlucHV0XCIpfSk7dmFyIFZpPXtpbnNlcnRlZDpmdW5jdGlvbihlLHQsbixyKXtcInNlbGVjdFwiPT09bi50YWc/KHIuZWxtJiYhci5lbG0uX3ZPcHRpb25zP2l0KG4sXCJwb3N0cGF0Y2hcIixmdW5jdGlvbigpe1ZpLmNvbXBvbmVudFVwZGF0ZWQoZSx0LG4pfSk6S2koZSx0LG4uY29udGV4dCksZS5fdk9wdGlvbnM9W10ubWFwLmNhbGwoZS5vcHRpb25zLFdpKSk6KFwidGV4dGFyZWFcIj09PW4udGFnfHxYbihlLnR5cGUpKSYmKGUuX3ZNb2RpZmllcnM9dC5tb2RpZmllcnMsdC5tb2RpZmllcnMubGF6eXx8KGUuYWRkRXZlbnRMaXN0ZW5lcihcImNvbXBvc2l0aW9uc3RhcnRcIixaaSksZS5hZGRFdmVudExpc3RlbmVyKFwiY29tcG9zaXRpb25lbmRcIixHaSksZS5hZGRFdmVudExpc3RlbmVyKFwiY2hhbmdlXCIsR2kpLFcmJihlLnZtb2RlbD0hMCkpKX0sY29tcG9uZW50VXBkYXRlZDpmdW5jdGlvbihlLHQsbil7aWYoXCJzZWxlY3RcIj09PW4udGFnKXtLaShlLHQsbi5jb250ZXh0KTt2YXIgcj1lLl92T3B0aW9ucyxpPWUuX3ZPcHRpb25zPVtdLm1hcC5jYWxsKGUub3B0aW9ucyxXaSk7aWYoaS5zb21lKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIU4oZSxyW3RdKX0pKShlLm11bHRpcGxlP3QudmFsdWUuc29tZShmdW5jdGlvbihlKXtyZXR1cm4gcWkoZSxpKX0pOnQudmFsdWUhPT10Lm9sZFZhbHVlJiZxaSh0LnZhbHVlLGkpKSYmWGkoZSxcImNoYW5nZVwiKX19fTtmdW5jdGlvbiBLaShlLHQsbil7SmkoZSx0LG4pLChxfHxaKSYmc2V0VGltZW91dChmdW5jdGlvbigpe0ppKGUsdCxuKX0sMCl9ZnVuY3Rpb24gSmkoZSx0LG4pe3ZhciByPXQudmFsdWUsaT1lLm11bHRpcGxlO2lmKCFpfHxBcnJheS5pc0FycmF5KHIpKXtmb3IodmFyIG8sYSxzPTAsYz1lLm9wdGlvbnMubGVuZ3RoO3M8YztzKyspaWYoYT1lLm9wdGlvbnNbc10saSlvPWoocixXaShhKSk+LTEsYS5zZWxlY3RlZCE9PW8mJihhLnNlbGVjdGVkPW8pO2Vsc2UgaWYoTihXaShhKSxyKSlyZXR1cm4gdm9pZChlLnNlbGVjdGVkSW5kZXghPT1zJiYoZS5zZWxlY3RlZEluZGV4PXMpKTtpfHwoZS5zZWxlY3RlZEluZGV4PS0xKX19ZnVuY3Rpb24gcWkoZSx0KXtyZXR1cm4gdC5ldmVyeShmdW5jdGlvbih0KXtyZXR1cm4hTih0LGUpfSl9ZnVuY3Rpb24gV2koZSl7cmV0dXJuXCJfdmFsdWVcImluIGU/ZS5fdmFsdWU6ZS52YWx1ZX1mdW5jdGlvbiBaaShlKXtlLnRhcmdldC5jb21wb3Npbmc9ITB9ZnVuY3Rpb24gR2koZSl7ZS50YXJnZXQuY29tcG9zaW5nJiYoZS50YXJnZXQuY29tcG9zaW5nPSExLFhpKGUudGFyZ2V0LFwiaW5wdXRcIikpfWZ1bmN0aW9uIFhpKGUsdCl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRXZlbnQoXCJIVE1MRXZlbnRzXCIpO24uaW5pdEV2ZW50KHQsITAsITApLGUuZGlzcGF0Y2hFdmVudChuKX1mdW5jdGlvbiBZaShlKXtyZXR1cm4hZS5jb21wb25lbnRJbnN0YW5jZXx8ZS5kYXRhJiZlLmRhdGEudHJhbnNpdGlvbj9lOllpKGUuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlKX12YXIgUWk9e21vZGVsOlZpLHNob3c6e2JpbmQ6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQudmFsdWUsaT0obj1ZaShuKSkuZGF0YSYmbi5kYXRhLnRyYW5zaXRpb24sbz1lLl9fdk9yaWdpbmFsRGlzcGxheT1cIm5vbmVcIj09PWUuc3R5bGUuZGlzcGxheT9cIlwiOmUuc3R5bGUuZGlzcGxheTtyJiZpPyhuLmRhdGEuc2hvdz0hMCxQaShuLGZ1bmN0aW9uKCl7ZS5zdHlsZS5kaXNwbGF5PW99KSk6ZS5zdHlsZS5kaXNwbGF5PXI/bzpcIm5vbmVcIn0sdXBkYXRlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10LnZhbHVlOyFyIT0hdC5vbGRWYWx1ZSYmKChuPVlpKG4pKS5kYXRhJiZuLmRhdGEudHJhbnNpdGlvbj8obi5kYXRhLnNob3c9ITAscj9QaShuLGZ1bmN0aW9uKCl7ZS5zdHlsZS5kaXNwbGF5PWUuX192T3JpZ2luYWxEaXNwbGF5fSk6UmkobixmdW5jdGlvbigpe2Uuc3R5bGUuZGlzcGxheT1cIm5vbmVcIn0pKTplLnN0eWxlLmRpc3BsYXk9cj9lLl9fdk9yaWdpbmFsRGlzcGxheTpcIm5vbmVcIil9LHVuYmluZDpmdW5jdGlvbihlLHQsbixyLGkpe2l8fChlLnN0eWxlLmRpc3BsYXk9ZS5fX3ZPcmlnaW5hbERpc3BsYXkpfX19LGVvPXtuYW1lOlN0cmluZyxhcHBlYXI6Qm9vbGVhbixjc3M6Qm9vbGVhbixtb2RlOlN0cmluZyx0eXBlOlN0cmluZyxlbnRlckNsYXNzOlN0cmluZyxsZWF2ZUNsYXNzOlN0cmluZyxlbnRlclRvQ2xhc3M6U3RyaW5nLGxlYXZlVG9DbGFzczpTdHJpbmcsZW50ZXJBY3RpdmVDbGFzczpTdHJpbmcsbGVhdmVBY3RpdmVDbGFzczpTdHJpbmcsYXBwZWFyQ2xhc3M6U3RyaW5nLGFwcGVhckFjdGl2ZUNsYXNzOlN0cmluZyxhcHBlYXJUb0NsYXNzOlN0cmluZyxkdXJhdGlvbjpbTnVtYmVyLFN0cmluZyxPYmplY3RdfTtmdW5jdGlvbiB0byhlKXt2YXIgdD1lJiZlLmNvbXBvbmVudE9wdGlvbnM7cmV0dXJuIHQmJnQuQ3Rvci5vcHRpb25zLmFic3RyYWN0P3RvKHp0KHQuY2hpbGRyZW4pKTplfWZ1bmN0aW9uIG5vKGUpe3ZhciB0PXt9LG49ZS4kb3B0aW9ucztmb3IodmFyIHIgaW4gbi5wcm9wc0RhdGEpdFtyXT1lW3JdO3ZhciBpPW4uX3BhcmVudExpc3RlbmVycztmb3IodmFyIG8gaW4gaSl0W2IobyldPWlbb107cmV0dXJuIHR9ZnVuY3Rpb24gcm8oZSx0KXtpZigvXFxkLWtlZXAtYWxpdmUkLy50ZXN0KHQudGFnKSlyZXR1cm4gZShcImtlZXAtYWxpdmVcIix7cHJvcHM6dC5jb21wb25lbnRPcHRpb25zLnByb3BzRGF0YX0pfXZhciBpbz1mdW5jdGlvbihlKXtyZXR1cm4gZS50YWd8fFV0KGUpfSxvbz1mdW5jdGlvbihlKXtyZXR1cm5cInNob3dcIj09PWUubmFtZX0sYW89e25hbWU6XCJ0cmFuc2l0aW9uXCIscHJvcHM6ZW8sYWJzdHJhY3Q6ITAscmVuZGVyOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10aGlzLiRzbG90cy5kZWZhdWx0O2lmKG4mJihuPW4uZmlsdGVyKGlvKSkubGVuZ3RoKXt2YXIgcj10aGlzLm1vZGUsbz1uWzBdO2lmKGZ1bmN0aW9uKGUpe2Zvcig7ZT1lLnBhcmVudDspaWYoZS5kYXRhLnRyYW5zaXRpb24pcmV0dXJuITB9KHRoaXMuJHZub2RlKSlyZXR1cm4gbzt2YXIgYT10byhvKTtpZighYSlyZXR1cm4gbztpZih0aGlzLl9sZWF2aW5nKXJldHVybiBybyhlLG8pO3ZhciBzPVwiX190cmFuc2l0aW9uLVwiK3RoaXMuX3VpZCtcIi1cIjthLmtleT1udWxsPT1hLmtleT9hLmlzQ29tbWVudD9zK1wiY29tbWVudFwiOnMrYS50YWc6aShhLmtleSk/MD09PVN0cmluZyhhLmtleSkuaW5kZXhPZihzKT9hLmtleTpzK2Eua2V5OmEua2V5O3ZhciBjPShhLmRhdGF8fChhLmRhdGE9e30pKS50cmFuc2l0aW9uPW5vKHRoaXMpLHU9dGhpcy5fdm5vZGUsbD10byh1KTtpZihhLmRhdGEuZGlyZWN0aXZlcyYmYS5kYXRhLmRpcmVjdGl2ZXMuc29tZShvbykmJihhLmRhdGEuc2hvdz0hMCksbCYmbC5kYXRhJiYhZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5rZXk9PT1lLmtleSYmdC50YWc9PT1lLnRhZ30oYSxsKSYmIVV0KGwpJiYoIWwuY29tcG9uZW50SW5zdGFuY2V8fCFsLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZS5pc0NvbW1lbnQpKXt2YXIgZj1sLmRhdGEudHJhbnNpdGlvbj1BKHt9LGMpO2lmKFwib3V0LWluXCI9PT1yKXJldHVybiB0aGlzLl9sZWF2aW5nPSEwLGl0KGYsXCJhZnRlckxlYXZlXCIsZnVuY3Rpb24oKXt0Ll9sZWF2aW5nPSExLHQuJGZvcmNlVXBkYXRlKCl9KSxybyhlLG8pO2lmKFwiaW4tb3V0XCI9PT1yKXtpZihVdChhKSlyZXR1cm4gdTt2YXIgcCxkPWZ1bmN0aW9uKCl7cCgpfTtpdChjLFwiYWZ0ZXJFbnRlclwiLGQpLGl0KGMsXCJlbnRlckNhbmNlbGxlZFwiLGQpLGl0KGYsXCJkZWxheUxlYXZlXCIsZnVuY3Rpb24oZSl7cD1lfSl9fXJldHVybiBvfX19LHNvPUEoe3RhZzpTdHJpbmcsbW92ZUNsYXNzOlN0cmluZ30sZW8pO2Z1bmN0aW9uIGNvKGUpe2UuZWxtLl9tb3ZlQ2ImJmUuZWxtLl9tb3ZlQ2IoKSxlLmVsbS5fZW50ZXJDYiYmZS5lbG0uX2VudGVyQ2IoKX1mdW5jdGlvbiB1byhlKXtlLmRhdGEubmV3UG9zPWUuZWxtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfWZ1bmN0aW9uIGxvKGUpe3ZhciB0PWUuZGF0YS5wb3Msbj1lLmRhdGEubmV3UG9zLHI9dC5sZWZ0LW4ubGVmdCxpPXQudG9wLW4udG9wO2lmKHJ8fGkpe2UuZGF0YS5tb3ZlZD0hMDt2YXIgbz1lLmVsbS5zdHlsZTtvLnRyYW5zZm9ybT1vLldlYmtpdFRyYW5zZm9ybT1cInRyYW5zbGF0ZShcIityK1wicHgsXCIraStcInB4KVwiLG8udHJhbnNpdGlvbkR1cmF0aW9uPVwiMHNcIn19ZGVsZXRlIHNvLm1vZGU7dmFyIGZvPXtUcmFuc2l0aW9uOmFvLFRyYW5zaXRpb25Hcm91cDp7cHJvcHM6c28sYmVmb3JlTW91bnQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9dGhpcy5fdXBkYXRlO3RoaXMuX3VwZGF0ZT1mdW5jdGlvbihuLHIpe3ZhciBpPVp0KGUpO2UuX19wYXRjaF9fKGUuX3Zub2RlLGUua2VwdCwhMSwhMCksZS5fdm5vZGU9ZS5rZXB0LGkoKSx0LmNhbGwoZSxuLHIpfX0scmVuZGVyOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD10aGlzLnRhZ3x8dGhpcy4kdm5vZGUuZGF0YS50YWd8fFwic3BhblwiLG49T2JqZWN0LmNyZWF0ZShudWxsKSxyPXRoaXMucHJldkNoaWxkcmVuPXRoaXMuY2hpbGRyZW4saT10aGlzLiRzbG90cy5kZWZhdWx0fHxbXSxvPXRoaXMuY2hpbGRyZW49W10sYT1ubyh0aGlzKSxzPTA7czxpLmxlbmd0aDtzKyspe3ZhciBjPWlbc107Yy50YWcmJm51bGwhPWMua2V5JiYwIT09U3RyaW5nKGMua2V5KS5pbmRleE9mKFwiX192bGlzdFwiKSYmKG8ucHVzaChjKSxuW2Mua2V5XT1jLChjLmRhdGF8fChjLmRhdGE9e30pKS50cmFuc2l0aW9uPWEpfWlmKHIpe2Zvcih2YXIgdT1bXSxsPVtdLGY9MDtmPHIubGVuZ3RoO2YrKyl7dmFyIHA9cltmXTtwLmRhdGEudHJhbnNpdGlvbj1hLHAuZGF0YS5wb3M9cC5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbltwLmtleV0/dS5wdXNoKHApOmwucHVzaChwKX10aGlzLmtlcHQ9ZSh0LG51bGwsdSksdGhpcy5yZW1vdmVkPWx9cmV0dXJuIGUodCxudWxsLG8pfSx1cGRhdGVkOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5wcmV2Q2hpbGRyZW4sdD10aGlzLm1vdmVDbGFzc3x8KHRoaXMubmFtZXx8XCJ2XCIpK1wiLW1vdmVcIjtlLmxlbmd0aCYmdGhpcy5oYXNNb3ZlKGVbMF0uZWxtLHQpJiYoZS5mb3JFYWNoKGNvKSxlLmZvckVhY2godW8pLGUuZm9yRWFjaChsbyksdGhpcy5fcmVmbG93PWRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0LGUuZm9yRWFjaChmdW5jdGlvbihlKXtpZihlLmRhdGEubW92ZWQpe3ZhciBuPWUuZWxtLHI9bi5zdHlsZTtOaShuLHQpLHIudHJhbnNmb3JtPXIuV2Via2l0VHJhbnNmb3JtPXIudHJhbnNpdGlvbkR1cmF0aW9uPVwiXCIsbi5hZGRFdmVudExpc3RlbmVyKEFpLG4uX21vdmVDYj1mdW5jdGlvbiBlKHIpe3ImJnIudGFyZ2V0IT09bnx8ciYmIS90cmFuc2Zvcm0kLy50ZXN0KHIucHJvcGVydHlOYW1lKXx8KG4ucmVtb3ZlRXZlbnRMaXN0ZW5lcihBaSxlKSxuLl9tb3ZlQ2I9bnVsbCxqaShuLHQpKX0pfX0pKX0sbWV0aG9kczp7aGFzTW92ZTpmdW5jdGlvbihlLHQpe2lmKCF3aSlyZXR1cm4hMTtpZih0aGlzLl9oYXNNb3ZlKXJldHVybiB0aGlzLl9oYXNNb3ZlO3ZhciBuPWUuY2xvbmVOb2RlKCk7ZS5fdHJhbnNpdGlvbkNsYXNzZXMmJmUuX3RyYW5zaXRpb25DbGFzc2VzLmZvckVhY2goZnVuY3Rpb24oZSl7X2kobixlKX0pLGdpKG4sdCksbi5zdHlsZS5kaXNwbGF5PVwibm9uZVwiLHRoaXMuJGVsLmFwcGVuZENoaWxkKG4pO3ZhciByPU1pKG4pO3JldHVybiB0aGlzLiRlbC5yZW1vdmVDaGlsZChuKSx0aGlzLl9oYXNNb3ZlPXIuaGFzVHJhbnNmb3JtfX19fTt3bi5jb25maWcubXVzdFVzZVByb3A9am4sd24uY29uZmlnLmlzUmVzZXJ2ZWRUYWc9V24sd24uY29uZmlnLmlzUmVzZXJ2ZWRBdHRyPUVuLHduLmNvbmZpZy5nZXRUYWdOYW1lc3BhY2U9Wm4sd24uY29uZmlnLmlzVW5rbm93bkVsZW1lbnQ9ZnVuY3Rpb24oZSl7aWYoIXopcmV0dXJuITA7aWYoV24oZSkpcmV0dXJuITE7aWYoZT1lLnRvTG93ZXJDYXNlKCksbnVsbCE9R25bZV0pcmV0dXJuIEduW2VdO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7cmV0dXJuIGUuaW5kZXhPZihcIi1cIik+LTE/R25bZV09dC5jb25zdHJ1Y3Rvcj09PXdpbmRvdy5IVE1MVW5rbm93bkVsZW1lbnR8fHQuY29uc3RydWN0b3I9PT13aW5kb3cuSFRNTEVsZW1lbnQ6R25bZV09L0hUTUxVbmtub3duRWxlbWVudC8udGVzdCh0LnRvU3RyaW5nKCkpfSxBKHduLm9wdGlvbnMuZGlyZWN0aXZlcyxRaSksQSh3bi5vcHRpb25zLmNvbXBvbmVudHMsZm8pLHduLnByb3RvdHlwZS5fX3BhdGNoX189ej96aTpTLHduLnByb3RvdHlwZS4kbW91bnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSx0LG4pe3ZhciByO3JldHVybiBlLiRlbD10LGUuJG9wdGlvbnMucmVuZGVyfHwoZS4kb3B0aW9ucy5yZW5kZXI9dmUpLFl0KGUsXCJiZWZvcmVNb3VudFwiKSxyPWZ1bmN0aW9uKCl7ZS5fdXBkYXRlKGUuX3JlbmRlcigpLG4pfSxuZXcgZm4oZSxyLFMse2JlZm9yZTpmdW5jdGlvbigpe2UuX2lzTW91bnRlZCYmIWUuX2lzRGVzdHJveWVkJiZZdChlLFwiYmVmb3JlVXBkYXRlXCIpfX0sITApLG49ITEsbnVsbD09ZS4kdm5vZGUmJihlLl9pc01vdW50ZWQ9ITAsWXQoZSxcIm1vdW50ZWRcIikpLGV9KHRoaXMsZT1lJiZ6P1luKGUpOnZvaWQgMCx0KX0seiYmc2V0VGltZW91dChmdW5jdGlvbigpe0YuZGV2dG9vbHMmJm5lJiZuZS5lbWl0KFwiaW5pdFwiLHduKX0sMCk7dmFyIHBvPS9cXHtcXHsoKD86LnxcXHI/XFxuKSs/KVxcfVxcfS9nLHZvPS9bLS4qKz9eJHt9KCl8W1xcXVxcL1xcXFxdL2csaG89ZyhmdW5jdGlvbihlKXt2YXIgdD1lWzBdLnJlcGxhY2Uodm8sXCJcXFxcJCZcIiksbj1lWzFdLnJlcGxhY2Uodm8sXCJcXFxcJCZcIik7cmV0dXJuIG5ldyBSZWdFeHAodCtcIigoPzoufFxcXFxuKSs/KVwiK24sXCJnXCIpfSk7dmFyIG1vPXtzdGF0aWNLZXlzOltcInN0YXRpY0NsYXNzXCJdLHRyYW5zZm9ybU5vZGU6ZnVuY3Rpb24oZSx0KXt0Lndhcm47dmFyIG49RnIoZSxcImNsYXNzXCIpO24mJihlLnN0YXRpY0NsYXNzPUpTT04uc3RyaW5naWZ5KG4pKTt2YXIgcj1JcihlLFwiY2xhc3NcIiwhMSk7ciYmKGUuY2xhc3NCaW5kaW5nPXIpfSxnZW5EYXRhOmZ1bmN0aW9uKGUpe3ZhciB0PVwiXCI7cmV0dXJuIGUuc3RhdGljQ2xhc3MmJih0Kz1cInN0YXRpY0NsYXNzOlwiK2Uuc3RhdGljQ2xhc3MrXCIsXCIpLGUuY2xhc3NCaW5kaW5nJiYodCs9XCJjbGFzczpcIitlLmNsYXNzQmluZGluZytcIixcIiksdH19O3ZhciB5byxnbz17c3RhdGljS2V5czpbXCJzdGF0aWNTdHlsZVwiXSx0cmFuc2Zvcm1Ob2RlOmZ1bmN0aW9uKGUsdCl7dC53YXJuO3ZhciBuPUZyKGUsXCJzdHlsZVwiKTtuJiYoZS5zdGF0aWNTdHlsZT1KU09OLnN0cmluZ2lmeShhaShuKSkpO3ZhciByPUlyKGUsXCJzdHlsZVwiLCExKTtyJiYoZS5zdHlsZUJpbmRpbmc9cil9LGdlbkRhdGE6ZnVuY3Rpb24oZSl7dmFyIHQ9XCJcIjtyZXR1cm4gZS5zdGF0aWNTdHlsZSYmKHQrPVwic3RhdGljU3R5bGU6XCIrZS5zdGF0aWNTdHlsZStcIixcIiksZS5zdHlsZUJpbmRpbmcmJih0Kz1cInN0eWxlOihcIitlLnN0eWxlQmluZGluZytcIiksXCIpLHR9fSxfbz1mdW5jdGlvbihlKXtyZXR1cm4oeW89eW98fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIikpLmlubmVySFRNTD1lLHlvLnRleHRDb250ZW50fSxibz1wKFwiYXJlYSxiYXNlLGJyLGNvbCxlbWJlZCxmcmFtZSxocixpbWcsaW5wdXQsaXNpbmRleCxrZXlnZW4sbGluayxtZXRhLHBhcmFtLHNvdXJjZSx0cmFjayx3YnJcIiksJG89cChcImNvbGdyb3VwLGRkLGR0LGxpLG9wdGlvbnMscCx0ZCx0Zm9vdCx0aCx0aGVhZCx0cixzb3VyY2VcIiksd289cChcImFkZHJlc3MsYXJ0aWNsZSxhc2lkZSxiYXNlLGJsb2NrcXVvdGUsYm9keSxjYXB0aW9uLGNvbCxjb2xncm91cCxkZCxkZXRhaWxzLGRpYWxvZyxkaXYsZGwsZHQsZmllbGRzZXQsZmlnY2FwdGlvbixmaWd1cmUsZm9vdGVyLGZvcm0saDEsaDIsaDMsaDQsaDUsaDYsaGVhZCxoZWFkZXIsaGdyb3VwLGhyLGh0bWwsbGVnZW5kLGxpLG1lbnVpdGVtLG1ldGEsb3B0Z3JvdXAsb3B0aW9uLHBhcmFtLHJwLHJ0LHNvdXJjZSxzdHlsZSxzdW1tYXJ5LHRib2R5LHRkLHRmb290LHRoLHRoZWFkLHRpdGxlLHRyLHRyYWNrXCIpLENvPS9eXFxzKihbXlxcc1wiJzw+XFwvPV0rKSg/OlxccyooPSlcXHMqKD86XCIoW15cIl0qKVwiK3wnKFteJ10qKScrfChbXlxcc1wiJz08PmBdKykpKT8vLHhvPS9eXFxzKigoPzp2LVtcXHctXSs6fEB8OnwjKVxcW1tePV0rXFxdW15cXHNcIic8PlxcLz1dKikoPzpcXHMqKD0pXFxzKig/OlwiKFteXCJdKilcIit8JyhbXiddKiknK3woW15cXHNcIic9PD5gXSspKSk/Lyxrbz1cIlthLXpBLVpfXVtcXFxcLVxcXFwuMC05X2EtekEtWlwiK1Auc291cmNlK1wiXSpcIixBbz1cIigoPzpcIitrbytcIlxcXFw6KT9cIitrbytcIilcIixPbz1uZXcgUmVnRXhwKFwiXjxcIitBbyksU289L15cXHMqKFxcLz8pPi8sVG89bmV3IFJlZ0V4cChcIl48XFxcXC9cIitBbytcIltePl0qPlwiKSxFbz0vXjwhRE9DVFlQRSBbXj5dKz4vaSxObz0vXjwhXFwtLS8sam89L148IVxcWy8sRG89cChcInNjcmlwdCxzdHlsZSx0ZXh0YXJlYVwiLCEwKSxMbz17fSxNbz17XCImbHQ7XCI6XCI8XCIsXCImZ3Q7XCI6XCI+XCIsXCImcXVvdDtcIjonXCInLFwiJmFtcDtcIjpcIiZcIixcIiYjMTA7XCI6XCJcXG5cIixcIiYjOTtcIjpcIlxcdFwiLFwiJiMzOTtcIjpcIidcIn0sSW89LyYoPzpsdHxndHxxdW90fGFtcHwjMzkpOy9nLEZvPS8mKD86bHR8Z3R8cXVvdHxhbXB8IzM5fCMxMHwjOSk7L2csUG89cChcInByZSx0ZXh0YXJlYVwiLCEwKSxSbz1mdW5jdGlvbihlLHQpe3JldHVybiBlJiZQbyhlKSYmXCJcXG5cIj09PXRbMF19O2Z1bmN0aW9uIEhvKGUsdCl7dmFyIG49dD9GbzpJbztyZXR1cm4gZS5yZXBsYWNlKG4sZnVuY3Rpb24oZSl7cmV0dXJuIE1vW2VdfSl9dmFyIEJvLFVvLHpvLFZvLEtvLEpvLHFvLFdvLFpvPS9eQHxedi1vbjovLEdvPS9edi18XkB8Xjp8XiMvLFhvPS8oW1xcc1xcU10qPylcXHMrKD86aW58b2YpXFxzKyhbXFxzXFxTXSopLyxZbz0vLChbXixcXH1cXF1dKikoPzosKFteLFxcfVxcXV0qKSk/JC8sUW89L15cXCh8XFwpJC9nLGVhPS9eXFxbLipcXF0kLyx0YT0vOiguKikkLyxuYT0vXjp8XlxcLnxedi1iaW5kOi8scmE9L1xcLlteLlxcXV0rKD89W15cXF1dKiQpL2csaWE9L152LXNsb3QoOnwkKXxeIy8sb2E9L1tcXHJcXG5dLyxhYT0vXFxzKy9nLHNhPWcoX28pLGNhPVwiX2VtcHR5X1wiO2Z1bmN0aW9uIHVhKGUsdCxuKXtyZXR1cm57dHlwZToxLHRhZzplLGF0dHJzTGlzdDp0LGF0dHJzTWFwOm1hKHQpLHJhd0F0dHJzTWFwOnt9LHBhcmVudDpuLGNoaWxkcmVuOltdfX1mdW5jdGlvbiBsYShlLHQpe0JvPXQud2Fybnx8U3IsSm89dC5pc1ByZVRhZ3x8VCxxbz10Lm11c3RVc2VQcm9wfHxULFdvPXQuZ2V0VGFnTmFtZXNwYWNlfHxUO3QuaXNSZXNlcnZlZFRhZzt6bz1Ucih0Lm1vZHVsZXMsXCJ0cmFuc2Zvcm1Ob2RlXCIpLFZvPVRyKHQubW9kdWxlcyxcInByZVRyYW5zZm9ybU5vZGVcIiksS289VHIodC5tb2R1bGVzLFwicG9zdFRyYW5zZm9ybU5vZGVcIiksVW89dC5kZWxpbWl0ZXJzO3ZhciBuLHIsaT1bXSxvPSExIT09dC5wcmVzZXJ2ZVdoaXRlc3BhY2UsYT10LndoaXRlc3BhY2Uscz0hMSxjPSExO2Z1bmN0aW9uIHUoZSl7aWYobChlKSxzfHxlLnByb2Nlc3NlZHx8KGU9ZmEoZSx0KSksaS5sZW5ndGh8fGU9PT1ufHxuLmlmJiYoZS5lbHNlaWZ8fGUuZWxzZSkmJmRhKG4se2V4cDplLmVsc2VpZixibG9jazplfSksciYmIWUuZm9yYmlkZGVuKWlmKGUuZWxzZWlmfHxlLmVsc2UpYT1lLCh1PWZ1bmN0aW9uKGUpe3ZhciB0PWUubGVuZ3RoO2Zvcig7dC0tOyl7aWYoMT09PWVbdF0udHlwZSlyZXR1cm4gZVt0XTtlLnBvcCgpfX0oci5jaGlsZHJlbikpJiZ1LmlmJiZkYSh1LHtleHA6YS5lbHNlaWYsYmxvY2s6YX0pO2Vsc2V7aWYoZS5zbG90U2NvcGUpe3ZhciBvPWUuc2xvdFRhcmdldHx8J1wiZGVmYXVsdFwiJzsoci5zY29wZWRTbG90c3x8KHIuc2NvcGVkU2xvdHM9e30pKVtvXT1lfXIuY2hpbGRyZW4ucHVzaChlKSxlLnBhcmVudD1yfXZhciBhLHU7ZS5jaGlsZHJlbj1lLmNoaWxkcmVuLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4hZS5zbG90U2NvcGV9KSxsKGUpLGUucHJlJiYocz0hMSksSm8oZS50YWcpJiYoYz0hMSk7Zm9yKHZhciBmPTA7ZjxLby5sZW5ndGg7ZisrKUtvW2ZdKGUsdCl9ZnVuY3Rpb24gbChlKXtpZighYylmb3IodmFyIHQ7KHQ9ZS5jaGlsZHJlbltlLmNoaWxkcmVuLmxlbmd0aC0xXSkmJjM9PT10LnR5cGUmJlwiIFwiPT09dC50ZXh0OyllLmNoaWxkcmVuLnBvcCgpfXJldHVybiBmdW5jdGlvbihlLHQpe2Zvcih2YXIgbixyLGk9W10sbz10LmV4cGVjdEhUTUwsYT10LmlzVW5hcnlUYWd8fFQscz10LmNhbkJlTGVmdE9wZW5UYWd8fFQsYz0wO2U7KXtpZihuPWUsciYmRG8ocikpe3ZhciB1PTAsbD1yLnRvTG93ZXJDYXNlKCksZj1Mb1tsXXx8KExvW2xdPW5ldyBSZWdFeHAoXCIoW1xcXFxzXFxcXFNdKj8pKDwvXCIrbCtcIltePl0qPilcIixcImlcIikpLHA9ZS5yZXBsYWNlKGYsZnVuY3Rpb24oZSxuLHIpe3JldHVybiB1PXIubGVuZ3RoLERvKGwpfHxcIm5vc2NyaXB0XCI9PT1sfHwobj1uLnJlcGxhY2UoLzwhXFwtLShbXFxzXFxTXSo/KS0tPi9nLFwiJDFcIikucmVwbGFjZSgvPCFcXFtDREFUQVxcWyhbXFxzXFxTXSo/KV1dPi9nLFwiJDFcIikpLFJvKGwsbikmJihuPW4uc2xpY2UoMSkpLHQuY2hhcnMmJnQuY2hhcnMobiksXCJcIn0pO2MrPWUubGVuZ3RoLXAubGVuZ3RoLGU9cCxBKGwsYy11LGMpfWVsc2V7dmFyIGQ9ZS5pbmRleE9mKFwiPFwiKTtpZigwPT09ZCl7aWYoTm8udGVzdChlKSl7dmFyIHY9ZS5pbmRleE9mKFwiLS1cXHgzZVwiKTtpZih2Pj0wKXt0LnNob3VsZEtlZXBDb21tZW50JiZ0LmNvbW1lbnQoZS5zdWJzdHJpbmcoNCx2KSxjLGMrdiszKSxDKHYrMyk7Y29udGludWV9fWlmKGpvLnRlc3QoZSkpe3ZhciBoPWUuaW5kZXhPZihcIl0+XCIpO2lmKGg+PTApe0MoaCsyKTtjb250aW51ZX19dmFyIG09ZS5tYXRjaChFbyk7aWYobSl7QyhtWzBdLmxlbmd0aCk7Y29udGludWV9dmFyIHk9ZS5tYXRjaChUbyk7aWYoeSl7dmFyIGc9YztDKHlbMF0ubGVuZ3RoKSxBKHlbMV0sZyxjKTtjb250aW51ZX12YXIgXz14KCk7aWYoXyl7ayhfKSxSbyhfLnRhZ05hbWUsZSkmJkMoMSk7Y29udGludWV9fXZhciBiPXZvaWQgMCwkPXZvaWQgMCx3PXZvaWQgMDtpZihkPj0wKXtmb3IoJD1lLnNsaWNlKGQpOyEoVG8udGVzdCgkKXx8T28udGVzdCgkKXx8Tm8udGVzdCgkKXx8am8udGVzdCgkKXx8KHc9JC5pbmRleE9mKFwiPFwiLDEpKTwwKTspZCs9dywkPWUuc2xpY2UoZCk7Yj1lLnN1YnN0cmluZygwLGQpfWQ8MCYmKGI9ZSksYiYmQyhiLmxlbmd0aCksdC5jaGFycyYmYiYmdC5jaGFycyhiLGMtYi5sZW5ndGgsYyl9aWYoZT09PW4pe3QuY2hhcnMmJnQuY2hhcnMoZSk7YnJlYWt9fWZ1bmN0aW9uIEModCl7Yys9dCxlPWUuc3Vic3RyaW5nKHQpfWZ1bmN0aW9uIHgoKXt2YXIgdD1lLm1hdGNoKE9vKTtpZih0KXt2YXIgbixyLGk9e3RhZ05hbWU6dFsxXSxhdHRyczpbXSxzdGFydDpjfTtmb3IoQyh0WzBdLmxlbmd0aCk7IShuPWUubWF0Y2goU28pKSYmKHI9ZS5tYXRjaCh4byl8fGUubWF0Y2goQ28pKTspci5zdGFydD1jLEMoclswXS5sZW5ndGgpLHIuZW5kPWMsaS5hdHRycy5wdXNoKHIpO2lmKG4pcmV0dXJuIGkudW5hcnlTbGFzaD1uWzFdLEMoblswXS5sZW5ndGgpLGkuZW5kPWMsaX19ZnVuY3Rpb24gayhlKXt2YXIgbj1lLnRhZ05hbWUsYz1lLnVuYXJ5U2xhc2g7byYmKFwicFwiPT09ciYmd28obikmJkEocikscyhuKSYmcj09PW4mJkEobikpO2Zvcih2YXIgdT1hKG4pfHwhIWMsbD1lLmF0dHJzLmxlbmd0aCxmPW5ldyBBcnJheShsKSxwPTA7cDxsO3ArKyl7dmFyIGQ9ZS5hdHRyc1twXSx2PWRbM118fGRbNF18fGRbNV18fFwiXCIsaD1cImFcIj09PW4mJlwiaHJlZlwiPT09ZFsxXT90LnNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZjp0LnNob3VsZERlY29kZU5ld2xpbmVzO2ZbcF09e25hbWU6ZFsxXSx2YWx1ZTpIbyh2LGgpfX11fHwoaS5wdXNoKHt0YWc6bixsb3dlckNhc2VkVGFnOm4udG9Mb3dlckNhc2UoKSxhdHRyczpmLHN0YXJ0OmUuc3RhcnQsZW5kOmUuZW5kfSkscj1uKSx0LnN0YXJ0JiZ0LnN0YXJ0KG4sZix1LGUuc3RhcnQsZS5lbmQpfWZ1bmN0aW9uIEEoZSxuLG8pe3ZhciBhLHM7aWYobnVsbD09biYmKG49YyksbnVsbD09byYmKG89YyksZSlmb3Iocz1lLnRvTG93ZXJDYXNlKCksYT1pLmxlbmd0aC0xO2E+PTAmJmlbYV0ubG93ZXJDYXNlZFRhZyE9PXM7YS0tKTtlbHNlIGE9MDtpZihhPj0wKXtmb3IodmFyIHU9aS5sZW5ndGgtMTt1Pj1hO3UtLSl0LmVuZCYmdC5lbmQoaVt1XS50YWcsbixvKTtpLmxlbmd0aD1hLHI9YSYmaVthLTFdLnRhZ31lbHNlXCJiclwiPT09cz90LnN0YXJ0JiZ0LnN0YXJ0KGUsW10sITAsbixvKTpcInBcIj09PXMmJih0LnN0YXJ0JiZ0LnN0YXJ0KGUsW10sITEsbixvKSx0LmVuZCYmdC5lbmQoZSxuLG8pKX1BKCl9KGUse3dhcm46Qm8sZXhwZWN0SFRNTDp0LmV4cGVjdEhUTUwsaXNVbmFyeVRhZzp0LmlzVW5hcnlUYWcsY2FuQmVMZWZ0T3BlblRhZzp0LmNhbkJlTGVmdE9wZW5UYWcsc2hvdWxkRGVjb2RlTmV3bGluZXM6dC5zaG91bGREZWNvZGVOZXdsaW5lcyxzaG91bGREZWNvZGVOZXdsaW5lc0ZvckhyZWY6dC5zaG91bGREZWNvZGVOZXdsaW5lc0ZvckhyZWYsc2hvdWxkS2VlcENvbW1lbnQ6dC5jb21tZW50cyxvdXRwdXRTb3VyY2VSYW5nZTp0Lm91dHB1dFNvdXJjZVJhbmdlLHN0YXJ0OmZ1bmN0aW9uKGUsbyxhLGwsZil7dmFyIHA9ciYmci5uc3x8V28oZSk7cSYmXCJzdmdcIj09PXAmJihvPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl07eWEudGVzdChyLm5hbWUpfHwoci5uYW1lPXIubmFtZS5yZXBsYWNlKGdhLFwiXCIpLHQucHVzaChyKSl9cmV0dXJuIHR9KG8pKTt2YXIgZCx2PXVhKGUsbyxyKTtwJiYodi5ucz1wKSxcInN0eWxlXCIhPT0oZD12KS50YWcmJihcInNjcmlwdFwiIT09ZC50YWd8fGQuYXR0cnNNYXAudHlwZSYmXCJ0ZXh0L2phdmFzY3JpcHRcIiE9PWQuYXR0cnNNYXAudHlwZSl8fHRlKCl8fCh2LmZvcmJpZGRlbj0hMCk7Zm9yKHZhciBoPTA7aDxWby5sZW5ndGg7aCsrKXY9Vm9baF0odix0KXx8djtzfHwoIWZ1bmN0aW9uKGUpe251bGwhPUZyKGUsXCJ2LXByZVwiKSYmKGUucHJlPSEwKX0odiksdi5wcmUmJihzPSEwKSksSm8odi50YWcpJiYoYz0hMCkscz9mdW5jdGlvbihlKXt2YXIgdD1lLmF0dHJzTGlzdCxuPXQubGVuZ3RoO2lmKG4pZm9yKHZhciByPWUuYXR0cnM9bmV3IEFycmF5KG4pLGk9MDtpPG47aSsrKXJbaV09e25hbWU6dFtpXS5uYW1lLHZhbHVlOkpTT04uc3RyaW5naWZ5KHRbaV0udmFsdWUpfSxudWxsIT10W2ldLnN0YXJ0JiYocltpXS5zdGFydD10W2ldLnN0YXJ0LHJbaV0uZW5kPXRbaV0uZW5kKTtlbHNlIGUucHJlfHwoZS5wbGFpbj0hMCl9KHYpOnYucHJvY2Vzc2VkfHwocGEodiksZnVuY3Rpb24oZSl7dmFyIHQ9RnIoZSxcInYtaWZcIik7aWYodCllLmlmPXQsZGEoZSx7ZXhwOnQsYmxvY2s6ZX0pO2Vsc2V7bnVsbCE9RnIoZSxcInYtZWxzZVwiKSYmKGUuZWxzZT0hMCk7dmFyIG49RnIoZSxcInYtZWxzZS1pZlwiKTtuJiYoZS5lbHNlaWY9bil9fSh2KSxmdW5jdGlvbihlKXtudWxsIT1GcihlLFwidi1vbmNlXCIpJiYoZS5vbmNlPSEwKX0odikpLG58fChuPXYpLGE/dSh2KToocj12LGkucHVzaCh2KSl9LGVuZDpmdW5jdGlvbihlLHQsbil7dmFyIG89aVtpLmxlbmd0aC0xXTtpLmxlbmd0aC09MSxyPWlbaS5sZW5ndGgtMV0sdShvKX0sY2hhcnM6ZnVuY3Rpb24oZSx0LG4pe2lmKHImJighcXx8XCJ0ZXh0YXJlYVwiIT09ci50YWd8fHIuYXR0cnNNYXAucGxhY2Vob2xkZXIhPT1lKSl7dmFyIGksdSxsLGY9ci5jaGlsZHJlbjtpZihlPWN8fGUudHJpbSgpP1wic2NyaXB0XCI9PT0oaT1yKS50YWd8fFwic3R5bGVcIj09PWkudGFnP2U6c2EoZSk6Zi5sZW5ndGg/YT9cImNvbmRlbnNlXCI9PT1hJiZvYS50ZXN0KGUpP1wiXCI6XCIgXCI6bz9cIiBcIjpcIlwiOlwiXCIpY3x8XCJjb25kZW5zZVwiIT09YXx8KGU9ZS5yZXBsYWNlKGFhLFwiIFwiKSksIXMmJlwiIFwiIT09ZSYmKHU9ZnVuY3Rpb24oZSx0KXt2YXIgbj10P2hvKHQpOnBvO2lmKG4udGVzdChlKSl7Zm9yKHZhciByLGksbyxhPVtdLHM9W10sYz1uLmxhc3RJbmRleD0wO3I9bi5leGVjKGUpOyl7KGk9ci5pbmRleCk+YyYmKHMucHVzaChvPWUuc2xpY2UoYyxpKSksYS5wdXNoKEpTT04uc3RyaW5naWZ5KG8pKSk7dmFyIHU9QXIoclsxXS50cmltKCkpO2EucHVzaChcIl9zKFwiK3UrXCIpXCIpLHMucHVzaCh7XCJAYmluZGluZ1wiOnV9KSxjPWkrclswXS5sZW5ndGh9cmV0dXJuIGM8ZS5sZW5ndGgmJihzLnB1c2gobz1lLnNsaWNlKGMpKSxhLnB1c2goSlNPTi5zdHJpbmdpZnkobykpKSx7ZXhwcmVzc2lvbjphLmpvaW4oXCIrXCIpLHRva2VuczpzfX19KGUsVW8pKT9sPXt0eXBlOjIsZXhwcmVzc2lvbjp1LmV4cHJlc3Npb24sdG9rZW5zOnUudG9rZW5zLHRleHQ6ZX06XCIgXCI9PT1lJiZmLmxlbmd0aCYmXCIgXCI9PT1mW2YubGVuZ3RoLTFdLnRleHR8fChsPXt0eXBlOjMsdGV4dDplfSksbCYmZi5wdXNoKGwpfX0sY29tbWVudDpmdW5jdGlvbihlLHQsbil7aWYocil7dmFyIGk9e3R5cGU6Myx0ZXh0OmUsaXNDb21tZW50OiEwfTtyLmNoaWxkcmVuLnB1c2goaSl9fX0pLG59ZnVuY3Rpb24gZmEoZSx0KXt2YXIgbixyOyhyPUlyKG49ZSxcImtleVwiKSkmJihuLmtleT1yKSxlLnBsYWluPSFlLmtleSYmIWUuc2NvcGVkU2xvdHMmJiFlLmF0dHJzTGlzdC5sZW5ndGgsZnVuY3Rpb24oZSl7dmFyIHQ9SXIoZSxcInJlZlwiKTt0JiYoZS5yZWY9dCxlLnJlZkluRm9yPWZ1bmN0aW9uKGUpe3ZhciB0PWU7Zm9yKDt0Oyl7aWYodm9pZCAwIT09dC5mb3IpcmV0dXJuITA7dD10LnBhcmVudH1yZXR1cm4hMX0oZSkpfShlKSxmdW5jdGlvbihlKXt2YXIgdDtcInRlbXBsYXRlXCI9PT1lLnRhZz8odD1GcihlLFwic2NvcGVcIiksZS5zbG90U2NvcGU9dHx8RnIoZSxcInNsb3Qtc2NvcGVcIikpOih0PUZyKGUsXCJzbG90LXNjb3BlXCIpKSYmKGUuc2xvdFNjb3BlPXQpO3ZhciBuPUlyKGUsXCJzbG90XCIpO24mJihlLnNsb3RUYXJnZXQ9J1wiXCInPT09bj8nXCJkZWZhdWx0XCInOm4sZS5zbG90VGFyZ2V0RHluYW1pYz0hKCFlLmF0dHJzTWFwW1wiOnNsb3RcIl0mJiFlLmF0dHJzTWFwW1widi1iaW5kOnNsb3RcIl0pLFwidGVtcGxhdGVcIj09PWUudGFnfHxlLnNsb3RTY29wZXx8TnIoZSxcInNsb3RcIixuLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUucmF3QXR0cnNNYXBbXCI6XCIrdF18fGUucmF3QXR0cnNNYXBbXCJ2LWJpbmQ6XCIrdF18fGUucmF3QXR0cnNNYXBbdF19KGUsXCJzbG90XCIpKSk7aWYoXCJ0ZW1wbGF0ZVwiPT09ZS50YWcpe3ZhciByPVByKGUsaWEpO2lmKHIpe3ZhciBpPXZhKHIpLG89aS5uYW1lLGE9aS5keW5hbWljO2Uuc2xvdFRhcmdldD1vLGUuc2xvdFRhcmdldER5bmFtaWM9YSxlLnNsb3RTY29wZT1yLnZhbHVlfHxjYX19ZWxzZXt2YXIgcz1QcihlLGlhKTtpZihzKXt2YXIgYz1lLnNjb3BlZFNsb3RzfHwoZS5zY29wZWRTbG90cz17fSksdT12YShzKSxsPXUubmFtZSxmPXUuZHluYW1pYyxwPWNbbF09dWEoXCJ0ZW1wbGF0ZVwiLFtdLGUpO3Auc2xvdFRhcmdldD1sLHAuc2xvdFRhcmdldER5bmFtaWM9ZixwLmNoaWxkcmVuPWUuY2hpbGRyZW4uZmlsdGVyKGZ1bmN0aW9uKGUpe2lmKCFlLnNsb3RTY29wZSlyZXR1cm4gZS5wYXJlbnQ9cCwhMH0pLHAuc2xvdFNjb3BlPXMudmFsdWV8fGNhLGUuY2hpbGRyZW49W10sZS5wbGFpbj0hMX19fShlKSxmdW5jdGlvbihlKXtcInNsb3RcIj09PWUudGFnJiYoZS5zbG90TmFtZT1JcihlLFwibmFtZVwiKSl9KGUpLGZ1bmN0aW9uKGUpe3ZhciB0Oyh0PUlyKGUsXCJpc1wiKSkmJihlLmNvbXBvbmVudD10KTtudWxsIT1GcihlLFwiaW5saW5lLXRlbXBsYXRlXCIpJiYoZS5pbmxpbmVUZW1wbGF0ZT0hMCl9KGUpO2Zvcih2YXIgaT0wO2k8em8ubGVuZ3RoO2krKyllPXpvW2ldKGUsdCl8fGU7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLG8sYSxzLGMsdT1lLmF0dHJzTGlzdDtmb3IodD0wLG49dS5sZW5ndGg7dDxuO3QrKylpZihyPWk9dVt0XS5uYW1lLG89dVt0XS52YWx1ZSxHby50ZXN0KHIpKWlmKGUuaGFzQmluZGluZ3M9ITAsKGE9aGEoci5yZXBsYWNlKEdvLFwiXCIpKSkmJihyPXIucmVwbGFjZShyYSxcIlwiKSksbmEudGVzdChyKSlyPXIucmVwbGFjZShuYSxcIlwiKSxvPUFyKG8pLChjPWVhLnRlc3QocikpJiYocj1yLnNsaWNlKDEsLTEpKSxhJiYoYS5wcm9wJiYhYyYmXCJpbm5lckh0bWxcIj09PShyPWIocikpJiYocj1cImlubmVySFRNTFwiKSxhLmNhbWVsJiYhYyYmKHI9YihyKSksYS5zeW5jJiYocz1CcihvLFwiJGV2ZW50XCIpLGM/TXIoZSwnXCJ1cGRhdGU6XCIrKCcrcitcIilcIixzLG51bGwsITEsMCx1W3RdLCEwKTooTXIoZSxcInVwZGF0ZTpcIitiKHIpLHMsbnVsbCwhMSwwLHVbdF0pLEMocikhPT1iKHIpJiZNcihlLFwidXBkYXRlOlwiK0MocikscyxudWxsLCExLDAsdVt0XSkpKSksYSYmYS5wcm9wfHwhZS5jb21wb25lbnQmJnFvKGUudGFnLGUuYXR0cnNNYXAudHlwZSxyKT9FcihlLHIsbyx1W3RdLGMpOk5yKGUscixvLHVbdF0sYyk7ZWxzZSBpZihaby50ZXN0KHIpKXI9ci5yZXBsYWNlKFpvLFwiXCIpLChjPWVhLnRlc3QocikpJiYocj1yLnNsaWNlKDEsLTEpKSxNcihlLHIsbyxhLCExLDAsdVt0XSxjKTtlbHNle3ZhciBsPShyPXIucmVwbGFjZShHbyxcIlwiKSkubWF0Y2godGEpLGY9bCYmbFsxXTtjPSExLGYmJihyPXIuc2xpY2UoMCwtKGYubGVuZ3RoKzEpKSxlYS50ZXN0KGYpJiYoZj1mLnNsaWNlKDEsLTEpLGM9ITApKSxEcihlLHIsaSxvLGYsYyxhLHVbdF0pfWVsc2UgTnIoZSxyLEpTT04uc3RyaW5naWZ5KG8pLHVbdF0pLCFlLmNvbXBvbmVudCYmXCJtdXRlZFwiPT09ciYmcW8oZS50YWcsZS5hdHRyc01hcC50eXBlLHIpJiZFcihlLHIsXCJ0cnVlXCIsdVt0XSl9KGUpLGV9ZnVuY3Rpb24gcGEoZSl7dmFyIHQ7aWYodD1GcihlLFwidi1mb3JcIikpe3ZhciBuPWZ1bmN0aW9uKGUpe3ZhciB0PWUubWF0Y2goWG8pO2lmKCF0KXJldHVybjt2YXIgbj17fTtuLmZvcj10WzJdLnRyaW0oKTt2YXIgcj10WzFdLnRyaW0oKS5yZXBsYWNlKFFvLFwiXCIpLGk9ci5tYXRjaChZbyk7aT8obi5hbGlhcz1yLnJlcGxhY2UoWW8sXCJcIikudHJpbSgpLG4uaXRlcmF0b3IxPWlbMV0udHJpbSgpLGlbMl0mJihuLml0ZXJhdG9yMj1pWzJdLnRyaW0oKSkpOm4uYWxpYXM9cjtyZXR1cm4gbn0odCk7biYmQShlLG4pfX1mdW5jdGlvbiBkYShlLHQpe2UuaWZDb25kaXRpb25zfHwoZS5pZkNvbmRpdGlvbnM9W10pLGUuaWZDb25kaXRpb25zLnB1c2godCl9ZnVuY3Rpb24gdmEoZSl7dmFyIHQ9ZS5uYW1lLnJlcGxhY2UoaWEsXCJcIik7cmV0dXJuIHR8fFwiI1wiIT09ZS5uYW1lWzBdJiYodD1cImRlZmF1bHRcIiksZWEudGVzdCh0KT97bmFtZTp0LnNsaWNlKDEsLTEpLGR5bmFtaWM6ITB9OntuYW1lOidcIicrdCsnXCInLGR5bmFtaWM6ITF9fWZ1bmN0aW9uIGhhKGUpe3ZhciB0PWUubWF0Y2gocmEpO2lmKHQpe3ZhciBuPXt9O3JldHVybiB0LmZvckVhY2goZnVuY3Rpb24oZSl7bltlLnNsaWNlKDEpXT0hMH0pLG59fWZ1bmN0aW9uIG1hKGUpe2Zvcih2YXIgdD17fSxuPTAscj1lLmxlbmd0aDtuPHI7bisrKXRbZVtuXS5uYW1lXT1lW25dLnZhbHVlO3JldHVybiB0fXZhciB5YT0vXnhtbG5zOk5TXFxkKy8sZ2E9L15OU1xcZCs6LztmdW5jdGlvbiBfYShlKXtyZXR1cm4gdWEoZS50YWcsZS5hdHRyc0xpc3Quc2xpY2UoKSxlLnBhcmVudCl9dmFyIGJhPVttbyxnbyx7cHJlVHJhbnNmb3JtTm9kZTpmdW5jdGlvbihlLHQpe2lmKFwiaW5wdXRcIj09PWUudGFnKXt2YXIgbixyPWUuYXR0cnNNYXA7aWYoIXJbXCJ2LW1vZGVsXCJdKXJldHVybjtpZigocltcIjp0eXBlXCJdfHxyW1widi1iaW5kOnR5cGVcIl0pJiYobj1JcihlLFwidHlwZVwiKSksci50eXBlfHxufHwhcltcInYtYmluZFwiXXx8KG49XCIoXCIrcltcInYtYmluZFwiXStcIikudHlwZVwiKSxuKXt2YXIgaT1GcihlLFwidi1pZlwiLCEwKSxvPWk/XCImJihcIitpK1wiKVwiOlwiXCIsYT1udWxsIT1GcihlLFwidi1lbHNlXCIsITApLHM9RnIoZSxcInYtZWxzZS1pZlwiLCEwKSxjPV9hKGUpO3BhKGMpLGpyKGMsXCJ0eXBlXCIsXCJjaGVja2JveFwiKSxmYShjLHQpLGMucHJvY2Vzc2VkPSEwLGMuaWY9XCIoXCIrbitcIik9PT0nY2hlY2tib3gnXCIrbyxkYShjLHtleHA6Yy5pZixibG9jazpjfSk7dmFyIHU9X2EoZSk7RnIodSxcInYtZm9yXCIsITApLGpyKHUsXCJ0eXBlXCIsXCJyYWRpb1wiKSxmYSh1LHQpLGRhKGMse2V4cDpcIihcIituK1wiKT09PSdyYWRpbydcIitvLGJsb2NrOnV9KTt2YXIgbD1fYShlKTtyZXR1cm4gRnIobCxcInYtZm9yXCIsITApLGpyKGwsXCI6dHlwZVwiLG4pLGZhKGwsdCksZGEoYyx7ZXhwOmksYmxvY2s6bH0pLGE/Yy5lbHNlPSEwOnMmJihjLmVsc2VpZj1zKSxjfX19fV07dmFyICRhLHdhLENhPXtleHBlY3RIVE1MOiEwLG1vZHVsZXM6YmEsZGlyZWN0aXZlczp7bW9kZWw6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXQudmFsdWUsaT10Lm1vZGlmaWVycyxvPWUudGFnLGE9ZS5hdHRyc01hcC50eXBlO2lmKGUuY29tcG9uZW50KXJldHVybiBIcihlLHIsaSksITE7aWYoXCJzZWxlY3RcIj09PW8pIWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0ndmFyICQkc2VsZWN0ZWRWYWwgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwoJGV2ZW50LnRhcmdldC5vcHRpb25zLGZ1bmN0aW9uKG8pe3JldHVybiBvLnNlbGVjdGVkfSkubWFwKGZ1bmN0aW9uKG8pe3ZhciB2YWwgPSBcIl92YWx1ZVwiIGluIG8gPyBvLl92YWx1ZSA6IG8udmFsdWU7cmV0dXJuICcrKG4mJm4ubnVtYmVyP1wiX24odmFsKVwiOlwidmFsXCIpK1wifSk7XCI7cj1yK1wiIFwiK0JyKHQsXCIkZXZlbnQudGFyZ2V0Lm11bHRpcGxlID8gJCRzZWxlY3RlZFZhbCA6ICQkc2VsZWN0ZWRWYWxbMF1cIiksTXIoZSxcImNoYW5nZVwiLHIsbnVsbCwhMCl9KGUscixpKTtlbHNlIGlmKFwiaW5wdXRcIj09PW8mJlwiY2hlY2tib3hcIj09PWEpIWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uJiZuLm51bWJlcixpPUlyKGUsXCJ2YWx1ZVwiKXx8XCJudWxsXCIsbz1JcihlLFwidHJ1ZS12YWx1ZVwiKXx8XCJ0cnVlXCIsYT1JcihlLFwiZmFsc2UtdmFsdWVcIil8fFwiZmFsc2VcIjtFcihlLFwiY2hlY2tlZFwiLFwiQXJyYXkuaXNBcnJheShcIit0K1wiKT9faShcIit0K1wiLFwiK2krXCIpPi0xXCIrKFwidHJ1ZVwiPT09bz9cIjooXCIrdCtcIilcIjpcIjpfcShcIit0K1wiLFwiK28rXCIpXCIpKSxNcihlLFwiY2hhbmdlXCIsXCJ2YXIgJCRhPVwiK3QrXCIsJCRlbD0kZXZlbnQudGFyZ2V0LCQkYz0kJGVsLmNoZWNrZWQ/KFwiK28rXCIpOihcIithK1wiKTtpZihBcnJheS5pc0FycmF5KCQkYSkpe3ZhciAkJHY9XCIrKHI/XCJfbihcIitpK1wiKVwiOmkpK1wiLCQkaT1faSgkJGEsJCR2KTtpZigkJGVsLmNoZWNrZWQpeyQkaTwwJiYoXCIrQnIodCxcIiQkYS5jb25jYXQoWyQkdl0pXCIpK1wiKX1lbHNleyQkaT4tMSYmKFwiK0JyKHQsXCIkJGEuc2xpY2UoMCwkJGkpLmNvbmNhdCgkJGEuc2xpY2UoJCRpKzEpKVwiKStcIil9fWVsc2V7XCIrQnIodCxcIiQkY1wiKStcIn1cIixudWxsLCEwKX0oZSxyLGkpO2Vsc2UgaWYoXCJpbnB1dFwiPT09byYmXCJyYWRpb1wiPT09YSkhZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4mJm4ubnVtYmVyLGk9SXIoZSxcInZhbHVlXCIpfHxcIm51bGxcIjtFcihlLFwiY2hlY2tlZFwiLFwiX3EoXCIrdCtcIixcIisoaT1yP1wiX24oXCIraStcIilcIjppKStcIilcIiksTXIoZSxcImNoYW5nZVwiLEJyKHQsaSksbnVsbCwhMCl9KGUscixpKTtlbHNlIGlmKFwiaW5wdXRcIj09PW98fFwidGV4dGFyZWFcIj09PW8pIWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1lLmF0dHJzTWFwLnR5cGUsaT1ufHx7fSxvPWkubGF6eSxhPWkubnVtYmVyLHM9aS50cmltLGM9IW8mJlwicmFuZ2VcIiE9PXIsdT1vP1wiY2hhbmdlXCI6XCJyYW5nZVwiPT09cj9XcjpcImlucHV0XCIsbD1cIiRldmVudC50YXJnZXQudmFsdWVcIjtzJiYobD1cIiRldmVudC50YXJnZXQudmFsdWUudHJpbSgpXCIpLGEmJihsPVwiX24oXCIrbCtcIilcIik7dmFyIGY9QnIodCxsKTtjJiYoZj1cImlmKCRldmVudC50YXJnZXQuY29tcG9zaW5nKXJldHVybjtcIitmKSxFcihlLFwidmFsdWVcIixcIihcIit0K1wiKVwiKSxNcihlLHUsZixudWxsLCEwKSwoc3x8YSkmJk1yKGUsXCJibHVyXCIsXCIkZm9yY2VVcGRhdGUoKVwiKX0oZSxyLGkpO2Vsc2UgaWYoIUYuaXNSZXNlcnZlZFRhZyhvKSlyZXR1cm4gSHIoZSxyLGkpLCExO3JldHVybiEwfSx0ZXh0OmZ1bmN0aW9uKGUsdCl7dC52YWx1ZSYmRXIoZSxcInRleHRDb250ZW50XCIsXCJfcyhcIit0LnZhbHVlK1wiKVwiLHQpfSxodG1sOmZ1bmN0aW9uKGUsdCl7dC52YWx1ZSYmRXIoZSxcImlubmVySFRNTFwiLFwiX3MoXCIrdC52YWx1ZStcIilcIix0KX19LGlzUHJlVGFnOmZ1bmN0aW9uKGUpe3JldHVyblwicHJlXCI9PT1lfSxpc1VuYXJ5VGFnOmJvLG11c3RVc2VQcm9wOmpuLGNhbkJlTGVmdE9wZW5UYWc6JG8saXNSZXNlcnZlZFRhZzpXbixnZXRUYWdOYW1lc3BhY2U6Wm4sc3RhdGljS2V5czpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5jb25jYXQodC5zdGF0aWNLZXlzfHxbXSl9LFtdKS5qb2luKFwiLFwiKX0oYmEpfSx4YT1nKGZ1bmN0aW9uKGUpe3JldHVybiBwKFwidHlwZSx0YWcsYXR0cnNMaXN0LGF0dHJzTWFwLHBsYWluLHBhcmVudCxjaGlsZHJlbixhdHRycyxzdGFydCxlbmQscmF3QXR0cnNNYXBcIisoZT9cIixcIitlOlwiXCIpKX0pO2Z1bmN0aW9uIGthKGUsdCl7ZSYmKCRhPXhhKHQuc3RhdGljS2V5c3x8XCJcIiksd2E9dC5pc1Jlc2VydmVkVGFnfHxULGZ1bmN0aW9uIGUodCl7dC5zdGF0aWM9ZnVuY3Rpb24oZSl7aWYoMj09PWUudHlwZSlyZXR1cm4hMTtpZigzPT09ZS50eXBlKXJldHVybiEwO3JldHVybiEoIWUucHJlJiYoZS5oYXNCaW5kaW5nc3x8ZS5pZnx8ZS5mb3J8fGQoZS50YWcpfHwhd2EoZS50YWcpfHxmdW5jdGlvbihlKXtmb3IoO2UucGFyZW50Oyl7aWYoXCJ0ZW1wbGF0ZVwiIT09KGU9ZS5wYXJlbnQpLnRhZylyZXR1cm4hMTtpZihlLmZvcilyZXR1cm4hMH1yZXR1cm4hMX0oZSl8fCFPYmplY3Qua2V5cyhlKS5ldmVyeSgkYSkpKX0odCk7aWYoMT09PXQudHlwZSl7aWYoIXdhKHQudGFnKSYmXCJzbG90XCIhPT10LnRhZyYmbnVsbD09dC5hdHRyc01hcFtcImlubGluZS10ZW1wbGF0ZVwiXSlyZXR1cm47Zm9yKHZhciBuPTAscj10LmNoaWxkcmVuLmxlbmd0aDtuPHI7bisrKXt2YXIgaT10LmNoaWxkcmVuW25dO2UoaSksaS5zdGF0aWN8fCh0LnN0YXRpYz0hMSl9aWYodC5pZkNvbmRpdGlvbnMpZm9yKHZhciBvPTEsYT10LmlmQ29uZGl0aW9ucy5sZW5ndGg7bzxhO28rKyl7dmFyIHM9dC5pZkNvbmRpdGlvbnNbb10uYmxvY2s7ZShzKSxzLnN0YXRpY3x8KHQuc3RhdGljPSExKX19fShlKSxmdW5jdGlvbiBlKHQsbil7aWYoMT09PXQudHlwZSl7aWYoKHQuc3RhdGljfHx0Lm9uY2UpJiYodC5zdGF0aWNJbkZvcj1uKSx0LnN0YXRpYyYmdC5jaGlsZHJlbi5sZW5ndGgmJigxIT09dC5jaGlsZHJlbi5sZW5ndGh8fDMhPT10LmNoaWxkcmVuWzBdLnR5cGUpKXJldHVybiB2b2lkKHQuc3RhdGljUm9vdD0hMCk7aWYodC5zdGF0aWNSb290PSExLHQuY2hpbGRyZW4pZm9yKHZhciByPTAsaT10LmNoaWxkcmVuLmxlbmd0aDtyPGk7cisrKWUodC5jaGlsZHJlbltyXSxufHwhIXQuZm9yKTtpZih0LmlmQ29uZGl0aW9ucylmb3IodmFyIG89MSxhPXQuaWZDb25kaXRpb25zLmxlbmd0aDtvPGE7bysrKWUodC5pZkNvbmRpdGlvbnNbb10uYmxvY2ssbil9fShlLCExKSl9dmFyIEFhPS9eKFtcXHckX10rfFxcKFteKV0qP1xcKSlcXHMqPT58XmZ1bmN0aW9uKD86XFxzK1tcXHckXSspP1xccypcXCgvLE9hPS9cXChbXildKj9cXCk7KiQvLFNhPS9eW0EtWmEtel8kXVtcXHckXSooPzpcXC5bQS1aYS16XyRdW1xcdyRdKnxcXFsnW14nXSo/J118XFxbXCJbXlwiXSo/XCJdfFxcW1xcZCtdfFxcW1tBLVphLXpfJF1bXFx3JF0qXSkqJC8sVGE9e2VzYzoyNyx0YWI6OSxlbnRlcjoxMyxzcGFjZTozMix1cDozOCxsZWZ0OjM3LHJpZ2h0OjM5LGRvd246NDAsZGVsZXRlOls4LDQ2XX0sRWE9e2VzYzpbXCJFc2NcIixcIkVzY2FwZVwiXSx0YWI6XCJUYWJcIixlbnRlcjpcIkVudGVyXCIsc3BhY2U6W1wiIFwiLFwiU3BhY2ViYXJcIl0sdXA6W1wiVXBcIixcIkFycm93VXBcIl0sbGVmdDpbXCJMZWZ0XCIsXCJBcnJvd0xlZnRcIl0scmlnaHQ6W1wiUmlnaHRcIixcIkFycm93UmlnaHRcIl0sZG93bjpbXCJEb3duXCIsXCJBcnJvd0Rvd25cIl0sZGVsZXRlOltcIkJhY2tzcGFjZVwiLFwiRGVsZXRlXCIsXCJEZWxcIl19LE5hPWZ1bmN0aW9uKGUpe3JldHVyblwiaWYoXCIrZStcIilyZXR1cm4gbnVsbDtcIn0samE9e3N0b3A6XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCIscHJldmVudDpcIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1wiLHNlbGY6TmEoXCIkZXZlbnQudGFyZ2V0ICE9PSAkZXZlbnQuY3VycmVudFRhcmdldFwiKSxjdHJsOk5hKFwiISRldmVudC5jdHJsS2V5XCIpLHNoaWZ0Ok5hKFwiISRldmVudC5zaGlmdEtleVwiKSxhbHQ6TmEoXCIhJGV2ZW50LmFsdEtleVwiKSxtZXRhOk5hKFwiISRldmVudC5tZXRhS2V5XCIpLGxlZnQ6TmEoXCInYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMFwiKSxtaWRkbGU6TmEoXCInYnV0dG9uJyBpbiAkZXZlbnQgJiYgJGV2ZW50LmJ1dHRvbiAhPT0gMVwiKSxyaWdodDpOYShcIididXR0b24nIGluICRldmVudCAmJiAkZXZlbnQuYnV0dG9uICE9PSAyXCIpfTtmdW5jdGlvbiBEYShlLHQpe3ZhciBuPXQ/XCJuYXRpdmVPbjpcIjpcIm9uOlwiLHI9XCJcIixpPVwiXCI7Zm9yKHZhciBvIGluIGUpe3ZhciBhPUxhKGVbb10pO2Vbb10mJmVbb10uZHluYW1pYz9pKz1vK1wiLFwiK2ErXCIsXCI6cis9J1wiJytvKydcIjonK2ErXCIsXCJ9cmV0dXJuIHI9XCJ7XCIrci5zbGljZSgwLC0xKStcIn1cIixpP24rXCJfZChcIityK1wiLFtcIitpLnNsaWNlKDAsLTEpK1wiXSlcIjpuK3J9ZnVuY3Rpb24gTGEoZSl7aWYoIWUpcmV0dXJuXCJmdW5jdGlvbigpe31cIjtpZihBcnJheS5pc0FycmF5KGUpKXJldHVyblwiW1wiK2UubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBMYShlKX0pLmpvaW4oXCIsXCIpK1wiXVwiO3ZhciB0PVNhLnRlc3QoZS52YWx1ZSksbj1BYS50ZXN0KGUudmFsdWUpLHI9U2EudGVzdChlLnZhbHVlLnJlcGxhY2UoT2EsXCJcIikpO2lmKGUubW9kaWZpZXJzKXt2YXIgaT1cIlwiLG89XCJcIixhPVtdO2Zvcih2YXIgcyBpbiBlLm1vZGlmaWVycylpZihqYVtzXSlvKz1qYVtzXSxUYVtzXSYmYS5wdXNoKHMpO2Vsc2UgaWYoXCJleGFjdFwiPT09cyl7dmFyIGM9ZS5tb2RpZmllcnM7bys9TmEoW1wiY3RybFwiLFwic2hpZnRcIixcImFsdFwiLFwibWV0YVwiXS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIWNbZV19KS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuXCIkZXZlbnQuXCIrZStcIktleVwifSkuam9pbihcInx8XCIpKX1lbHNlIGEucHVzaChzKTtyZXR1cm4gYS5sZW5ndGgmJihpKz1mdW5jdGlvbihlKXtyZXR1cm5cImlmKCEkZXZlbnQudHlwZS5pbmRleE9mKCdrZXknKSYmXCIrZS5tYXAoTWEpLmpvaW4oXCImJlwiKStcIilyZXR1cm4gbnVsbDtcIn0oYSkpLG8mJihpKz1vKSxcImZ1bmN0aW9uKCRldmVudCl7XCIraSsodD9cInJldHVybiBcIitlLnZhbHVlK1wiKCRldmVudClcIjpuP1wicmV0dXJuIChcIitlLnZhbHVlK1wiKSgkZXZlbnQpXCI6cj9cInJldHVybiBcIitlLnZhbHVlOmUudmFsdWUpK1wifVwifXJldHVybiB0fHxuP2UudmFsdWU6XCJmdW5jdGlvbigkZXZlbnQpe1wiKyhyP1wicmV0dXJuIFwiK2UudmFsdWU6ZS52YWx1ZSkrXCJ9XCJ9ZnVuY3Rpb24gTWEoZSl7dmFyIHQ9cGFyc2VJbnQoZSwxMCk7aWYodClyZXR1cm5cIiRldmVudC5rZXlDb2RlIT09XCIrdDt2YXIgbj1UYVtlXSxyPUVhW2VdO3JldHVyblwiX2soJGV2ZW50LmtleUNvZGUsXCIrSlNPTi5zdHJpbmdpZnkoZSkrXCIsXCIrSlNPTi5zdHJpbmdpZnkobikrXCIsJGV2ZW50LmtleSxcIitKU09OLnN0cmluZ2lmeShyKStcIilcIn12YXIgSWE9e29uOmZ1bmN0aW9uKGUsdCl7ZS53cmFwTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVyblwiX2coXCIrZStcIixcIit0LnZhbHVlK1wiKVwifX0sYmluZDpmdW5jdGlvbihlLHQpe2Uud3JhcERhdGE9ZnVuY3Rpb24obil7cmV0dXJuXCJfYihcIituK1wiLCdcIitlLnRhZytcIicsXCIrdC52YWx1ZStcIixcIisodC5tb2RpZmllcnMmJnQubW9kaWZpZXJzLnByb3A/XCJ0cnVlXCI6XCJmYWxzZVwiKSsodC5tb2RpZmllcnMmJnQubW9kaWZpZXJzLnN5bmM/XCIsdHJ1ZVwiOlwiXCIpK1wiKVwifX0sY2xvYWs6U30sRmE9ZnVuY3Rpb24oZSl7dGhpcy5vcHRpb25zPWUsdGhpcy53YXJuPWUud2Fybnx8U3IsdGhpcy50cmFuc2Zvcm1zPVRyKGUubW9kdWxlcyxcInRyYW5zZm9ybUNvZGVcIiksdGhpcy5kYXRhR2VuRm5zPVRyKGUubW9kdWxlcyxcImdlbkRhdGFcIiksdGhpcy5kaXJlY3RpdmVzPUEoQSh7fSxJYSksZS5kaXJlY3RpdmVzKTt2YXIgdD1lLmlzUmVzZXJ2ZWRUYWd8fFQ7dGhpcy5tYXliZUNvbXBvbmVudD1mdW5jdGlvbihlKXtyZXR1cm4hIWUuY29tcG9uZW50fHwhdChlLnRhZyl9LHRoaXMub25jZUlkPTAsdGhpcy5zdGF0aWNSZW5kZXJGbnM9W10sdGhpcy5wcmU9ITF9O2Z1bmN0aW9uIFBhKGUsdCl7dmFyIG49bmV3IEZhKHQpO3JldHVybntyZW5kZXI6XCJ3aXRoKHRoaXMpe3JldHVybiBcIisoZT9SYShlLG4pOidfYyhcImRpdlwiKScpK1wifVwiLHN0YXRpY1JlbmRlckZuczpuLnN0YXRpY1JlbmRlckZuc319ZnVuY3Rpb24gUmEoZSx0KXtpZihlLnBhcmVudCYmKGUucHJlPWUucHJlfHxlLnBhcmVudC5wcmUpLGUuc3RhdGljUm9vdCYmIWUuc3RhdGljUHJvY2Vzc2VkKXJldHVybiBIYShlLHQpO2lmKGUub25jZSYmIWUub25jZVByb2Nlc3NlZClyZXR1cm4gQmEoZSx0KTtpZihlLmZvciYmIWUuZm9yUHJvY2Vzc2VkKXJldHVybiB6YShlLHQpO2lmKGUuaWYmJiFlLmlmUHJvY2Vzc2VkKXJldHVybiBVYShlLHQpO2lmKFwidGVtcGxhdGVcIiE9PWUudGFnfHxlLnNsb3RUYXJnZXR8fHQucHJlKXtpZihcInNsb3RcIj09PWUudGFnKXJldHVybiBmdW5jdGlvbihlLHQpe3ZhciBuPWUuc2xvdE5hbWV8fCdcImRlZmF1bHRcIicscj1xYShlLHQpLGk9XCJfdChcIituKyhyP1wiLFwiK3I6XCJcIiksbz1lLmF0dHJzfHxlLmR5bmFtaWNBdHRycz9HYSgoZS5hdHRyc3x8W10pLmNvbmNhdChlLmR5bmFtaWNBdHRyc3x8W10pLm1hcChmdW5jdGlvbihlKXtyZXR1cm57bmFtZTpiKGUubmFtZSksdmFsdWU6ZS52YWx1ZSxkeW5hbWljOmUuZHluYW1pY319KSk6bnVsbCxhPWUuYXR0cnNNYXBbXCJ2LWJpbmRcIl07IW8mJiFhfHxyfHwoaSs9XCIsbnVsbFwiKTtvJiYoaSs9XCIsXCIrbyk7YSYmKGkrPShvP1wiXCI6XCIsbnVsbFwiKStcIixcIithKTtyZXR1cm4gaStcIilcIn0oZSx0KTt2YXIgbjtpZihlLmNvbXBvbmVudCluPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10LmlubGluZVRlbXBsYXRlP251bGw6cWEodCxuLCEwKTtyZXR1cm5cIl9jKFwiK2UrXCIsXCIrVmEodCxuKSsocj9cIixcIityOlwiXCIpK1wiKVwifShlLmNvbXBvbmVudCxlLHQpO2Vsc2V7dmFyIHI7KCFlLnBsYWlufHxlLnByZSYmdC5tYXliZUNvbXBvbmVudChlKSkmJihyPVZhKGUsdCkpO3ZhciBpPWUuaW5saW5lVGVtcGxhdGU/bnVsbDpxYShlLHQsITApO249XCJfYygnXCIrZS50YWcrXCInXCIrKHI/XCIsXCIrcjpcIlwiKSsoaT9cIixcIitpOlwiXCIpK1wiKVwifWZvcih2YXIgbz0wO288dC50cmFuc2Zvcm1zLmxlbmd0aDtvKyspbj10LnRyYW5zZm9ybXNbb10oZSxuKTtyZXR1cm4gbn1yZXR1cm4gcWEoZSx0KXx8XCJ2b2lkIDBcIn1mdW5jdGlvbiBIYShlLHQpe2Uuc3RhdGljUHJvY2Vzc2VkPSEwO3ZhciBuPXQucHJlO3JldHVybiBlLnByZSYmKHQucHJlPWUucHJlKSx0LnN0YXRpY1JlbmRlckZucy5wdXNoKFwid2l0aCh0aGlzKXtyZXR1cm4gXCIrUmEoZSx0KStcIn1cIiksdC5wcmU9bixcIl9tKFwiKyh0LnN0YXRpY1JlbmRlckZucy5sZW5ndGgtMSkrKGUuc3RhdGljSW5Gb3I/XCIsdHJ1ZVwiOlwiXCIpK1wiKVwifWZ1bmN0aW9uIEJhKGUsdCl7aWYoZS5vbmNlUHJvY2Vzc2VkPSEwLGUuaWYmJiFlLmlmUHJvY2Vzc2VkKXJldHVybiBVYShlLHQpO2lmKGUuc3RhdGljSW5Gb3Ipe2Zvcih2YXIgbj1cIlwiLHI9ZS5wYXJlbnQ7cjspe2lmKHIuZm9yKXtuPXIua2V5O2JyZWFrfXI9ci5wYXJlbnR9cmV0dXJuIG4/XCJfbyhcIitSYShlLHQpK1wiLFwiK3Qub25jZUlkKysrXCIsXCIrbitcIilcIjpSYShlLHQpfXJldHVybiBIYShlLHQpfWZ1bmN0aW9uIFVhKGUsdCxuLHIpe3JldHVybiBlLmlmUHJvY2Vzc2VkPSEwLGZ1bmN0aW9uIGUodCxuLHIsaSl7aWYoIXQubGVuZ3RoKXJldHVybiBpfHxcIl9lKClcIjt2YXIgbz10LnNoaWZ0KCk7cmV0dXJuIG8uZXhwP1wiKFwiK28uZXhwK1wiKT9cIithKG8uYmxvY2spK1wiOlwiK2UodCxuLHIsaSk6XCJcIithKG8uYmxvY2spO2Z1bmN0aW9uIGEoZSl7cmV0dXJuIHI/cihlLG4pOmUub25jZT9CYShlLG4pOlJhKGUsbil9fShlLmlmQ29uZGl0aW9ucy5zbGljZSgpLHQsbixyKX1mdW5jdGlvbiB6YShlLHQsbixyKXt2YXIgaT1lLmZvcixvPWUuYWxpYXMsYT1lLml0ZXJhdG9yMT9cIixcIitlLml0ZXJhdG9yMTpcIlwiLHM9ZS5pdGVyYXRvcjI/XCIsXCIrZS5pdGVyYXRvcjI6XCJcIjtyZXR1cm4gZS5mb3JQcm9jZXNzZWQ9ITAsKHJ8fFwiX2xcIikrXCIoKFwiK2krXCIpLGZ1bmN0aW9uKFwiK28rYStzK1wiKXtyZXR1cm4gXCIrKG58fFJhKShlLHQpK1wifSlcIn1mdW5jdGlvbiBWYShlLHQpe3ZhciBuPVwie1wiLHI9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmRpcmVjdGl2ZXM7aWYoIW4pcmV0dXJuO3ZhciByLGksbyxhLHM9XCJkaXJlY3RpdmVzOltcIixjPSExO2ZvcihyPTAsaT1uLmxlbmd0aDtyPGk7cisrKXtvPW5bcl0sYT0hMDt2YXIgdT10LmRpcmVjdGl2ZXNbby5uYW1lXTt1JiYoYT0hIXUoZSxvLHQud2FybikpLGEmJihjPSEwLHMrPSd7bmFtZTpcIicrby5uYW1lKydcIixyYXdOYW1lOlwiJytvLnJhd05hbWUrJ1wiJysoby52YWx1ZT9cIix2YWx1ZTooXCIrby52YWx1ZStcIiksZXhwcmVzc2lvbjpcIitKU09OLnN0cmluZ2lmeShvLnZhbHVlKTpcIlwiKSsoby5hcmc/XCIsYXJnOlwiKyhvLmlzRHluYW1pY0FyZz9vLmFyZzonXCInK28uYXJnKydcIicpOlwiXCIpKyhvLm1vZGlmaWVycz9cIixtb2RpZmllcnM6XCIrSlNPTi5zdHJpbmdpZnkoby5tb2RpZmllcnMpOlwiXCIpK1wifSxcIil9aWYoYylyZXR1cm4gcy5zbGljZSgwLC0xKStcIl1cIn0oZSx0KTtyJiYobis9citcIixcIiksZS5rZXkmJihuKz1cImtleTpcIitlLmtleStcIixcIiksZS5yZWYmJihuKz1cInJlZjpcIitlLnJlZitcIixcIiksZS5yZWZJbkZvciYmKG4rPVwicmVmSW5Gb3I6dHJ1ZSxcIiksZS5wcmUmJihuKz1cInByZTp0cnVlLFwiKSxlLmNvbXBvbmVudCYmKG4rPSd0YWc6XCInK2UudGFnKydcIiwnKTtmb3IodmFyIGk9MDtpPHQuZGF0YUdlbkZucy5sZW5ndGg7aSsrKW4rPXQuZGF0YUdlbkZuc1tpXShlKTtpZihlLmF0dHJzJiYobis9XCJhdHRyczpcIitHYShlLmF0dHJzKStcIixcIiksZS5wcm9wcyYmKG4rPVwiZG9tUHJvcHM6XCIrR2EoZS5wcm9wcykrXCIsXCIpLGUuZXZlbnRzJiYobis9RGEoZS5ldmVudHMsITEpK1wiLFwiKSxlLm5hdGl2ZUV2ZW50cyYmKG4rPURhKGUubmF0aXZlRXZlbnRzLCEwKStcIixcIiksZS5zbG90VGFyZ2V0JiYhZS5zbG90U2NvcGUmJihuKz1cInNsb3Q6XCIrZS5zbG90VGFyZ2V0K1wiLFwiKSxlLnNjb3BlZFNsb3RzJiYobis9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUuZm9yfHxPYmplY3Qua2V5cyh0KS5zb21lKGZ1bmN0aW9uKGUpe3ZhciBuPXRbZV07cmV0dXJuIG4uc2xvdFRhcmdldER5bmFtaWN8fG4uaWZ8fG4uZm9yfHxLYShuKX0pLGk9ISFlLmlmO2lmKCFyKWZvcih2YXIgbz1lLnBhcmVudDtvOyl7aWYoby5zbG90U2NvcGUmJm8uc2xvdFNjb3BlIT09Y2F8fG8uZm9yKXtyPSEwO2JyZWFrfW8uaWYmJihpPSEwKSxvPW8ucGFyZW50fXZhciBhPU9iamVjdC5rZXlzKHQpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gSmEodFtlXSxuKX0pLmpvaW4oXCIsXCIpO3JldHVyblwic2NvcGVkU2xvdHM6X3UoW1wiK2ErXCJdXCIrKHI/XCIsbnVsbCx0cnVlXCI6XCJcIikrKCFyJiZpP1wiLG51bGwsZmFsc2UsXCIrZnVuY3Rpb24oZSl7dmFyIHQ9NTM4MSxuPWUubGVuZ3RoO2Zvcig7bjspdD0zMyp0XmUuY2hhckNvZGVBdCgtLW4pO3JldHVybiB0Pj4+MH0oYSk6XCJcIikrXCIpXCJ9KGUsZS5zY29wZWRTbG90cyx0KStcIixcIiksZS5tb2RlbCYmKG4rPVwibW9kZWw6e3ZhbHVlOlwiK2UubW9kZWwudmFsdWUrXCIsY2FsbGJhY2s6XCIrZS5tb2RlbC5jYWxsYmFjaytcIixleHByZXNzaW9uOlwiK2UubW9kZWwuZXhwcmVzc2lvbitcIn0sXCIpLGUuaW5saW5lVGVtcGxhdGUpe3ZhciBvPWZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5jaGlsZHJlblswXTtpZihuJiYxPT09bi50eXBlKXt2YXIgcj1QYShuLHQub3B0aW9ucyk7cmV0dXJuXCJpbmxpbmVUZW1wbGF0ZTp7cmVuZGVyOmZ1bmN0aW9uKCl7XCIrci5yZW5kZXIrXCJ9LHN0YXRpY1JlbmRlckZuczpbXCIrci5zdGF0aWNSZW5kZXJGbnMubWFwKGZ1bmN0aW9uKGUpe3JldHVyblwiZnVuY3Rpb24oKXtcIitlK1wifVwifSkuam9pbihcIixcIikrXCJdfVwifX0oZSx0KTtvJiYobis9bytcIixcIil9cmV0dXJuIG49bi5yZXBsYWNlKC8sJC8sXCJcIikrXCJ9XCIsZS5keW5hbWljQXR0cnMmJihuPVwiX2IoXCIrbisnLFwiJytlLnRhZysnXCIsJytHYShlLmR5bmFtaWNBdHRycykrXCIpXCIpLGUud3JhcERhdGEmJihuPWUud3JhcERhdGEobikpLGUud3JhcExpc3RlbmVycyYmKG49ZS53cmFwTGlzdGVuZXJzKG4pKSxufWZ1bmN0aW9uIEthKGUpe3JldHVybiAxPT09ZS50eXBlJiYoXCJzbG90XCI9PT1lLnRhZ3x8ZS5jaGlsZHJlbi5zb21lKEthKSl9ZnVuY3Rpb24gSmEoZSx0KXt2YXIgbj1lLmF0dHJzTWFwW1wic2xvdC1zY29wZVwiXTtpZihlLmlmJiYhZS5pZlByb2Nlc3NlZCYmIW4pcmV0dXJuIFVhKGUsdCxKYSxcIm51bGxcIik7aWYoZS5mb3ImJiFlLmZvclByb2Nlc3NlZClyZXR1cm4gemEoZSx0LEphKTt2YXIgcj1lLnNsb3RTY29wZT09PWNhP1wiXCI6U3RyaW5nKGUuc2xvdFNjb3BlKSxpPVwiZnVuY3Rpb24oXCIrcitcIil7cmV0dXJuIFwiKyhcInRlbXBsYXRlXCI9PT1lLnRhZz9lLmlmJiZuP1wiKFwiK2UuaWYrXCIpP1wiKyhxYShlLHQpfHxcInVuZGVmaW5lZFwiKStcIjp1bmRlZmluZWRcIjpxYShlLHQpfHxcInVuZGVmaW5lZFwiOlJhKGUsdCkpK1wifVwiLG89cj9cIlwiOlwiLHByb3h5OnRydWVcIjtyZXR1cm5cIntrZXk6XCIrKGUuc2xvdFRhcmdldHx8J1wiZGVmYXVsdFwiJykrXCIsZm46XCIraStvK1wifVwifWZ1bmN0aW9uIHFhKGUsdCxuLHIsaSl7dmFyIG89ZS5jaGlsZHJlbjtpZihvLmxlbmd0aCl7dmFyIGE9b1swXTtpZigxPT09by5sZW5ndGgmJmEuZm9yJiZcInRlbXBsYXRlXCIhPT1hLnRhZyYmXCJzbG90XCIhPT1hLnRhZyl7dmFyIHM9bj90Lm1heWJlQ29tcG9uZW50KGEpP1wiLDFcIjpcIiwwXCI6XCJcIjtyZXR1cm5cIlwiKyhyfHxSYSkoYSx0KStzfXZhciBjPW4/ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49MCxyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBpPWVbcl07aWYoMT09PWkudHlwZSl7aWYoV2EoaSl8fGkuaWZDb25kaXRpb25zJiZpLmlmQ29uZGl0aW9ucy5zb21lKGZ1bmN0aW9uKGUpe3JldHVybiBXYShlLmJsb2NrKX0pKXtuPTI7YnJlYWt9KHQoaSl8fGkuaWZDb25kaXRpb25zJiZpLmlmQ29uZGl0aW9ucy5zb21lKGZ1bmN0aW9uKGUpe3JldHVybiB0KGUuYmxvY2spfSkpJiYobj0xKX19cmV0dXJuIG59KG8sdC5tYXliZUNvbXBvbmVudCk6MCx1PWl8fFphO3JldHVyblwiW1wiK28ubWFwKGZ1bmN0aW9uKGUpe3JldHVybiB1KGUsdCl9KS5qb2luKFwiLFwiKStcIl1cIisoYz9cIixcIitjOlwiXCIpfX1mdW5jdGlvbiBXYShlKXtyZXR1cm4gdm9pZCAwIT09ZS5mb3J8fFwidGVtcGxhdGVcIj09PWUudGFnfHxcInNsb3RcIj09PWUudGFnfWZ1bmN0aW9uIFphKGUsdCl7cmV0dXJuIDE9PT1lLnR5cGU/UmEoZSx0KTozPT09ZS50eXBlJiZlLmlzQ29tbWVudD8ocj1lLFwiX2UoXCIrSlNPTi5zdHJpbmdpZnkoci50ZXh0KStcIilcIik6XCJfdihcIisoMj09PShuPWUpLnR5cGU/bi5leHByZXNzaW9uOlhhKEpTT04uc3RyaW5naWZ5KG4udGV4dCkpKStcIilcIjt2YXIgbixyfWZ1bmN0aW9uIEdhKGUpe2Zvcih2YXIgdD1cIlwiLG49XCJcIixyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBpPWVbcl0sbz1YYShpLnZhbHVlKTtpLmR5bmFtaWM/bis9aS5uYW1lK1wiLFwiK28rXCIsXCI6dCs9J1wiJytpLm5hbWUrJ1wiOicrbytcIixcIn1yZXR1cm4gdD1cIntcIit0LnNsaWNlKDAsLTEpK1wifVwiLG4/XCJfZChcIit0K1wiLFtcIituLnNsaWNlKDAsLTEpK1wiXSlcIjp0fWZ1bmN0aW9uIFhhKGUpe3JldHVybiBlLnJlcGxhY2UoL1xcdTIwMjgvZyxcIlxcXFx1MjAyOFwiKS5yZXBsYWNlKC9cXHUyMDI5L2csXCJcXFxcdTIwMjlcIil9bmV3IFJlZ0V4cChcIlxcXFxiXCIrXCJkbyxpZixmb3IsbGV0LG5ldyx0cnksdmFyLGNhc2UsZWxzZSx3aXRoLGF3YWl0LGJyZWFrLGNhdGNoLGNsYXNzLGNvbnN0LHN1cGVyLHRocm93LHdoaWxlLHlpZWxkLGRlbGV0ZSxleHBvcnQsaW1wb3J0LHJldHVybixzd2l0Y2gsZGVmYXVsdCxleHRlbmRzLGZpbmFsbHksY29udGludWUsZGVidWdnZXIsZnVuY3Rpb24sYXJndW1lbnRzXCIuc3BsaXQoXCIsXCIpLmpvaW4oXCJcXFxcYnxcXFxcYlwiKStcIlxcXFxiXCIpO2Z1bmN0aW9uIFlhKGUsdCl7dHJ5e3JldHVybiBuZXcgRnVuY3Rpb24oZSl9Y2F0Y2gobil7cmV0dXJuIHQucHVzaCh7ZXJyOm4sY29kZTplfSksU319ZnVuY3Rpb24gUWEoZSl7dmFyIHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gZnVuY3Rpb24obixyLGkpeyhyPUEoe30scikpLndhcm47ZGVsZXRlIHIud2Fybjt2YXIgbz1yLmRlbGltaXRlcnM/U3RyaW5nKHIuZGVsaW1pdGVycykrbjpuO2lmKHRbb10pcmV0dXJuIHRbb107dmFyIGE9ZShuLHIpLHM9e30sYz1bXTtyZXR1cm4gcy5yZW5kZXI9WWEoYS5yZW5kZXIsYykscy5zdGF0aWNSZW5kZXJGbnM9YS5zdGF0aWNSZW5kZXJGbnMubWFwKGZ1bmN0aW9uKGUpe3JldHVybiBZYShlLGMpfSksdFtvXT1zfX12YXIgZXMsdHMsbnM9KGVzPWZ1bmN0aW9uKGUsdCl7dmFyIG49bGEoZS50cmltKCksdCk7ITEhPT10Lm9wdGltaXplJiZrYShuLHQpO3ZhciByPVBhKG4sdCk7cmV0dXJue2FzdDpuLHJlbmRlcjpyLnJlbmRlcixzdGF0aWNSZW5kZXJGbnM6ci5zdGF0aWNSZW5kZXJGbnN9fSxmdW5jdGlvbihlKXtmdW5jdGlvbiB0KHQsbil7dmFyIHI9T2JqZWN0LmNyZWF0ZShlKSxpPVtdLG89W107aWYobilmb3IodmFyIGEgaW4gbi5tb2R1bGVzJiYoci5tb2R1bGVzPShlLm1vZHVsZXN8fFtdKS5jb25jYXQobi5tb2R1bGVzKSksbi5kaXJlY3RpdmVzJiYoci5kaXJlY3RpdmVzPUEoT2JqZWN0LmNyZWF0ZShlLmRpcmVjdGl2ZXN8fG51bGwpLG4uZGlyZWN0aXZlcykpLG4pXCJtb2R1bGVzXCIhPT1hJiZcImRpcmVjdGl2ZXNcIiE9PWEmJihyW2FdPW5bYV0pO3Iud2Fybj1mdW5jdGlvbihlLHQsbil7KG4/bzppKS5wdXNoKGUpfTt2YXIgcz1lcyh0LnRyaW0oKSxyKTtyZXR1cm4gcy5lcnJvcnM9aSxzLnRpcHM9byxzfXJldHVybntjb21waWxlOnQsY29tcGlsZVRvRnVuY3Rpb25zOlFhKHQpfX0pKENhKSxycz0obnMuY29tcGlsZSxucy5jb21waWxlVG9GdW5jdGlvbnMpO2Z1bmN0aW9uIGlzKGUpe3JldHVybih0cz10c3x8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKSkuaW5uZXJIVE1MPWU/JzxhIGhyZWY9XCJcXG5cIi8+JzonPGRpdiBhPVwiXFxuXCIvPicsdHMuaW5uZXJIVE1MLmluZGV4T2YoXCImIzEwO1wiKT4wfXZhciBvcz0hIXomJmlzKCExKSxhcz0hIXomJmlzKCEwKSxzcz1nKGZ1bmN0aW9uKGUpe3ZhciB0PVluKGUpO3JldHVybiB0JiZ0LmlubmVySFRNTH0pLGNzPXduLnByb3RvdHlwZS4kbW91bnQ7d24ucHJvdG90eXBlLiRtb3VudD1mdW5jdGlvbihlLHQpe2lmKChlPWUmJlluKGUpKT09PWRvY3VtZW50LmJvZHl8fGU9PT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpcmV0dXJuIHRoaXM7dmFyIG49dGhpcy4kb3B0aW9ucztpZighbi5yZW5kZXIpe3ZhciByPW4udGVtcGxhdGU7aWYocilpZihcInN0cmluZ1wiPT10eXBlb2YgcilcIiNcIj09PXIuY2hhckF0KDApJiYocj1zcyhyKSk7ZWxzZXtpZighci5ub2RlVHlwZSlyZXR1cm4gdGhpcztyPXIuaW5uZXJIVE1MfWVsc2UgZSYmKHI9ZnVuY3Rpb24oZSl7aWYoZS5vdXRlckhUTUwpcmV0dXJuIGUub3V0ZXJIVE1MO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7cmV0dXJuIHQuYXBwZW5kQ2hpbGQoZS5jbG9uZU5vZGUoITApKSx0LmlubmVySFRNTH0oZSkpO2lmKHIpe3ZhciBpPXJzKHIse291dHB1dFNvdXJjZVJhbmdlOiExLHNob3VsZERlY29kZU5ld2xpbmVzOm9zLHNob3VsZERlY29kZU5ld2xpbmVzRm9ySHJlZjphcyxkZWxpbWl0ZXJzOm4uZGVsaW1pdGVycyxjb21tZW50czpuLmNvbW1lbnRzfSx0aGlzKSxvPWkucmVuZGVyLGE9aS5zdGF0aWNSZW5kZXJGbnM7bi5yZW5kZXI9byxuLnN0YXRpY1JlbmRlckZucz1hfX1yZXR1cm4gY3MuY2FsbCh0aGlzLGUsdCl9LHduLmNvbXBpbGU9cnMsbW9kdWxlLmV4cG9ydHM9d247IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDcmVhdGUgYSBuZXcgbW9kdWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuXHR2YXIgbW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXSA9IHtcblx0XHRpZDogbW9kdWxlSWQsXG5cdFx0Ly8gbm8gbW9kdWxlLmxvYWRlZCBuZWVkZWRcblx0XHRleHBvcnRzOiB7fVxuXHR9O1xuXG5cdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuXHRfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXShtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuXHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuXHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59XG5cbiIsIi8vIGdldERlZmF1bHRFeHBvcnQgZnVuY3Rpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBub24taGFybW9ueSBtb2R1bGVzXG5fX3dlYnBhY2tfcmVxdWlyZV9fLm4gPSAobW9kdWxlKSA9PiB7XG5cdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuXHRcdCgpID0+IChtb2R1bGVbJ2RlZmF1bHQnXSkgOlxuXHRcdCgpID0+IChtb2R1bGUpO1xuXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQoZ2V0dGVyLCB7IGE6IGdldHRlciB9KTtcblx0cmV0dXJuIGdldHRlcjtcbn07IiwiLy8gZGVmaW5lIGdldHRlciBmdW5jdGlvbnMgZm9yIGhhcm1vbnkgZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5kID0gKGV4cG9ydHMsIGRlZmluaXRpb24pID0+IHtcblx0Zm9yKHZhciBrZXkgaW4gZGVmaW5pdGlvbikge1xuXHRcdGlmKF9fd2VicGFja19yZXF1aXJlX18ubyhkZWZpbml0aW9uLCBrZXkpICYmICFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywga2V5KSkge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGRlZmluaXRpb25ba2V5XSB9KTtcblx0XHR9XG5cdH1cbn07IiwiX193ZWJwYWNrX3JlcXVpcmVfXy5nID0gKGZ1bmN0aW9uKCkge1xuXHRpZiAodHlwZW9mIGdsb2JhbFRoaXMgPT09ICdvYmplY3QnKSByZXR1cm4gZ2xvYmFsVGhpcztcblx0dHJ5IHtcblx0XHRyZXR1cm4gdGhpcyB8fCBuZXcgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdGlmICh0eXBlb2Ygd2luZG93ID09PSAnb2JqZWN0JykgcmV0dXJuIHdpbmRvdztcblx0fVxufSkoKTsiLCJfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSAob2JqLCBwcm9wKSA9PiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCkpIiwiLy8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuX193ZWJwYWNrX3JlcXVpcmVfXy5yID0gKGV4cG9ydHMpID0+IHtcblx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cdH1cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbn07IiwiLyoqXG4gKiBDb3B5cmlnaHQgc2luY2UgMjAwNyBQcmVzdGFTaG9wIFNBIGFuZCBDb250cmlidXRvcnNcbiAqIFByZXN0YVNob3AgaXMgYW4gSW50ZXJuYXRpb25hbCBSZWdpc3RlcmVkIFRyYWRlbWFyayAmIFByb3BlcnR5IG9mIFByZXN0YVNob3AgU0FcbiAqXG4gKiBOT1RJQ0UgT0YgTElDRU5TRVxuICpcbiAqIFRoaXMgc291cmNlIGZpbGUgaXMgc3ViamVjdCB0byB0aGUgT3BlbiBTb2Z0d2FyZSBMaWNlbnNlIChPU0wgMy4wKVxuICogdGhhdCBpcyBidW5kbGVkIHdpdGggdGhpcyBwYWNrYWdlIGluIHRoZSBmaWxlIExJQ0VOU0UubWQuXG4gKiBJdCBpcyBhbHNvIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiBhdCB0aGlzIFVSTDpcbiAqIGh0dHBzOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvT1NMLTMuMFxuICogSWYgeW91IGRpZCBub3QgcmVjZWl2ZSBhIGNvcHkgb2YgdGhlIGxpY2Vuc2UgYW5kIGFyZSB1bmFibGUgdG9cbiAqIG9idGFpbiBpdCB0aHJvdWdoIHRoZSB3b3JsZC13aWRlLXdlYiwgcGxlYXNlIHNlbmQgYW4gZW1haWxcbiAqIHRvIGxpY2Vuc2VAcHJlc3Rhc2hvcC5jb20gc28gd2UgY2FuIHNlbmQgeW91IGEgY29weSBpbW1lZGlhdGVseS5cbiAqXG4gKiBESVNDTEFJTUVSXG4gKlxuICogRG8gbm90IGVkaXQgb3IgYWRkIHRvIHRoaXMgZmlsZSBpZiB5b3Ugd2lzaCB0byB1cGdyYWRlIFByZXN0YVNob3AgdG8gbmV3ZXJcbiAqIHZlcnNpb25zIGluIHRoZSBmdXR1cmUuIElmIHlvdSB3aXNoIHRvIGN1c3RvbWl6ZSBQcmVzdGFTaG9wIGZvciB5b3VyXG4gKiBuZWVkcyBwbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9kZXZkb2NzLnByZXN0YXNob3AuY29tLyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqXG4gKiBAYXV0aG9yICAgIFByZXN0YVNob3AgU0EgYW5kIENvbnRyaWJ1dG9ycyA8Y29udGFjdEBwcmVzdGFzaG9wLmNvbT5cbiAqIEBjb3B5cmlnaHQgU2luY2UgMjAwNyBQcmVzdGFTaG9wIFNBIGFuZCBDb250cmlidXRvcnNcbiAqIEBsaWNlbnNlICAgaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9PU0wtMy4wIE9wZW4gU29mdHdhcmUgTGljZW5zZSAoT1NMIDMuMClcbiAqL1xuXG5pbXBvcnQgQ2hvaWNlVHJlZSBmcm9tICdAY29tcG9uZW50cy9mb3JtL2Nob2ljZS10cmVlJztcbmltcG9ydCB0ZXh0VG9MaW5rUmV3cml0ZUNvcGllciBmcm9tICdAY29tcG9uZW50cy90ZXh0LXRvLWxpbmstcmV3cml0ZS1jb3BpZXInO1xuaW1wb3J0IFNlcnAgZnJvbSAnQGFwcC91dGlscy9zZXJwL2luZGV4JztcblxuY29uc3QgeyR9ID0gd2luZG93O1xuXG4kKCgpID0+IHtcbiAgbmV3IENob2ljZVRyZWUoJyNjbXNfcGFnZV9wYWdlX2NhdGVnb3J5X2lkJyk7XG5cbiAgd2luZG93LnByZXN0YXNob3AuY29tcG9uZW50LmluaXRDb21wb25lbnRzKFxuICAgIFtcbiAgICAgICdUcmFuc2xhdGFibGVJbnB1dCcsXG4gICAgICAnVHJhbnNsYXRhYmxlRmllbGQnLFxuICAgICAgJ1RpbnlNQ0VFZGl0b3InLFxuICAgIF0sXG4gICk7XG5cbiAgY29uc3QgdHJhbnNsYXRvcklucHV0ID0gd2luZG93LnByZXN0YXNob3AuaW5zdGFuY2UudHJhbnNsYXRhYmxlSW5wdXQ7XG5cbiAgbmV3IFNlcnAoXG4gICAge1xuICAgICAgY29udGFpbmVyOiAnI3NlcnAtYXBwJyxcbiAgICAgIGRlZmF1bHRUaXRsZTogJ2lucHV0W25hbWVePVwiY21zX3BhZ2VbdGl0bGVdXCJdJyxcbiAgICAgIHdhdGNoZWRUaXRsZTogJ2lucHV0W25hbWVePVwiY21zX3BhZ2VbbWV0YV90aXRsZV1cIl0nLFxuICAgICAgZGVmYXVsdERlc2NyaXB0aW9uOiAnaW5wdXRbbmFtZV49XCJjbXNfcGFnZVtkZXNjcmlwdGlvbl1cIl0nLFxuICAgICAgd2F0Y2hlZERlc2NyaXB0aW9uOiAnaW5wdXRbbmFtZV49XCJjbXNfcGFnZVttZXRhX2Rlc2NyaXB0aW9uXVwiXScsXG4gICAgICB3YXRjaGVkTWV0YVVybDogJ2lucHV0W25hbWVePVwiY21zX3BhZ2VbZnJpZW5kbHlfdXJsXVwiXScsXG4gICAgICBtdWx0aUxhbmd1YWdlSW5wdXQ6IGAke3RyYW5zbGF0b3JJbnB1dC5sb2NhbGVJbnB1dFNlbGVjdG9yfTpub3QoLmQtbm9uZSlgLFxuICAgICAgbXVsdGlMYW5ndWFnZUl0ZW06IHRyYW5zbGF0b3JJbnB1dC5sb2NhbGVJdGVtU2VsZWN0b3IsXG4gICAgfSxcbiAgICAkKCcjc2VycC1hcHAnKS5kYXRhKCdjbXMtdXJsJyksXG4gICk7XG5cbiAgbmV3IHdpbmRvdy5wcmVzdGFzaG9wLmNvbXBvbmVudC5UYWdnYWJsZUZpZWxkKHtcbiAgICB0b2tlbkZpZWxkU2VsZWN0b3I6ICdpbnB1dC5qcy10YWdnYWJsZS1maWVsZCcsXG4gICAgb3B0aW9uczoge1xuICAgICAgY3JlYXRlVG9rZW5zT25CbHVyOiB0cnVlLFxuICAgIH0sXG4gIH0pO1xuXG4gIG5ldyB3aW5kb3cucHJlc3Rhc2hvcC5jb21wb25lbnQuUHJldmlld09wZW5lcignLmpzLXByZXZpZXctdXJsJyk7XG5cbiAgdGV4dFRvTGlua1Jld3JpdGVDb3BpZXIoe1xuICAgIHNvdXJjZUVsZW1lbnRTZWxlY3RvcjogJ2lucHV0LmpzLWNvcGllci1zb3VyY2UtdGl0bGUnLFxuICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuICovXG4gICAgZGVzdGluYXRpb25FbGVtZW50U2VsZWN0b3I6IGAke3RyYW5zbGF0b3JJbnB1dC5sb2NhbGVJbnB1dFNlbGVjdG9yfTpub3QoLmQtbm9uZSkgaW5wdXQuanMtY29waWVyLWRlc3RpbmF0aW9uLWZyaWVuZGx5LXVybGAsXG4gIH0pO1xuXG4gIG5ldyBDaG9pY2VUcmVlKCcjY21zX3BhZ2Vfc2hvcF9hc3NvY2lhdGlvbicpLmVuYWJsZUF1dG9DaGVja0NoaWxkcmVuKCk7XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=

Youez - 2016 - github.com/yon3zu
LinuXploit