window.Koditar=function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){var r=n(1),o=n(2),i=n(4);e.exports={render:function(e,t){if(!e||!e.length)throw new Error("Empty text supplied");r(t=t||{});var n=o.initialize(t),l=n.canvas,a=n.ctx;i.set(a,e,t);var c=l.toDataURL("image/png");return l.remove(),c}}},function(e,t){e.exports=function(e){e.size=e.size||300,e.bgColor=e.bgColor||"#eee",e.color=e.color||"#222",e.fontFamily=e.fontFamily||"Calibri",e.fontSize=e.fontSize||100}},function(e,t,n){var r=n(3);e.exports={initialize:function(e){var t=document.createElement("canvas"),n=t.getContext("2d");return t.width=e.size,t.height=e.size,n.fillStyle=e.bgColor,n.fillRect(0,0,t.width,t.height),e.test&&r.drawCross(n,e.size),{canvas:t,ctx:n}}}},function(e,t){e.exports={drawCross:function(e,t){e.beginPath(),e.moveTo(t/2,0),e.lineTo(t/2,t),e.moveTo(0,t/2),e.lineTo(t,t/2),e.strokeStyle="#FF0000",e.stroke()}}},function(e,t){function n(e){if((e=(e=e.trim().toUpperCase()).replace(/ +(?= )/g,"")).length>2){var t=e.split(" ");t.length>=2?e=t[0][0]+t[1][0]:t&&(e=t[0][0])}return(e=e.replace(/Á/g,"A").replace(/É/g,"E").replace(/Í/g,"I").replace(/Ó/g,"O").replace(/Ú/g,"U")).toUpperCase()}e.exports={sanitize:n,set:function(e,t,r){t=n(t),e.font="".concat(r.fontSize," ").concat(r.size/2,"px ").concat(r.fontFamily),e.textAlign="center",e.textBaseline="middle",e.fillStyle=r.color,e.fillText(t,r.size/2,r.size/2+.037*r.size,r.width)}}}]); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Lb2RpdGFyL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL0tvZGl0YXIvLi9zcmMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vS29kaXRhci8uL3NyYy9oZWxwZXIvY29uZmlnLmhlbHBlci5qcyIsIndlYnBhY2s6Ly9Lb2RpdGFyLy4vc3JjL2hlbHBlci9jYW52YXMuaGVscGVyLmpzIiwid2VicGFjazovL0tvZGl0YXIvLi9zcmMvaGVscGVyL3Rlc3QuaGVscGVyLmpzIiwid2VicGFjazovL0tvZGl0YXIvLi9zcmMvaGVscGVyL3RleHQuaGVscGVyLmpzIl0sIm5hbWVzIjpbImluc3RhbGxlZE1vZHVsZXMiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJleHBvcnRzIiwibW9kdWxlIiwiaSIsImwiLCJtb2R1bGVzIiwiY2FsbCIsIm0iLCJjIiwiZCIsIm5hbWUiLCJnZXR0ZXIiLCJvIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiciIsIlN5bWJvbCIsInRvU3RyaW5nVGFnIiwidmFsdWUiLCJ0IiwibW9kZSIsIl9fZXNNb2R1bGUiLCJucyIsImNyZWF0ZSIsImtleSIsImJpbmQiLCJuIiwib2JqZWN0IiwicHJvcGVydHkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInAiLCJzIiwiY29uZmlnSGVscGVyIiwicmVxdWlyZSIsImNhbnZhc0hlbHBlciIsInRleHRIZWxwZXIiLCJyZW5kZXIiLCJ0ZXh0IiwiY2ZnIiwibGVuZ3RoIiwiRXJyb3IiLCJpbml0aWFsaXplIiwiY2FudmFzIiwiY3R4Iiwic2V0IiwiZGF0YVVybCIsInRvRGF0YVVSTCIsInJlbW92ZSIsInNpemUiLCJiZ0NvbG9yIiwiY29sb3IiLCJmb250RmFtaWx5IiwiZm9udFNpemUiLCJ0ZXN0SGVscGVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiZ2V0Q29udGV4dCIsIndpZHRoIiwiaGVpZ2h0IiwiZmlsbFN0eWxlIiwiZmlsbFJlY3QiLCJ0ZXN0IiwiZHJhd0Nyb3NzIiwiYmVnaW5QYXRoIiwibW92ZVRvIiwibGluZVRvIiwic3Ryb2tlU3R5bGUiLCJzdHJva2UiLCJzYW5pdGl6ZSIsInRyaW0iLCJ0b1VwcGVyQ2FzZSIsInJlcGxhY2UiLCJwYXJ0cyIsInNwbGl0IiwiZm9udCIsInRleHRBbGlnbiIsInRleHRCYXNlbGluZSIsImZpbGxUZXh0Il0sIm1hcHBpbmdzIjoiMkJBQ0UsSUFBSUEsRUFBbUIsR0FHdkIsU0FBU0MsRUFBb0JDLEdBRzVCLEdBQUdGLEVBQWlCRSxHQUNuQixPQUFPRixFQUFpQkUsR0FBVUMsUUFHbkMsSUFBSUMsRUFBU0osRUFBaUJFLEdBQVksQ0FDekNHLEVBQUdILEVBQ0hJLEdBQUcsRUFDSEgsUUFBUyxJQVVWLE9BTkFJLEVBQVFMLEdBQVVNLEtBQUtKLEVBQU9ELFFBQVNDLEVBQVFBLEVBQU9ELFFBQVNGLEdBRy9ERyxFQUFPRSxHQUFJLEVBR0pGLEVBQU9ELFFBMERmLE9BckRBRixFQUFvQlEsRUFBSUYsRUFHeEJOLEVBQW9CUyxFQUFJVixFQUd4QkMsRUFBb0JVLEVBQUksU0FBU1IsRUFBU1MsRUFBTUMsR0FDM0NaLEVBQW9CYSxFQUFFWCxFQUFTUyxJQUNsQ0csT0FBT0MsZUFBZWIsRUFBU1MsRUFBTSxDQUFFSyxZQUFZLEVBQU1DLElBQUtMLEtBS2hFWixFQUFvQmtCLEVBQUksU0FBU2hCLEdBQ1gsb0JBQVhpQixRQUEwQkEsT0FBT0MsYUFDMUNOLE9BQU9DLGVBQWViLEVBQVNpQixPQUFPQyxZQUFhLENBQUVDLE1BQU8sV0FFN0RQLE9BQU9DLGVBQWViLEVBQVMsYUFBYyxDQUFFbUIsT0FBTyxLQVF2RHJCLEVBQW9Cc0IsRUFBSSxTQUFTRCxFQUFPRSxHQUV2QyxHQURVLEVBQVBBLElBQVVGLEVBQVFyQixFQUFvQnFCLElBQy9CLEVBQVBFLEVBQVUsT0FBT0YsRUFDcEIsR0FBVyxFQUFQRSxHQUE4QixpQkFBVkYsR0FBc0JBLEdBQVNBLEVBQU1HLFdBQVksT0FB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LFFBQVEsS0FBTSxLQUNkQSxRQUFRLEtBQU0sS0FDZEEsUUFBUSxLQUFNLEtBQ2RBLFFBQVEsS0FBTSxNQUVQRCxjQWlCaEJ2RSxFQUFPRCxRQUFVLENBQ2JzRSxXQUNBeEIsSUFoQkosU0FBYUQsRUFBS04sRUFBTUMsR0FFcEJELEVBQU8rQixFQUFTL0IsR0FFaEJNLEVBQUkrQixLQUFKLFVBQWNwQyxFQUFJYyxTQUFsQixZQUE4QmQsRUFBSVUsS0FBTyxFQUF6QyxjQUFnRFYsRUFBSWEsWUFDcERSLEVBQUlnQyxVQUFZLFNBQ2hCaEMsRUFBSWlDLGFBQWUsU0FDbkJqQyxFQUFJZ0IsVUFBWXJCLEVBQUlZLE1BSXBCUCxFQUFJa0MsU0FBU3hDLEVBQU1DLEVBQUlVLEtBQU8sRUFBR1YsRUFBSVUsS0FBTyxFQUFnQixLQUFYVixFQUFJVSxLQUFlVixFQUFJbUIiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4iLCJjb25zdCBjb25maWdIZWxwZXIgPSByZXF1aXJlKFwiLi9oZWxwZXIvY29uZmlnLmhlbHBlci5qc1wiKTtcclxuY29uc3QgY2FudmFzSGVscGVyID0gcmVxdWlyZShcIi4vaGVscGVyL2NhbnZhcy5oZWxwZXJcIik7XHJcbmNvbnN0IHRleHRIZWxwZXIgPSByZXF1aXJlKFwiLi9oZWxwZXIvdGV4dC5oZWxwZXJcIik7XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IHtcclxuICAgIHJlbmRlcih0ZXh0LCBjZmcpIHtcclxuICAgICAgICBpZiAoIXRleHQgfHwgIXRleHQubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRW1wdHkgdGV4dCBzdXBwbGllZCcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY2ZnID0gY2ZnIHx8IHt9O1xyXG5cclxuICAgICAgICAvLyBzZXQgZGVmYXVsdCBjb25maWd1cmF0aW9uXHJcbiAgICAgICAgY29uZmlnSGVscGVyKGNmZyk7XHJcblxyXG4gICAgICAgIC8vIHByZXBhcmUgY2FudmFzIGNvbmZpZ1xyXG4gICAgICAgIGNvbnN0IHsgY2FudmFzLCBjdHggfSA9IGNhbnZhc0hlbHBlci5pbml0aWFsaXplKGNmZyk7XHJcblxyXG4gICAgICAgIC8vIHNldCB0ZXh0XHJcbiAgICAgICAgdGV4dEhlbHBlci5zZXQoY3R4LCB0ZXh0LCBjZmcpO1xyXG5cclxuICAgICAgICAvLyByZW5kZXIgaW1hZ2VcclxuICAgICAgICBjb25zdCBkYXRhVXJsID0gY2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvcG5nJyk7XHJcblxyXG4gICAgICAgIC8vIGRlc3Ryb3kgY2FudmFzXHJcbiAgICAgICAgY2FudmFzLnJlbW92ZSgpO1xyXG5cclxuICAgICAgICByZXR1cm4gZGF0YVVybDtcclxuICAgIH1cclxufTsiLCJtb2R1bGUuZXhwb3J0cyA9IChjZmcpID0+IHtcclxuICAgIC8vIGRlZmF1bHQgc2l6ZVxyXG4gICAgY2ZnLnNpemUgPSBjZmcuc2l6ZSB8fCAzMDA7XHJcblxyXG4gICAgLy8gZGVmYXVsdCBjb2xvcnNcclxuICAgIGNmZy5iZ0NvbG9yID0gY2ZnLmJnQ29sb3IgfHwgJyNlZWUnO1xyXG4gICAgY2ZnLmNvbG9yID0gY2ZnLmNvbG9yIHx8ICcjMjIyJztcclxuXHJcbiAgICAvLyBmb250IHN0eWxlXHJcbiAgICBjZmcuZm9udEZhbWlseSA9IGNmZy5mb250RmFtaWx5IHx8ICdDYWxpYnJpJztcclxuICAgIGNmZy5mb250U2l6ZSA9IGNmZy5mb250U2l6ZSB8fCAxMDA7XHJcbn07IiwiY29uc3QgdGVzdEhlbHBlciA9IHJlcXVpcmUoXCIuL3Rlc3QuaGVscGVyXCIpO1xyXG5cclxuZnVuY3Rpb24gaW5pdGlhbGl6ZShjZmcpIHtcclxuICAgIGNvbnN0IGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJjYW52YXNcIik7XHJcbiAgICBjb25zdCBjdHggPSBjYW52YXMuZ2V0Q29udGV4dChcIjJkXCIpO1xyXG5cclxuICAgIGNhbnZhcy53aWR0aCA9IGNmZy5zaXplO1xyXG4gICAgY2FudmFzLmhlaWdodCA9IGNmZy5zaXplO1xyXG5cclxuICAgIC8vIGJhY2tncm91bmRDb2xvclxyXG4gICAgY3R4LmZpbGxTdHlsZSA9IGNmZy5iZ0NvbG9yO1xyXG4gICAgY3R4LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XHJcblxyXG4gICAgaWYgKGNmZy50ZXN0KSB7XHJcbiAgICAgICAgdGVzdEhlbHBlci5kcmF3Q3Jvc3MoY3R4LCBjZmcuc2l6ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHsgY2FudmFzLCBjdHggfTtcclxufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSB7XHJcbiAgICBpbml0aWFsaXplXHJcbn07IiwiZnVuY3Rpb24gZHJhd0Nyb3NzKGN0eCwgc2l6ZSkge1xyXG4gICAgY3R4LmJlZ2luUGF0aCgpO1xyXG5cclxuICAgIC8vIHZlcnRpY2FsIGxpbmVcclxuICAgIGN0eC5tb3ZlVG8oc2l6ZSAvIDIsIDApO1xyXG4gICAgY3R4LmxpbmVUbyhzaXplIC8gMiwgc2l6ZSk7XHJcblxyXG4gICAgLy8gaG9yaXpvbnRhbCBsaW5lXHJcbiAgICBjdHgubW92ZVRvKDAsIHNpemUgLyAyKTtcclxuICAgIGN0eC5saW5lVG8oc2l6ZSwgc2l6ZSAvIDIpO1xyXG5cclxuICAgIGN0eC5zdHJva2VTdHlsZSA9IFwiI0ZGMDAwMFwiO1xyXG4gICAgY3R4LnN0cm9rZSgpO1xyXG59XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IHtcclxuICAgIGRyYXdDcm9zc1xyXG59OyIsImZ1bmN0aW9uIHNhbml0aXplKHRleHQpIHtcclxuICAgIHRleHQgPSB0ZXh0LnRyaW0oKS50b1VwcGVyQ2FzZSgpO1xyXG5cclxuICAgIC8vIHJlbW92ZSBkb3VibGUgc3BhY2VcclxuICAgIHRleHQgPSB0ZXh0LnJlcGxhY2UoLyArKD89ICkvZywgJycpO1xyXG5cclxuICAgIGlmICh0ZXh0Lmxlbmd0aCA+IDIpIHtcclxuICAgICAgICBjb25zdCBwYXJ0cyA9IHRleHQuc3BsaXQoJyAnKTtcclxuXHJcbiAgICAgICAgLy8gd2hlbiB0aGUgdGV4dCBwYXNzZWQgaXMgdGhlIGZ1bGwgbmFtZS4gRXg6IEp1YW4gUGVyZXpcclxuICAgICAgICBpZiAocGFydHMubGVuZ3RoID49IDIpIHtcclxuICAgICAgICAgICAgLy8gZ2V0IHRoZSBmaXJzdCBsZXR0ZXIgb2YgZWFjaCBwYXJ0XHJcbiAgICAgICAgICAgIHRleHQgPSBwYXJ0c1swXVswXSArIHBhcnRzWzFdWzBdO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyB3aGVuIHRoZSB0ZXh0IHBhc3NlZCBpcyB0aGUgZmlyc3QgbmFtZS4gRXg6IEp1YW5cclxuICAgICAgICBlbHNlIGlmIChwYXJ0cykge1xyXG4gICAgICAgICAgICB0ZXh0ID0gcGFydHNbMF1bMF07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHJlbW92ZSBhY2NlbnQgbWFya1xyXG4gICAgdGV4dCA9IHRleHQucmVwbGFjZSgvw4EvZywgJ0EnKVxyXG4gICAgICAgIC5yZXBsYWNlKC/DiS9nLCAnRScpXHJcbiAgICAgICAgLnJlcGxhY2UoL8ONL2csICdJJylcclxuICAgICAgICAucmVwbGFjZSgvw5MvZywgJ08nKVxyXG4gICAgICAgIC5yZXBsYWNlKC/Dmi9nLCAnVScpO1xyXG5cclxuICAgIHJldHVybiB0ZXh0LnRvVXBwZXJDYXNlKCk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHNldChjdHgsIHRleHQsIGNmZykge1xyXG4gICAgLy8gc2FuaXRpemUgdGV4dFxyXG4gICAgdGV4dCA9IHNhbml0aXplKHRleHQpO1xyXG5cclxuICAgIGN0eC5mb250ID0gYCR7Y2ZnLmZvbnRTaXplfSAke2NmZy5zaXplIC8gMn1weCAke2NmZy5mb250RmFtaWx5fWA7XHJcbiAgICBjdHgudGV4dEFsaWduID0gXCJjZW50ZXJcIjtcclxuICAgIGN0eC50ZXh0QmFzZWxpbmUgPSBcIm1pZGRsZVwiO1xyXG4gICAgY3R4LmZpbGxTdHlsZSA9IGNmZy5jb2xvcjtcclxuXHJcbiAgICAvLyBUT0RPOiByZW1vdmUgZmFjdG9yIGhlaWdodCBoYWNrIChjZmcuc2l6ZSAqIDAuMDM3KVxyXG4gICAgLy8gVGhpcyBpcyB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgbWlkZGxlIHBvc2l0aW9uIG9mIHRoZSBheGlzIFkgYnV0IGlzIG5vdCAxMDAlIGNvcnJlY3RcclxuICAgIGN0eC5maWxsVGV4dCh0ZXh0LCBjZmcuc2l6ZSAvIDIsIGNmZy5zaXplIC8gMiArIChjZmcuc2l6ZSAqIDAuMDM3KSwgY2ZnLndpZHRoKTtcclxufVxyXG5cclxubW9kdWxlLmV4cG9ydHMgPSB7XHJcbiAgICBzYW5pdGl6ZSxcclxuICAgIHNldFxyXG59OyJdLCJzb3VyY2VSb290IjoiIn0=