PageSourceSearch

https://elcomtec.co.kr/dist/bundle.js

js elcomtec.co.kr collected 2026-10-05 22:38:00 UTC 44,180 bytes, 2 lines download raw bytes

1!function(e){function t(t){for(var o,i,s=t[0],c=t[1],u=t[2],d=0,l=[];d<s.length;d++)i=s[d],Object.prototype.hasOwnProperty.call(r,i)&&r[i]&&l.push(r[i][0]),r[i]=0;for(o in c)Object.prototype.hasOwnProperty.call(c,o)&&(e[o]=c[o]);for(p&&p(t);l.length;)l.shift()();return a.push.apply(a,u||[]),n()}function n(){for(var e,t=0;t<a.length;t++){for(var n=a[t],o=!0,s=1;s<n.length;s++){var c=n[s];0!==r[c]&&(o=!1)}o&&(a.splice(t--,1),e=i(i.s=n[0]))}return e}var o={},r={0:0},a=[];function i(t){if(o[t])return o[t].exports;var n=o[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.m=e,i.c=o,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)i.d(n,o,function(t){return e[t]}.bind(null,o));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/dist/";var s=window.webpackJsonp=window.webpackJsonp||[],c=s.push.bind(s);s.push=t,s=s.slice();for(var u=0;u<s.length;u++)t(s[u]);var p=c;a.push([147,1]),n()}({143:function(e,t){e.exports=function(e){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(e.substr(0,4)))return!0}(navigator.userAgent||navigator.vendor||window.opera)?"mobile":"pc"},147:function(e,t,n){n(148),e.exports=n(383)},355:function(e,t){Number.prototype.format=function(e,t){var n="\\d(?=(\\d{"+(t||3)+"})+"+(e>0?"\\.":"$")+")";return this.toFixed(Math.max(0,~~e)).replace(new RegExp(n,"g"),"$&,")}},382:function(e,t,n){var o={"./test/hello-world.vue":384};function r(e){var t=a(e);return n(t)}function a(e){if(!n.o(o,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}r.keys=function(){return Object.keys(o)},r.resolve=a,e.exports=r,r.id=382},383:function(e,t,n){"use strict";n.r(t);var o=n(10),r=n(141),a=n.n(r);o.default.prototype.$http=a.a;var i=n(95);o.default.use(i.a);var s=new i.a.Store({state:{},mutations:{},actions:{},modules:{}}),c=n(96),u=n.n(c);n(352);o.default.use(u.a);var p=new u.a({}),d=n(142),l=n.n(d);o.default.use(l.a);n(355);var m=n(143),w=n.n(m);
1switch(document.write('<script type="text/javascript" src="https://wcs.naver.net/wcslog.js"><\/script>'),document.write('<script type="text/javascript">'),document.write('if(!wcs_add){ var wcs_add = {}; wcs_add["wa"] = ""; wcs.inflow("'+window.location.hostname+'"); }'),document.write("<\/script>"),w.a){case"pc":document.write('<script type="text/javascript" src="https://pay.naver.com/customer/js/naverPayButton.js" charset="UTF-8"><\/script>');break;case"mobile":document.write('<script type="text/javascript" src="https://pay.naver.com/customer/js/mobile/naverPayButton.js" charset="UTF-8"><\/script>')}var f=n(144),v=n.n(f),g=n(94),h=n.n(g),b=n(145),y=n.n(b);o.default.component(v.a);var k=n(382);k.keys().forEach((function(e){var t=k(e),n=h()(y()(e.split("/").pop().replace(/\.\w+$/,"")));o.default.component(n,t.default||t)})),window.Vue=o.default,window.Vue.data={},window.Vue.methods={},window.Vue.watch={},window.Vue.computed={},window.Vue.created=[],window.Vue.mounted=[],window.addEventListener("DOMContentLoaded",(function(){window.Vue.app=new o.default({store:s,vuetify:p,data:window.Vue.data,methods:window.Vue.methods,watch:window.Vue.watch,computed:window.Vue.computed,created:function(){console.log("app-created");for(var e=0;e<window.Vue.created.length;e++)window.Vue.created[e](this)},mounted:function(){console.log("app-mounted");for(var e=0;e<window.Vue.mounted.length;e++)window.Vue.mounted[e](this)}}).$mount("#vue-app")}))},384:function(e,t,n){"use strict";n.r(t);var o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[e._v("\n    Hello World 11\n    "),n("div",{attrs:{id:"practice"}},[n("input",{directives:[{name:"model",rawName:"v-model",value:e.userId,expression:"userId"}],domProps:{value:e.userId},on:{input:function(t){t.target.composing||(e.userId=t.target.value)}}}),e._v(" "),n("input",{directives:[{name:"model",rawName:"v-model",value:e.userPw,expression:"userPw"}],domProps:{value:e.userPw},on:{input:function(t){t.target.composing||(e.userPw=t.target.value)}}}),e._v(" "),n("button",{staticClass:"buttonClicked",attrs:{type:"button"},on:{click:function(t){return e.onClickLogin()}}},[e._v("login")]),e._v(" "),e._l(e.userDatas,(function(t){return n("div",{key:"userData.reUserId"},[e._v("\n            "+e._s(t.reUserId)+"\n            "+e._s(t.reUserPw)+"\n        ")])}))],2)])};function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}o._withStripped=!0;var a={data:function(){return{userId:"",userPw:"",userDatas:[]}},mounted:function(){this.init()},methods:{init:function(){this.getTest().then((function(e){console.log(e)}))},getTest:function(){var e=this;return new Promise((function(t,n){var o;return regeneratorRuntime.async((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,regeneratorRuntime.awrap(e.$http.get("/api/v1/test"));case 3:o=r.sent,t(o),r.next=10;break;case 7:r.prev=7,r.t0=r.catch(0),n(r.t0);case 10:case"end":return r.stop()}}),null,null,[[0,7]])}))},onClickLogin:function(){var e=this;return new Promise((function(t,n){var o,a;return regeneratorRuntime.async((function(i){for(;;)switch(i.prev=i.next){case 0:return i.prev=0,console.log(e.userId+":"+e.userPw),o=e.userId,a=e.userPw,i.next=6,regeneratorRuntime.awrap(e.$http.post("/api/v1/test",{userId:o,userPw:a}).then((function(t){if(console.log(t.data.message),console.log(t.data.message[1]),console.log(r(t.data.success)),t.data.success){var n=t.data.message[0],o=t.data.message[1];e.userDatas.push({reUserId:n,reUserPw:o})}else alert("fail!!")})));case 6:i.sent,t(),i.next=13;break;case 10:i.prev=10,i.t0=i.catch(0),n(i.t0);case 13:case"end":return i.stop()}}),null,null,[[0,10]])}))}}},i=n(146),s=Object(i.a)(a,o,[],!1,null,null,null);s.options.__file="public_html/components/test/hello-world.vue";t.default=s.exports}});
2//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vcGx1Z2lucy9kZXRlY3QuanMiLCJ3ZWJwYWNrOi8vLy4vcGx1Z2lucy9wcm90b3R5cGUuanMiLCJ3ZWJwYWNrOi8vLy4vcHVibGljX2h0bWwvY29tcG9uZW50cyBzeW5jIFtcXHctXSpcXC4odnVlKSQiLCJ3ZWJwYWNrOi8vLy4vcGx1Z2lucy9heGlvcy
25qcyIsIndlYnBhY2s6Ly8vLi9wbHVnaW5zL3N0b3JlLmpzIiwid2VicGFjazovLy8uL3BsdWdpbnMvdnVldGlmeS5qcyIsIndlYnBhY2s6Ly8vLi9wbHVnaW5zL3Z1ZS1jb29raWVzLmpzIiwid2VicGFjazovLy8uL3BsdWdpbnMvbmF2ZXItcGF5LmpzIiwid2VicGFjazovLy8uL3BsdWdpbnMvY29tcG9uZW50cy5qcyIsIndlYnBhY2s6Ly8vLi9pbmRleC5qcyIsIndlYnBhY2s6Ly8vLi9wdWJsaWNfaHRtbC9jb21wb25lbnRzL3Rlc3QvaGVsbG8td29ybGQudnVlP2NlNmUiLCJ3ZWJwYWNrOi8vL3B1YmxpY19odG1sL2NvbXBvbmVudHMvdGVzdC9oZWxsby13b3JsZC52dWUiLCJ3ZWJwYWNrOi8vLy4vcHVibGljX2h0bWwvY29tcG9uZW50cy90ZXN0L2hlbGxvLXdvcmxkLnZ1ZT84NGJmIiwid2VicGFjazovLy8uL3B1YmxpY19odG1sL2NvbXBvbmVudHMvdGVzdC9oZWxsby13b3JsZC52dWUiXSwibmFtZXMiOlsid2VicGFja0pzb25wQ2FsbGJhY2siLCJkYXRhIiwibW9kdWxlSWQiLCJjaHVua0lkIiwiY2h1bmtJZHMiLCJtb3JlTW9kdWxlcyIsImV4ZWN1dGVNb2R1bGVzIiwiaSIsInJlc29sdmVzIiwibGVuZ3RoIiwiT2JqZWN0IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaW5zdGFsbGVkQ2h1bmtzIiwicHVzaCIsIm1vZHVsZXMiLCJwYXJlbnRKc29ucEZ1bmN0aW9uIiwic2hpZnQiLCJkZWZlcnJlZE1vZHVsZXMiLCJhcHBseSIsImNoZWNrRGVmZXJyZWRNb2R1bGVzIiwicmVzdWx0IiwiZGVmZXJyZWRNb2R1bGUiLCJmdWxmaWxsZWQiLCJqIiwiZGVwSWQiLCJzcGxpY2UiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwicyIsImluc3RhbGxlZE1vZHVsZXMiLCIwIiwiZXhwb3J0cyIsIm1vZHVsZSIsImwiLCJtIiwiYyIsImQiLCJuYW1lIiwiZ2V0dGVyIiwibyIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImdldCIsInIiLCJTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsInZhbHVlIiwidCIsIm1vZGUiLCJfX2VzTW9kdWxlIiwibnMiLCJjcmVhdGUiLCJrZXkiLCJiaW5kIiwibiIsIm9iamVjdCIsInByb3BlcnR5IiwicCIsImpzb25wQXJyYXkiLCJ3aW5kb3ciLCJvbGRKc29ucEZ1bmN0aW9uIiwic2xpY2UiLCJhIiwidGVzdCIsInN1YnN0ciIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsInZlbmRvciIsIm9wZXJhIiwiTnVtYmVyIiwiZm9ybWF0IiwieCIsInJlIiwidGhpcyIsInRvRml4ZWQiLCJNYXRoIiwibWF4IiwicmVwbGFjZSIsIlJlZ0V4cCIsIm1hcCIsIndlYnBhY2tDb250ZXh0IiwicmVxIiwiaWQiLCJ3ZWJwYWNrQ29udGV4dFJlc29sdmUiLCJlIiwiRXJyb3IiLCJjb2RlIiwia2V5cyIsInJlc29sdmUiLCJWdWUiLCIkaHR0cCIsIkF4aW9zIiwidXNlIiwiVnVleCIsIlN0b3JlIiwic3RhdGUiLCJtdXRhdGlvbnMiLCJhY3Rpb25zIiwiVnVldGlmeSIsIlZ1ZUNvb2tpZXMiLCJkb2N1bWVudCIsIndyaXRlIiwibG9jYXRpb24iLCJob3N0bmFtZSIsImRldGVjdCIsImNvbXBvbmVudCIsImRyYWdnYWJsZSIsInJlcXVpcmVDb21wb25lbnQiLCJyZXF1aXJlIiwiZm9yRWFjaCIsImZpbGVOYW1lIiwiY29tcG9uZW50Q29uZmlnIiwiY29tcG9uZW50TmFtZSIsInVwcGVyRmlyc3QiLCJjYW1lbENhc2UiLCJzcGxpdCIsInBvcCIsIm1ldGhvZHMiLCJ3YXRjaCIsImNvbXB1dGVkIiwiY3JlYXRlZCIsIm1vdW50ZWQiLCJhZGRFdmVudExpc3RlbmVyIiwiYXBwIiwic3RvcmUiLCJ2dWV0aWZ5IiwiY29uc29sZSIsImxvZyIsIiRtb3VudCIsInJlbmRlciIsIl92bSIsIl9oIiwiJGNyZWF0ZUVsZW1lbnQiLCJfYyIsIl9zZWxmIiwiX3YiLCJhdHRycyIsImRpcmVjdGl2ZXMiLCJyYXdOYW1lIiwidXNlcklkIiwiZXhwcmVzc2lvbiIsImRvbVByb3BzIiwib24iLCJpbnB1dCIsIiRldmVudCIsInRhcmdldCIsImNvbXBvc2luZyIsInVzZXJQdyIsInN0YXRpY0NsYXNzIiwidHlwZSIsImNsaWNrIiwib25DbGlja0xvZ2luIiwiX2wiLCJ1c2VyRGF0YXMiLCJ1c2VyRGF0YSIsIl9zIiwicmVVc2VySWQiLCJyZVVzZXJQdyIsIl93aXRoU3RyaXBwZWQiLCJvcHRpb25zIiwiX19maWxlIl0sIm1hcHBpbmdzIjoiYUFDRSxTQUFTQSxFQUFxQkMsR0FRN0IsSUFQQSxJQU1JQyxFQUFVQyxFQU5WQyxFQUFXSCxFQUFLLEdBQ2hCSSxFQUFjSixFQUFLLEdBQ25CSyxFQUFpQkwsRUFBSyxHQUlITSxFQUFJLEVBQUdDLEVBQVcsR0FDcENELEVBQUlILEVBQVNLLE9BQVFGLElBQ3pCSixFQUFVQyxFQUFTRyxHQUNoQkcsT0FBT0MsVUFBVUMsZUFBZUMsS0FBS0MsRUFBaUJYLElBQVlXLEVBQWdCWCxJQUNwRkssRUFBU08sS0FBS0QsRUFBZ0JYLEdBQVMsSUFFeENXLEVBQWdCWCxHQUFXLEVBRTVCLElBQUlELEtBQVlHLEVBQ1pLLE9BQU9DLFVBQVVDLGVBQWVDLEtBQUtSLEVBQWFILEtBQ3BEYyxFQUFRZCxHQUFZRyxFQUFZSCxJQUtsQyxJQUZHZSxHQUFxQkEsRUFBb0JoQixHQUV0Q08sRUFBU0MsUUFDZEQsRUFBU1UsT0FBVFYsR0FPRCxPQUhBVyxFQUFnQkosS0FBS0ssTUFBTUQsRUFBaUJiLEdBQWtCLElBR3ZEZSxJQUVSLFNBQVNBLElBRVIsSUFEQSxJQUFJQyxFQUNJZixFQUFJLEVBQUdBLEVBQUlZLEVBQWdCVixPQUFRRixJQUFLLENBRy9DLElBRkEsSUFBSWdCLEVBQWlCSixFQUFnQlosR0FDakNpQixHQUFZLEVBQ1JDLEVBQUksRUFBR0EsRUFBSUYsRUFBZWQsT0FBUWdCLElBQUssQ0FDOUMsSUFBSUMsRUFBUUgsRUFBZUUsR0FDRyxJQUEzQlgsRUFBZ0JZLEtBQWNGLEdBQVksR0FFM0NBLElBQ0ZMLEVBQWdCUSxPQUFPcEIsSUFBSyxHQUM1QmUsRUFBU00sRUFBb0JBLEVBQW9CQyxFQUFJTixFQUFlLEtBSXRFLE9BQU9ELEVBSVIsSUFBSVEsRUFBbUIsR0FLbkJoQixFQUFrQixDQUNyQmlCLEVBQUcsR0FHQVosRUFBa0IsR0FHdEIsU0FBU1MsRUFBb0IxQixHQUc1QixHQUFHNEIsRUFBaUI1QixHQUNuQixPQUFPNEIsRUFBaUI1QixHQUFVOEIsUUFHbkMsSUFBSUMsRUFBU0gsRUFBaUI1QixHQUFZLENBQ3pDSyxFQUFHTCxFQUNIZ0MsR0FBRyxFQUNIRixRQUFTLElBVVYsT0FOQWhCLEVBQVFkLEdBQVVXLEtBQUtvQixFQUFPRCxRQUFTQyxFQUFRQSxFQUFPRCxRQUFTSixHQUcvREssRUFBT0MsR0FBSSxFQUdKRCxFQUFPRCxRQUtmSixFQUFvQk8sRUFBSW5CLEVBR3hCWSxFQUFvQlEsRUFBSU4sRUFHeEJGLEVBQW9CUyxFQUFJLFNBQVNMLEVBQVNNLEVBQU1DLEdBQzNDWCxFQUFvQlksRUFBRVIsRUFBU00sSUFDbEM1QixPQUFPK0IsZUFBZVQsRUFBU00sRUFBTSxDQUFFSSxZQUFZLEVBQU1DLElBQUtKLEtBS2hFWCxFQUFvQmdCLEVBQUksU0FBU1osR0FDWCxvQkFBWGEsUUFBMEJBLE9BQU9DLGFBQzFDcEMsT0FBTytCLGVBQWVULEVBQVNhLE9BQU9DLFlBQWEsQ0FBRUMsTUFBTyxXQUU3RHJDLE9BQU8rQixlQUFlVCxFQUFTLGFBQWMsQ0FBRWUsT0FBTyxLQVF2RG5CLEVBQW9Cb0IsRUFBSSxTQUFTRCxFQUFPRSxHQUV2QyxHQURVLEVBQVBBLElBQVVGLEVBQVFuQixFQUFvQm1CLElBQy9CLEVBQVBFLEVBQVUsT0FBT0YsRUFDcEIsR0FBVyxFQUFQRSxHQUE4QixpQkFBVkYsR0FBc0JBLEdBQVNBLEVBQU1HLFdBQVksT0FBT0gsRUFDaEYsSUFBSUksRUFBS3pDLE9BQU8wQyxPQUFPLE1BR3ZCLEdBRkF4QixFQUFvQmdCLEVBQUVPLEdBQ3RCekMsT0FBTytCLGVBQWVVLEVBQUksVUFBVyx
2DQUFFVCxZQUFZLEVBQU1LLE1BQU9BLElBQ3RELEVBQVBFLEdBQTRCLGlCQUFURixFQUFtQixJQUFJLElBQUlNLEtBQU9OLEVBQU9uQixFQUFvQlMsRUFBRWMsRUFBSUUsRUFBSyxTQUFTQSxHQUFPLE9BQU9OLEVBQU1NLElBQVFDLEtBQUssS0FBTUQsSUFDOUksT0FBT0YsR0FJUnZCLEVBQW9CMkIsRUFBSSxTQUFTdEIsR0FDaEMsSUFBSU0sRUFBU04sR0FBVUEsRUFBT2lCLFdBQzdCLFdBQXdCLE9BQU9qQixFQUFnQixTQUMvQyxXQUE4QixPQUFPQSxHQUV0QyxPQURBTCxFQUFvQlMsRUFBRUUsRUFBUSxJQUFLQSxHQUM1QkEsR0FJUlgsRUFBb0JZLEVBQUksU0FBU2dCLEVBQVFDLEdBQVksT0FBTy9DLE9BQU9DLFVBQVVDLGVBQWVDLEtBQUsyQyxFQUFRQyxJQUd6RzdCLEVBQW9COEIsRUFBSSxTQUV4QixJQUFJQyxFQUFhQyxPQUFxQixhQUFJQSxPQUFxQixjQUFLLEdBQ2hFQyxFQUFtQkYsRUFBVzVDLEtBQUt1QyxLQUFLSyxHQUM1Q0EsRUFBVzVDLEtBQU9mLEVBQ2xCMkQsRUFBYUEsRUFBV0csUUFDeEIsSUFBSSxJQUFJdkQsRUFBSSxFQUFHQSxFQUFJb0QsRUFBV2xELE9BQVFGLElBQUtQLEVBQXFCMkQsRUFBV3BELElBQzNFLElBQUlVLEVBQXNCNEMsRUFJMUIxQyxFQUFnQkosS0FBSyxDQUFDLElBQUksSUFFbkJNLEksb0JDdkpUWSxFQUFPRCxRQUFXLFNBQVMrQixHQUN2QixHQUFJLDJUQUEyVEMsS0FBS0QsSUFBTSwwa0RBQTBrREMsS0FBS0QsRUFBRUUsT0FBTyxFQUFHLElBQUssT0FBTyxFQURuNkQsQ0FFZkMsVUFBVUMsV0FBYUQsVUFBVUUsUUFBVVIsT0FBT1MsT0FBUyxTQUFXLE0sK0RDRnpFQyxPQUFPM0QsVUFBVTRELE9BQVMsU0FBU2hCLEVBQUdpQixHQUNsQyxJQUFJQyxFQUFLLGVBQWlCRCxHQUFLLEdBQUssT0FBU2pCLEVBQUksRUFBSSxNQUFRLEtBQU8sSUFDcEUsT0FBT21CLEtBQUtDLFFBQVFDLEtBQUtDLElBQUksSUFBS3RCLElBQUl1QixRQUFRLElBQUlDLE9BQU9OLEVBQUksS0FBTSxTLG9CQ0Z2RSxJQUFJTyxFQUFNLENBQ1QseUJBQTBCLEtBSTNCLFNBQVNDLEVBQWVDLEdBQ3ZCLElBQUlDLEVBQUtDLEVBQXNCRixHQUMvQixPQUFPdEQsRUFBb0J1RCxHQUU1QixTQUFTQyxFQUFzQkYsR0FDOUIsSUFBSXRELEVBQW9CWSxFQUFFd0MsRUFBS0UsR0FBTSxDQUNwQyxJQUFJRyxFQUFJLElBQUlDLE1BQU0sdUJBQXlCSixFQUFNLEtBRWpELE1BREFHLEVBQUVFLEtBQU8sbUJBQ0hGLEVBRVAsT0FBT0wsRUFBSUUsR0FFWkQsRUFBZU8sS0FBTyxXQUNyQixPQUFPOUUsT0FBTzhFLEtBQUtSLElBRXBCQyxFQUFlUSxRQUFVTCxFQUN6Qm5ELEVBQU9ELFFBQVVpRCxFQUNqQkEsRUFBZUUsR0FBSyxLLHNFQ25CcEJPLFVBQUkvRSxVQUFVZ0YsTUFBUUMsSSxZQ0F0QkYsVUFBSUcsSUFBSUMsS0FFTyxVQUFJQSxJQUFLQyxNQUFNLENBQzVCQyxNQUFPLEdBRVBDLFVBQVcsR0FFWEMsUUFBUyxHQUVUbEYsUUFBUyxLLHdCQ1JYMEUsVUFBSUcsSUFBSU0sS0FFUixJQUllLE1BQUlBLElBSk4sSSxrQkNIYlQsVUFBSUcsSUFBSU8sSyw2QkNNUixPQUxBQyxTQUFTQyxNQUFNLG1GQUNmRCxTQUFTQyxNQUFNLG1DQUNmRCxTQUFTQyxNQUFNLG1FQUFvRjFDLE9BQU8yQyxTQUFTQyxTQUFXLFNBQzlISCxTQUFTQyxNQUFNLGNBRVJHLEtBQ0gsSUFBSyxLQUNESixTQUFTQyxNQUFNLHVIQUNmLE1BRUosSUFBSyxTQUNERCxTQUFTQyxNQUFNLDhILHlEQ1p2QlosVUFBSWdCLFVBQVVDLEtBTWQsSUFBTUMsRUFBbUJDLE9BTXpCRCxFQUFpQnBCLE9BQU9zQixTQUFRLFNBQUFDLEdBRTVCLElBQU1DLEVBQWtCSixFQUFpQkcsR0FHbkNFLEVBQWdCQyxJQUNsQkMsSUFFSUosRUFDQ0ssTUFBTSxLQUNOQyxNQUNBdkMsUUFBUSxTQUFVLE1BSzNCWSxVQUFJZ0IsVUFDQU8sRUFHQUQsRUFBZSxTQUFZQSxNQzFCbkNwRCxPQUFPOEIsSUFBTUEsVUFDYjlCLE9BQU84QixJQUFJekYsS0FBTyxHQUNsQjJELE9BQU84QixJQUFJNEIsUUFBVSxHQUNyQjFELE9BQU84QixJQUFJNkIsTUFBUSxHQUNuQjNELE9BQU84QixJQUFJOEIsU0FBVyxHQUN0QjVELE9BQU84QixJQUFJK0IsUUFBVSxHQUNyQjdELE9BQU84QixJQUFJZ0MsUUFBVSxHQUVyQjlELE9BQU8rRCxpQkFBaUIsb0JBQW9CLFdBQ3hDL0QsT0FBTzhCLElBQUlrQyxJQUFNLElBQUlsQyxVQUFJLENBQ3JCbUMsUUFDQUMsVUFDQTdILEtBQU0yRCxPQUFPOEIsSUFBSXpGLEtBQ2pCcUgsUUFBUzFELE9BQU84QixJQUFJNEIsUUFDcEJDLE1BQU8zRCxPQUFPOEIsSUFBSTZCLE1BQ2xCQyxTQUFVNUQsT0FBTzhCLElBQUk4QixTQUNyQkMsUUFBUyxXQUNMTSxRQUFRQyxJQUFJLGVBQ1osSUFBSSxJQUFJekgsRUFBRSxFQUFHQSxFQUFFcUQsT0FBTzhCLElBQUkrQixRQUFRaEgsT0FBUUYsSUFDdENxRCxPQUFPOEIsSUFBSStCLFFBQVFsSCxHQUFHbUUsT0FHOUJnRCxRQUFTLFdBQ0xLLFFBQVFDLElBQUksZUFDWixJQUFJLElBQUl6SCxFQUFFLEVBQUdBLEVBQUVxRCxPQUFPOEIsSUFBSWdDLFFBQVFqSCxPQUFRRixJQUN0Q3FELE9BQU84QixJQUFJZ0MsUUFBUW5ILEdBQUdtRSxTQUcvQnVELE9BQU8sZ0Isd0NDckNkLElBQUlDLEVBQVMsV0FDWCxJQUFJQyxFQUFNekQsS0FDTjBELEVBQUtELEVBQUlFLGVBQ1RDLEVBQUtILEVBQUlJLE1BQU1ELElBQU1GLEVBQ3pCLE9BQU9FLEVBQUcsTUFBTyxDQUNmSCxFQUFJSyxHQUFHLDhCQUNQRixFQUNFLE1BQ0EsQ0FBRUcsTUFBTyxDQUFFdEQsR0FBSSxhQUNmLENBQ0VtRCxFQUFHLFFBQVMsQ0FDVkksV0FBWSxDQUNWLENBQ0VwRyxLQUFNLFFBQ05xRyxRQUFTLFVBQ1Q1RixNQUFPb0YsRUFBSVMsT0FDWEMsV0FBWSxXQUdoQkMsU0FBVSxDQUFFL0YsTUFBT29GLEVBQUlTLFFBQ3ZCRyxHQUFJLENBQ0ZDLE1BQU8sU0FBU0MsR0FDVkEsRUFBT0MsT0FBT0MsWUFHbEJoQixFQUFJUyxPQUFTSyxFQUFPQyxPQUFPbkcsV0FJakNvRixFQUFJSyxHQUFHLEtBQ1BGLEVBQUcsUUFBUyxDQUNWSSxXQUFZLENBQ1YsQ0FDRXBHLEtBQU0sUUFDTnFHLFFBQVMsVUFDVDVGLE1BQU9vRixFQUFJaUIsT0FDWFAsV0FBWSxXQUdoQkMsU0FBVSxDQUFFL0YsTUFBT29GLEVBQUlpQixRQUN2QkwsR0FBSSxDQUNGQyxNQUFPLFNBQVNDLEdBQ1ZBLEVBQU9DLE9BQU9DLFlBR2xCaEIsRUFBSWlCLE9BQVNILEVBQU9DLE9BQU9uRyxXQUlqQ29GLEVBQUlLLEdBQUcsS0FDUEYsRUFDRSxTQUNBLENBQ0VlLFlBQWEsZ0JBQ2JaLE1BQU8sQ0FBRWEsS0FBTSxVQUNmUCxHQUFJLENBQ0ZRLE1BQU8sU0FBU04sR0FDZCxPQUFPZCxFQUFJcUIsa0JBSWpCLENBQUNyQixFQUFJSyxHQU
2FHLFdBRVZMLEVBQUlLLEdBQUcsS0FDUEwsRUFBSXNCLEdBQUd0QixFQUFJdUIsV0FBVyxTQUFTQyxHQUM3QixPQUFPckIsRUFBRyxNQUFPLENBQUVqRixJQUFLLHFCQUF1QixDQUM3QzhFLEVBQUlLLEdBQ0YsaUJBQ0VMLEVBQUl5QixHQUFHRCxFQUFTRSxVQUNoQixpQkFDQTFCLEVBQUl5QixHQUFHRCxFQUFTRyxVQUNoQixvQkFLVixNLHFPQUtONUIsRUFBTzZCLGVBQWdCLEVDakV2QixJQ2hCeU0sRURnQnpNLENBQ0UsS0FERixXQUVJLE1BQUosQ0FDTSxPQUFOLEdBQ00sT0FBTixHQUNNLFVBQU4sS0FJRSxRQVRGLFdBVUksS0FBSixRQUVFLFFBQUYsQ0FDSSxLQURKLFdBRU0sS0FBTiw0QkFDUSxRQUFSLFdBR0ksUUFOSixXQU1NLElBQU4sT0FDTSxPQUFOLDJCQUFRLElBQVIsRUFBUSxPQUFSLHNDQUFVLE9BQUUsT0FBWix3RUFFQSw2QkFGQSxPQUVnQixFQUZoQixPQUlnQixFQUFoQixHQUpBLGdEQU9nQixFQUFoQixNQVBBLDREQVdJLGFBbEJKLFdBa0JNLElBQU4sT0FDTSxPQUFOLDJCQUFRLElBQVIsSUFBUSxPQUFSLHNDQUFVLE9BQUUsT0FBWixzQ0FFZ0IsUUFBaEIsMkJBQ2dCLEVBQWhCLFNBQ2dCLEVBQWhCLFNBSkEsa0NBTUEsNkJBQWtCLE9BQWxCLEVBQWtCLE9BQWxCLElBQ0Esa0JBSWtCLEdBSEEsUUFBbEIsb0JBQ2tCLFFBQWxCLHVCQUNrQixRQUFsQix1QkFDQSxnQkFDb0IsSUFBcEIsb0JBQ0Esb0JBQ29CLEVBQXBCLGdCQUFzQixTQUF0QixFQUFzQixTQUF0QixTQUVvQixNQUFwQixjQWhCQSxjQW1CZ0IsSUFuQmhCLGtEQXNCZ0IsRUFBaEIsTUF0QkEsK0QsU0V4Q0lyRCxFQUFZLFlBQ2QsRUFDQXdCLEVIdUVvQixJR3JFcEIsRUFDQSxLQUNBLEtBQ0EsTUF1QkZ4QixFQUFVc0QsUUFBUUMsT0FBUyw4Q0FDWixVQUFBdkQsRSIsImZpbGUiOiJidW5kbGUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBpbnN0YWxsIGEgSlNPTlAgY2FsbGJhY2sgZm9yIGNodW5rIGxvYWRpbmdcbiBcdGZ1bmN0aW9uIHdlYnBhY2tKc29ucENhbGxiYWNrKGRhdGEpIHtcbiBcdFx0dmFyIGNodW5rSWRzID0gZGF0YVswXTtcbiBcdFx0dmFyIG1vcmVNb2R1bGVzID0gZGF0YVsxXTtcbiBcdFx0dmFyIGV4ZWN1dGVNb2R1bGVzID0gZGF0YVsyXTtcblxuIFx0XHQvLyBhZGQgXCJtb3JlTW9kdWxlc1wiIHRvIHRoZSBtb2R1bGVzIG9iamVjdCxcbiBcdFx0Ly8gdGhlbiBmbGFnIGFsbCBcImNodW5rSWRzXCIgYXMgbG9hZGVkIGFuZCBmaXJlIGNhbGxiYWNrXG4gXHRcdHZhciBtb2R1bGVJZCwgY2h1bmtJZCwgaSA9IDAsIHJlc29sdmVzID0gW107XG4gXHRcdGZvcig7aSA8IGNodW5rSWRzLmxlbmd0aDsgaSsrKSB7XG4gXHRcdFx0Y2h1bmtJZCA9IGNodW5rSWRzW2ldO1xuIFx0XHRcdGlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpbnN0YWxsZWRDaHVua3MsIGNodW5rSWQpICYmIGluc3RhbGxlZENodW5rc1tjaHVua0lkXSkge1xuIFx0XHRcdFx0cmVzb2x2ZXMucHVzaChpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF1bMF0pO1xuIFx0XHRcdH1cbiBcdFx0XHRpbnN0YWxsZWRDaHVua3NbY2h1bmtJZF0gPSAwO1xuIFx0XHR9XG4gXHRcdGZvcihtb2R1bGVJZCBpbiBtb3JlTW9kdWxlcykge1xuIFx0XHRcdGlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb3JlTW9kdWxlcywgbW9kdWxlSWQpKSB7XG4gXHRcdFx0XHRtb2R1bGVzW21vZHVsZUlkXSA9IG1vcmVNb2R1bGVzW21vZHVsZUlkXTtcbiBcdFx0XHR9XG4gXHRcdH1cbiBcdFx0aWYocGFyZW50SnNvbnBGdW5jdGlvbikgcGFyZW50SnNvbnBGdW5jdGlvbihkYXRhKTtcblxuIFx0XHR3aGlsZShyZXNvbHZlcy5sZW5ndGgpIHtcbiBcdFx0XHRyZXNvbHZlcy5zaGlmdCgpKCk7XG4gXHRcdH1cblxuIFx0XHQvLyBhZGQgZW50cnkgbW9kdWxlcyBmcm9tIGxvYWRlZCBjaHVuayB0byBkZWZlcnJlZCBsaXN0XG4gXHRcdGRlZmVycmVkTW9kdWxlcy5wdXNoLmFwcGx5KGRlZmVycmVkTW9kdWxlcywgZXhlY3V0ZU1vZHVsZXMgfHwgW10pO1xuXG4gXHRcdC8vIHJ1biBkZWZlcnJlZCBtb2R1bGVzIHdoZW4gYWxsIGNodW5rcyByZWFkeVxuIFx0XHRyZXR1cm4gY2hlY2tEZWZlcnJlZE1vZHVsZXMoKTtcbiBcdH07XG4gXHRmdW5jdGlvbiBjaGVja0RlZmVycmVkTW9kdWxlcygpIHtcbiBcdFx0dmFyIHJlc3VsdDtcbiBcdFx0Zm9yKHZhciBpID0gMDsgaSA8IGRlZmVycmVkTW9kdWxlcy5sZW5ndGg7IGkrKykge1xuIFx0XHRcdHZhciBkZWZlcnJlZE1vZHVsZSA9IGRlZmVycmVkTW9kdWxlc1tpXTtcbiBcdFx0XHR2YXIgZnVsZmlsbGVkID0gdHJ1ZTtcbiBcdFx0XHRmb3IodmFyIGogPSAxOyBqIDwgZGVmZXJyZWRNb2R1bGUubGVuZ3RoOyBqKyspIHtcbiBcdFx0XHRcdHZhciBkZXBJZCA9IGRlZmVycmVkTW9kdWxlW2pdO1xuIFx0XHRcdFx0aWYoaW5zdGFsbGVkQ2h1bmtzW2RlcElkXSAhPT0gMCkgZnVsZmlsbGVkID0gZmFsc2U7XG4gXHRcdFx0fVxuIFx0XHRcdGlmKGZ1bGZpbGxlZCkge1xuIFx0XHRcdFx0ZGVmZXJyZWRNb2R1bGVzLnNwbGljZShpLS0sIDEpO1xuIFx0XHRcdFx0cmVzdWx0ID0gX193ZWJwYWNrX3JlcXVpcmVfXyhfX3dlYnBhY2tfcmVxdWlyZV9fLnMgPSBkZWZlcnJlZE1vZHVsZVswXSk7XG4gXHRcdFx0fVxuIFx0XHR9XG5cbiBcdFx0cmV0dXJuIHJlc3VsdDtcbiBcdH1cblxuIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuIFx0dmFyIGluc3RhbGxlZE1vZHVsZXMgPSB7fTtcblxuIFx0Ly8gb2JqZWN0IHRvIHN0b3JlIGxvYWRlZCBhbmQgbG9hZGluZyBjaHVua3NcbiBcdC8vIHVuZGVmaW5lZCA9IGNodW5rIG5vdCBsb2FkZWQsIG51bGwgPSBjaHVuayBwcmVsb2FkZWQvcHJlZmV0Y2hlZFxuIFx0Ly8gUHJvbWlzZSA9IGNodW5rIGxvYWRpbmcsIDAgPSBjaHVuayBsb2FkZWRcbiBcdHZhciBpbnN0YWxsZWRDaHVua3MgPSB7XG4gXHRcdDA6IDBcbiBcdH07XG5cbiBcdHZhciBkZWZlcnJlZE1vZHVsZXMgPSBbXTtcblxuIFx0Ly8gVGhlIHJlcXVpcmUgZnVuY3Rpb25cbiBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuIFx0XHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcbiBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pIHtcbiBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcbiBcdFx0fVxuIFx0XHQvLyBDcmVhdGUgYSBuZXcgbW9k
2dWxlIChhbmQgcHV0IGl0IGludG8gdGhlIGNhY2hlKVxuIFx0XHR2YXIgbW9kdWxlID0gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0gPSB7XG4gXHRcdFx0aTogbW9kdWxlSWQsXG4gXHRcdFx0bDogZmFsc2UsXG4gXHRcdFx0ZXhwb3J0czoge31cbiBcdFx0fTtcblxuIFx0XHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cbiBcdFx0bW9kdWxlc1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cbiBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuIFx0XHRtb2R1bGUubCA9IHRydWU7XG5cbiBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbiBcdFx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xuIFx0fVxuXG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm0gPSBtb2R1bGVzO1xuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZSBjYWNoZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuIFx0Ly8gZGVmaW5lIGdldHRlciBmdW5jdGlvbiBmb3IgaGFybW9ueSBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmQgPSBmdW5jdGlvbihleHBvcnRzLCBuYW1lLCBnZXR0ZXIpIHtcbiBcdFx0aWYoIV9fd2VicGFja19yZXF1aXJlX18ubyhleHBvcnRzLCBuYW1lKSkge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBuYW1lLCB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZ2V0dGVyIH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdGlmKHR5cGVvZiBTeW1ib2wgIT09ICd1bmRlZmluZWQnICYmIFN5bWJvbC50b1N0cmluZ1RhZykge1xuIFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuIFx0XHR9XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBjcmVhdGUgYSBmYWtlIG5hbWVzcGFjZSBvYmplY3RcbiBcdC8vIG1vZGUgJiAxOiB2YWx1ZSBpcyBhIG1vZHVsZSBpZCwgcmVxdWlyZSBpdFxuIFx0Ly8gbW9kZSAmIDI6IG1lcmdlIGFsbCBwcm9wZXJ0aWVzIG9mIHZhbHVlIGludG8gdGhlIG5zXG4gXHQvLyBtb2RlICYgNDogcmV0dXJuIHZhbHVlIHdoZW4gYWxyZWFkeSBucyBvYmplY3RcbiBcdC8vIG1vZGUgJiA4fDE6IGJlaGF2ZSBsaWtlIHJlcXVpcmVcbiBcdF9fd2VicGFja19yZXF1aXJlX18udCA9IGZ1bmN0aW9uKHZhbHVlLCBtb2RlKSB7XG4gXHRcdGlmKG1vZGUgJiAxKSB2YWx1ZSA9IF9fd2VicGFja19yZXF1aXJlX18odmFsdWUpO1xuIFx0XHRpZihtb2RlICYgOCkgcmV0dXJuIHZhbHVlO1xuIFx0XHRpZigobW9kZSAmIDQpICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgJiYgdmFsdWUuX19lc01vZHVsZSkgcmV0dXJuIHZhbHVlO1xuIFx0XHR2YXIgbnMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuIFx0XHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIobnMpO1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobnMsICdkZWZhdWx0JywgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdmFsdWUgfSk7XG4gXHRcdGlmKG1vZGUgJiAyICYmIHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykgZm9yKHZhciBrZXkgaW4gdmFsdWUpIF9fd2VicGFja19yZXF1aXJlX18uZChucywga2V5LCBmdW5jdGlvbihrZXkpIHsgcmV0dXJuIHZhbHVlW2tleV07IH0uYmluZChudWxsLCBrZXkpKTtcbiBcdFx0cmV0dXJuIG5zO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCIvZGlzdC9cIjtcblxuIFx0dmFyIGpzb25wQXJyYXkgPSB3aW5kb3dbXCJ3ZWJwYWNrSnNvbnBcIl0gPSB3aW5kb3dbXCJ3ZWJwYWNrSnNvbnBcIl0gfHwgW107XG4gXHR2YXIgb2xkSnNvbnBGdW5jdGlvbiA9IGpzb25wQXJyYXkucHVzaC5iaW5kKGpzb25wQXJyYXkpO1xuIFx0anNvbnBBcnJheS5wdXNoID0gd2VicGFja0pzb25wQ2FsbGJhY2s7XG4gXHRqc29ucEFycmF5ID0ganNvbnBBcnJheS5zbGljZSgpO1xuIFx0Zm9yKHZhciBpID0gMDsgaSA8IGpzb25wQXJyYXkubGVuZ3RoOyBpKyspIHdlYnBhY2tKc29ucENhbGxiYWNrKGpzb25wQXJyYXlbaV0pO1xuIFx0dmFyIHBhcmVudEpzb25wRnVuY3Rpb24gPSBvbGRKc29ucEZ1bmN0aW9uO1xuXG5cbiBcdC8vIGFkZCBlbnRyeSBtb2R1bGUgdG8gZGVmZXJyZWQgbGlzdFxuIFx0ZGVmZXJyZWRNb2R1bGVzLnB1c2goWzE0NywxXSk7XG4gXHQvLyBydW4gZGVmZXJyZWQgbW9kdWxlcyB3aGVuIHJlYWR5XG4gXHRyZXR1cm4gY2hlY2tEZWZlcnJlZE1vZHVsZXMoKTtcbiIsIm1vZHVsZS5leHBvcnRzID0gKGZ1bmN0aW9uKGEpIHtcclxuICAgIGlmICgvKGFuZHJvaWR8YmJcXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVxcL3xibGFja2JlcnJ5fGJsYXplcnxjb21wYWx8ZWxhaW5lfGZlbm5lY3xoaXB0b3B8aWVtb2JpbGV8aXAoaG9uZXxvZCl8aXJpc3xraW5kbGV8bGdlIHxtYWVtb3xtaWRwfG1tcHxtb2JpbGUuK2ZpcmVmb3h8bmV0ZnJvbnR8b3BlcmEgbShvYnxpbilpfHBhbG0oIG9zKT98cGhvbmV8cChpeGl8cmUpXFwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXFwuKGJyb3dzZXJ8bGluayl8dm9kYWZvbmV8d2FwfHdpbmRvd3MgY2V8eGRhfHhpaW5vL2kudGVzdChhKSB8fCAvMTIwN3w2MzEwfDY1OTB8M2dzb3w0dGhwfDUwWzEtNl1pfDc3MHN8ODAyc3xhIHdhfGFiYWN8YWMoZXJ8b298c1xcLSl8YWko
2a298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXxcXC1tfHIgfHMgKXxhdmFufGJlKGNrfGxsfG5xKXxiaShsYnxyZCl8YmwoYWN8YXopfGJyKGV8dil3fGJ1bWJ8YndcXC0obnx1KXxjNTVcXC98Y2FwaXxjY3dhfGNkbVxcLXxjZWxsfGNodG18Y2xkY3xjbWRcXC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGNcXC1zfGRldml8ZGljYXxkbW9ifGRvKGN8cClvfGRzKDEyfFxcLWQpfGVsKDQ5fGFpKXxlbShsMnx1bCl8ZXIoaWN8azApfGVzbDh8ZXooWzQtN10wfG9zfHdhfHplKXxmZXRjfGZseShcXC18Xyl8ZzEgdXxnNTYwfGdlbmV8Z2ZcXC01fGdcXC1tb3xnbyhcXC53fG9kKXxncihhZHx1bil8aGFpZXxoY2l0fGhkXFwtKG18cHx0KXxoZWlcXC18aGkocHR8dGEpfGhwKCBpfGlwKXxoc1xcLWN8aHQoYyhcXC18IHxffGF8Z3xwfHN8dCl8dHApfGh1KGF3fHRjKXxpXFwtKDIwfGdvfG1hKXxpMjMwfGlhYyggfFxcLXxcXC8pfGlicm98aWRlYXxpZzAxfGlrb218aW0xa3xpbm5vfGlwYXF8aXJpc3xqYSh0fHYpYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KCB8XFwvKXxrbG9ufGtwdCB8a3djXFwtfGt5byhjfGspfGxlKG5vfHhpKXxsZyggZ3xcXC8oa3xsfHUpfDUwfDU0fFxcLVthLXddKXxsaWJ3fGx5bnh8bTFcXC13fG0zZ2F8bTUwXFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bVxcLWNyfG1lKHJjfHJpKXxtaShvOHxvYXx0cyl8bW1lZnxtbygwMXwwMnxiaXxkZXxkb3x0KFxcLXwgfG98dil8enopfG10KDUwfHAxfHYgKXxtd2JwfG15d2F8bjEwWzAtMl18bjIwWzItM118bjMwKDB8Mil8bjUwKDB8Mnw1KXxuNygwKDB8MSl8MTApfG5lKChjfG0pXFwtfG9ufHRmfHdmfHdnfHd0KXxub2soNnxpKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihhfGR8dCl8cGR4Z3xwZygxM3xcXC0oWzEtOF18YykpfHBoaWx8cGlyZXxwbChheXx1Yyl8cG5cXC0yfHBvKGNrfHJ0fHNlKXxwcm94fHBzaW98cHRcXC1nfHFhXFwtYXxxYygwN3wxMnwyMXwzMnw2MHxcXC1bMi03XXxpXFwtKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVxcL3xzYShnZXxtYXxtbXxtc3xueXx2YSl8c2MoMDF8aFxcLXxvb3xwXFwtKXxzZGtcXC98c2UoYyhcXC18M
2HwxKXw0N3xtY3xuZHxyaSl8c2doXFwtfHNoYXJ8c2llKFxcLXxtKXxza1xcLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aFxcLXx2XFwtfHYgKXxzeSgwMXxtYil8dDIoMTh8NTApfHQ2KDAwfDEwfDE4KXx0YShndHxsayl8dGNsXFwtfHRkZ1xcLXx0ZWwoaXxtKXx0aW1cXC18dFxcLW1vfHRvKHBsfHNoKXx0cyg3MHxtXFwtfG0zfG01KXx0eFxcLTl8dXAoXFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfFxcLXYpfHZtNDB8dm9kYXx2dWxjfHZ4KDUyfDUzfDYwfDYxfDcwfDgwfDgxfDgzfDg1fDk4KXx3M2MoXFwtfCApfHdlYmN8d2hpdHx3aShnIHxuY3xudyl8d21sYnx3b251fHg3MDB8eWFzXFwtfHlvdXJ8emV0b3x6dGVcXC0vaS50ZXN0KGEuc3Vic3RyKDAsIDQpKSkgcmV0dXJuIHRydWU7XHJcbn0pKG5hdmlnYXRvci51c2VyQWdlbnQgfHwgbmF2aWdhdG9yLnZlbmRvciB8fCB3aW5kb3cub3BlcmEpID8gXCJtb2JpbGVcIiA6IFwicGNcIjtcclxuIiwiTnVtYmVyLnByb3RvdHlwZS5mb3JtYXQgPSBmdW5jdGlvbihuLCB4KSB7XHJcbiAgICB2YXIgcmUgPSAnXFxcXGQoPz0oXFxcXGR7JyArICh4IHx8IDMpICsgJ30pKycgKyAobiA+IDAgPyAnXFxcXC4nIDogJyQnKSArICcpJztcclxuICAgIHJldHVybiB0aGlzLnRvRml4ZWQoTWF0aC5tYXgoMCwgfn5uKSkucmVwbGFjZShuZXcgUmVnRXhwKHJlLCAnZycpLCAnJCYsJyk7XHJcbn07XHJcbiIsInZhciBtYXAgPSB7XG5cdFwiLi90ZXN0L2hlbGxvLXdvcmxkLnZ1ZVwiOiAzODRcbn07XG5cblxuZnVuY3Rpb24gd2VicGFja0NvbnRleHQocmVxKSB7XG5cdHZhciBpZCA9IHdlYnBhY2tDb250ZXh0UmVzb2x2ZShyZXEpO1xuXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXyhpZCk7XG59XG5mdW5jdGlvbiB3ZWJwYWNrQ29udGV4dFJlc29sdmUocmVxKSB7XG5cdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8obWFwLCByZXEpKSB7XG5cdFx0dmFyIGUgPSBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiICsgcmVxICsgXCInXCIpO1xuXHRcdGUuY29kZSA9ICdNT0RVTEVfTk9UX0ZPVU5EJztcblx0XHR0aHJvdyBlO1xuXHR9XG5cdHJldHVybiBtYXBbcmVxXTtcbn1cbndlYnBhY2tDb250ZXh0LmtleXMgPSBmdW5jdGlvbiB3ZWJwYWNrQ29udGV4dEtleXMoKSB7XG5cdHJldHVybiBPYmplY3Qua2V5cyhtYXApO1xufTtcbndlYnBhY2tDb250ZXh0LnJlc29sdmUgPSB3ZWJwYWNrQ29udGV4dFJlc29sdmU7XG5tb2R1bGUuZXhwb3J0cyA9IHdlYnBhY2tDb250ZXh0O1xud2VicGFja0NvbnRleHQuaWQgPSAzODI7IiwiaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXHJcbmltcG9ydCBBeGlvcyBmcm9tICdheGlvcyc7XHJcblxyXG5WdWUucHJvdG90eXBlLiRodHRwID0gQXhpb3M7XHJcbiIsImltcG9ydCBWdWUgZnJvbSAndnVlJ1xyXG5pbXBvcnQgVnVleCBmcm9tICd2dWV4J1xyXG5cclxuVnVlLnVzZShWdWV4KVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IFZ1ZXguU3RvcmUoe1xyXG4gIHN0YXRlOiB7XHJcbiAgfSxcclxuICBtdXRhdGlvbnM6IHtcclxuICB9LFxyXG4gIGFjdGlvbnM6IHtcclxuICB9LFxyXG4gIG1vZHVsZXM6IHtcclxuICB9XHJcbn0pXHJcbiIsImltcG9ydCBWdWUgZnJvbSAndnVlJztcclxuaW1wb3J0IFZ1ZXRpZnkgZnJvbSAndnVldGlmeSc7XHJcbmltcG9ydCAndnVldGlmeS9kaXN0L3Z1ZXRpZnkubWluLmNzcycgLy8gRW5zdXJlIHlvdSBhcmUgdXNpbmcgY3NzLWxvYWRlclxyXG5cclxuVnVlLnVzZShWdWV0aWZ5KTtcclxuXHJcbmNvbnN0IG9wdHMgPSB7XHJcblxyXG59O1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgbmV3IFZ1ZXRpZnkob3B0cyk7XHJcbiIsImltcG9ydCBWdWUgZnJvbSAndnVlJ1xyXG5pbXBvcnQgVnVlQ29va2llcyBmcm9tICd2dWUtY29va2llcyc7XHJcblxyXG5WdWUudXNlKFZ1ZUNvb2tpZXMpXHJcbiIsImltcG9ydCBkZXRlY3QgZnJvbSAnLi9kZXRlY3QnO1xyXG5cclxudmFyIHdhID0gXCJcIjsgLy8g64Sk7J2067KE7Y6Y7J20IOyekOuwlOyKpO2BrOumve2KuCDsnKDsnoXsvZTrk5xcclxuXHJcbmRvY3VtZW50LndyaXRlKFwiPHNjcmlwdCB0eXBlPVxcXCJ0ZXh0L2phdmFzY3JpcHRcXFwiIHNyYz1cXFwiaHR0cHM6Ly93Y3MubmF2ZXIubmV0L3djc2xvZy5qc1xcXCI+P
2C9zY3JpcHQ+XCIpO1xyXG5kb2N1bWVudC53cml0ZShcIjxzY3JpcHQgdHlwZT1cXFwidGV4dC9qYXZhc2NyaXB0XFxcIj5cIik7XHJcbmRvY3VtZW50LndyaXRlKFwiaWYoIXdjc19hZGQpeyB2YXIgd2NzX2FkZCA9IHt9OyB3Y3NfYWRkW1xcXCJ3YVxcXCJdID0gXFxcIlwiICsgd2EgKyBcIlxcXCI7IHdjcy5pbmZsb3coXFxcIlwiICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lICsgXCJcXFwiKTsgfVwiKTtcclxuZG9jdW1lbnQud3JpdGUoXCI8L3NjcmlwdD5cIik7XHJcblxyXG5zd2l0Y2goZGV0ZWN0KXtcclxuICAgIGNhc2UgXCJwY1wiOiB7XHJcbiAgICAgICAgZG9jdW1lbnQud3JpdGUoJzxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiIHNyYz1cImh0dHBzOi8vcGF5Lm5hdmVyLmNvbS9jdXN0b21lci9qcy9uYXZlclBheUJ1dHRvbi5qc1wiIGNoYXJzZXQ9XCJVVEYtOFwiPjwvc2NyaXB0PicpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgY2FzZSBcIm1vYmlsZVwiOiB7XHJcbiAgICAgICAgZG9jdW1lbnQud3JpdGUoJzxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiIHNyYz1cImh0dHBzOi8vcGF5Lm5hdmVyLmNvbS9jdXN0b21lci9qcy9tb2JpbGUvbmF2ZXJQYXlCdXR0b24uanNcIiBjaGFyc2V0PVwiVVRGLThcIj48L3NjcmlwdD4nKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxufVxyXG4iLCJpbXBvcnQgVnVlIGZyb20gJ3Z1ZSc7XHJcbmltcG9ydCBkcmFnZ2FibGUgZnJvbSAndnVlZHJhZ2dhYmxlJ1xyXG5cclxuVnVlLmNvbXBvbmVudChkcmFnZ2FibGUpO1xyXG5cclxuaW1wb3J0IHVwcGVyRmlyc3QgZnJvbSAnbG9kYXNoL3VwcGVyRmlyc3QnXHJcbmltcG9ydCBjYW1lbENhc2UgZnJvbSAnbG9kYXNoL2NhbWVsQ2FzZSdcclxuXHJcblxyXG5jb25zdCByZXF1aXJlQ29tcG9uZW50ID0gcmVxdWlyZS5jb250ZXh0KFxyXG4gICAgJy4uL3B1YmxpY19odG1sL2NvbXBvbmVudHMnLCAvLyDsu7Ttj6zrhIztirjrk6TsnbQg7J6I64qUIO2PtOuNlFxyXG4gICAgdHJ1ZSwgLy8g7ZWY7JyEIO2PtOuNlOq5jOyngCDtj6ztlajtlaAg7KeAIOyXrOu2gFxyXG4gICAgL1tcXHctXSpcXC4odnVlKSQvIC8vIOq4sOuzuCDsu7Ttj6zrhIztirjrpbwg7LC+64qU642wIOyCrOyaqe2VoCDsoJXqt5ztkZztmITsi51cclxuKVxyXG5cclxucmVxdWlyZUNvbXBvbmVudC5rZXlzKCkuZm9yRWFjaChmaWxlTmFtZSA9PiB7XHJcbiAgICAvLyDsu7Ttj6zrhIztirgg7ISk7KCVIOqwgOyguOyYpOq4sFxyXG4gICAgY29uc3QgY29tcG9uZW50Q29uZmlnID0gcmVxdWlyZUNvbXBvbmVudChmaWxlTmFtZSlcclxuXHJcbiAgICAvLyDsu7Ttj6zrhIztirjsnZgg7YyM7Iqk7Lm87ZGc6riw67KVIOydtOumhCDqsIDsoLjsmKTquLBcclxuICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSB1cHBlckZpcnN0KFxyXG4gICAgICAgIGNhbWVsQ2FzZShcclxuICAgICAgICAgICAgLy8g7Y+0642UIOychOy5mOyZgCDrrLTqtIDtlZjqsowg7YyM7J287J2066aEIOy2lOy2nFxyXG4gICAgICAgICAgICBmaWxlTmFtZVxyXG4gICAgICAgICAgICAuc3BsaXQoJy8nKVxyXG4gICAgICAgICAgICAucG9wKClcclxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcLlxcdyskLywgJycpXHJcbiAgICAgICAgKVxyXG4gICAgKVxyXG5cclxuICAgIC8vIOy7tO2PrOuEjO2KuOulvCDsoITsl63soIHsnLzroZwg65Ox66GdXHJcbiAgICBWdWUuY29tcG9uZW50KFxyXG4gICAgICAgIGNvbXBvbmVudE5hbWUsXHJcbiAgICAgICAgLy8gYGV4cG9ydCBkZWZhdWx0YOulvCDsnbTsmqntlZwg7Lu07Y+s64SM7Yq464qUIGAuZGVmYXVsdGDroZwg7Lu07Y+s64SM7Yq4XHJcbiAgICAgICAgLy8g7Ji17IWY7J2EIOy2lOy2nO2VmOqzoCDqt7jroIfsp4Ag7JWK7J2AIOy7tO2PrOuEjO2KuOuKlCDrqqjrk4jsnZgg66Oo7Yq466W8IO2YuOy2nFxyXG4gICAgICAgIGNvbXBvbmVudENvbmZpZy5kZWZhdWx0IHx8IGNvbXBvbmVudENvbmZpZ1xyXG4gICAgKVxyXG59KVxyXG4iLCJpbXBvcnQgVnVlIGZyb20gJ3Z1ZSc7XHJcbmltcG9ydCBheGlvcyBmcm9tICcuL3BsdWdpbnMvYXhpb3MnOyAvLyBhamF4IGxpYnJhcnlcclxuaW1wb3J0IHN0b3JlIGZyb20gJy4vcGx1Z2lucy9zdG9yZSc7IC8vIHZ1ZSBsb2NhbCBkYXRhYmFzZVxyXG5pbXBvcnQgdnVldGlmeSBmcm9tICcuL3BsdWdpbnMvdnVldGlmeSc7IC8vIHZ1ZSB1eC91aVxyXG5pbXBvcnQgdnVlQ29va2llcyBmcm9tICcuL3BsdWdpbnMvdnVlLWNvb2tpZXMnOyAvLyB2dWUgY29va2llXHJcbmltcG9ydCBwcm90b3R5cGUgZnJvbSAnLi9wbHVnaW5zL3Byb3RvdHlwZSc7XHJcbmltcG9ydCBuYXZlclBheSBmcm9tICcuL3BsdWdpbnMvbmF2ZXItcGF5JztcclxuaW1wb3J0IGNvbXBvbmVudHMgZnJvbSAnLi9wbHVnaW5zL2NvbXBvbmVudHMnO1xyXG5cclxud2luZG93LlZ1ZSA9IFZ1ZTtcclxud2luZG93LlZ1ZS5kYXRhID0ge307XHJcbndpbmRvdy5WdWUubWV0aG9kcyA9IHt9O1xyXG53aW5kb3cuVnVlLndhdGNoID0ge307XHJcbndpbmRvdy5WdWUuY29tcHV0ZWQgPSB7fTtcclxud2luZG93LlZ1ZS5jcmVhdGVkID0gW107XHJcbndpbmRvdy5WdWUubW91bnRlZCA9IFtdO1xyXG5cclxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCAoKSA9PiB7XHJcbiAgICB3aW5kb3cuVnVlLmFwcCA9IG5ldyBWdWUoe1xyXG4gICAgICAgIHN0b3JlLFxyXG4gICAgICAgIHZ1ZXRpZnksXHJcbiAgICAgICAgZGF0YTogd2luZG93LlZ1ZS5kYXRhLFxyXG4gICAgICAgIG1ldGhvZHM6IHdpbmRvdy5WdWUubWV0aG9kcyxcclxuICAgICAgICB3YXRjaDogd2luZG93LlZ1ZS53YXRjaCxcclxuICAgICAgICBjb21wdXRlZDogd2luZG93LlZ1ZS5jb21wdXRlZCxcclxuICAgICAgICBjcmVhdGVkOiBmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImFwcC1jcmVhdGVkXCIpO1xyXG4gICAgICAgICAgICBmb3IodmFyIGk9MDsgaTx3aW5kb3cuVnVlLmNyZWF0ZWQubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgd2luZG93LlZ1ZS5jcmVhdGVkW2ldKHRoaXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBtb3VudGVkOiBmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImFwcC1tb3VudGVkXCIpO1xyXG4gICAgICAgICAgICBmb3IodmFyIGk9MDsgaTx3aW5kb3cuVnVlLm1vdW50ZWQubGVuZ3RoOyBpKyspe1xyXG4gICAgICAgICAgICAgICAgd2luZG93LlZ1ZS5tb3VudGVkW2ldKHRoaXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSkuJG1vdW50KCcjdnVlLWFwcCcpO1xyXG59KTtcclxuIiwidmFyIHJlbmRlciA9IGZ1bmN0aW9uKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybi
2BfYyhcImRpdlwiLCBbXG4gICAgX3ZtLl92KFwiXFxuICAgIEhlbGxvIFdvcmxkIDExXFxuICAgIFwiKSxcbiAgICBfYyhcbiAgICAgIFwiZGl2XCIsXG4gICAgICB7IGF0dHJzOiB7IGlkOiBcInByYWN0aWNlXCIgfSB9LFxuICAgICAgW1xuICAgICAgICBfYyhcImlucHV0XCIsIHtcbiAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgIHZhbHVlOiBfdm0udXNlcklkLFxuICAgICAgICAgICAgICBleHByZXNzaW9uOiBcInVzZXJJZFwiXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXSxcbiAgICAgICAgICBkb21Qcm9wczogeyB2YWx1ZTogX3ZtLnVzZXJJZCB9LFxuICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICBpbnB1dDogZnVuY3Rpb24oJGV2ZW50KSB7XG4gICAgICAgICAgICAgIGlmICgkZXZlbnQudGFyZ2V0LmNvbXBvc2luZykge1xuICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIF92bS51c2VySWQgPSAkZXZlbnQudGFyZ2V0LnZhbHVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJpbnB1dFwiLCB7XG4gICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgIHJhd05hbWU6IFwidi1tb2RlbFwiLFxuICAgICAgICAgICAgICB2YWx1ZTogX3ZtLnVzZXJQdyxcbiAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJ1c2VyUHdcIlxuICAgICAgICAgICAgfVxuICAgICAgICAgIF0sXG4gICAgICAgICAgZG9tUHJvcHM6IHsgdmFsdWU6IF92bS51c2VyUHcgfSxcbiAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgaW5wdXQ6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICBpZiAoJGV2ZW50LnRhcmdldC5jb21wb3NpbmcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBfdm0udXNlclB3ID0gJGV2ZW50LnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFxuICAgICAgICAgIFwiYnV0dG9uXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiYnV0dG9uQ2xpY2tlZFwiLFxuICAgICAgICAgICAgYXR0cnM6IHsgdHlwZTogXCJidXR0b25cIiB9LFxuICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgY2xpY2s6IGZ1bmN0aW9uKCRldmVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBfdm0ub25DbGlja0xvZ2luKClcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgW192bS5fdihcImxvZ2luXCIpXVxuICAgICAgICApLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfdm0uX2woX3ZtLnVzZXJEYXRhcywgZnVuY3Rpb24odXNlckRhdGEpIHtcbiAgICAgICAgICByZXR1cm4gX2MoXCJkaXZcIiwgeyBrZXk6IFwidXNlckRhdGEucmVVc2VySWRcIiB9LCBbXG4gICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgXCIgK1xuICAgICAgICAgICAgICAgIF92bS5fcyh1c2VyRGF0YS5yZVVzZXJJZCkgK1xuICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICAgICAgXCIgK1xuICAgICAgICAgICAgICAgIF92bS5fcyh1c2VyRGF0YS5yZVVzZXJQdykgK1xuICAgICAgICAgICAgICAgIFwiXFxuICAgICAgICBcIlxuICAgICAgICAgICAgKVxuICAgICAgICAgIF0pXG4gICAgICAgIH0pXG4gICAgICBdLFxuICAgICAgMlxuICAgIClcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iLCI8dGVtcGxhdGU+XHJcbiAgICA8ZGl2PlxyXG4gICAgICAgIEhlbGxvIFdvcmxkIDExXHJcbiAgICAgICAgPGRpdiBpZD1cInByYWN0aWNlXCI+XHJcbiAgICAgICAgICAgIDxpbnB1dCB2LW1vZGVsPVwidXNlcklkXCIgLz5cclxuICAgICAgICAgICAgPGlucHV0IHYtbW9kZWw9XCJ1c2VyUHdcIiAvPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbkNsaWNrZWRcIiBAY2xpY2s9XCJvbkNsaWNrTG9naW4oKVwiPmxvZ2luPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxkaXYgdi1mb3I9XCJ1c2VyRGF0YSBpbiB1c2VyRGF0YXNcIiBrZXk9XCJ1c2VyRGF0YS5yZVVzZXJJZFwiPlxyXG4gICAgICAgICAgICAgICAge3sgdXNlckRhdGEucmVVc2VySWQgfX1cclxuICAgICAgICAgICAgICAgIHt7IHVzZXJEYXRhLnJlVXNlclB3IH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5leHBvcnQgZGVmYXVsdHtcclxuICAgIGRhdGEoKSB7XHJcbiAgICAgICAgcmV0dXJue1xyXG4gICAgICAgICAgICB1c2VySWQ6IFwiXCIsXHJcbiAgICAgICAgICAgIHVzZXJQdzogXCJcIixcclxuICAgICAgICAgICAgdXNlckRhdGFzOiBbXVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCgpe1xyXG4gICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgfSxcclxuICAgIG1ldGhvZHM6IHtcclxuICAgICAgICBpbml0KCl7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0VGVzdCgpLnRoZW4oKHJlcykgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9LFxyXG4gICAgICAgIGdldFRlc3QoKXtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgICAgIHRyeXtcclxuICAgICAgICAgICAgICAgICAgICB2Y
2XIgcmVzID0gYXdhaXQgdGhpcy4kaHR0cC5nZXQoJy9hcGkvdjEvdGVzdCcpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHJlcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjYXRjaChlcnJvcil7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvbkNsaWNrTG9naW4oKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0cnl7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy51c2VySWQrXCI6XCIrdGhpcy51c2VyUHcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciB1c2VySWQgPSB0aGlzLnVzZXJJZDtcclxuICAgICAgICAgICAgICAgICAgICB2YXIgdXNlclB3ID0gdGhpcy51c2VyUHc7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHZhciByZXMgPSBhd2FpdCB0aGlzLiRodHRwLnBvc3QoJy9hcGkvdjEvdGVzdCcsIHsgdXNlcklkLCB1c2VyUHcgfSlcclxuICAgICAgICAgICAgICAgICAgICAudGhlbigocmVzKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhyZXMuZGF0YS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzLmRhdGEubWVzc2FnZVsxXSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKHR5cGVvZiByZXMuZGF0YS5zdWNjZXNzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZihyZXMuZGF0YS5zdWNjZXNzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZVVzZXJJZCA9IHJlcy5kYXRhLm1lc3NhZ2VbMF07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2Y
2XIgcmVVc2VyUHcgPSByZXMuZGF0YS5tZXNzYWdlWzFdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy51c2VyRGF0YXMucHVzaCh7cmVVc2VySWQsIHJlVXNlclB3fSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxlcnQoXCJmYWlsISFcIilcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG5cclxuICAgICAgICAgICAgICAgIH1jYXRjaChlcnJvcil7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuPC9zY3JpcHQ+XHJcbiIsImltcG9ydCBtb2QgZnJvbSBcIi0hLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanM/P3JlZi0tMCEuLi8uLi8uLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvaW5kZXguanM/P3Z1ZS1sb2FkZXItb3B0aW9ucyEuL2hlbGxvLXdvcmxkLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIjsgZXhwb3J0IGRlZmF1bHQgbW9kOyBleHBvcnQgKiBmcm9tIFwiLSEuLi8uLi8uLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/cmVmLS0wIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vaGVsbG8td29ybGQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiIiwiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMgfSBmcm9tIFwiLi9oZWxsby13b3JsZC52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9NWM5YmRiYzcmXCJcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vaGVsbG8td29ybGQudnVlP3Z1ZSZ0eXBlPXNjcmlwdCZsYW5nPWpzJlwiXG5leHBvcnQgKiBmcm9tIFwiLi9oZWxsby13b3JsZC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmXCJcblxuXG4vKiBub3JtYWxpemUgY29tcG9uZW50ICovXG5pbXBvcnQgbm9ybWFsaXplciBmcm9tIFwiIS4uLy4uLy4uL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsXG4gIFxuKVxuXG4vKiBob3QgcmVsb2FkICovXG5pZiAobW9kdWxlLmhvdCkge1xuICB2YXIgYXBpID0gcmVxdWlyZShcIi9ob21lL3V4aXRlbTAwNy9ub2RlX21vZHVsZXMvdnVlLWhvdC1yZWxvYWQtYXBpL2Rpc3QvaW5kZXguanNcIilcbiAgYXBpLmluc3RhbGwocmVxdWlyZSgndnVlJykpXG4gIGlmIChhcGkuY29tcGF0aWJsZSkge1xuICAgIG1vZHVsZS5ob3QuYWNjZXB0KClcbiAgICBpZiAoIWFwaS5pc1JlY29yZGVkKCc1YzliZGJjNycpKSB7XG4gICAgICBhcGkuY3JlYXRlUmVjb3JkKCc1YzliZGJjNycsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH0gZWxzZSB7XG4gICAgICBhcGkucmVsb2FkKCc1YzliZGJjNycsIGNvbXBvbmVudC5vcHRpb25zKVxuICAgIH1cbiAgICBtb2R1bGUuaG90LmFjY2VwdChcIi4vaGVsbG8td29ybGQudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPTVjOWJkYmM3JlwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICBhcGkucmVyZW5kZXIoJzVjOWJkYmM3Jywge1xuICAgICAgICByZW5kZXI6IHJlbmRlcixcbiAgICAgICAgc3RhdGljUmVuZGVyRm5zOiBzdGF0aWNSZW5kZXJGbnNcbiAgICAgIH0pXG4gICAgfSlcbiAgfVxufVxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwdWJsaWNfaHRtbC9jb21wb25lbnRzL3Rlc3QvaGVsbG8td29ybGQudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.