From 5e04c36ea73d1c5fa2c3d722fdbe9db35a52125d Mon Sep 17 00:00:00 2001 From: Sema Date: Sat, 13 Apr 2024 05:37:10 -0400 Subject: [PATCH] Cleanup and coverage --- .npmignore | 4 ++-- javascript/JZZ.input.Kbd.js | 2 +- minified/JZZ.input.Kbd.js | 2 +- package.json | 2 +- test/.instrumented/JZZ.input.Kbd.js | 19 ------------------- test/demo.html | 24 +++++++++++++++++++++--- 6 files changed, 26 insertions(+), 27 deletions(-) delete mode 100644 test/.instrumented/JZZ.input.Kbd.js diff --git a/.npmignore b/.npmignore index c7ef819..f5a72c9 100644 --- a/.npmignore +++ b/.npmignore @@ -1,6 +1,6 @@ .* minified test* +coverage Gruntfile.js -*.html -*.bat \ No newline at end of file +!test diff --git a/javascript/JZZ.input.Kbd.js b/javascript/JZZ.input.Kbd.js index e61515c..73d91a2 100644 --- a/javascript/JZZ.input.Kbd.js +++ b/javascript/JZZ.input.Kbd.js @@ -14,7 +14,7 @@ if (!JZZ) return; if (!JZZ.input) JZZ.input = {}; - var _version = '1.3.0'; + var _version = '1.3.1'; function _name(name, deflt) { return name ? name : deflt; } function _copy(obj) { diff --git a/minified/JZZ.input.Kbd.js b/minified/JZZ.input.Kbd.js index 507db31..0c6b638 100644 --- a/minified/JZZ.input.Kbd.js +++ b/minified/JZZ.input.Kbd.js @@ -1 +1 @@ -!function(t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t.Kbd=t:"function"==typeof define&&define.amd?define("JZZ.input.Kbd",["JZZ"],t):t(JZZ)}(function(r){if(r){r.input||(r.input={});for(var n,e="1.3.0",h={a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15},t=0;t<16;t++)h[t]=t;s.prototype.channel=function(t){return void 0===this.mpe&&void 0!==(t=h[t])&&(this.chan=t),this.chan},c.prototype._info=function(t){return{type:"html/javascript",name:i(t,"ASCII"),manufacturer:"virtual",version:e}},c.prototype._openIn=function(i,t){var e=new s(this._arg);e.port=i,e.mpe?(i._orig._mpe||(i._orig._mpe=r.MPE()),i._orig._mpe.setup(e.mpe[0],e.mpe[1]),e.noteOn=function(t){var e=r.MIDI(144+this.chan,t,127);e._mpe=t,i._receive(e)},e.noteOff=function(t){var e=r.MIDI(128+this.chan,t,127);e._mpe=t,i._receive(e)}):(e.noteOn=function(t){i._receive(r.MIDI(144+this.chan,t,127))},e.noteOff=function(t){i._receive(r.MIDI(128+this.chan,t,127))}),i._info=this._info(t),i._close=function(){e._close()},i.channel=function(t){return e.channel(t)},i._resume()},r.input.ASCII=function(){1==arguments.length?"string"==typeof arguments[0]?t=arguments[0]:e=arguments[0]:(t=arguments[0],e=arguments[1]);var t,e,i=new c;return i._arg=e,r.lib.openMidiIn(t,i)},r.input.ASCII.register=function(){1==arguments.length?"string"==typeof arguments[0]?t=arguments[0]:e=arguments[0]:(t=arguments[0],e=arguments[1]);var t,e,i=new c;return i._arg=e,r.lib.registerMidiIn(t,i)},y.prototype.channel=function(t){if(void 0===this.mpe){t=h[t];if(void 0!==t&&t!=this.chan){for(var e in this.playing)I(this.keys[e],(this.keys[e]._active?this.stl0:this.stl2)[e]),I(this.keys[e],this.locs[e]);this.chan=t}}return this.chan},y.prototype._close=function(){for(var t in this.playing)"M"!=this.playing[t]&&"T"!=this.playing[t]||this.noteOff(t);this.resize&&window.removeEventListener("resize",this.resize),this.cleanup()},y.prototype.press=function(t){this.keys[t]._active&&(I(this.keys[t],this.stl1[t]),I(this.keys[t],this.locs[t]),this.noteOn(t))},y.prototype.release=function(t){this.keys[t]._active&&(I(this.keys[t],this.stl0[t]),I(this.keys[t],this.locs[t]),this.noteOff(t))},y.prototype.forward=function(t){var e=t[1],i=t.getChannel();if(i>=this.chan&&i<=(this.mpe?this.chan+this.mpe[1]:this.chan)){i=t[0]>>4;if(t.isNoteOn())this.keys[e]&&(this.playing[e]="E",I(this.keys[e],this.stl1[e]),I(this.keys[e],this.locs[e]));else if(t.isNoteOff())this.keys[e]&&(this.playing[e]=void 0,I(this.keys[e],(this.keys[e]._active?this.stl0:this.stl2)[e]),I(this.keys[e],this.locs[e]));else if(11==i&&(120==e||123==e))for(e in this.playing)this.playing[e]=void 0,I(this.keys[e],(this.keys[e]._active?this.stl0:this.stl2)[e]),I(this.keys[e],this.locs[e])}this.emit(t)},y.prototype.clear=function(){for(var t in this.playing)this.playing[t]=void 0,I(this.keys[t],(this.keys[t]._active?this.stl0:this.stl2)[t]),I(this.keys[t],this.locs[t])},y.prototype.findKey=function(t,e,i){for(var s in this.keys)for(var n=document.elementFromPoint(t,e);n;n=n.parentNode)if(this.keys[s]==n)return void(i[s]=!0)},y.prototype.create=function(){for(var t=0,e=0;e>7]),t.emit([176+this.chan,this.lsb,127&this.num])):t.emit([176+this.chan,this.msb,this.num]):t.emit([224+this.chan,127&this.num,this.num>>7])},b.prototype.read=function(t){return this.msb||t[0]!=224+this.chan||t[1]!=parseInt(t[1])||t[2]!=parseInt(t[2])?this.msb&&t[0]==176+this.chan&&t[2]==parseInt(t[2])?t[1]==this.msb?(this.lsb?(this.num=t[2]<<7|127&this.num,this.val=this.num/16383):(this.num=127&t[2],this.val=this.num/127),!0):t[1]==this.lsb?(this.num=16256&this.num|127&t[2],this.val=this.num/16383,!0):void 0:void 0:(this.num=t[2]<<7|127&t[1],this.val=this.num/16383,!0)},w.prototype.setInnerHTML=function(t){return this.inner.innerHTML=t,this},w.prototype.setStyle=function(t,e){for(var i in void 0===e&&(e=t),t)this.stl0[i]=t[i];for(i in e)this.stl1[i]=e[i];return I(this.span,this.ctrl.isSelected()?this.stl1:this.stl0),I(this.span,this.stl),this},k.prototype._close=function(){this.at&&(this.at.innerHTML=""),this.mouseUpHandler&&window.removeEventListener("mouseup",this.mouseUpHandler)},k.prototype.create=function(){for(var t=0,e=0;ethis.rh&&(e=this.rh),this.move(e)},B.prototype.move=function(t){var e;this.coord!=t&&("N"==this.pos||"S"==this.pos?(this.knob.style.top=t+this.dy+"px",this.stlK.top=this.knob.style.top,this.dragY+=t-this.coord):(this.knob.style.left=t+this.dy+"px",this.stlK.left=this.knob.style.left,this.dragX+=t-this.coord),e=t/this.rh,"N"!=this.pos&&"W"!=this.pos||(e=1-e),this.data.setValue(e)&&this.data.emit(this),this.coord=t)},B.prototype.forward=function(t){this.emit(t),this.data.read(t)&&this.setValue()},(X.prototype=new k).channel=function(t){t=h[t];return void 0!==t&&t!=this.chan&&(this.chan=t,this.dataX.chan=t,this.dataY.chan=t,this.setValue(this.dataX.base,this.dataY.base)),this.chan},X.prototype.createAt=function(t){t.innerHTML="";var e=parseInt(this.current.bh),i=parseInt(this.current.bw),s=(s=parseInt(this.current.rh))||128;this.rh=s;var n=(n=parseInt(this.current.rw))||128;this.rw=n;var o,h=(h=parseInt(this.current.kh))||24,r=(r=parseInt(this.current.kw))||16,a=this.current.pos.toUpperCase(),a=(this.pos=a,this.dataX||(this.dataX=new b(this.current.dataX),this.dataY=new b(this.current.dataY),void 0!==this.current.dataX||void 0===this.current.dataY||this.dataY.msb||(this.dataX=new b("mod")),void 0!==this.current.dataY||this.dataX.msb||(this.dataY=new b("mod")),this.dataX.chan=this.chan,this.dataY.chan=this.chan,this.dataX.setBase(this.current.baseX),this.dataY.setBase(this.current.baseY),this.dataX.setValue(this.current.valX),this.dataY.setValue(this.current.valY)),this.dx=-(r/2+1),this.dy=-(h/2+1),e=e||h+s+2,i=i||r+n+2,this.stlB={display:"inline-block",position:"relative",margin:"0",padding:"0",userSelect:"none",KhtmlUserSelect:"none",MozUserSelect:"none",MsUserSelect:"none",OUserSelect:"none",WebkitUserSelect:"none",cursor:"default"},this.stlB0={borderStyle:"none"},this.stlB1={borderStyle:"none"},this.stlR={display:"inline-block",position:"absolute",margin:"0",padding:"0",borderStyle:"solid",borderWidth:"1px"},this.stlR0={backgroundColor:"#aaa"},this.stlR1={backgroundColor:"#bbb"},this.stlK={display:"inline-block",position:"absolute",margin:"0",padding:"0",borderStyle:"solid",borderWidth:"1px"},this.stlK0={backgroundColor:"#ddd"},this.stlK1={backgroundColor:"#eee"},"E"==a||"W"==a?(this.stlB.width=e+"px",this.stlB.height=i+"px",this.stlR.width=s+"px",this.stlR.height=n+"px",this.stlR.left=(e-s)/2-1+"px",this.stlR.top=(i-n)/2-1+"px",this.stlK.width=h+"px",this.stlK.height=r+"px",this.stlK.top=this.dx+"px"):(this.stlB.width=i+"px",this.stlB.height=e+"px",this.stlR.width=n+"px",this.stlR.height=s+"px",this.stlR.top=(e-s)/2-1+"px",this.stlR.left=(i-n)/2-1+"px",this.stlK.width=r+"px",this.stlK.height=h+"px",this.stlK.left=this.dx+"px"),document.createElement("span")),e=(this.box=a,document.createElement("span")),s=(I(e,u),this.boxSpan=new w(this,a,e,this.stlB,this.stlB0,this.stlB1),document.createElement("span")),i=(this.range=s,document.createElement("span")),n=(I(i,u),this.rangeSpan=new w(this,s,i,this.stlR,this.stlR0,this.stlR1),document.createElement("span"));this.knob=n,this.knobSpan=new w(this,n,n,this.stlK,this.stlK0,this.stlK1),this.spans=[this.boxSpan,this.rangeSpan,this.knobSpan],void 0!==this.current.active&&!this.current.active||(a.addEventListener("touchstart",L),n.addEventListener("mousedown",M(this)),n.addEventListener("touchstart",S(this)),n.addEventListener("touchmove",K(this)),n.addEventListener("touchend",C(this)),n.addEventListener("touchcancel",C(this))),this.current.onCreate&&this.current.onCreate.apply(this),s.appendChild(i),s.appendChild(n),a.appendChild(e),a.appendChild(s),a.ondragstart=f,a.onselectstart=f,t.appendChild(a),!this.at&&1this.rw&&(t=this.rw),e>this.rh&&(e=this.rh),this.knob.style.left=t+this.dx+"px",this.knob.style.top=e+this.dy+"px"):(t>this.rh&&(t=this.rh),e>this.rw&&(e=this.rw),this.knob.style.left=t+this.dy+"px",this.knob.style.top=e+this.dx+"px"),this.stlK.left=this.knob.style.left,this.stlK.top=this.knob.style.top,this.dragX+=t-this.coordX,this.dragY+=e-this.coordY,this.coordX=t,this.coordY=e,"E"!=this.pos&&"W"!=this.pos||(t=this.coordY,e=this.coordX),t/=this.rw,e/=this.rh,"N"!=this.pos&&"W"!=this.pos||(e=1-e),"S"!=this.pos&&"W"!=this.pos||(t=1-t),this.dataX.setValue(t)&&this.dataX.emit(this),this.dataY.setValue(e)&&this.dataY.emit(this)},X.prototype.forward=function(t){this.emit(t),(this.dataX.read(t)||this.dataY.read(t))&&this.setValue()},R.prototype._info=function(t){return{type:"html/javascript",name:i(t,"Slider"),manufacturer:"virtual",version:e}},R.prototype._openIn=function(e,t){var i=new B(this._arg);i.connect=function(){e.connect.apply(e,arguments)},i.send=function(){e.send.apply(e,arguments)},i.create(),i.emit=function(t){e._emit(t)},e._info=this._info(t),e._receive=function(t){i.forward(t)},e._close=function(){i._close()},e.settings=function(){return i.settings()},e.getBox=function(){return i.boxSpan},e.getRange=function(){return i.rangeSpan},e.getKnob=function(){return i.knobSpan},e.setValue=function(t){i.setValue(t)},e.channel=function(t){return i.channel(t)},e._resume()},r.input.Slider=function(){1==arguments.length?"string"==typeof arguments[0]?t=arguments[0]:e=arguments[0]:(t=arguments[0],e=arguments[1]);var t,e,i=new R;return i._arg=e,r.lib.openMidiIn(t,i)},r.input.Slider.register=function(){1==arguments.length?"string"==typeof arguments[0]?t=arguments[0]:e=arguments[0]:(t=arguments[0],e=arguments[1]);var t,e,i=new R;return i._arg=e,r.lib.registerMidiIn(t,i)},D.prototype._info=function(t){return{type:"html/javascript",name:i(t,"Pad"),manufacturer:"virtual",version:e}},D.prototype._openIn=function(e,t){var i=new X(this._arg);i.connect=function(){e.connect.apply(e,arguments)},i.send=function(){e.send.apply(e,arguments)},i.create(),i.emit=function(t){e._emit(t)},e._info=this._info(t),e._receive=function(t){i.forward(t)},e._close=function(){i._close()},e.settings=function(){return i.settings()},e.getBox=function(){return i.boxSpan},e.getRange=function(){return i.rangeSpan},e.getKnob=function(){return i.knobSpan},e.setValue=function(t){i.setValue(t)},e.channel=function(t){return i.channel(t)},e._resume()},r.input.Pad=function(){1==arguments.length?"string"==typeof arguments[0]?t=arguments[0]:e=arguments[0]:(t=arguments[0],e=arguments[1]);var t,e,i=new D;return i._arg=e,r.lib.openMidiIn(t,i)},r.input.Pad.register=function(){1==arguments.length?"string"==typeof arguments[0]?t=arguments[0]:e=arguments[0]:(t=arguments[0],e=arguments[1]);var t,e,i=new D;return i._arg=e,r.lib.registerMidiIn(t,i)}}function i(t,e){return t||e}function a(t){var e,i={};for(e in t)i[e]=t[e];return i}function o(t){return 65<=t&&t<=90?"Key"+String.fromCharCode(t):48<=t&&t<=57?"Digit"+String.fromCharCode(t):{9:"Tab",8:"Backspace",27:"Escape",32:"Space",59:"Semicolon",171:"Equal",173:"Minus",188:"Comma",190:"Period",191:"Slash",192:"Backquote",219:"BracketLeft",220:"Backslash",221:"BracketRight",222:"Quote"}[t]}function s(t){for(var e in this.notes={},this.playing=[],void 0!==(t=void 0===t?{}:t).mpe?(r.MPE.validate(t.mpe),this.mpe=t.mpe,this.chan=t.mpe[0]):(this.chan=h[t.chan],void 0===this.chan&&(this.chan=0)),t){var i=function(t){var e=t.toUpperCase();if(1==e.length){var i=e.charCodeAt(0);if(65<=i&&i<=90)return"Key"+e;if(48<=i&&i<=57)return"Digit"+e}return(e={ESC:"Escape",TAB:"Tab",BSP:"Backspace","-":"Minus",_:"Minus","+":"Equal","=":"Equal","[":"BracketLeft","{":"BracketLeft","]":"BracketRight","}":"BracketRight",";":"Semicolon",":":"Semicolon","'":"Quote",'"':"Quote","`":"Backquote","~":"Backquote","|":"Backslash","\\":"Backslash",",":"Comma","<":"Comma",".":"Period",">":"Period","/":"Slash","?":"Slash"," ":"Space"}[e])||t}(e);"function"==typeof t[e]?this.notes[i]=t[e]:(e=r.MIDI.noteValue(t[e]),void 0!==i&&void 0!==e&&(this.notes[i]=e))}var s=this;this.keydown=function(t){var e=t.code?s.notes[t.code]:s.notes[o(t.keyCode)];void 0!==e&&(t.preventDefault(),"function"==typeof e?e.apply(s,[!0]):s.playing[e]||(s.playing[e]=!0,s.noteOn(e)))},this.keyup=function(t){var e=t.code?s.notes[t.code]:s.notes[o(t.keyCode)];void 0!==e&&(t.preventDefault(),"function"==typeof e&&e.apply(s,[!1]),s.playing[e])&&(s.playing[e]=void 0,s.noteOff(e))},"string"==typeof t.at&&(this.at=document.getElementById(t.at));try{this.at.addEventListener("keydown",this.keydown),this.at.addEventListener("keyup",this.keyup),(!this.at.tabIndex||this.at.tabIndex<0)&&(this.at.tabIndex=0)}catch(t){document.addEventListener("keydown",this.keydown),document.addEventListener("keyup",this.keyup),this.at=document}this._close=function(){for(var t in this.at.removeEventListener("keydown",this.keydown),this.at.removeEventListener("keyup",this.keyup),s.playing)s.noteOff(t)}}function c(){}function p(t){return void 0===t.buttons||t.buttons!=n?t:(t.stopPropagation(),0==t.button?{buttons:1^n}:1==t.button?{buttons:4^n}:2==t.button?{buttons:2^n}:void 0)}function l(t){return void 0===t.buttons?!t.button:1&t.buttons}function d(t){return void 0===t.buttons?!t.button:!(1&t.buttons)}function f(){return!1}function I(t,e){if(t)for(var i in e)t.style[i]=e[i]}function E(t,e){return(e?[0,1,1,2,2,3,4,4,5,5,6,6]:[0,0,1,1,2,3,3,4,4,5,5,6])[(t=r.MIDI.noteValue(t))%12]+7*Math.floor(t/12)}function _(t){return 12*Math.floor(t/7)+{0:0,1:2,2:4,3:5,4:7,5:9,6:11}[t%7]}function v(e,i){return function(t){e.mouseDown&&"M"==e.playing[i]&&!function(t,e){for(;t;t=t.parentNode)if(t==e)return 1}(t.relatedTarget,this)&&(e.playing[i]=void 0,e.release(i)),n=t.buttons}}function y(t){this.bins=[],this.params={0:{}};var e,i={from:"C4",to:"E6",ww:42,bw:24,wl:150,bl:100,pos:"N"};for(e in void 0!==(t=void 0===t?{}:t).mpe?(r.MPE.validate(t.mpe),this.mpe=t.mpe,this.chan=t.mpe[0]):(this.chan=h[t.chan],void 0===this.chan&&(this.chan=0)),t)e==parseInt(e)?this.params[e]=a(t[e]):"chan"!=e&&("from"!=e&&"to"!=e||void 0!==r.MIDI.noteValue(t[e]))&&(i[e]=t[e]);for(e in this.params){for(var s in this.bins.push(e),i)"from"!=s&&"to"!=s||void 0!==this.params[e][s]&&void 0!==r.MIDI.noteValue(this.params[e][s])||(this.params[e][s]=i[s]),s in this.params[e]||(this.params[e][s]=i[s]);var n=this.params[e].from,o=this.params[e].to;r.MIDI.noteValue(n)>r.MIDI.noteValue(o)&&(this.params[e].from=o,this.params[e].to=n)}this.bins.sort(function(t,e){return t-e})}function m(t){this.piano=t,this.keys=[]}function g(){}function b(t){if(this.base=.5,this.val=.5,this.msb=0,this.lsb=0,this.chan=0,t instanceof Array){if(1!=t.length&&2!=t.length)return;if(2==t.length){if(t[1]!=parseInt(t[1])||t[1]<1||127=this.chan&&i<=(this.mpe?this.chan+this.mpe[1]:this.chan)){i=t[0]>>4;if(t.isNoteOn())this.keys[e]&&(this.playing[e]="E",I(this.keys[e],this.stl1[e]),I(this.keys[e],this.locs[e]));else if(t.isNoteOff())this.keys[e]&&(this.playing[e]=void 0,I(this.keys[e],(this.keys[e]._active?this.stl0:this.stl2)[e]),I(this.keys[e],this.locs[e]));else if(11==i&&(120==e||123==e))for(e in this.playing)this.playing[e]=void 0,I(this.keys[e],(this.keys[e]._active?this.stl0:this.stl2)[e]),I(this.keys[e],this.locs[e])}this.emit(t)},y.prototype.clear=function(){for(var t in this.playing)this.playing[t]=void 0,I(this.keys[t],(this.keys[t]._active?this.stl0:this.stl2)[t]),I(this.keys[t],this.locs[t])},y.prototype.findKey=function(t,e,i){for(var s in this.keys)for(var n=document.elementFromPoint(t,e);n;n=n.parentNode)if(this.keys[s]==n)return void(i[s]=!0)},y.prototype.create=function(){for(var t=0,e=0;e>7]),t.emit([176+this.chan,this.lsb,127&this.num])):t.emit([176+this.chan,this.msb,this.num]):t.emit([224+this.chan,127&this.num,this.num>>7])},b.prototype.read=function(t){return this.msb||t[0]!=224+this.chan||t[1]!=parseInt(t[1])||t[2]!=parseInt(t[2])?this.msb&&t[0]==176+this.chan&&t[2]==parseInt(t[2])?t[1]==this.msb?(this.lsb?(this.num=t[2]<<7|127&this.num,this.val=this.num/16383):(this.num=127&t[2],this.val=this.num/127),!0):t[1]==this.lsb?(this.num=16256&this.num|127&t[2],this.val=this.num/16383,!0):void 0:void 0:(this.num=t[2]<<7|127&t[1],this.val=this.num/16383,!0)},w.prototype.setInnerHTML=function(t){return this.inner.innerHTML=t,this},w.prototype.setStyle=function(t,e){for(var i in void 0===e&&(e=t),t)this.stl0[i]=t[i];for(i in e)this.stl1[i]=e[i];return I(this.span,this.ctrl.isSelected()?this.stl1:this.stl0),I(this.span,this.stl),this},k.prototype._close=function(){this.at&&(this.at.innerHTML=""),this.mouseUpHandler&&window.removeEventListener("mouseup",this.mouseUpHandler)},k.prototype.create=function(){for(var t=0,e=0;ethis.rh&&(e=this.rh),this.move(e)},B.prototype.move=function(t){var e;this.coord!=t&&("N"==this.pos||"S"==this.pos?(this.knob.style.top=t+this.dy+"px",this.stlK.top=this.knob.style.top,this.dragY+=t-this.coord):(this.knob.style.left=t+this.dy+"px",this.stlK.left=this.knob.style.left,this.dragX+=t-this.coord),e=t/this.rh,"N"!=this.pos&&"W"!=this.pos||(e=1-e),this.data.setValue(e)&&this.data.emit(this),this.coord=t)},B.prototype.forward=function(t){this.emit(t),this.data.read(t)&&this.setValue()},(X.prototype=new k).channel=function(t){t=h[t];return void 0!==t&&t!=this.chan&&(this.chan=t,this.dataX.chan=t,this.dataY.chan=t,this.setValue(this.dataX.base,this.dataY.base)),this.chan},X.prototype.createAt=function(t){t.innerHTML="";var e=parseInt(this.current.bh),i=parseInt(this.current.bw),s=(s=parseInt(this.current.rh))||128;this.rh=s;var n=(n=parseInt(this.current.rw))||128;this.rw=n;var o,h=(h=parseInt(this.current.kh))||24,r=(r=parseInt(this.current.kw))||16,a=this.current.pos.toUpperCase(),a=(this.pos=a,this.dataX||(this.dataX=new b(this.current.dataX),this.dataY=new b(this.current.dataY),void 0!==this.current.dataX||void 0===this.current.dataY||this.dataY.msb||(this.dataX=new b("mod")),void 0!==this.current.dataY||this.dataX.msb||(this.dataY=new b("mod")),this.dataX.chan=this.chan,this.dataY.chan=this.chan,this.dataX.setBase(this.current.baseX),this.dataY.setBase(this.current.baseY),this.dataX.setValue(this.current.valX),this.dataY.setValue(this.current.valY)),this.dx=-(r/2+1),this.dy=-(h/2+1),e=e||h+s+2,i=i||r+n+2,this.stlB={display:"inline-block",position:"relative",margin:"0",padding:"0",userSelect:"none",KhtmlUserSelect:"none",MozUserSelect:"none",MsUserSelect:"none",OUserSelect:"none",WebkitUserSelect:"none",cursor:"default"},this.stlB0={borderStyle:"none"},this.stlB1={borderStyle:"none"},this.stlR={display:"inline-block",position:"absolute",margin:"0",padding:"0",borderStyle:"solid",borderWidth:"1px"},this.stlR0={backgroundColor:"#aaa"},this.stlR1={backgroundColor:"#bbb"},this.stlK={display:"inline-block",position:"absolute",margin:"0",padding:"0",borderStyle:"solid",borderWidth:"1px"},this.stlK0={backgroundColor:"#ddd"},this.stlK1={backgroundColor:"#eee"},"E"==a||"W"==a?(this.stlB.width=e+"px",this.stlB.height=i+"px",this.stlR.width=s+"px",this.stlR.height=n+"px",this.stlR.left=(e-s)/2-1+"px",this.stlR.top=(i-n)/2-1+"px",this.stlK.width=h+"px",this.stlK.height=r+"px",this.stlK.top=this.dx+"px"):(this.stlB.width=i+"px",this.stlB.height=e+"px",this.stlR.width=n+"px",this.stlR.height=s+"px",this.stlR.top=(e-s)/2-1+"px",this.stlR.left=(i-n)/2-1+"px",this.stlK.width=r+"px",this.stlK.height=h+"px",this.stlK.left=this.dx+"px"),document.createElement("span")),e=(this.box=a,document.createElement("span")),s=(I(e,u),this.boxSpan=new w(this,a,e,this.stlB,this.stlB0,this.stlB1),document.createElement("span")),i=(this.range=s,document.createElement("span")),n=(I(i,u),this.rangeSpan=new w(this,s,i,this.stlR,this.stlR0,this.stlR1),document.createElement("span"));this.knob=n,this.knobSpan=new w(this,n,n,this.stlK,this.stlK0,this.stlK1),this.spans=[this.boxSpan,this.rangeSpan,this.knobSpan],void 0!==this.current.active&&!this.current.active||(a.addEventListener("touchstart",L),n.addEventListener("mousedown",M(this)),n.addEventListener("touchstart",S(this)),n.addEventListener("touchmove",K(this)),n.addEventListener("touchend",C(this)),n.addEventListener("touchcancel",C(this))),this.current.onCreate&&this.current.onCreate.apply(this),s.appendChild(i),s.appendChild(n),a.appendChild(e),a.appendChild(s),a.ondragstart=f,a.onselectstart=f,t.appendChild(a),!this.at&&1this.rw&&(t=this.rw),e>this.rh&&(e=this.rh),this.knob.style.left=t+this.dx+"px",this.knob.style.top=e+this.dy+"px"):(t>this.rh&&(t=this.rh),e>this.rw&&(e=this.rw),this.knob.style.left=t+this.dy+"px",this.knob.style.top=e+this.dx+"px"),this.stlK.left=this.knob.style.left,this.stlK.top=this.knob.style.top,this.dragX+=t-this.coordX,this.dragY+=e-this.coordY,this.coordX=t,this.coordY=e,"E"!=this.pos&&"W"!=this.pos||(t=this.coordY,e=this.coordX),t/=this.rw,e/=this.rh,"N"!=this.pos&&"W"!=this.pos||(e=1-e),"S"!=this.pos&&"W"!=this.pos||(t=1-t),this.dataX.setValue(t)&&this.dataX.emit(this),this.dataY.setValue(e)&&this.dataY.emit(this)},X.prototype.forward=function(t){this.emit(t),(this.dataX.read(t)||this.dataY.read(t))&&this.setValue()},R.prototype._info=function(t){return{type:"html/javascript",name:i(t,"Slider"),manufacturer:"virtual",version:e}},R.prototype._openIn=function(e,t){var i=new B(this._arg);i.connect=function(){e.connect.apply(e,arguments)},i.send=function(){e.send.apply(e,arguments)},i.create(),i.emit=function(t){e._emit(t)},e._info=this._info(t),e._receive=function(t){i.forward(t)},e._close=function(){i._close()},e.settings=function(){return i.settings()},e.getBox=function(){return i.boxSpan},e.getRange=function(){return i.rangeSpan},e.getKnob=function(){return i.knobSpan},e.setValue=function(t){i.setValue(t)},e.channel=function(t){return i.channel(t)},e._resume()},r.input.Slider=function(){1==arguments.length?"string"==typeof arguments[0]?t=arguments[0]:e=arguments[0]:(t=arguments[0],e=arguments[1]);var t,e,i=new R;return i._arg=e,r.lib.openMidiIn(t,i)},r.input.Slider.register=function(){1==arguments.length?"string"==typeof arguments[0]?t=arguments[0]:e=arguments[0]:(t=arguments[0],e=arguments[1]);var t,e,i=new R;return i._arg=e,r.lib.registerMidiIn(t,i)},D.prototype._info=function(t){return{type:"html/javascript",name:i(t,"Pad"),manufacturer:"virtual",version:e}},D.prototype._openIn=function(e,t){var i=new X(this._arg);i.connect=function(){e.connect.apply(e,arguments)},i.send=function(){e.send.apply(e,arguments)},i.create(),i.emit=function(t){e._emit(t)},e._info=this._info(t),e._receive=function(t){i.forward(t)},e._close=function(){i._close()},e.settings=function(){return i.settings()},e.getBox=function(){return i.boxSpan},e.getRange=function(){return i.rangeSpan},e.getKnob=function(){return i.knobSpan},e.setValue=function(t){i.setValue(t)},e.channel=function(t){return i.channel(t)},e._resume()},r.input.Pad=function(){1==arguments.length?"string"==typeof arguments[0]?t=arguments[0]:e=arguments[0]:(t=arguments[0],e=arguments[1]);var t,e,i=new D;return i._arg=e,r.lib.openMidiIn(t,i)},r.input.Pad.register=function(){1==arguments.length?"string"==typeof arguments[0]?t=arguments[0]:e=arguments[0]:(t=arguments[0],e=arguments[1]);var t,e,i=new D;return i._arg=e,r.lib.registerMidiIn(t,i)}}function i(t,e){return t||e}function a(t){var e,i={};for(e in t)i[e]=t[e];return i}function o(t){return 65<=t&&t<=90?"Key"+String.fromCharCode(t):48<=t&&t<=57?"Digit"+String.fromCharCode(t):{9:"Tab",8:"Backspace",27:"Escape",32:"Space",59:"Semicolon",171:"Equal",173:"Minus",188:"Comma",190:"Period",191:"Slash",192:"Backquote",219:"BracketLeft",220:"Backslash",221:"BracketRight",222:"Quote"}[t]}function s(t){for(var e in this.notes={},this.playing=[],void 0!==(t=void 0===t?{}:t).mpe?(r.MPE.validate(t.mpe),this.mpe=t.mpe,this.chan=t.mpe[0]):(this.chan=h[t.chan],void 0===this.chan&&(this.chan=0)),t){var i=function(t){var e=t.toUpperCase();if(1==e.length){var i=e.charCodeAt(0);if(65<=i&&i<=90)return"Key"+e;if(48<=i&&i<=57)return"Digit"+e}return(e={ESC:"Escape",TAB:"Tab",BSP:"Backspace","-":"Minus",_:"Minus","+":"Equal","=":"Equal","[":"BracketLeft","{":"BracketLeft","]":"BracketRight","}":"BracketRight",";":"Semicolon",":":"Semicolon","'":"Quote",'"':"Quote","`":"Backquote","~":"Backquote","|":"Backslash","\\":"Backslash",",":"Comma","<":"Comma",".":"Period",">":"Period","/":"Slash","?":"Slash"," ":"Space"}[e])||t}(e);"function"==typeof t[e]?this.notes[i]=t[e]:(e=r.MIDI.noteValue(t[e]),void 0!==i&&void 0!==e&&(this.notes[i]=e))}var s=this;this.keydown=function(t){var e=t.code?s.notes[t.code]:s.notes[o(t.keyCode)];void 0!==e&&(t.preventDefault(),"function"==typeof e?e.apply(s,[!0]):s.playing[e]||(s.playing[e]=!0,s.noteOn(e)))},this.keyup=function(t){var e=t.code?s.notes[t.code]:s.notes[o(t.keyCode)];void 0!==e&&(t.preventDefault(),"function"==typeof e&&e.apply(s,[!1]),s.playing[e])&&(s.playing[e]=void 0,s.noteOff(e))},"string"==typeof t.at&&(this.at=document.getElementById(t.at));try{this.at.addEventListener("keydown",this.keydown),this.at.addEventListener("keyup",this.keyup),(!this.at.tabIndex||this.at.tabIndex<0)&&(this.at.tabIndex=0)}catch(t){document.addEventListener("keydown",this.keydown),document.addEventListener("keyup",this.keyup),this.at=document}this._close=function(){for(var t in this.at.removeEventListener("keydown",this.keydown),this.at.removeEventListener("keyup",this.keyup),s.playing)s.noteOff(t)}}function c(){}function p(t){return void 0===t.buttons||t.buttons!=n?t:(t.stopPropagation(),0==t.button?{buttons:1^n}:1==t.button?{buttons:4^n}:2==t.button?{buttons:2^n}:void 0)}function l(t){return void 0===t.buttons?!t.button:1&t.buttons}function d(t){return void 0===t.buttons?!t.button:!(1&t.buttons)}function f(){return!1}function I(t,e){if(t)for(var i in e)t.style[i]=e[i]}function E(t,e){return(e?[0,1,1,2,2,3,4,4,5,5,6,6]:[0,0,1,1,2,3,3,4,4,5,5,6])[(t=r.MIDI.noteValue(t))%12]+7*Math.floor(t/12)}function _(t){return 12*Math.floor(t/7)+{0:0,1:2,2:4,3:5,4:7,5:9,6:11}[t%7]}function v(e,i){return function(t){e.mouseDown&&"M"==e.playing[i]&&!function(t,e){for(;t;t=t.parentNode)if(t==e)return 1}(t.relatedTarget,this)&&(e.playing[i]=void 0,e.release(i)),n=t.buttons}}function y(t){this.bins=[],this.params={0:{}};var e,i={from:"C4",to:"E6",ww:42,bw:24,wl:150,bl:100,pos:"N"};for(e in void 0!==(t=void 0===t?{}:t).mpe?(r.MPE.validate(t.mpe),this.mpe=t.mpe,this.chan=t.mpe[0]):(this.chan=h[t.chan],void 0===this.chan&&(this.chan=0)),t)e==parseInt(e)?this.params[e]=a(t[e]):"chan"!=e&&("from"!=e&&"to"!=e||void 0!==r.MIDI.noteValue(t[e]))&&(i[e]=t[e]);for(e in this.params){for(var s in this.bins.push(e),i)"from"!=s&&"to"!=s||void 0!==this.params[e][s]&&void 0!==r.MIDI.noteValue(this.params[e][s])||(this.params[e][s]=i[s]),s in this.params[e]||(this.params[e][s]=i[s]);var n=this.params[e].from,o=this.params[e].to;r.MIDI.noteValue(n)>r.MIDI.noteValue(o)&&(this.params[e].from=o,this.params[e].to=n)}this.bins.sort(function(t,e){return t-e})}function m(t){this.piano=t,this.keys=[]}function g(){}function b(t){if(this.base=.5,this.val=.5,this.msb=0,this.lsb=0,this.chan=0,t instanceof Array){if(1!=t.length&&2!=t.length)return;if(2==t.length){if(t[1]!=parseInt(t[1])||t[1]<1||127=65)&&(cov_207lrqrpit().b[9][1]++,k<=90)){cov_207lrqrpit().b[8][0]++;cov_207lrqrpit().s[21]++;return'Key'+z;}else{cov_207lrqrpit().b[8][1]++;}cov_207lrqrpit().s[22]++;if((cov_207lrqrpit().b[11][0]++,k>=48)&&(cov_207lrqrpit().b[11][1]++,k<=57)){cov_207lrqrpit().b[10][0]++;cov_207lrqrpit().s[23]++;return'Digit'+z;}else{cov_207lrqrpit().b[10][1]++;}}else{cov_207lrqrpit().b[7][1]++;}cov_207lrqrpit().s[24]++;z={ESC:'Escape',TAB:'Tab',BSP:'Backspace','-':'Minus','_':'Minus','+':'Equal','=':'Equal','[':'BracketLeft','{':'BracketLeft',']':'BracketRight','}':'BracketRight',';':'Semicolon',':':'Semicolon',"'":'Quote','"':'Quote','`':'Backquote','~':'Backquote','|':'Backslash','\\':'Backslash',',':'Comma','<':'Comma','.':'Period','>':'Period','/':'Slash','?':'Slash',' ':'Space'}[z];cov_207lrqrpit().s[25]++;return z?(cov_207lrqrpit().b[12][0]++,z):(cov_207lrqrpit().b[12][1]++,x);}function _codekey(k){cov_207lrqrpit().f[5]++;cov_207lrqrpit().s[26]++;if((cov_207lrqrpit().b[14][0]++,k>=65)&&(cov_207lrqrpit().b[14][1]++,k<=90)){cov_207lrqrpit().b[13][0]++;cov_207lrqrpit().s[27]++;return'Key'+String.fromCharCode(k);}else{cov_207lrqrpit().b[13][1]++;}cov_207lrqrpit().s[28]++;if((cov_207lrqrpit().b[16][0]++,k>=48)&&(cov_207lrqrpit().b[16][1]++,k<=57)){cov_207lrqrpit().b[15][0]++;cov_207lrqrpit().s[29]++;return'Digit'+String.fromCharCode(k);}else{cov_207lrqrpit().b[15][1]++;}cov_207lrqrpit().s[30]++;return{9:'Tab',8:'Backspace',27:'Escape',32:'Space',59:'Semicolon',171:'Equal',173:'Minus',188:'Comma',190:'Period',191:'Slash',192:'Backquote',219:'BracketLeft',220:'Backslash',221:'BracketRight',222:'Quote'}[k];}var _channelMap=(cov_207lrqrpit().s[31]++,{a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15});cov_207lrqrpit().s[32]++;for(var k=(cov_207lrqrpit().s[33]++,0);k<16;k++){cov_207lrqrpit().s[34]++;_channelMap[k]=k;}function Keyboard(arg){cov_207lrqrpit().f[6]++;cov_207lrqrpit().s[35]++;this.notes={};cov_207lrqrpit().s[36]++;this.playing=[];cov_207lrqrpit().s[37]++;if(typeof arg=='undefined'){cov_207lrqrpit().b[17][0]++;cov_207lrqrpit().s[38]++;arg={};}else{cov_207lrqrpit().b[17][1]++;}cov_207lrqrpit().s[39]++;if(typeof arg.mpe!='undefined'){cov_207lrqrpit().b[18][0]++;cov_207lrqrpit().s[40]++;JZZ.MPE.validate(arg.mpe);cov_207lrqrpit().s[41]++;this.mpe=arg.mpe;cov_207lrqrpit().s[42]++;this.chan=arg.mpe[0];}else{cov_207lrqrpit().b[18][1]++;cov_207lrqrpit().s[43]++;this.chan=_channelMap[arg.chan];cov_207lrqrpit().s[44]++;if(typeof this.chan=='undefined'){cov_207lrqrpit().b[19][0]++;cov_207lrqrpit().s[45]++;this.chan=0;}else{cov_207lrqrpit().b[19][1]++;}}cov_207lrqrpit().s[46]++;for(var k in arg){var key=(cov_207lrqrpit().s[47]++,_keycode(k));cov_207lrqrpit().s[48]++;if(typeof arg[k]=='function'){cov_207lrqrpit().b[20][0]++;cov_207lrqrpit().s[49]++;this.notes[key]=arg[k];}else{cov_207lrqrpit().b[20][1]++;var val=(cov_207lrqrpit().s[50]++,JZZ.MIDI.noteValue(arg[k]));cov_207lrqrpit().s[51]++;if((cov_207lrqrpit().b[22][0]++,typeof key!='undefined')&&(cov_207lrqrpit().b[22][1]++,typeof val!='undefined')){cov_207lrqrpit().b[21][0]++;cov_207lrqrpit().s[52]++;this.notes[key]=val;}else{cov_207lrqrpit().b[21][1]++;}}}var self=(cov_207lrqrpit().s[53]++,this);cov_207lrqrpit().s[54]++;this.keydown=function(e){cov_207lrqrpit().f[7]++;var midi=(cov_207lrqrpit().s[55]++,e.code?(cov_207lrqrpit().b[23][0]++,self.notes[e.code]):(cov_207lrqrpit().b[23][1]++,self.notes[_codekey(e.keyCode)]));cov_207lrqrpit().s[56]++;if(typeof midi!='undefined'){cov_207lrqrpit().b[24][0]++;cov_207lrqrpit().s[57]++;e.preventDefault();cov_207lrqrpit().s[58]++;if(typeof midi=='function'){cov_207lrqrpit().b[25][0]++;cov_207lrqrpit().s[59]++;midi.apply(self,[true]);}else{cov_207lrqrpit().b[25][1]++;cov_207lrqrpit().s[60]++;if(!self.playing[midi]){cov_207lrqrpit().b[26][0]++;cov_207lrqrpit().s[61]++;self.playing[midi]=true;cov_207lrqrpit().s[62]++;self.noteOn(midi);}else{cov_207lrqrpit().b[26][1]++;}}}else{cov_207lrqrpit().b[24][1]++;}};cov_207lrqrpit().s[63]++;this.keyup=function(e){cov_207lrqrpit().f[8]++;var midi=(cov_207lrqrpit().s[64]++,e.code?(cov_207lrqrpit().b[27][0]++,self.notes[e.code]):(cov_207lrqrpit().b[27][1]++,self.notes[_codekey(e.keyCode)]));cov_207lrqrpit().s[65]++;if(typeof midi!='undefined'){cov_207lrqrpit().b[28][0]++;cov_207lrqrpit().s[66]++;e.preventDefault();cov_207lrqrpit().s[67]++;if(typeof midi=='function'){cov_207lrqrpit().b[29][0]++;cov_207lrqrpit().s[68]++;midi.apply(self,[false]);}else{cov_207lrqrpit().b[29][1]++;}cov_207lrqrpit().s[69]++;if(self.playing[midi]){cov_207lrqrpit().b[30][0]++;cov_207lrqrpit().s[70]++;self.playing[midi]=undefined;cov_207lrqrpit().s[71]++;self.noteOff(midi);}else{cov_207lrqrpit().b[30][1]++;}}else{cov_207lrqrpit().b[28][1]++;}};cov_207lrqrpit().s[72]++;if(typeof arg.at=='string'){cov_207lrqrpit().b[31][0]++;cov_207lrqrpit().s[73]++;this.at=document.getElementById(arg.at);}else{cov_207lrqrpit().b[31][1]++;}cov_207lrqrpit().s[74]++;try{cov_207lrqrpit().s[75]++;this.at.addEventListener('keydown',this.keydown);cov_207lrqrpit().s[76]++;this.at.addEventListener('keyup',this.keyup);cov_207lrqrpit().s[77]++;if((cov_207lrqrpit().b[33][0]++,!this.at.tabIndex)||(cov_207lrqrpit().b[33][1]++,this.at.tabIndex<0)){cov_207lrqrpit().b[32][0]++;cov_207lrqrpit().s[78]++;this.at.tabIndex=0;}else{cov_207lrqrpit().b[32][1]++;}// allow keyboard focus -}catch(e){cov_207lrqrpit().s[79]++;document.addEventListener('keydown',this.keydown);cov_207lrqrpit().s[80]++;document.addEventListener('keyup',this.keyup);cov_207lrqrpit().s[81]++;this.at=document;}cov_207lrqrpit().s[82]++;this._close=function(){cov_207lrqrpit().f[9]++;cov_207lrqrpit().s[83]++;this.at.removeEventListener('keydown',this.keydown);cov_207lrqrpit().s[84]++;this.at.removeEventListener('keyup',this.keyup);cov_207lrqrpit().s[85]++;for(var midi in self.playing){cov_207lrqrpit().s[86]++;self.noteOff(midi);}};}cov_207lrqrpit().s[87]++;Keyboard.prototype.channel=function(c){cov_207lrqrpit().f[10]++;cov_207lrqrpit().s[88]++;if(typeof this.mpe=='undefined'){cov_207lrqrpit().b[34][0]++;var chan=(cov_207lrqrpit().s[89]++,_channelMap[c]);cov_207lrqrpit().s[90]++;if(typeof chan!='undefined'){cov_207lrqrpit().b[35][0]++;cov_207lrqrpit().s[91]++;this.chan=chan;}else{cov_207lrqrpit().b[35][1]++;}}else{cov_207lrqrpit().b[34][1]++;}cov_207lrqrpit().s[92]++;return this.chan;};function AsciiEngine(){cov_207lrqrpit().f[11]++;}cov_207lrqrpit().s[93]++;AsciiEngine.prototype._info=function(name){cov_207lrqrpit().f[12]++;cov_207lrqrpit().s[94]++;return{type:'html/javascript',name:_name(name,'ASCII'),manufacturer:'virtual',version:_version};};cov_207lrqrpit().s[95]++;AsciiEngine.prototype._openIn=function(port,name){cov_207lrqrpit().f[13]++;var keyboard=(cov_207lrqrpit().s[96]++,new Keyboard(this._arg));cov_207lrqrpit().s[97]++;keyboard.port=port;cov_207lrqrpit().s[98]++;if(keyboard.mpe){cov_207lrqrpit().b[36][0]++;cov_207lrqrpit().s[99]++;if(!port._orig._mpe){cov_207lrqrpit().b[37][0]++;cov_207lrqrpit().s[100]++;port._orig._mpe=JZZ.MPE();}else{cov_207lrqrpit().b[37][1]++;}cov_207lrqrpit().s[101]++;port._orig._mpe.setup(keyboard.mpe[0],keyboard.mpe[1]);cov_207lrqrpit().s[102]++;keyboard.noteOn=function(note){cov_207lrqrpit().f[14]++;var msg=(cov_207lrqrpit().s[103]++,JZZ.MIDI(0x90+this.chan,note,127));cov_207lrqrpit().s[104]++;msg._mpe=note;cov_207lrqrpit().s[105]++;port._receive(msg);};cov_207lrqrpit().s[106]++;keyboard.noteOff=function(note){cov_207lrqrpit().f[15]++;var msg=(cov_207lrqrpit().s[107]++,JZZ.MIDI(0x80+this.chan,note,127));cov_207lrqrpit().s[108]++;msg._mpe=note;cov_207lrqrpit().s[109]++;port._receive(msg);};}else{cov_207lrqrpit().b[36][1]++;cov_207lrqrpit().s[110]++;keyboard.noteOn=function(note){cov_207lrqrpit().f[16]++;cov_207lrqrpit().s[111]++;port._receive(JZZ.MIDI(0x90+this.chan,note,127));};cov_207lrqrpit().s[112]++;keyboard.noteOff=function(note){cov_207lrqrpit().f[17]++;cov_207lrqrpit().s[113]++;port._receive(JZZ.MIDI(0x80+this.chan,note,127));};}cov_207lrqrpit().s[114]++;port._info=this._info(name);cov_207lrqrpit().s[115]++;port._close=function(){cov_207lrqrpit().f[18]++;cov_207lrqrpit().s[116]++;keyboard._close();};cov_207lrqrpit().s[117]++;port.channel=function(x){cov_207lrqrpit().f[19]++;cov_207lrqrpit().s[118]++;return keyboard.channel(x);};cov_207lrqrpit().s[119]++;port._resume();};cov_207lrqrpit().s[120]++;JZZ.input.ASCII=function(){cov_207lrqrpit().f[20]++;var name,arg;cov_207lrqrpit().s[121]++;if(arguments.length==1){cov_207lrqrpit().b[38][0]++;cov_207lrqrpit().s[122]++;if(typeof arguments[0]=='string'){cov_207lrqrpit().b[39][0]++;cov_207lrqrpit().s[123]++;name=arguments[0];}else{cov_207lrqrpit().b[39][1]++;cov_207lrqrpit().s[124]++;arg=arguments[0];}}else{cov_207lrqrpit().b[38][1]++;cov_207lrqrpit().s[125]++;name=arguments[0];cov_207lrqrpit().s[126]++;arg=arguments[1];}var _AsciiEngine=(cov_207lrqrpit().s[127]++,new AsciiEngine());cov_207lrqrpit().s[128]++;_AsciiEngine._arg=arg;cov_207lrqrpit().s[129]++;return JZZ.lib.openMidiIn(name,_AsciiEngine);};cov_207lrqrpit().s[130]++;JZZ.input.ASCII.register=function(){cov_207lrqrpit().f[21]++;var name,arg;cov_207lrqrpit().s[131]++;if(arguments.length==1){cov_207lrqrpit().b[40][0]++;cov_207lrqrpit().s[132]++;if(typeof arguments[0]=='string'){cov_207lrqrpit().b[41][0]++;cov_207lrqrpit().s[133]++;name=arguments[0];}else{cov_207lrqrpit().b[41][1]++;cov_207lrqrpit().s[134]++;arg=arguments[0];}}else{cov_207lrqrpit().b[40][1]++;cov_207lrqrpit().s[135]++;name=arguments[0];cov_207lrqrpit().s[136]++;arg=arguments[1];}var _AsciiEngine=(cov_207lrqrpit().s[137]++,new AsciiEngine());cov_207lrqrpit().s[138]++;_AsciiEngine._arg=arg;cov_207lrqrpit().s[139]++;return JZZ.lib.registerMidiIn(name,_AsciiEngine);};var _firefoxBug;function _fixBtnUp(e){cov_207lrqrpit().f[22]++;cov_207lrqrpit().s[140]++;if((cov_207lrqrpit().b[43][0]++,typeof e.buttons=='undefined')||(cov_207lrqrpit().b[43][1]++,e.buttons!=_firefoxBug)){cov_207lrqrpit().b[42][0]++;cov_207lrqrpit().s[141]++;return e;}else{cov_207lrqrpit().b[42][1]++;}cov_207lrqrpit().s[142]++;e.stopPropagation();cov_207lrqrpit().s[143]++;if(e.button==0){cov_207lrqrpit().b[44][0]++;cov_207lrqrpit().s[144]++;return{buttons:_firefoxBug^1};}else{cov_207lrqrpit().b[44][1]++;}cov_207lrqrpit().s[145]++;if(e.button==1){cov_207lrqrpit().b[45][0]++;cov_207lrqrpit().s[146]++;return{buttons:_firefoxBug^4};}else{cov_207lrqrpit().b[45][1]++;}cov_207lrqrpit().s[147]++;if(e.button==2){cov_207lrqrpit().b[46][0]++;cov_207lrqrpit().s[148]++;return{buttons:_firefoxBug^2};}else{cov_207lrqrpit().b[46][1]++;}}function _lftBtnDn(e){cov_207lrqrpit().f[23]++;cov_207lrqrpit().s[149]++;return typeof e.buttons=='undefined'?(cov_207lrqrpit().b[47][0]++,!e.button):(cov_207lrqrpit().b[47][1]++,e.buttons&1);}function _lftBtnUp(e){cov_207lrqrpit().f[24]++;cov_207lrqrpit().s[150]++;return typeof e.buttons=='undefined'?(cov_207lrqrpit().b[48][0]++,!e.button):(cov_207lrqrpit().b[48][1]++,!(e.buttons&1));}function _stay(c,p){cov_207lrqrpit().f[25]++;cov_207lrqrpit().s[151]++;for(;c;c=c.parentNode){cov_207lrqrpit().s[152]++;if(c==p){cov_207lrqrpit().b[49][0]++;cov_207lrqrpit().s[153]++;return true;}else{cov_207lrqrpit().b[49][1]++;}}cov_207lrqrpit().s[154]++;return false;}function _returnFalse(){cov_207lrqrpit().f[26]++;cov_207lrqrpit().s[155]++;return false;}function _style(key,stl){cov_207lrqrpit().f[27]++;cov_207lrqrpit().s[156]++;if(key){cov_207lrqrpit().b[50][0]++;cov_207lrqrpit().s[157]++;for(var k in stl){cov_207lrqrpit().s[158]++;key.style[k]=stl[k];}}else{cov_207lrqrpit().b[50][1]++;}}function _keyNum(n,up){cov_207lrqrpit().f[28]++;cov_207lrqrpit().s[159]++;n=JZZ.MIDI.noteValue(n);cov_207lrqrpit().s[160]++;return(up?(cov_207lrqrpit().b[51][0]++,[0,1,1,2,2,3,4,4,5,5,6,6]):(cov_207lrqrpit().b[51][1]++,[0,0,1,1,2,3,3,4,4,5,5,6]))[n%12]+Math.floor(n/12)*7;}function _keyMidi(n){cov_207lrqrpit().f[29]++;cov_207lrqrpit().s[161]++;return Math.floor(n/7)*12+{0:0,1:2,2:4,3:5,4:7,5:9,6:11}[n%7];}function _handleMouseDown(piano,midi){cov_207lrqrpit().f[30]++;cov_207lrqrpit().s[162]++;return function(e){cov_207lrqrpit().f[31]++;cov_207lrqrpit().s[163]++;if((cov_207lrqrpit().b[53][0]++,_lftBtnDn(e))&&(cov_207lrqrpit().b[53][1]++,!piano.playing[midi])){cov_207lrqrpit().b[52][0]++;cov_207lrqrpit().s[164]++;piano.mouseDown=true;cov_207lrqrpit().s[165]++;piano.playing[midi]='M';cov_207lrqrpit().s[166]++;piano.press(midi);}else{cov_207lrqrpit().b[52][1]++;}cov_207lrqrpit().s[167]++;_firefoxBug=e.buttons;};}function _handleMouseOver(piano,midi){cov_207lrqrpit().f[32]++;cov_207lrqrpit().s[168]++;return function(e){cov_207lrqrpit().f[33]++;cov_207lrqrpit().s[169]++;if((cov_207lrqrpit().b[55][0]++,piano.mouseDown)&&(cov_207lrqrpit().b[55][1]++,!piano.playing[midi])){cov_207lrqrpit().b[54][0]++;cov_207lrqrpit().s[170]++;piano.playing[midi]='M';cov_207lrqrpit().s[171]++;piano.press(midi);}else{cov_207lrqrpit().b[54][1]++;}cov_207lrqrpit().s[172]++;_firefoxBug=e.buttons;};}function _handleMouseOut(piano,midi){cov_207lrqrpit().f[34]++;cov_207lrqrpit().s[173]++;return function(e){cov_207lrqrpit().f[35]++;cov_207lrqrpit().s[174]++;if((cov_207lrqrpit().b[57][0]++,piano.mouseDown)&&(cov_207lrqrpit().b[57][1]++,piano.playing[midi]=='M')&&(cov_207lrqrpit().b[57][2]++,!_stay(e.relatedTarget,this))){cov_207lrqrpit().b[56][0]++;cov_207lrqrpit().s[175]++;piano.playing[midi]=undefined;cov_207lrqrpit().s[176]++;piano.release(midi);}else{cov_207lrqrpit().b[56][1]++;}cov_207lrqrpit().s[177]++;_firefoxBug=e.buttons;};}function _handleMouseUp(piano,midi){cov_207lrqrpit().f[36]++;cov_207lrqrpit().s[178]++;return function(e){cov_207lrqrpit().f[37]++;cov_207lrqrpit().s[179]++;e=_fixBtnUp(e);cov_207lrqrpit().s[180]++;if((cov_207lrqrpit().b[59][0]++,_lftBtnUp(e))&&(cov_207lrqrpit().b[59][1]++,piano.mouseDown)&&(cov_207lrqrpit().b[59][2]++,piano.playing[midi]=='M')){cov_207lrqrpit().b[58][0]++;cov_207lrqrpit().s[181]++;piano.playing[midi]=undefined;cov_207lrqrpit().s[182]++;piano.release(midi);cov_207lrqrpit().s[183]++;piano.mouseDown=false;}else{cov_207lrqrpit().b[58][1]++;}};}function _handleMouseOff(piano){cov_207lrqrpit().f[38]++;cov_207lrqrpit().s[184]++;return function(e){cov_207lrqrpit().f[39]++;cov_207lrqrpit().s[185]++;e=_fixBtnUp(e);cov_207lrqrpit().s[186]++;if(_lftBtnUp(e)){cov_207lrqrpit().b[60][0]++;cov_207lrqrpit().s[187]++;piano.mouseDown=false;}else{cov_207lrqrpit().b[60][1]++;}};}function _watchMouseButtons(){cov_207lrqrpit().f[40]++;cov_207lrqrpit().s[188]++;return function(e){cov_207lrqrpit().f[41]++;cov_207lrqrpit().s[189]++;_firefoxBug=e.buttons;};}function _handleTouch(piano){cov_207lrqrpit().f[42]++;cov_207lrqrpit().s[190]++;return function(e){cov_207lrqrpit().f[43]++;cov_207lrqrpit().s[191]++;e.preventDefault();var t=(cov_207lrqrpit().s[192]++,{});cov_207lrqrpit().s[193]++;for(var i=(cov_207lrqrpit().s[194]++,0);iJZZ.MIDI.noteValue(to)){cov_207lrqrpit().b[74][0]++;cov_207lrqrpit().s[239]++;this.params[key].from=to;cov_207lrqrpit().s[240]++;this.params[key].to=from;}else{cov_207lrqrpit().b[74][1]++;}}cov_207lrqrpit().s[241]++;this.bins.sort(function(a,b){cov_207lrqrpit().f[45]++;cov_207lrqrpit().s[242]++;return a-b;});}cov_207lrqrpit().s[243]++;Piano.prototype.channel=function(c){cov_207lrqrpit().f[46]++;cov_207lrqrpit().s[244]++;if(typeof this.mpe=='undefined'){cov_207lrqrpit().b[75][0]++;var chan=(cov_207lrqrpit().s[245]++,_channelMap[c]);cov_207lrqrpit().s[246]++;if((cov_207lrqrpit().b[77][0]++,typeof chan!='undefined')&&(cov_207lrqrpit().b[77][1]++,chan!=this.chan)){cov_207lrqrpit().b[76][0]++;cov_207lrqrpit().s[247]++;for(var midi in this.playing){cov_207lrqrpit().s[248]++;_style(this.keys[midi],this.keys[midi]._active?(cov_207lrqrpit().b[78][0]++,this.stl0[midi]):(cov_207lrqrpit().b[78][1]++,this.stl2[midi]));cov_207lrqrpit().s[249]++;_style(this.keys[midi],this.locs[midi]);}cov_207lrqrpit().s[250]++;this.chan=chan;}else{cov_207lrqrpit().b[76][1]++;}}else{cov_207lrqrpit().b[75][1]++;}cov_207lrqrpit().s[251]++;return this.chan;};cov_207lrqrpit().s[252]++;Piano.prototype._close=function(){cov_207lrqrpit().f[47]++;cov_207lrqrpit().s[253]++;for(var midi in this.playing){cov_207lrqrpit().s[254]++;if((cov_207lrqrpit().b[80][0]++,this.playing[midi]=='M')||(cov_207lrqrpit().b[80][1]++,this.playing[midi]=='T')){cov_207lrqrpit().b[79][0]++;cov_207lrqrpit().s[255]++;this.noteOff(midi);}else{cov_207lrqrpit().b[79][1]++;}}cov_207lrqrpit().s[256]++;if(this.resize){cov_207lrqrpit().b[81][0]++;cov_207lrqrpit().s[257]++;window.removeEventListener('resize',this.resize);}else{cov_207lrqrpit().b[81][1]++;}cov_207lrqrpit().s[258]++;this.cleanup();};cov_207lrqrpit().s[259]++;Piano.prototype.press=function(midi){cov_207lrqrpit().f[48]++;cov_207lrqrpit().s[260]++;if(this.keys[midi]._active){cov_207lrqrpit().b[82][0]++;cov_207lrqrpit().s[261]++;_style(this.keys[midi],this.stl1[midi]);cov_207lrqrpit().s[262]++;_style(this.keys[midi],this.locs[midi]);cov_207lrqrpit().s[263]++;this.noteOn(midi);}else{cov_207lrqrpit().b[82][1]++;}};cov_207lrqrpit().s[264]++;Piano.prototype.release=function(midi){cov_207lrqrpit().f[49]++;cov_207lrqrpit().s[265]++;if(this.keys[midi]._active){cov_207lrqrpit().b[83][0]++;cov_207lrqrpit().s[266]++;_style(this.keys[midi],this.stl0[midi]);cov_207lrqrpit().s[267]++;_style(this.keys[midi],this.locs[midi]);cov_207lrqrpit().s[268]++;this.noteOff(midi);}else{cov_207lrqrpit().b[83][1]++;}};cov_207lrqrpit().s[269]++;Piano.prototype.forward=function(msg){cov_207lrqrpit().f[50]++;var n=(cov_207lrqrpit().s[270]++,msg[1]);var ch=(cov_207lrqrpit().s[271]++,msg.getChannel());cov_207lrqrpit().s[272]++;if((cov_207lrqrpit().b[85][0]++,ch>=this.chan)&&(cov_207lrqrpit().b[85][1]++,ch<=(this.mpe?(cov_207lrqrpit().b[86][0]++,this.chan+this.mpe[1]):(cov_207lrqrpit().b[86][1]++,this.chan)))){cov_207lrqrpit().b[84][0]++;var s=(cov_207lrqrpit().s[273]++,msg[0]>>4);cov_207lrqrpit().s[274]++;if(msg.isNoteOn()){cov_207lrqrpit().b[87][0]++;cov_207lrqrpit().s[275]++;if(this.keys[n]){cov_207lrqrpit().b[88][0]++;cov_207lrqrpit().s[276]++;this.playing[n]='E';cov_207lrqrpit().s[277]++;_style(this.keys[n],this.stl1[n]);cov_207lrqrpit().s[278]++;_style(this.keys[n],this.locs[n]);}else{cov_207lrqrpit().b[88][1]++;}}else{cov_207lrqrpit().b[87][1]++;cov_207lrqrpit().s[279]++;if(msg.isNoteOff()){cov_207lrqrpit().b[89][0]++;cov_207lrqrpit().s[280]++;if(this.keys[n]){cov_207lrqrpit().b[90][0]++;cov_207lrqrpit().s[281]++;this.playing[n]=undefined;cov_207lrqrpit().s[282]++;_style(this.keys[n],this.keys[n]._active?(cov_207lrqrpit().b[91][0]++,this.stl0[n]):(cov_207lrqrpit().b[91][1]++,this.stl2[n]));cov_207lrqrpit().s[283]++;_style(this.keys[n],this.locs[n]);}else{cov_207lrqrpit().b[90][1]++;}}else{cov_207lrqrpit().b[89][1]++;cov_207lrqrpit().s[284]++;if((cov_207lrqrpit().b[93][0]++,s==0xb)&&((cov_207lrqrpit().b[93][1]++,n==0x78)||(cov_207lrqrpit().b[93][2]++,n==0x7b))){cov_207lrqrpit().b[92][0]++;cov_207lrqrpit().s[285]++;// all notes/snd off -for(n in this.playing){cov_207lrqrpit().s[286]++;this.playing[n]=undefined;cov_207lrqrpit().s[287]++;_style(this.keys[n],this.keys[n]._active?(cov_207lrqrpit().b[94][0]++,this.stl0[n]):(cov_207lrqrpit().b[94][1]++,this.stl2[n]));cov_207lrqrpit().s[288]++;_style(this.keys[n],this.locs[n]);}}else{cov_207lrqrpit().b[92][1]++;}}}}else{cov_207lrqrpit().b[84][1]++;}cov_207lrqrpit().s[289]++;this.emit(msg);};cov_207lrqrpit().s[290]++;Piano.prototype.clear=function(){cov_207lrqrpit().f[51]++;cov_207lrqrpit().s[291]++;for(var n in this.playing){cov_207lrqrpit().s[292]++;this.playing[n]=undefined;cov_207lrqrpit().s[293]++;_style(this.keys[n],this.keys[n]._active?(cov_207lrqrpit().b[95][0]++,this.stl0[n]):(cov_207lrqrpit().b[95][1]++,this.stl2[n]));cov_207lrqrpit().s[294]++;_style(this.keys[n],this.locs[n]);}};cov_207lrqrpit().s[295]++;Piano.prototype.findKey=function(x,y,ret){cov_207lrqrpit().f[52]++;cov_207lrqrpit().s[296]++;for(var midi in this.keys){cov_207lrqrpit().s[297]++;for(var elm=(cov_207lrqrpit().s[298]++,document.elementFromPoint(x,y));elm;elm=elm.parentNode){cov_207lrqrpit().s[299]++;if(this.keys[midi]==elm){cov_207lrqrpit().b[96][0]++;cov_207lrqrpit().s[300]++;ret[midi]=true;cov_207lrqrpit().s[301]++;return;}else{cov_207lrqrpit().b[96][1]++;}}}};cov_207lrqrpit().s[302]++;Piano.prototype.create=function(){cov_207lrqrpit().f[53]++;var bin=(cov_207lrqrpit().s[303]++,0);cov_207lrqrpit().s[304]++;for(var i=(cov_207lrqrpit().s[305]++,0);i1)){cov_207lrqrpit().b[124][0]++;var self=(cov_207lrqrpit().s[478]++,this);cov_207lrqrpit().s[479]++;this.resize=function(){cov_207lrqrpit().f[58]++;cov_207lrqrpit().s[480]++;self.onResize();};cov_207lrqrpit().s[481]++;window.addEventListener('resize',this.resize);}else{cov_207lrqrpit().b[124][1]++;}};cov_207lrqrpit().s[482]++;Piano.prototype.cleanup=function(){cov_207lrqrpit().f[59]++;cov_207lrqrpit().s[483]++;if(this.watchButtons){cov_207lrqrpit().b[126][0]++;cov_207lrqrpit().s[484]++;window.removeEventListener("mousedown",this.watchButtons);cov_207lrqrpit().s[485]++;window.removeEventListener("mousemove",this.watchButtons);cov_207lrqrpit().s[486]++;window.removeEventListener("mouseup",this.mouseUpHandle);}else{cov_207lrqrpit().b[126][1]++;}cov_207lrqrpit().s[487]++;for(var midi in this.keys){cov_207lrqrpit().s[488]++;if(this.mouseDownH[midi]){cov_207lrqrpit().b[127][0]++;cov_207lrqrpit().s[489]++;this.keys[midi].removeEventListener("mousedown",this.mouseDownH[midi]);}else{cov_207lrqrpit().b[127][1]++;}cov_207lrqrpit().s[490]++;if(this.mouseOverH[midi]){cov_207lrqrpit().b[128][0]++;cov_207lrqrpit().s[491]++;this.keys[midi].removeEventListener("mouseover",this.mouseOverH[midi]);}else{cov_207lrqrpit().b[128][1]++;}cov_207lrqrpit().s[492]++;if(this.mouseOutH[midi]){cov_207lrqrpit().b[129][0]++;cov_207lrqrpit().s[493]++;this.keys[midi].removeEventListener("mouseout",this.mouseOutH[midi]);}else{cov_207lrqrpit().b[129][1]++;}cov_207lrqrpit().s[494]++;if(this.mouseUpH[midi]){cov_207lrqrpit().b[130][0]++;cov_207lrqrpit().s[495]++;this.keys[midi].removeEventListener("mouseup",this.mouseUpH[midi]);}else{cov_207lrqrpit().b[130][1]++;}cov_207lrqrpit().s[496]++;if(this.touchHandle){cov_207lrqrpit().b[131][0]++;cov_207lrqrpit().s[497]++;this.keys[midi].removeEventListener("touchstart",this.touchHandle);cov_207lrqrpit().s[498]++;this.keys[midi].removeEventListener("touchmove",this.touchHandle);cov_207lrqrpit().s[499]++;this.keys[midi].removeEventListener("touchend",this.touchHandle);cov_207lrqrpit().s[500]++;this.keys[midi].removeEventListener("touchcancel",this.touchHandle);}else{cov_207lrqrpit().b[131][1]++;}}cov_207lrqrpit().s[501]++;if(this.at){cov_207lrqrpit().b[132][0]++;cov_207lrqrpit().s[502]++;this.at.innerHTML='';}else{cov_207lrqrpit().b[132][1]++;}};cov_207lrqrpit().s[503]++;Piano.prototype.settings=function(){cov_207lrqrpit().f[60]++;cov_207lrqrpit().s[504]++;return _copy(this.current);};cov_207lrqrpit().s[505]++;Piano.prototype.onResize=function(){cov_207lrqrpit().f[61]++;var bin=(cov_207lrqrpit().s[506]++,0);cov_207lrqrpit().s[507]++;for(var i=(cov_207lrqrpit().s[508]++,0);in1)){cov_207lrqrpit().b[142][0]++;cov_207lrqrpit().s[542]++;continue;}else{cov_207lrqrpit().b[142][1]++;}cov_207lrqrpit().s[543]++;keys.keys.push(k);}cov_207lrqrpit().s[544]++;return keys;};cov_207lrqrpit().s[545]++;Piano.prototype.getWhiteKeys=function(from,to){cov_207lrqrpit().f[66]++;var keys=(cov_207lrqrpit().s[546]++,new Keys(this));var n0=(cov_207lrqrpit().s[547]++,typeof from=='undefined'?(cov_207lrqrpit().b[144][0]++,undefined):(cov_207lrqrpit().b[144][1]++,JZZ.MIDI.noteValue(from)));var n1=(cov_207lrqrpit().s[548]++,typeof to=='undefined'?(cov_207lrqrpit().b[145][0]++,undefined):(cov_207lrqrpit().b[145][1]++,JZZ.MIDI.noteValue(to)));cov_207lrqrpit().s[549]++;if((cov_207lrqrpit().b[147][0]++,typeof n0!='undefined')&&(cov_207lrqrpit().b[147][1]++,typeof n1!='undefined')&&(cov_207lrqrpit().b[147][2]++,n1n1)){cov_207lrqrpit().b[150][0]++;cov_207lrqrpit().s[557]++;continue;}else{cov_207lrqrpit().b[150][1]++;}var n=(cov_207lrqrpit().s[558]++,k%12);cov_207lrqrpit().s[559]++;if((cov_207lrqrpit().b[153][0]++,n==1)||(cov_207lrqrpit().b[153][1]++,n==3)||(cov_207lrqrpit().b[153][2]++,n==6)||(cov_207lrqrpit().b[153][3]++,n==8)||(cov_207lrqrpit().b[153][4]++,n==10)){cov_207lrqrpit().b[152][0]++;cov_207lrqrpit().s[560]++;continue;}else{cov_207lrqrpit().b[152][1]++;}cov_207lrqrpit().s[561]++;keys.keys.push(k);}cov_207lrqrpit().s[562]++;return keys;};cov_207lrqrpit().s[563]++;Piano.prototype.getBlackKeys=function(from,to){cov_207lrqrpit().f[67]++;var keys=(cov_207lrqrpit().s[564]++,new Keys(this));var n0=(cov_207lrqrpit().s[565]++,typeof from=='undefined'?(cov_207lrqrpit().b[154][0]++,undefined):(cov_207lrqrpit().b[154][1]++,JZZ.MIDI.noteValue(from)));var n1=(cov_207lrqrpit().s[566]++,typeof to=='undefined'?(cov_207lrqrpit().b[155][0]++,undefined):(cov_207lrqrpit().b[155][1]++,JZZ.MIDI.noteValue(to)));cov_207lrqrpit().s[567]++;if((cov_207lrqrpit().b[157][0]++,typeof n0!='undefined')&&(cov_207lrqrpit().b[157][1]++,typeof n1!='undefined')&&(cov_207lrqrpit().b[157][2]++,n1n1)){cov_207lrqrpit().b[160][0]++;cov_207lrqrpit().s[575]++;continue;}else{cov_207lrqrpit().b[160][1]++;}var n=(cov_207lrqrpit().s[576]++,k%12);cov_207lrqrpit().s[577]++;if((cov_207lrqrpit().b[163][0]++,n!=1)&&(cov_207lrqrpit().b[163][1]++,n!=3)&&(cov_207lrqrpit().b[163][2]++,n!=6)&&(cov_207lrqrpit().b[163][3]++,n!=8)&&(cov_207lrqrpit().b[163][4]++,n!=10)){cov_207lrqrpit().b[162][0]++;cov_207lrqrpit().s[578]++;continue;}else{cov_207lrqrpit().b[162][1]++;}cov_207lrqrpit().s[579]++;keys.keys.push(k);}cov_207lrqrpit().s[580]++;return keys;};function Keys(piano){cov_207lrqrpit().f[68]++;cov_207lrqrpit().s[581]++;this.piano=piano;cov_207lrqrpit().s[582]++;this.keys=[];}cov_207lrqrpit().s[583]++;Keys.prototype.setInnerHTML=function(html){cov_207lrqrpit().f[69]++;cov_207lrqrpit().s[584]++;for(var k in this.keys){cov_207lrqrpit().s[585]++;this.piano.keys[this.keys[k]].innerHTML=html;}cov_207lrqrpit().s[586]++;return this;};cov_207lrqrpit().s[587]++;Keys.prototype.setStyle=function(s0,s1,s2){cov_207lrqrpit().f[70]++;var k,n,midi;cov_207lrqrpit().s[588]++;if(typeof s1=='undefined'){cov_207lrqrpit().b[164][0]++;cov_207lrqrpit().s[589]++;s1=s0;}else{cov_207lrqrpit().b[164][1]++;}cov_207lrqrpit().s[590]++;if(typeof s2=='undefined'){cov_207lrqrpit().b[165][0]++;cov_207lrqrpit().s[591]++;s2=s0;}else{cov_207lrqrpit().b[165][1]++;}cov_207lrqrpit().s[592]++;for(k in this.keys){cov_207lrqrpit().s[593]++;midi=this.keys[k];cov_207lrqrpit().s[594]++;for(n in s0){cov_207lrqrpit().s[595]++;this.piano.stl0[midi][n]=s0[n];}cov_207lrqrpit().s[596]++;for(n in s1){cov_207lrqrpit().s[597]++;this.piano.stl1[midi][n]=s1[n];}cov_207lrqrpit().s[598]++;for(n in s2){cov_207lrqrpit().s[599]++;this.piano.stl2[midi][n]=s2[n];}cov_207lrqrpit().s[600]++;_style(this.piano.keys[midi],this.piano.playing[midi]?(cov_207lrqrpit().b[166][0]++,this.piano.stl1[midi]):(cov_207lrqrpit().b[166][1]++,this.piano.keys[midi]._active?(cov_207lrqrpit().b[167][0]++,this.piano.stl0[midi]):(cov_207lrqrpit().b[167][1]++,this.piano.stl2[midi])));cov_207lrqrpit().s[601]++;_style(this.piano.keys[midi],this.piano.locs[midi]);}cov_207lrqrpit().s[602]++;return this;};cov_207lrqrpit().s[603]++;Keys.prototype.enable=function(){cov_207lrqrpit().f[71]++;var k,midi;cov_207lrqrpit().s[604]++;for(k in this.keys){cov_207lrqrpit().s[605]++;midi=this.keys[k];cov_207lrqrpit().s[606]++;this.piano.keys[midi]._active=true;cov_207lrqrpit().s[607]++;_style(this.piano.keys[midi],this.piano.playing[midi]?(cov_207lrqrpit().b[168][0]++,this.piano.stl1[midi]):(cov_207lrqrpit().b[168][1]++,this.piano.stl0[midi]));cov_207lrqrpit().s[608]++;_style(this.piano.keys[midi],this.piano.locs[midi]);}cov_207lrqrpit().s[609]++;return this;};cov_207lrqrpit().s[610]++;Keys.prototype.disable=function(){cov_207lrqrpit().f[72]++;var k,midi;cov_207lrqrpit().s[611]++;for(k in this.keys){cov_207lrqrpit().s[612]++;midi=this.keys[k];cov_207lrqrpit().s[613]++;this.piano.keys[midi]._active=false;cov_207lrqrpit().s[614]++;_style(this.piano.keys[midi],this.piano.playing[midi]?(cov_207lrqrpit().b[169][0]++,this.piano.stl1[midi]):(cov_207lrqrpit().b[169][1]++,this.piano.stl2[midi]));cov_207lrqrpit().s[615]++;_style(this.piano.keys[midi],this.piano.locs[midi]);}cov_207lrqrpit().s[616]++;return this;};function KbdEngine(){cov_207lrqrpit().f[73]++;}cov_207lrqrpit().s[617]++;KbdEngine.prototype._info=function(name){cov_207lrqrpit().f[74]++;cov_207lrqrpit().s[618]++;return{type:'html/javascript',name:_name(name,'Kbd'),manufacturer:'virtual',version:_version};};cov_207lrqrpit().s[619]++;KbdEngine.prototype._openIn=function(port,name){cov_207lrqrpit().f[75]++;var piano=(cov_207lrqrpit().s[620]++,new Piano(this._arg));cov_207lrqrpit().s[621]++;piano.send=function(){cov_207lrqrpit().f[76]++;cov_207lrqrpit().s[622]++;port.send.apply(port,arguments);};cov_207lrqrpit().s[623]++;piano.connect=function(){cov_207lrqrpit().f[77]++;cov_207lrqrpit().s[624]++;port.connect.apply(port,arguments);};cov_207lrqrpit().s[625]++;piano.create();cov_207lrqrpit().s[626]++;if(piano.mpe){cov_207lrqrpit().b[170][0]++;cov_207lrqrpit().s[627]++;if(!port._orig._mpe){cov_207lrqrpit().b[171][0]++;cov_207lrqrpit().s[628]++;port._orig._mpe=JZZ.MPE();}else{cov_207lrqrpit().b[171][1]++;}cov_207lrqrpit().s[629]++;port._orig._mpe.setup(piano.mpe[0],piano.mpe[1]);cov_207lrqrpit().s[630]++;piano.noteOn=function(note){cov_207lrqrpit().f[78]++;var msg=(cov_207lrqrpit().s[631]++,JZZ.MIDI(0x90+this.chan,note,127));cov_207lrqrpit().s[632]++;msg._mpe=note;cov_207lrqrpit().s[633]++;port._emit(port._filter(msg));};cov_207lrqrpit().s[634]++;piano.noteOff=function(note){cov_207lrqrpit().f[79]++;var msg=(cov_207lrqrpit().s[635]++,JZZ.MIDI(0x80+this.chan,note,127));cov_207lrqrpit().s[636]++;msg._mpe=note;cov_207lrqrpit().s[637]++;port._emit(port._filter(msg));};}else{cov_207lrqrpit().b[170][1]++;cov_207lrqrpit().s[638]++;piano.noteOn=function(note){cov_207lrqrpit().f[80]++;cov_207lrqrpit().s[639]++;port._emit(JZZ.MIDI(0x90+this.chan,note,127));};cov_207lrqrpit().s[640]++;piano.noteOff=function(note){cov_207lrqrpit().f[81]++;cov_207lrqrpit().s[641]++;port._emit(JZZ.MIDI(0x80+this.chan,note,127));};}cov_207lrqrpit().s[642]++;piano.emit=function(msg){cov_207lrqrpit().f[82]++;cov_207lrqrpit().s[643]++;port._emit(port._filter(msg));};cov_207lrqrpit().s[644]++;port._info=this._info(name);cov_207lrqrpit().s[645]++;port._receive=function(msg){cov_207lrqrpit().f[83]++;cov_207lrqrpit().s[646]++;piano.forward(msg);};cov_207lrqrpit().s[647]++;port._close=function(){cov_207lrqrpit().f[84]++;cov_207lrqrpit().s[648]++;piano._close();};cov_207lrqrpit().s[649]++;port.settings=function(){cov_207lrqrpit().f[85]++;cov_207lrqrpit().s[650]++;return piano.settings();};cov_207lrqrpit().s[651]++;port.getKey=function(note){cov_207lrqrpit().f[86]++;cov_207lrqrpit().s[652]++;return piano.getKey(note);};cov_207lrqrpit().s[653]++;port.getKeys=function(a,b){cov_207lrqrpit().f[87]++;cov_207lrqrpit().s[654]++;return piano.getKeys(a,b);};cov_207lrqrpit().s[655]++;port.getWhiteKeys=function(a,b){cov_207lrqrpit().f[88]++;cov_207lrqrpit().s[656]++;return piano.getWhiteKeys(a,b);};cov_207lrqrpit().s[657]++;port.getBlackKeys=function(a,b){cov_207lrqrpit().f[89]++;cov_207lrqrpit().s[658]++;return piano.getBlackKeys(a,b);};cov_207lrqrpit().s[659]++;port.channel=function(x){cov_207lrqrpit().f[90]++;cov_207lrqrpit().s[660]++;return piano.channel(x);};cov_207lrqrpit().s[661]++;port.clear=function(){cov_207lrqrpit().f[91]++;cov_207lrqrpit().s[662]++;return piano.clear();};cov_207lrqrpit().s[663]++;port._resume();};cov_207lrqrpit().s[664]++;JZZ.input.Kbd=function(){cov_207lrqrpit().f[92]++;var name,arg;cov_207lrqrpit().s[665]++;if(arguments.length==1){cov_207lrqrpit().b[172][0]++;cov_207lrqrpit().s[666]++;if(typeof arguments[0]==='string'){cov_207lrqrpit().b[173][0]++;cov_207lrqrpit().s[667]++;name=arguments[0];}else{cov_207lrqrpit().b[173][1]++;cov_207lrqrpit().s[668]++;arg=arguments[0];}}else{cov_207lrqrpit().b[172][1]++;cov_207lrqrpit().s[669]++;name=arguments[0];cov_207lrqrpit().s[670]++;arg=arguments[1];}var _KbdEngine=(cov_207lrqrpit().s[671]++,new KbdEngine());cov_207lrqrpit().s[672]++;_KbdEngine._arg=arg;cov_207lrqrpit().s[673]++;return JZZ.lib.openMidiIn(name,_KbdEngine);};cov_207lrqrpit().s[674]++;JZZ.input.Kbd.version=function(){cov_207lrqrpit().f[93]++;cov_207lrqrpit().s[675]++;return _version;};cov_207lrqrpit().s[676]++;JZZ.input.Kbd.register=function(){cov_207lrqrpit().f[94]++;var name,arg;cov_207lrqrpit().s[677]++;if(arguments.length==1){cov_207lrqrpit().b[174][0]++;cov_207lrqrpit().s[678]++;if(typeof arguments[0]==='string'){cov_207lrqrpit().b[175][0]++;cov_207lrqrpit().s[679]++;name=arguments[0];}else{cov_207lrqrpit().b[175][1]++;cov_207lrqrpit().s[680]++;arg=arguments[0];}}else{cov_207lrqrpit().b[174][1]++;cov_207lrqrpit().s[681]++;name=arguments[0];cov_207lrqrpit().s[682]++;arg=arguments[1];}var _KbdEngine=(cov_207lrqrpit().s[683]++,new KbdEngine());cov_207lrqrpit().s[684]++;_KbdEngine._arg=arg;cov_207lrqrpit().s[685]++;return JZZ.lib.registerMidiIn(name,_KbdEngine);};//////////////////////////////////////////////////////////////////////// -var _innerStyle=(cov_207lrqrpit().s[686]++,{margin:0,padding:0,width:'100%',height:'100%'});function _Data(d){cov_207lrqrpit().f[95]++;cov_207lrqrpit().s[687]++;this.base=0.5;cov_207lrqrpit().s[688]++;this.val=0.5;cov_207lrqrpit().s[689]++;this.msb=0;cov_207lrqrpit().s[690]++;this.lsb=0;cov_207lrqrpit().s[691]++;this.chan=0;cov_207lrqrpit().s[692]++;if(d instanceof Array){cov_207lrqrpit().b[176][0]++;cov_207lrqrpit().s[693]++;if((cov_207lrqrpit().b[178][0]++,d.length!=1)&&(cov_207lrqrpit().b[178][1]++,d.length!=2)){cov_207lrqrpit().b[177][0]++;cov_207lrqrpit().s[694]++;return;}else{cov_207lrqrpit().b[177][1]++;}cov_207lrqrpit().s[695]++;if(d.length==2){cov_207lrqrpit().b[179][0]++;cov_207lrqrpit().s[696]++;if((cov_207lrqrpit().b[181][0]++,d[1]!=parseInt(d[1]))||(cov_207lrqrpit().b[181][1]++,d[1]<1)||(cov_207lrqrpit().b[181][2]++,d[1]>0x7f)){cov_207lrqrpit().b[180][0]++;cov_207lrqrpit().s[697]++;return;}else{cov_207lrqrpit().b[180][1]++;}cov_207lrqrpit().s[698]++;this.msb=d[0];cov_207lrqrpit().s[699]++;if(d[1]!=d[0]){cov_207lrqrpit().b[182][0]++;cov_207lrqrpit().s[700]++;this.lsb=d[1];}else{cov_207lrqrpit().b[182][1]++;}}else{cov_207lrqrpit().b[179][1]++;cov_207lrqrpit().s[701]++;this.msb=d[0];}}else{cov_207lrqrpit().b[176][1]++;cov_207lrqrpit().s[702]++;if(d==parseInt(d)){cov_207lrqrpit().b[183][0]++;cov_207lrqrpit().s[703]++;if((cov_207lrqrpit().b[185][0]++,d<1)||(cov_207lrqrpit().b[185][1]++,d>0x7f)){cov_207lrqrpit().b[184][0]++;cov_207lrqrpit().s[704]++;return;}else{cov_207lrqrpit().b[184][1]++;}cov_207lrqrpit().s[705]++;this.msb=d;}else{cov_207lrqrpit().b[183][1]++;var z=(cov_207lrqrpit().s[706]++,{mod:[0x01,0x21],breath:[0x02,0x22],foot:[0x04,0x24],portamento:[0x05,0x25],volume:[0x07,0x27],balance:[0x08,0x28],pan:[0x0a,0x2a],expression:[0x0b,0x2b],effect1:[0x0c,0x2c],effect2:[0x0d,0x2d]}[d]);cov_207lrqrpit().s[707]++;if(z){cov_207lrqrpit().b[186][0]++;cov_207lrqrpit().s[708]++;this.msb=z[0];cov_207lrqrpit().s[709]++;this.lsb=z[1];}else{cov_207lrqrpit().b[186][1]++;}}}cov_207lrqrpit().s[710]++;if((cov_207lrqrpit().b[188][0]++,this.msb)&&(cov_207lrqrpit().b[188][1]++,this.msb!=7)&&(cov_207lrqrpit().b[188][2]++,this.msb!=8)&&(cov_207lrqrpit().b[188][3]++,this.msb!=0xa)){cov_207lrqrpit().b[187][0]++;cov_207lrqrpit().s[711]++;this.base=0;}else{cov_207lrqrpit().b[187][1]++;}cov_207lrqrpit().s[712]++;this.val=-1;cov_207lrqrpit().s[713]++;this.setValue(this.base);}cov_207lrqrpit().s[714]++;_Data.prototype.setBase=function(x){cov_207lrqrpit().f[96]++;cov_207lrqrpit().s[715]++;x=parseFloat(x);cov_207lrqrpit().s[716]++;if((cov_207lrqrpit().b[190][0]++,!isNaN(x))&&(cov_207lrqrpit().b[190][1]++,isFinite(x))&&(cov_207lrqrpit().b[190][2]++,x>=0)&&(cov_207lrqrpit().b[190][3]++,x<=1)){cov_207lrqrpit().b[189][0]++;cov_207lrqrpit().s[717]++;this.base=x;}else{cov_207lrqrpit().b[189][1]++;}};cov_207lrqrpit().s[718]++;_Data.prototype.setValue=function(x){cov_207lrqrpit().f[97]++;cov_207lrqrpit().s[719]++;x=parseFloat(x);cov_207lrqrpit().s[720]++;if((cov_207lrqrpit().b[192][0]++,isNaN(x))||(cov_207lrqrpit().b[192][1]++,!isFinite(x))||(cov_207lrqrpit().b[192][2]++,x<0)||(cov_207lrqrpit().b[192][3]++,x>1)||(cov_207lrqrpit().b[192][4]++,x==this.val)){cov_207lrqrpit().b[191][0]++;cov_207lrqrpit().s[721]++;return;}else{cov_207lrqrpit().b[191][1]++;}cov_207lrqrpit().s[722]++;this.val=x;cov_207lrqrpit().s[723]++;this.num=Math.round(x*((cov_207lrqrpit().b[194][0]++,this.lsb)||(cov_207lrqrpit().b[194][1]++,!this.msb)?(cov_207lrqrpit().b[193][0]++,0x3fff):(cov_207lrqrpit().b[193][1]++,0x7f)));cov_207lrqrpit().s[724]++;return true;};cov_207lrqrpit().s[725]++;_Data.prototype.emit=function(out){cov_207lrqrpit().f[98]++;cov_207lrqrpit().s[726]++;if(!this.msb){cov_207lrqrpit().b[195][0]++;cov_207lrqrpit().s[727]++;out.emit([0xe0+this.chan,this.num&0x7f,this.num>>7]);}else{cov_207lrqrpit().b[195][1]++;cov_207lrqrpit().s[728]++;if(!this.lsb){cov_207lrqrpit().b[196][0]++;cov_207lrqrpit().s[729]++;out.emit([0xb0+this.chan,this.msb,this.num]);}else{cov_207lrqrpit().b[196][1]++;cov_207lrqrpit().s[730]++;out.emit([0xb0+this.chan,this.msb,this.num>>7]);cov_207lrqrpit().s[731]++;out.emit([0xb0+this.chan,this.lsb,this.num&0x7f]);}}};cov_207lrqrpit().s[732]++;_Data.prototype.read=function(msg){cov_207lrqrpit().f[99]++;cov_207lrqrpit().s[733]++;if((cov_207lrqrpit().b[198][0]++,!this.msb)&&(cov_207lrqrpit().b[198][1]++,msg[0]==0xe0+this.chan)&&(cov_207lrqrpit().b[198][2]++,msg[1]==parseInt(msg[1]))&&(cov_207lrqrpit().b[198][3]++,msg[2]==parseInt(msg[2]))){cov_207lrqrpit().b[197][0]++;cov_207lrqrpit().s[734]++;this.num=msg[2]<<7|msg[1]&0x7f;cov_207lrqrpit().s[735]++;this.val=this.num/0x3fff;cov_207lrqrpit().s[736]++;return true;}else{cov_207lrqrpit().b[197][1]++;cov_207lrqrpit().s[737]++;if((cov_207lrqrpit().b[200][0]++,this.msb)&&(cov_207lrqrpit().b[200][1]++,msg[0]==0xb0+this.chan)&&(cov_207lrqrpit().b[200][2]++,msg[2]==parseInt(msg[2]))){cov_207lrqrpit().b[199][0]++;cov_207lrqrpit().s[738]++;if(msg[1]==this.msb){cov_207lrqrpit().b[201][0]++;cov_207lrqrpit().s[739]++;if(this.lsb){cov_207lrqrpit().b[202][0]++;cov_207lrqrpit().s[740]++;this.num=msg[2]<<7|this.num&0x7f;cov_207lrqrpit().s[741]++;this.val=this.num/0x3fff;}else{cov_207lrqrpit().b[202][1]++;cov_207lrqrpit().s[742]++;this.num=msg[2]&0x7f;cov_207lrqrpit().s[743]++;this.val=this.num/0x7f;}cov_207lrqrpit().s[744]++;return true;}else{cov_207lrqrpit().b[201][1]++;}cov_207lrqrpit().s[745]++;if(msg[1]==this.lsb){cov_207lrqrpit().b[203][0]++;cov_207lrqrpit().s[746]++;this.num=this.num&0x3f80|msg[2]&0x7f;cov_207lrqrpit().s[747]++;this.val=this.num/0x3fff;cov_207lrqrpit().s[748]++;return true;}else{cov_207lrqrpit().b[203][1]++;}}else{cov_207lrqrpit().b[199][1]++;}}};//////////////////////////////////////////////////////////////////////////// -function _Span(ctrl,span,inner,stl,stl0,stl1){cov_207lrqrpit().f[100]++;cov_207lrqrpit().s[749]++;this.ctrl=ctrl;cov_207lrqrpit().s[750]++;this.span=span;cov_207lrqrpit().s[751]++;this.inner=inner;cov_207lrqrpit().s[752]++;this.stl=stl;cov_207lrqrpit().s[753]++;this.stl0=stl0;cov_207lrqrpit().s[754]++;this.stl1=stl1;}cov_207lrqrpit().s[755]++;_Span.prototype.setInnerHTML=function(html){cov_207lrqrpit().f[101]++;cov_207lrqrpit().s[756]++;this.inner.innerHTML=html;cov_207lrqrpit().s[757]++;return this;};cov_207lrqrpit().s[758]++;_Span.prototype.setStyle=function(s0,s1){cov_207lrqrpit().f[102]++;cov_207lrqrpit().s[759]++;if(typeof s1=='undefined'){cov_207lrqrpit().b[204][0]++;cov_207lrqrpit().s[760]++;s1=s0;}else{cov_207lrqrpit().b[204][1]++;}var k;cov_207lrqrpit().s[761]++;for(k in s0){cov_207lrqrpit().s[762]++;this.stl0[k]=s0[k];}cov_207lrqrpit().s[763]++;for(k in s1){cov_207lrqrpit().s[764]++;this.stl1[k]=s1[k];}cov_207lrqrpit().s[765]++;_style(this.span,this.ctrl.isSelected()?(cov_207lrqrpit().b[205][0]++,this.stl1):(cov_207lrqrpit().b[205][1]++,this.stl0));cov_207lrqrpit().s[766]++;_style(this.span,this.stl);cov_207lrqrpit().s[767]++;return this;};//////////////////////////////////////////////////////////////////////////// -function _Knob(){cov_207lrqrpit().f[103]++;}function _initKnob(arg,common){cov_207lrqrpit().f[104]++;cov_207lrqrpit().s[768]++;this.bins=[];cov_207lrqrpit().s[769]++;this.params={0:{}};cov_207lrqrpit().s[770]++;if(typeof arg=='undefined'){cov_207lrqrpit().b[206][0]++;cov_207lrqrpit().s[771]++;arg={};}else{cov_207lrqrpit().b[206][1]++;}cov_207lrqrpit().s[772]++;if(typeof common=='undefined'){cov_207lrqrpit().b[207][0]++;cov_207lrqrpit().s[773]++;common={};}else{cov_207lrqrpit().b[207][1]++;}cov_207lrqrpit().s[774]++;this.chan=_channelMap[arg.chan];cov_207lrqrpit().s[775]++;if(typeof this.chan=='undefined'){cov_207lrqrpit().b[208][0]++;cov_207lrqrpit().s[776]++;this.chan=0;}else{cov_207lrqrpit().b[208][1]++;}var key;cov_207lrqrpit().s[777]++;for(key in arg){cov_207lrqrpit().s[778]++;if(key==parseInt(key)){cov_207lrqrpit().b[209][0]++;cov_207lrqrpit().s[779]++;this.params[key]=_copy(arg[key]);}else{cov_207lrqrpit().b[209][1]++;cov_207lrqrpit().s[780]++;if(key=='chan'){cov_207lrqrpit().b[210][0]++;cov_207lrqrpit().s[781]++;continue;}else{cov_207lrqrpit().b[210][1]++;}cov_207lrqrpit().s[782]++;common[key]=arg[key];}}cov_207lrqrpit().s[783]++;for(key in this.params){cov_207lrqrpit().s[784]++;this.bins.push(key);cov_207lrqrpit().s[785]++;for(var k in common){cov_207lrqrpit().s[786]++;if(((cov_207lrqrpit().b[212][0]++,k=='from')||(cov_207lrqrpit().b[212][1]++,k=='to'))&&(cov_207lrqrpit().b[212][2]++,typeof _keyNum(this.params[key][k])=='undefined')){cov_207lrqrpit().b[211][0]++;cov_207lrqrpit().s[787]++;this.params[key][k]=common[k];}else{cov_207lrqrpit().b[211][1]++;}cov_207lrqrpit().s[788]++;if(!(k in this.params[key])){cov_207lrqrpit().b[213][0]++;cov_207lrqrpit().s[789]++;this.params[key][k]=common[k];}else{cov_207lrqrpit().b[213][1]++;}}}cov_207lrqrpit().s[790]++;this.bins.sort(function(a,b){cov_207lrqrpit().f[105]++;cov_207lrqrpit().s[791]++;return a-b;});}cov_207lrqrpit().s[792]++;_Knob.prototype._close=function(){cov_207lrqrpit().f[106]++;cov_207lrqrpit().s[793]++;if(this.at){cov_207lrqrpit().b[214][0]++;cov_207lrqrpit().s[794]++;this.at.innerHTML='';}else{cov_207lrqrpit().b[214][1]++;}cov_207lrqrpit().s[795]++;if(this.mouseUpHandler){cov_207lrqrpit().b[215][0]++;cov_207lrqrpit().s[796]++;window.removeEventListener("mouseup",this.mouseUpHandler);}else{cov_207lrqrpit().b[215][1]++;}};cov_207lrqrpit().s[797]++;_Knob.prototype.create=function(){cov_207lrqrpit().f[107]++;var bin=(cov_207lrqrpit().s[798]++,0);cov_207lrqrpit().s[799]++;for(var i=(cov_207lrqrpit().s[800]++,0);irw?(cov_207lrqrpit().b[239][0]++,kw):(cov_207lrqrpit().b[239][1]++,rw))+2;}else{cov_207lrqrpit().b[238][1]++;}cov_207lrqrpit().s[932]++;this.stlB={display:'inline-block',position:'relative',margin:'0',padding:'0',userSelect:'none',KhtmlUserSelect:'none',MozUserSelect:'none',MsUserSelect:'none',OUserSelect:'none',WebkitUserSelect:'none',cursor:'default'};cov_207lrqrpit().s[933]++;this.stlB0={borderStyle:'none'};cov_207lrqrpit().s[934]++;this.stlB1={borderStyle:'none'};cov_207lrqrpit().s[935]++;this.stlR={display:'inline-block',position:'absolute',margin:'0',padding:'0',borderStyle:'solid',borderWidth:'1px'};cov_207lrqrpit().s[936]++;this.stlR0={backgroundColor:'#aaa'};cov_207lrqrpit().s[937]++;this.stlR1={backgroundColor:'#bbb'};cov_207lrqrpit().s[938]++;this.stlK={display:'inline-block',position:'absolute',margin:'0',padding:'0',borderStyle:'solid',borderWidth:'1px'};cov_207lrqrpit().s[939]++;this.stlK0={backgroundColor:'#ddd'};cov_207lrqrpit().s[940]++;this.stlK1={backgroundColor:'#eee'};cov_207lrqrpit().s[941]++;if((cov_207lrqrpit().b[241][0]++,pos=='E')||(cov_207lrqrpit().b[241][1]++,pos=='W')){cov_207lrqrpit().b[240][0]++;cov_207lrqrpit().s[942]++;this.stlB.width=bh+'px';cov_207lrqrpit().s[943]++;this.stlB.height=bw+'px';cov_207lrqrpit().s[944]++;this.stlR.width=rh+'px';cov_207lrqrpit().s[945]++;this.stlR.height=rw+'px';cov_207lrqrpit().s[946]++;this.stlR.left=(bh-rh)/2-1+'px';cov_207lrqrpit().s[947]++;this.stlR.top=(bw-rw)/2-1+'px';cov_207lrqrpit().s[948]++;this.stlK.width=kh+'px';cov_207lrqrpit().s[949]++;this.stlK.height=kw+'px';cov_207lrqrpit().s[950]++;this.stlK.top=this.dx+'px';}else{cov_207lrqrpit().b[240][1]++;cov_207lrqrpit().s[951]++;this.stlB.width=bw+'px';cov_207lrqrpit().s[952]++;this.stlB.height=bh+'px';cov_207lrqrpit().s[953]++;this.stlR.width=rw+'px';cov_207lrqrpit().s[954]++;this.stlR.height=rh+'px';cov_207lrqrpit().s[955]++;this.stlR.top=(bh-rh)/2-1+'px';cov_207lrqrpit().s[956]++;this.stlR.left=(bw-rw)/2-1+'px';cov_207lrqrpit().s[957]++;this.stlK.width=kw+'px';cov_207lrqrpit().s[958]++;this.stlK.height=kh+'px';cov_207lrqrpit().s[959]++;this.stlK.left=this.dx+'px';}var box=(cov_207lrqrpit().s[960]++,document.createElement('span'));cov_207lrqrpit().s[961]++;this.box=box;var box_=(cov_207lrqrpit().s[962]++,document.createElement('span'));cov_207lrqrpit().s[963]++;_style(box_,_innerStyle);cov_207lrqrpit().s[964]++;this.boxSpan=new _Span(this,box,box_,this.stlB,this.stlB0,this.stlB1);var range=(cov_207lrqrpit().s[965]++,document.createElement('span'));cov_207lrqrpit().s[966]++;this.range=range;var range_=(cov_207lrqrpit().s[967]++,document.createElement('span'));cov_207lrqrpit().s[968]++;_style(range_,_innerStyle);cov_207lrqrpit().s[969]++;this.rangeSpan=new _Span(this,range,range_,this.stlR,this.stlR0,this.stlR1);var knob=(cov_207lrqrpit().s[970]++,document.createElement('span'));cov_207lrqrpit().s[971]++;this.knob=knob;cov_207lrqrpit().s[972]++;this.knobSpan=new _Span(this,knob,knob,this.stlK,this.stlK0,this.stlK1);cov_207lrqrpit().s[973]++;this.spans=[this.boxSpan,this.rangeSpan,this.knobSpan];var active=(cov_207lrqrpit().s[974]++,(cov_207lrqrpit().b[242][0]++,typeof this.current.active=='undefined')||(cov_207lrqrpit().b[242][1]++,this.current.active));cov_207lrqrpit().s[975]++;if(active){cov_207lrqrpit().b[243][0]++;cov_207lrqrpit().s[976]++;box.addEventListener("touchstart",_IgnoreTouch);cov_207lrqrpit().s[977]++;knob.addEventListener("mousedown",_MouseDown(this));cov_207lrqrpit().s[978]++;knob.addEventListener("touchstart",_TouchStart(this));cov_207lrqrpit().s[979]++;knob.addEventListener("touchmove",_TouchMove(this));cov_207lrqrpit().s[980]++;knob.addEventListener("touchend",_TouchEnd(this));cov_207lrqrpit().s[981]++;knob.addEventListener("touchcancel",_TouchEnd(this));}else{cov_207lrqrpit().b[243][1]++;}cov_207lrqrpit().s[982]++;if(this.current.onCreate){cov_207lrqrpit().b[244][0]++;cov_207lrqrpit().s[983]++;this.current.onCreate.apply(this);}else{cov_207lrqrpit().b[244][1]++;}cov_207lrqrpit().s[984]++;range.appendChild(range_);cov_207lrqrpit().s[985]++;range.appendChild(knob);cov_207lrqrpit().s[986]++;box.appendChild(box_);cov_207lrqrpit().s[987]++;box.appendChild(range);cov_207lrqrpit().s[988]++;box.ondragstart=_returnFalse;cov_207lrqrpit().s[989]++;box.onselectstart=_returnFalse;cov_207lrqrpit().s[990]++;at.appendChild(box);cov_207lrqrpit().s[991]++;if((cov_207lrqrpit().b[246][0]++,!this.at)&&(cov_207lrqrpit().b[246][1]++,this.bins.length>1)){cov_207lrqrpit().b[245][0]++;var self=(cov_207lrqrpit().s[992]++,this);cov_207lrqrpit().s[993]++;this.resize=function(){cov_207lrqrpit().f[135]++;cov_207lrqrpit().s[994]++;self.onResize();};cov_207lrqrpit().s[995]++;window.addEventListener('resize',this.resize);}else{cov_207lrqrpit().b[245][1]++;}cov_207lrqrpit().s[996]++;this.current.at=at;cov_207lrqrpit().s[997]++;this.at=at;cov_207lrqrpit().s[998]++;this.setValue();cov_207lrqrpit().s[999]++;_style(this.box,typeof this.dragX=='undefined'?(cov_207lrqrpit().b[247][0]++,this.stlB0):(cov_207lrqrpit().b[247][1]++,this.stlB1));cov_207lrqrpit().s[1000]++;_style(this.box,this.stlB);cov_207lrqrpit().s[1001]++;_style(this.range,typeof this.dragX=='undefined'?(cov_207lrqrpit().b[248][0]++,this.stlR0):(cov_207lrqrpit().b[248][1]++,this.stlR1));cov_207lrqrpit().s[1002]++;_style(this.range,this.stlR);cov_207lrqrpit().s[1003]++;_style(this.knob,typeof this.dragX=='undefined'?(cov_207lrqrpit().b[249][0]++,this.stlK0):(cov_207lrqrpit().b[249][1]++,this.stlK1));cov_207lrqrpit().s[1004]++;_style(this.knob,this.stlK);};cov_207lrqrpit().s[1005]++;Slider.prototype.getBox=function(){cov_207lrqrpit().f[136]++;cov_207lrqrpit().s[1006]++;return this.boxSpan;};cov_207lrqrpit().s[1007]++;Slider.prototype.getRange=function(){cov_207lrqrpit().f[137]++;cov_207lrqrpit().s[1008]++;return this.rangeSpan;};cov_207lrqrpit().s[1009]++;Slider.prototype.getKnob=function(){cov_207lrqrpit().f[138]++;cov_207lrqrpit().s[1010]++;return this.knobSpan;};cov_207lrqrpit().s[1011]++;Slider.prototype.setValue=function(x){cov_207lrqrpit().f[139]++;cov_207lrqrpit().s[1012]++;if(typeof x=='undefined'){cov_207lrqrpit().b[250][0]++;cov_207lrqrpit().s[1013]++;x=this.data.val;}else{cov_207lrqrpit().b[250][1]++;cov_207lrqrpit().s[1014]++;if(!this.data.setValue(x)){cov_207lrqrpit().b[251][0]++;cov_207lrqrpit().s[1015]++;return;}else{cov_207lrqrpit().b[251][1]++;}}cov_207lrqrpit().s[1016]++;x=this.data.val;cov_207lrqrpit().s[1017]++;if((cov_207lrqrpit().b[253][0]++,this.pos=='N')||(cov_207lrqrpit().b[253][1]++,this.pos=='W')){cov_207lrqrpit().b[252][0]++;cov_207lrqrpit().s[1018]++;x=1.0-x;}else{cov_207lrqrpit().b[252][1]++;}cov_207lrqrpit().s[1019]++;x*=this.rh;cov_207lrqrpit().s[1020]++;this.coord=x;cov_207lrqrpit().s[1021]++;x+=this.dy;cov_207lrqrpit().s[1022]++;if((cov_207lrqrpit().b[255][0]++,this.pos=='N')||(cov_207lrqrpit().b[255][1]++,this.pos=='S')){cov_207lrqrpit().b[254][0]++;cov_207lrqrpit().s[1023]++;this.stlK.top=x+'px';cov_207lrqrpit().s[1024]++;this.knob.style.top=x+'px';}else{cov_207lrqrpit().b[254][1]++;cov_207lrqrpit().s[1025]++;this.stlK.left=x+'px';cov_207lrqrpit().s[1026]++;this.knob.style.left=x+'px';}};cov_207lrqrpit().s[1027]++;Slider.prototype.onMove=function(x,y){cov_207lrqrpit().f[140]++;var coord;cov_207lrqrpit().s[1028]++;if((cov_207lrqrpit().b[257][0]++,this.pos=='N')||(cov_207lrqrpit().b[257][1]++,this.pos=='S')){cov_207lrqrpit().b[256][0]++;cov_207lrqrpit().s[1029]++;coord=this.coord+y-this.dragY;}else{cov_207lrqrpit().b[256][1]++;cov_207lrqrpit().s[1030]++;coord=this.coord+x-this.dragX;}cov_207lrqrpit().s[1031]++;if(coord<0){cov_207lrqrpit().b[258][0]++;cov_207lrqrpit().s[1032]++;coord=0;}else{cov_207lrqrpit().b[258][1]++;}cov_207lrqrpit().s[1033]++;if(coord>this.rh){cov_207lrqrpit().b[259][0]++;cov_207lrqrpit().s[1034]++;coord=this.rh;}else{cov_207lrqrpit().b[259][1]++;}cov_207lrqrpit().s[1035]++;this.move(coord);};cov_207lrqrpit().s[1036]++;Slider.prototype.move=function(coord){cov_207lrqrpit().f[141]++;cov_207lrqrpit().s[1037]++;if(this.coord==coord){cov_207lrqrpit().b[260][0]++;cov_207lrqrpit().s[1038]++;return;}else{cov_207lrqrpit().b[260][1]++;}cov_207lrqrpit().s[1039]++;if((cov_207lrqrpit().b[262][0]++,this.pos=='N')||(cov_207lrqrpit().b[262][1]++,this.pos=='S')){cov_207lrqrpit().b[261][0]++;cov_207lrqrpit().s[1040]++;this.knob.style.top=coord+this.dy+'px';cov_207lrqrpit().s[1041]++;this.stlK.top=this.knob.style.top;cov_207lrqrpit().s[1042]++;this.dragY+=coord-this.coord;}else{cov_207lrqrpit().b[261][1]++;cov_207lrqrpit().s[1043]++;this.knob.style.left=coord+this.dy+'px';cov_207lrqrpit().s[1044]++;this.stlK.left=this.knob.style.left;cov_207lrqrpit().s[1045]++;this.dragX+=coord-this.coord;}var x=(cov_207lrqrpit().s[1046]++,coord/this.rh);cov_207lrqrpit().s[1047]++;if((cov_207lrqrpit().b[264][0]++,this.pos=='N')||(cov_207lrqrpit().b[264][1]++,this.pos=='W')){cov_207lrqrpit().b[263][0]++;cov_207lrqrpit().s[1048]++;x=1.0-x;}else{cov_207lrqrpit().b[263][1]++;}cov_207lrqrpit().s[1049]++;if(this.data.setValue(x)){cov_207lrqrpit().b[265][0]++;cov_207lrqrpit().s[1050]++;this.data.emit(this);}else{cov_207lrqrpit().b[265][1]++;}cov_207lrqrpit().s[1051]++;this.coord=coord;};cov_207lrqrpit().s[1052]++;Slider.prototype.forward=function(msg){cov_207lrqrpit().f[142]++;cov_207lrqrpit().s[1053]++;this.emit(msg);cov_207lrqrpit().s[1054]++;if(this.data.read(msg)){cov_207lrqrpit().b[266][0]++;cov_207lrqrpit().s[1055]++;this.setValue();}else{cov_207lrqrpit().b[266][1]++;}};//////////////////////////////////////////////////////////////////////////// -function Pad(arg){cov_207lrqrpit().f[143]++;cov_207lrqrpit().s[1056]++;_initKnob.call(this,arg,{pos:'N',rw:128,rh:128,kw:24,kh:16});}cov_207lrqrpit().s[1057]++;Pad.prototype=new _Knob();cov_207lrqrpit().s[1058]++;Pad.prototype.channel=function(c){cov_207lrqrpit().f[144]++;var chan=(cov_207lrqrpit().s[1059]++,_channelMap[c]);cov_207lrqrpit().s[1060]++;if((cov_207lrqrpit().b[268][0]++,typeof chan!='undefined')&&(cov_207lrqrpit().b[268][1]++,chan!=this.chan)){cov_207lrqrpit().b[267][0]++;cov_207lrqrpit().s[1061]++;this.chan=chan;cov_207lrqrpit().s[1062]++;this.dataX.chan=chan;cov_207lrqrpit().s[1063]++;this.dataY.chan=chan;cov_207lrqrpit().s[1064]++;this.setValue(this.dataX.base,this.dataY.base);}else{cov_207lrqrpit().b[267][1]++;}cov_207lrqrpit().s[1065]++;return this.chan;};cov_207lrqrpit().s[1066]++;Pad.prototype.createAt=function(at){cov_207lrqrpit().f[145]++;cov_207lrqrpit().s[1067]++;at.innerHTML='';var bh=(cov_207lrqrpit().s[1068]++,parseInt(this.current.bh));var bw=(cov_207lrqrpit().s[1069]++,parseInt(this.current.bw));var rh=(cov_207lrqrpit().s[1070]++,parseInt(this.current.rh));cov_207lrqrpit().s[1071]++;if(!rh){cov_207lrqrpit().b[269][0]++;cov_207lrqrpit().s[1072]++;rh=128;}else{cov_207lrqrpit().b[269][1]++;}cov_207lrqrpit().s[1073]++;this.rh=rh;var rw=(cov_207lrqrpit().s[1074]++,parseInt(this.current.rw));cov_207lrqrpit().s[1075]++;if(!rw){cov_207lrqrpit().b[270][0]++;cov_207lrqrpit().s[1076]++;rw=128;}else{cov_207lrqrpit().b[270][1]++;}cov_207lrqrpit().s[1077]++;this.rw=rw;var kh=(cov_207lrqrpit().s[1078]++,parseInt(this.current.kh));cov_207lrqrpit().s[1079]++;if(!kh){cov_207lrqrpit().b[271][0]++;cov_207lrqrpit().s[1080]++;kh=24;}else{cov_207lrqrpit().b[271][1]++;}var kw=(cov_207lrqrpit().s[1081]++,parseInt(this.current.kw));cov_207lrqrpit().s[1082]++;if(!kw){cov_207lrqrpit().b[272][0]++;cov_207lrqrpit().s[1083]++;kw=16;}else{cov_207lrqrpit().b[272][1]++;}var pos=(cov_207lrqrpit().s[1084]++,this.current.pos.toUpperCase());cov_207lrqrpit().s[1085]++;this.pos=pos;cov_207lrqrpit().s[1086]++;if(!this.dataX){cov_207lrqrpit().b[273][0]++;cov_207lrqrpit().s[1087]++;this.dataX=new _Data(this.current.dataX);cov_207lrqrpit().s[1088]++;this.dataY=new _Data(this.current.dataY);cov_207lrqrpit().s[1089]++;if((cov_207lrqrpit().b[275][0]++,typeof this.current.dataX=='undefined')&&(cov_207lrqrpit().b[275][1]++,typeof this.current.dataY!='undefined')&&(cov_207lrqrpit().b[275][2]++,!this.dataY.msb)){cov_207lrqrpit().b[274][0]++;cov_207lrqrpit().s[1090]++;this.dataX=new _Data('mod');}else{cov_207lrqrpit().b[274][1]++;}cov_207lrqrpit().s[1091]++;if((cov_207lrqrpit().b[277][0]++,typeof this.current.dataY=='undefined')&&(cov_207lrqrpit().b[277][1]++,!this.dataX.msb)){cov_207lrqrpit().b[276][0]++;cov_207lrqrpit().s[1092]++;this.dataY=new _Data('mod');}else{cov_207lrqrpit().b[276][1]++;}cov_207lrqrpit().s[1093]++;this.dataX.chan=this.chan;cov_207lrqrpit().s[1094]++;this.dataY.chan=this.chan;cov_207lrqrpit().s[1095]++;this.dataX.setBase(this.current.baseX);cov_207lrqrpit().s[1096]++;this.dataY.setBase(this.current.baseY);cov_207lrqrpit().s[1097]++;this.dataX.setValue(this.current.valX);cov_207lrqrpit().s[1098]++;this.dataY.setValue(this.current.valY);}else{cov_207lrqrpit().b[273][1]++;}cov_207lrqrpit().s[1099]++;this.dx=-(kw/2+1);cov_207lrqrpit().s[1100]++;this.dy=-(kh/2+1);cov_207lrqrpit().s[1101]++;if(!bh){cov_207lrqrpit().b[278][0]++;cov_207lrqrpit().s[1102]++;bh=kh+rh+2;}else{cov_207lrqrpit().b[278][1]++;}cov_207lrqrpit().s[1103]++;if(!bw){cov_207lrqrpit().b[279][0]++;cov_207lrqrpit().s[1104]++;bw=kw+rw+2;}else{cov_207lrqrpit().b[279][1]++;}cov_207lrqrpit().s[1105]++;this.stlB={display:'inline-block',position:'relative',margin:'0',padding:'0',userSelect:'none',KhtmlUserSelect:'none',MozUserSelect:'none',MsUserSelect:'none',OUserSelect:'none',WebkitUserSelect:'none',cursor:'default'};cov_207lrqrpit().s[1106]++;this.stlB0={borderStyle:'none'};cov_207lrqrpit().s[1107]++;this.stlB1={borderStyle:'none'};cov_207lrqrpit().s[1108]++;this.stlR={display:'inline-block',position:'absolute',margin:'0',padding:'0',borderStyle:'solid',borderWidth:'1px'};cov_207lrqrpit().s[1109]++;this.stlR0={backgroundColor:'#aaa'};cov_207lrqrpit().s[1110]++;this.stlR1={backgroundColor:'#bbb'};cov_207lrqrpit().s[1111]++;this.stlK={display:'inline-block',position:'absolute',margin:'0',padding:'0',borderStyle:'solid',borderWidth:'1px'};cov_207lrqrpit().s[1112]++;this.stlK0={backgroundColor:'#ddd'};cov_207lrqrpit().s[1113]++;this.stlK1={backgroundColor:'#eee'};cov_207lrqrpit().s[1114]++;if((cov_207lrqrpit().b[281][0]++,pos=='E')||(cov_207lrqrpit().b[281][1]++,pos=='W')){cov_207lrqrpit().b[280][0]++;cov_207lrqrpit().s[1115]++;this.stlB.width=bh+'px';cov_207lrqrpit().s[1116]++;this.stlB.height=bw+'px';cov_207lrqrpit().s[1117]++;this.stlR.width=rh+'px';cov_207lrqrpit().s[1118]++;this.stlR.height=rw+'px';cov_207lrqrpit().s[1119]++;this.stlR.left=(bh-rh)/2-1+'px';cov_207lrqrpit().s[1120]++;this.stlR.top=(bw-rw)/2-1+'px';cov_207lrqrpit().s[1121]++;this.stlK.width=kh+'px';cov_207lrqrpit().s[1122]++;this.stlK.height=kw+'px';cov_207lrqrpit().s[1123]++;this.stlK.top=this.dx+'px';}else{cov_207lrqrpit().b[280][1]++;cov_207lrqrpit().s[1124]++;this.stlB.width=bw+'px';cov_207lrqrpit().s[1125]++;this.stlB.height=bh+'px';cov_207lrqrpit().s[1126]++;this.stlR.width=rw+'px';cov_207lrqrpit().s[1127]++;this.stlR.height=rh+'px';cov_207lrqrpit().s[1128]++;this.stlR.top=(bh-rh)/2-1+'px';cov_207lrqrpit().s[1129]++;this.stlR.left=(bw-rw)/2-1+'px';cov_207lrqrpit().s[1130]++;this.stlK.width=kw+'px';cov_207lrqrpit().s[1131]++;this.stlK.height=kh+'px';cov_207lrqrpit().s[1132]++;this.stlK.left=this.dx+'px';}var box=(cov_207lrqrpit().s[1133]++,document.createElement('span'));cov_207lrqrpit().s[1134]++;this.box=box;var box_=(cov_207lrqrpit().s[1135]++,document.createElement('span'));cov_207lrqrpit().s[1136]++;_style(box_,_innerStyle);cov_207lrqrpit().s[1137]++;this.boxSpan=new _Span(this,box,box_,this.stlB,this.stlB0,this.stlB1);var range=(cov_207lrqrpit().s[1138]++,document.createElement('span'));cov_207lrqrpit().s[1139]++;this.range=range;var range_=(cov_207lrqrpit().s[1140]++,document.createElement('span'));cov_207lrqrpit().s[1141]++;_style(range_,_innerStyle);cov_207lrqrpit().s[1142]++;this.rangeSpan=new _Span(this,range,range_,this.stlR,this.stlR0,this.stlR1);var knob=(cov_207lrqrpit().s[1143]++,document.createElement('span'));cov_207lrqrpit().s[1144]++;this.knob=knob;cov_207lrqrpit().s[1145]++;this.knobSpan=new _Span(this,knob,knob,this.stlK,this.stlK0,this.stlK1);cov_207lrqrpit().s[1146]++;this.spans=[this.boxSpan,this.rangeSpan,this.knobSpan];var active=(cov_207lrqrpit().s[1147]++,(cov_207lrqrpit().b[282][0]++,typeof this.current.active=='undefined')||(cov_207lrqrpit().b[282][1]++,this.current.active));cov_207lrqrpit().s[1148]++;if(active){cov_207lrqrpit().b[283][0]++;cov_207lrqrpit().s[1149]++;box.addEventListener("touchstart",_IgnoreTouch);cov_207lrqrpit().s[1150]++;knob.addEventListener("mousedown",_MouseDown(this));cov_207lrqrpit().s[1151]++;knob.addEventListener("touchstart",_TouchStart(this));cov_207lrqrpit().s[1152]++;knob.addEventListener("touchmove",_TouchMove(this));cov_207lrqrpit().s[1153]++;knob.addEventListener("touchend",_TouchEnd(this));cov_207lrqrpit().s[1154]++;knob.addEventListener("touchcancel",_TouchEnd(this));}else{cov_207lrqrpit().b[283][1]++;}cov_207lrqrpit().s[1155]++;if(this.current.onCreate){cov_207lrqrpit().b[284][0]++;cov_207lrqrpit().s[1156]++;this.current.onCreate.apply(this);}else{cov_207lrqrpit().b[284][1]++;}cov_207lrqrpit().s[1157]++;range.appendChild(range_);cov_207lrqrpit().s[1158]++;range.appendChild(knob);cov_207lrqrpit().s[1159]++;box.appendChild(box_);cov_207lrqrpit().s[1160]++;box.appendChild(range);cov_207lrqrpit().s[1161]++;box.ondragstart=_returnFalse;cov_207lrqrpit().s[1162]++;box.onselectstart=_returnFalse;cov_207lrqrpit().s[1163]++;at.appendChild(box);cov_207lrqrpit().s[1164]++;if((cov_207lrqrpit().b[286][0]++,!this.at)&&(cov_207lrqrpit().b[286][1]++,this.bins.length>1)){cov_207lrqrpit().b[285][0]++;var self=(cov_207lrqrpit().s[1165]++,this);cov_207lrqrpit().s[1166]++;this.resize=function(){cov_207lrqrpit().f[146]++;cov_207lrqrpit().s[1167]++;self.onResize();};cov_207lrqrpit().s[1168]++;window.addEventListener('resize',this.resize);}else{cov_207lrqrpit().b[285][1]++;}cov_207lrqrpit().s[1169]++;this.current.at=at;cov_207lrqrpit().s[1170]++;this.at=at;cov_207lrqrpit().s[1171]++;this.setValue();cov_207lrqrpit().s[1172]++;_style(this.box,typeof this.dragX=='undefined'?(cov_207lrqrpit().b[287][0]++,this.stlB0):(cov_207lrqrpit().b[287][1]++,this.stlB1));cov_207lrqrpit().s[1173]++;_style(this.box,this.stlB);cov_207lrqrpit().s[1174]++;_style(this.range,typeof this.dragX=='undefined'?(cov_207lrqrpit().b[288][0]++,this.stlR0):(cov_207lrqrpit().b[288][1]++,this.stlR1));cov_207lrqrpit().s[1175]++;_style(this.range,this.stlR);cov_207lrqrpit().s[1176]++;_style(this.knob,typeof this.dragX=='undefined'?(cov_207lrqrpit().b[289][0]++,this.stlK0):(cov_207lrqrpit().b[289][1]++,this.stlK1));cov_207lrqrpit().s[1177]++;_style(this.knob,this.stlK);};cov_207lrqrpit().s[1178]++;Pad.prototype.getBox=function(){cov_207lrqrpit().f[147]++;cov_207lrqrpit().s[1179]++;return this.boxSpan;};cov_207lrqrpit().s[1180]++;Pad.prototype.getRange=function(){cov_207lrqrpit().f[148]++;cov_207lrqrpit().s[1181]++;return this.rangeSpan;};cov_207lrqrpit().s[1182]++;Pad.prototype.getKnob=function(){cov_207lrqrpit().f[149]++;cov_207lrqrpit().s[1183]++;return this.knobSpan;};cov_207lrqrpit().s[1184]++;Pad.prototype.setValue=function(x,y){cov_207lrqrpit().f[150]++;cov_207lrqrpit().s[1185]++;if(typeof x=='undefined'){cov_207lrqrpit().b[290][0]++;cov_207lrqrpit().s[1186]++;x=this.dataX.val;cov_207lrqrpit().s[1187]++;y=this.dataY.val;}else{cov_207lrqrpit().b[290][1]++;cov_207lrqrpit().s[1188]++;if((cov_207lrqrpit().b[292][0]++,!this.dataX.setValue(x))&&(cov_207lrqrpit().b[292][1]++,!this.dataY.setValue(y))){cov_207lrqrpit().b[291][0]++;cov_207lrqrpit().s[1189]++;return;}else{cov_207lrqrpit().b[291][1]++;}}cov_207lrqrpit().s[1190]++;x=this.dataX.val;cov_207lrqrpit().s[1191]++;y=this.dataY.val;cov_207lrqrpit().s[1192]++;if((cov_207lrqrpit().b[294][0]++,this.pos=='N')||(cov_207lrqrpit().b[294][1]++,this.pos=='W')){cov_207lrqrpit().b[293][0]++;cov_207lrqrpit().s[1193]++;y=1.0-y;}else{cov_207lrqrpit().b[293][1]++;}cov_207lrqrpit().s[1194]++;if((cov_207lrqrpit().b[296][0]++,this.pos=='S')||(cov_207lrqrpit().b[296][1]++,this.pos=='W')){cov_207lrqrpit().b[295][0]++;cov_207lrqrpit().s[1195]++;x=1.0-x;}else{cov_207lrqrpit().b[295][1]++;}cov_207lrqrpit().s[1196]++;x*=this.rw;cov_207lrqrpit().s[1197]++;y*=this.rh;cov_207lrqrpit().s[1198]++;if((cov_207lrqrpit().b[298][0]++,this.pos=='N')||(cov_207lrqrpit().b[298][1]++,this.pos=='S')){cov_207lrqrpit().b[297][0]++;cov_207lrqrpit().s[1199]++;this.coordX=x;cov_207lrqrpit().s[1200]++;this.coordY=y;}else{cov_207lrqrpit().b[297][1]++;cov_207lrqrpit().s[1201]++;this.coordX=y;cov_207lrqrpit().s[1202]++;this.coordY=x;}cov_207lrqrpit().s[1203]++;x+=this.dx;cov_207lrqrpit().s[1204]++;y+=this.dy;cov_207lrqrpit().s[1205]++;if((cov_207lrqrpit().b[300][0]++,this.pos=='N')||(cov_207lrqrpit().b[300][1]++,this.pos=='S')){cov_207lrqrpit().b[299][0]++;cov_207lrqrpit().s[1206]++;this.stlK.left=x+'px';cov_207lrqrpit().s[1207]++;this.stlK.top=y+'px';}else{cov_207lrqrpit().b[299][1]++;cov_207lrqrpit().s[1208]++;this.stlK.top=x+'px';cov_207lrqrpit().s[1209]++;this.stlK.left=y+'px';}cov_207lrqrpit().s[1210]++;this.knob.style.left=this.stlK.left;cov_207lrqrpit().s[1211]++;this.knob.style.top=this.stlK.top;};cov_207lrqrpit().s[1212]++;Pad.prototype.onMove=function(x,y){cov_207lrqrpit().f[151]++;cov_207lrqrpit().s[1213]++;x=this.coordX+x-this.dragX;cov_207lrqrpit().s[1214]++;y=this.coordY+y-this.dragY;cov_207lrqrpit().s[1215]++;if(x<0){cov_207lrqrpit().b[301][0]++;cov_207lrqrpit().s[1216]++;x=0;}else{cov_207lrqrpit().b[301][1]++;}cov_207lrqrpit().s[1217]++;if(y<0){cov_207lrqrpit().b[302][0]++;cov_207lrqrpit().s[1218]++;y=0;}else{cov_207lrqrpit().b[302][1]++;}cov_207lrqrpit().s[1219]++;if((cov_207lrqrpit().b[304][0]++,this.pos=='N')||(cov_207lrqrpit().b[304][1]++,this.pos=='S')){cov_207lrqrpit().b[303][0]++;cov_207lrqrpit().s[1220]++;if(x>this.rw){cov_207lrqrpit().b[305][0]++;cov_207lrqrpit().s[1221]++;x=this.rw;}else{cov_207lrqrpit().b[305][1]++;}cov_207lrqrpit().s[1222]++;if(y>this.rh){cov_207lrqrpit().b[306][0]++;cov_207lrqrpit().s[1223]++;y=this.rh;}else{cov_207lrqrpit().b[306][1]++;}cov_207lrqrpit().s[1224]++;this.knob.style.left=x+this.dx+'px';cov_207lrqrpit().s[1225]++;this.knob.style.top=y+this.dy+'px';}else{cov_207lrqrpit().b[303][1]++;cov_207lrqrpit().s[1226]++;if(x>this.rh){cov_207lrqrpit().b[307][0]++;cov_207lrqrpit().s[1227]++;x=this.rh;}else{cov_207lrqrpit().b[307][1]++;}cov_207lrqrpit().s[1228]++;if(y>this.rw){cov_207lrqrpit().b[308][0]++;cov_207lrqrpit().s[1229]++;y=this.rw;}else{cov_207lrqrpit().b[308][1]++;}cov_207lrqrpit().s[1230]++;this.knob.style.left=x+this.dy+'px';cov_207lrqrpit().s[1231]++;this.knob.style.top=y+this.dx+'px';}cov_207lrqrpit().s[1232]++;this.stlK.left=this.knob.style.left;cov_207lrqrpit().s[1233]++;this.stlK.top=this.knob.style.top;cov_207lrqrpit().s[1234]++;this.dragX+=x-this.coordX;cov_207lrqrpit().s[1235]++;this.dragY+=y-this.coordY;cov_207lrqrpit().s[1236]++;this.coordX=x;cov_207lrqrpit().s[1237]++;this.coordY=y;cov_207lrqrpit().s[1238]++;if((cov_207lrqrpit().b[310][0]++,this.pos=='E')||(cov_207lrqrpit().b[310][1]++,this.pos=='W')){cov_207lrqrpit().b[309][0]++;cov_207lrqrpit().s[1239]++;x=this.coordY;cov_207lrqrpit().s[1240]++;y=this.coordX;}else{cov_207lrqrpit().b[309][1]++;}cov_207lrqrpit().s[1241]++;x/=this.rw;cov_207lrqrpit().s[1242]++;y/=this.rh;cov_207lrqrpit().s[1243]++;if((cov_207lrqrpit().b[312][0]++,this.pos=='N')||(cov_207lrqrpit().b[312][1]++,this.pos=='W')){cov_207lrqrpit().b[311][0]++;cov_207lrqrpit().s[1244]++;y=1.0-y;}else{cov_207lrqrpit().b[311][1]++;}cov_207lrqrpit().s[1245]++;if((cov_207lrqrpit().b[314][0]++,this.pos=='S')||(cov_207lrqrpit().b[314][1]++,this.pos=='W')){cov_207lrqrpit().b[313][0]++;cov_207lrqrpit().s[1246]++;x=1.0-x;}else{cov_207lrqrpit().b[313][1]++;}cov_207lrqrpit().s[1247]++;if(this.dataX.setValue(x)){cov_207lrqrpit().b[315][0]++;cov_207lrqrpit().s[1248]++;this.dataX.emit(this);}else{cov_207lrqrpit().b[315][1]++;}cov_207lrqrpit().s[1249]++;if(this.dataY.setValue(y)){cov_207lrqrpit().b[316][0]++;cov_207lrqrpit().s[1250]++;this.dataY.emit(this);}else{cov_207lrqrpit().b[316][1]++;}};cov_207lrqrpit().s[1251]++;Pad.prototype.forward=function(msg){cov_207lrqrpit().f[152]++;cov_207lrqrpit().s[1252]++;this.emit(msg);cov_207lrqrpit().s[1253]++;if((cov_207lrqrpit().b[318][0]++,this.dataX.read(msg))||(cov_207lrqrpit().b[318][1]++,this.dataY.read(msg))){cov_207lrqrpit().b[317][0]++;cov_207lrqrpit().s[1254]++;this.setValue();}else{cov_207lrqrpit().b[317][1]++;}};//////////////////////////////////////////////////////////////////////////// -function EngSlider(){cov_207lrqrpit().f[153]++;}cov_207lrqrpit().s[1255]++;EngSlider.prototype._info=function(name){cov_207lrqrpit().f[154]++;cov_207lrqrpit().s[1256]++;return{type:'html/javascript',name:_name(name,'Slider'),manufacturer:'virtual',version:_version};};cov_207lrqrpit().s[1257]++;EngSlider.prototype._openIn=function(port,name){cov_207lrqrpit().f[155]++;var slider=(cov_207lrqrpit().s[1258]++,new Slider(this._arg));cov_207lrqrpit().s[1259]++;slider.connect=function(){cov_207lrqrpit().f[156]++;cov_207lrqrpit().s[1260]++;port.connect.apply(port,arguments);};cov_207lrqrpit().s[1261]++;slider.send=function(){cov_207lrqrpit().f[157]++;cov_207lrqrpit().s[1262]++;port.send.apply(port,arguments);};cov_207lrqrpit().s[1263]++;slider.create();cov_207lrqrpit().s[1264]++;slider.emit=function(msg){cov_207lrqrpit().f[158]++;cov_207lrqrpit().s[1265]++;port._emit(msg);};cov_207lrqrpit().s[1266]++;port._info=this._info(name);cov_207lrqrpit().s[1267]++;port._receive=function(msg){cov_207lrqrpit().f[159]++;cov_207lrqrpit().s[1268]++;slider.forward(msg);};cov_207lrqrpit().s[1269]++;port._close=function(){cov_207lrqrpit().f[160]++;cov_207lrqrpit().s[1270]++;slider._close();};cov_207lrqrpit().s[1271]++;port.settings=function(){cov_207lrqrpit().f[161]++;cov_207lrqrpit().s[1272]++;return slider.settings();};cov_207lrqrpit().s[1273]++;port.getBox=function(){cov_207lrqrpit().f[162]++;cov_207lrqrpit().s[1274]++;return slider.boxSpan;};cov_207lrqrpit().s[1275]++;port.getRange=function(){cov_207lrqrpit().f[163]++;cov_207lrqrpit().s[1276]++;return slider.rangeSpan;};cov_207lrqrpit().s[1277]++;port.getKnob=function(){cov_207lrqrpit().f[164]++;cov_207lrqrpit().s[1278]++;return slider.knobSpan;};cov_207lrqrpit().s[1279]++;port.setValue=function(x){cov_207lrqrpit().f[165]++;cov_207lrqrpit().s[1280]++;slider.setValue(x);};cov_207lrqrpit().s[1281]++;port.channel=function(x){cov_207lrqrpit().f[166]++;cov_207lrqrpit().s[1282]++;return slider.channel(x);};cov_207lrqrpit().s[1283]++;port._resume();};cov_207lrqrpit().s[1284]++;JZZ.input.Slider=function(){cov_207lrqrpit().f[167]++;var name,arg;cov_207lrqrpit().s[1285]++;if(arguments.length==1){cov_207lrqrpit().b[319][0]++;cov_207lrqrpit().s[1286]++;if(typeof arguments[0]=='string'){cov_207lrqrpit().b[320][0]++;cov_207lrqrpit().s[1287]++;name=arguments[0];}else{cov_207lrqrpit().b[320][1]++;cov_207lrqrpit().s[1288]++;arg=arguments[0];}}else{cov_207lrqrpit().b[319][1]++;cov_207lrqrpit().s[1289]++;name=arguments[0];cov_207lrqrpit().s[1290]++;arg=arguments[1];}var _engine=(cov_207lrqrpit().s[1291]++,new EngSlider());cov_207lrqrpit().s[1292]++;_engine._arg=arg;cov_207lrqrpit().s[1293]++;return JZZ.lib.openMidiIn(name,_engine);};cov_207lrqrpit().s[1294]++;JZZ.input.Slider.register=function(){cov_207lrqrpit().f[168]++;var name,arg;cov_207lrqrpit().s[1295]++;if(arguments.length==1){cov_207lrqrpit().b[321][0]++;cov_207lrqrpit().s[1296]++;if(typeof arguments[0]=='string'){cov_207lrqrpit().b[322][0]++;cov_207lrqrpit().s[1297]++;name=arguments[0];}else{cov_207lrqrpit().b[322][1]++;cov_207lrqrpit().s[1298]++;arg=arguments[0];}}else{cov_207lrqrpit().b[321][1]++;cov_207lrqrpit().s[1299]++;name=arguments[0];cov_207lrqrpit().s[1300]++;arg=arguments[1];}var _engine=(cov_207lrqrpit().s[1301]++,new EngSlider());cov_207lrqrpit().s[1302]++;_engine._arg=arg;cov_207lrqrpit().s[1303]++;return JZZ.lib.registerMidiIn(name,_engine);};//////////////////////////////////////////////////////////////////////////// -function EngPad(){cov_207lrqrpit().f[169]++;}cov_207lrqrpit().s[1304]++;EngPad.prototype._info=function(name){cov_207lrqrpit().f[170]++;cov_207lrqrpit().s[1305]++;return{type:'html/javascript',name:_name(name,'Pad'),manufacturer:'virtual',version:_version};};cov_207lrqrpit().s[1306]++;EngPad.prototype._openIn=function(port,name){cov_207lrqrpit().f[171]++;var pad=(cov_207lrqrpit().s[1307]++,new Pad(this._arg));cov_207lrqrpit().s[1308]++;pad.connect=function(){cov_207lrqrpit().f[172]++;cov_207lrqrpit().s[1309]++;port.connect.apply(port,arguments);};cov_207lrqrpit().s[1310]++;pad.send=function(){cov_207lrqrpit().f[173]++;cov_207lrqrpit().s[1311]++;port.send.apply(port,arguments);};cov_207lrqrpit().s[1312]++;pad.create();cov_207lrqrpit().s[1313]++;pad.emit=function(msg){cov_207lrqrpit().f[174]++;cov_207lrqrpit().s[1314]++;port._emit(msg);};cov_207lrqrpit().s[1315]++;port._info=this._info(name);cov_207lrqrpit().s[1316]++;port._receive=function(msg){cov_207lrqrpit().f[175]++;cov_207lrqrpit().s[1317]++;pad.forward(msg);};cov_207lrqrpit().s[1318]++;port._close=function(){cov_207lrqrpit().f[176]++;cov_207lrqrpit().s[1319]++;pad._close();};cov_207lrqrpit().s[1320]++;port.settings=function(){cov_207lrqrpit().f[177]++;cov_207lrqrpit().s[1321]++;return pad.settings();};cov_207lrqrpit().s[1322]++;port.getBox=function(){cov_207lrqrpit().f[178]++;cov_207lrqrpit().s[1323]++;return pad.boxSpan;};cov_207lrqrpit().s[1324]++;port.getRange=function(){cov_207lrqrpit().f[179]++;cov_207lrqrpit().s[1325]++;return pad.rangeSpan;};cov_207lrqrpit().s[1326]++;port.getKnob=function(){cov_207lrqrpit().f[180]++;cov_207lrqrpit().s[1327]++;return pad.knobSpan;};cov_207lrqrpit().s[1328]++;port.setValue=function(x){cov_207lrqrpit().f[181]++;cov_207lrqrpit().s[1329]++;pad.setValue(x);};cov_207lrqrpit().s[1330]++;port.channel=function(x){cov_207lrqrpit().f[182]++;cov_207lrqrpit().s[1331]++;return pad.channel(x);};cov_207lrqrpit().s[1332]++;port._resume();};cov_207lrqrpit().s[1333]++;JZZ.input.Pad=function(){cov_207lrqrpit().f[183]++;var name,arg;cov_207lrqrpit().s[1334]++;if(arguments.length==1){cov_207lrqrpit().b[323][0]++;cov_207lrqrpit().s[1335]++;if(typeof arguments[0]=='string'){cov_207lrqrpit().b[324][0]++;cov_207lrqrpit().s[1336]++;name=arguments[0];}else{cov_207lrqrpit().b[324][1]++;cov_207lrqrpit().s[1337]++;arg=arguments[0];}}else{cov_207lrqrpit().b[323][1]++;cov_207lrqrpit().s[1338]++;name=arguments[0];cov_207lrqrpit().s[1339]++;arg=arguments[1];}var _engine=(cov_207lrqrpit().s[1340]++,new EngPad());cov_207lrqrpit().s[1341]++;_engine._arg=arg;cov_207lrqrpit().s[1342]++;return JZZ.lib.openMidiIn(name,_engine);};cov_207lrqrpit().s[1343]++;JZZ.input.Pad.register=function(){cov_207lrqrpit().f[184]++;var name,arg;cov_207lrqrpit().s[1344]++;if(arguments.length==1){cov_207lrqrpit().b[325][0]++;cov_207lrqrpit().s[1345]++;if(typeof arguments[0]=='string'){cov_207lrqrpit().b[326][0]++;cov_207lrqrpit().s[1346]++;name=arguments[0];}else{cov_207lrqrpit().b[326][1]++;cov_207lrqrpit().s[1347]++;arg=arguments[0];}}else{cov_207lrqrpit().b[325][1]++;cov_207lrqrpit().s[1348]++;name=arguments[0];cov_207lrqrpit().s[1349]++;arg=arguments[1];}var _engine=(cov_207lrqrpit().s[1350]++,new EngPad());cov_207lrqrpit().s[1351]++;_engine._arg=arg;cov_207lrqrpit().s[1352]++;return JZZ.lib.registerMidiIn(name,_engine);};}); -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb3ZfMjA3bHJxcnBpdCIsImFjdHVhbENvdmVyYWdlIiwicyIsImdsb2JhbCIsImZhY3RvcnkiLCJmIiwiYiIsImV4cG9ydHMiLCJtb2R1bGUiLCJLYmQiLCJkZWZpbmUiLCJhbWQiLCJKWloiLCJpbnB1dCIsIl92ZXJzaW9uIiwiX25hbWUiLCJuYW1lIiwiZGVmbHQiLCJfY29weSIsIm9iaiIsInJldCIsImsiLCJfa2V5Y29kZSIsIngiLCJ6IiwidG9VcHBlckNhc2UiLCJsZW5ndGgiLCJjaGFyQ29kZUF0IiwiRVNDIiwiVEFCIiwiQlNQIiwiX2NvZGVrZXkiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJfY2hhbm5lbE1hcCIsImEiLCJjIiwiZCIsImUiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJLZXlib2FyZCIsImFyZyIsIm5vdGVzIiwicGxheWluZyIsIm1wZSIsIk1QRSIsInZhbGlkYXRlIiwiY2hhbiIsImtleSIsInZhbCIsIk1JREkiLCJub3RlVmFsdWUiLCJzZWxmIiwia2V5ZG93biIsIm1pZGkiLCJjb2RlIiwia2V5Q29kZSIsInByZXZlbnREZWZhdWx0IiwiYXBwbHkiLCJub3RlT24iLCJrZXl1cCIsInVuZGVmaW5lZCIsIm5vdGVPZmYiLCJhdCIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJhZGRFdmVudExpc3RlbmVyIiwidGFiSW5kZXgiLCJfY2xvc2UiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwicHJvdG90eXBlIiwiY2hhbm5lbCIsIkFzY2lpRW5naW5lIiwiX2luZm8iLCJ0eXBlIiwibWFudWZhY3R1cmVyIiwidmVyc2lvbiIsIl9vcGVuSW4iLCJwb3J0Iiwia2V5Ym9hcmQiLCJfYXJnIiwiX29yaWciLCJfbXBlIiwic2V0dXAiLCJub3RlIiwibXNnIiwiX3JlY2VpdmUiLCJfcmVzdW1lIiwiQVNDSUkiLCJhcmd1bWVudHMiLCJfQXNjaWlFbmdpbmUiLCJsaWIiLCJvcGVuTWlkaUluIiwicmVnaXN0ZXIiLCJyZWdpc3Rlck1pZGlJbiIsIl9maXJlZm94QnVnIiwiX2ZpeEJ0blVwIiwiYnV0dG9ucyIsInN0b3BQcm9wYWdhdGlvbiIsImJ1dHRvbiIsIl9sZnRCdG5EbiIsIl9sZnRCdG5VcCIsIl9zdGF5IiwicCIsInBhcmVudE5vZGUiLCJfcmV0dXJuRmFsc2UiLCJfc3R5bGUiLCJzdGwiLCJzdHlsZSIsIl9rZXlOdW0iLCJuIiwidXAiLCJNYXRoIiwiZmxvb3IiLCJfa2V5TWlkaSIsIl9oYW5kbGVNb3VzZURvd24iLCJwaWFubyIsIm1vdXNlRG93biIsInByZXNzIiwiX2hhbmRsZU1vdXNlT3ZlciIsIl9oYW5kbGVNb3VzZU91dCIsInJlbGF0ZWRUYXJnZXQiLCJyZWxlYXNlIiwiX2hhbmRsZU1vdXNlVXAiLCJfaGFuZGxlTW91c2VPZmYiLCJfd2F0Y2hNb3VzZUJ1dHRvbnMiLCJfaGFuZGxlVG91Y2giLCJ0IiwiaSIsInRvdWNoZXMiLCJmaW5kS2V5IiwiY2xpZW50WCIsImNsaWVudFkiLCJ0dCIsIlBpYW5vIiwiYmlucyIsInBhcmFtcyIsImNvbW1vbiIsImZyb20iLCJ0byIsInd3IiwiYnciLCJ3bCIsImJsIiwicG9zIiwicGFyc2VJbnQiLCJwdXNoIiwic29ydCIsImtleXMiLCJfYWN0aXZlIiwic3RsMCIsInN0bDIiLCJsb2NzIiwicmVzaXplIiwid2luZG93IiwiY2xlYW51cCIsInN0bDEiLCJmb3J3YXJkIiwiY2giLCJnZXRDaGFubmVsIiwiaXNOb3RlT24iLCJpc05vdGVPZmYiLCJlbWl0IiwiY2xlYXIiLCJ5IiwiZWxtIiwiZWxlbWVudEZyb21Qb2ludCIsImNyZWF0ZSIsImJpbiIsImlubmVyV2lkdGgiLCJjdXJyZW50IiwiY3JlYXRlQ3VycmVudCIsImNyZWF0ZVdpdGhLZXlzIiwiY3JlYXRlQXQiLCJib3R0b20iLCJjcmVhdGVFbGVtZW50IiwiYm9keSIsImFwcGVuZENoaWxkIiwiZG9tIiwic2V0TGlzdGVuZXJzIiwib25DcmVhdGUiLCJpbm5lckhUTUwiLCJmaXJzdCIsImxhc3QiLCJudW0iLCJ3IiwiaCIsImwyciIsInJldiIsInQyYiIsImRpc3BsYXkiLCJwb3NpdGlvbiIsIm1hcmdpbiIsInBhZGRpbmciLCJib3JkZXJTdHlsZSIsInVzZXJTZWxlY3QiLCJNb3pVc2VyU2VsZWN0IiwiV2Via2l0VXNlclNlbGVjdCIsIk1zVXNlclNlbGVjdCIsIktodG1sVXNlclNlbGVjdCIsImN1cnNvciIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyV2lkdGgiLCJsZWZ0IiwidG9wIiwidmVydGljYWxBbGlnbiIsImJhY2tncm91bmRDb2xvciIsImJvcmRlckNvbG9yIiwiaG9sZSIsImNlaWwiLCJvY3QiLCJzaGlmdCIsImFjdGl2ZSIsIndhdGNoQnV0dG9ucyIsIm1vdXNlVXBIYW5kbGUiLCJ0b3VjaEhhbmRsZSIsIm1vdXNlRG93bkgiLCJtb3VzZU92ZXJIIiwibW91c2VPdXRIIiwibW91c2VVcEgiLCJvbmRyYWdzdGFydCIsIm9uc2VsZWN0c3RhcnQiLCJvblJlc2l6ZSIsInNldHRpbmdzIiwiZW5hYmxlIiwiZGlzYWJsZSIsImdldEtleSIsIktleXMiLCJnZXRLZXlzIiwibjAiLCJuMSIsIm5uIiwiZ2V0V2hpdGVLZXlzIiwiZ2V0QmxhY2tLZXlzIiwic2V0SW5uZXJIVE1MIiwiaHRtbCIsInNldFN0eWxlIiwiczAiLCJzMSIsInMyIiwiS2JkRW5naW5lIiwic2VuZCIsImNvbm5lY3QiLCJfZW1pdCIsIl9maWx0ZXIiLCJfS2JkRW5naW5lIiwiX2lubmVyU3R5bGUiLCJfRGF0YSIsImJhc2UiLCJtc2IiLCJsc2IiLCJBcnJheSIsIm1vZCIsImJyZWF0aCIsImZvb3QiLCJwb3J0YW1lbnRvIiwidm9sdW1lIiwiYmFsYW5jZSIsInBhbiIsImV4cHJlc3Npb24iLCJlZmZlY3QxIiwiZWZmZWN0MiIsInNldFZhbHVlIiwic2V0QmFzZSIsInBhcnNlRmxvYXQiLCJpc05hTiIsImlzRmluaXRlIiwicm91bmQiLCJvdXQiLCJyZWFkIiwiX1NwYW4iLCJjdHJsIiwic3BhbiIsImlubmVyIiwiaXNTZWxlY3RlZCIsIl9Lbm9iIiwiX2luaXRLbm9iIiwibW91c2VVcEhhbmRsZXIiLCJkcmFnWCIsInJlc3R5bGUiLCJzcGFucyIsIm9uTW91c2VEb3duIiwiZHJhZ1kiLCJtb3VzZU1vdmUiLCJfTW91c2VNb3ZlIiwibW91c2VVcCIsIl9Nb3VzZVVwIiwib25Nb3VzZU1vdmUiLCJvbk1vdmUiLCJvbk1vdXNlVXAiLCJvblRvdWNoU3RhcnQiLCJ0b3VjaCIsInRhcmdldFRvdWNoZXMiLCJpZGVudGlmaWVyIiwib25Ub3VjaE1vdmUiLCJvblRvdWNoRW5kIiwiX01vdXNlRG93biIsIl9Ub3VjaFN0YXJ0IiwiX1RvdWNoTW92ZSIsIl9Ub3VjaEVuZCIsIl9JZ25vcmVUb3VjaCIsIlNsaWRlciIsImNhbGwiLCJydyIsInJoIiwia3ciLCJraCIsImRhdGEiLCJiaCIsImR4IiwiZHkiLCJzdGxCIiwiT1VzZXJTZWxlY3QiLCJzdGxCMCIsInN0bEIxIiwic3RsUiIsInN0bFIwIiwic3RsUjEiLCJzdGxLIiwic3RsSzAiLCJzdGxLMSIsImJveCIsImJveF8iLCJib3hTcGFuIiwicmFuZ2UiLCJyYW5nZV8iLCJyYW5nZVNwYW4iLCJrbm9iIiwia25vYlNwYW4iLCJnZXRCb3giLCJnZXRSYW5nZSIsImdldEtub2IiLCJjb29yZCIsIm1vdmUiLCJQYWQiLCJkYXRhWCIsImRhdGFZIiwiYmFzZVgiLCJiYXNlWSIsInZhbFgiLCJ2YWxZIiwiY29vcmRYIiwiY29vcmRZIiwiRW5nU2xpZGVyIiwic2xpZGVyIiwiX2VuZ2luZSIsIkVuZ1BhZCIsInBhZCJdLCJzb3VyY2VzIjpbIkpaWi5pbnB1dC5LYmQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uKGdsb2JhbCwgZmFjdG9yeSkge1xyXG4gIGlmICh0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG1vZHVsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIGZhY3RvcnkuS2JkID0gZmFjdG9yeTtcclxuICAgIG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeTtcclxuICB9XHJcbiAgZWxzZSBpZiAodHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kKSB7XHJcbiAgICBkZWZpbmUoJ0paWi5pbnB1dC5LYmQnLCBbJ0paWiddLCBmYWN0b3J5KTtcclxuICB9XHJcbiAgZWxzZSB7XHJcbiAgICBmYWN0b3J5KEpaWik7XHJcbiAgfVxyXG59KSh0aGlzLCBmdW5jdGlvbihKWlopIHtcclxuXHJcbiAgaWYgKCFKWlopIHJldHVybjtcclxuICBpZiAoIUpaWi5pbnB1dCkgSlpaLmlucHV0ID0ge307XHJcblxyXG4gIHZhciBfdmVyc2lvbiA9ICcxLjMuMCc7XHJcbiAgZnVuY3Rpb24gX25hbWUobmFtZSwgZGVmbHQpIHsgcmV0dXJuIG5hbWUgPyBuYW1lIDogZGVmbHQ7IH1cclxuXHJcbiAgZnVuY3Rpb24gX2NvcHkob2JqKSB7XHJcbiAgICB2YXIgcmV0ID0ge307XHJcbiAgICBmb3IodmFyIGsgaW4gb2JqKSByZXRba10gPSBvYmpba107XHJcbiAgICByZXR1cm4gcmV0O1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gX2tleWNvZGUoeCkge1xyXG4gICAgdmFyIHogPSB4LnRvVXBwZXJDYXNlKCk7XHJcbiAgICBpZiAoei5sZW5ndGggPT0gMSkge1xyXG4gICAgICB2YXIgayA9IHouY2hhckNvZGVBdCgwKTtcclxuICAgICAgaWYgKGsgPj0gNjUgJiYgayA8PSA5MCkgcmV0dXJuICdLZXknICsgejtcclxuICAgICAgaWYgKGsgPj0gNDggJiYgayA8PSA1NykgcmV0dXJuICdEaWdpdCcgKyB6O1xyXG4gICAgfVxyXG4gICAgeiA9IHtcclxuICAgICAgRVNDOiAnRXNjYXBlJyxcclxuICAgICAgVEFCOiAnVGFiJyxcclxuICAgICAgQlNQOiAnQmFja3NwYWNlJyxcclxuICAgICAgJy0nOiAnTWludXMnLCAnXyc6ICdNaW51cycsXHJcbiAgICAgICcrJzogJ0VxdWFsJywgJz0nOiAnRXF1YWwnLFxyXG4gICAgICAnWyc6ICdCcmFja2V0TGVmdCcsICd7JzogJ0JyYWNrZXRMZWZ0JyxcclxuICAgICAgJ10nOiAnQnJhY2tldFJpZ2h0JywgJ30nOiAnQnJhY2tldFJpZ2h0JyxcclxuICAgICAgJzsnOidTZW1pY29sb24nLCAnOic6ICdTZW1pY29sb24nLFxyXG4gICAgICBcIidcIjogJ1F1b3RlJywgJ1wiJzogJ1F1b3RlJyxcclxuICAgICAgJ2AnOiAnQmFja3F1b3RlJywgJ34nOiAnQmFja3F1b3RlJyxcclxuICAgICAgJ3wnOiAnQmFja3NsYXNoJywgJ1xcXFwnOiAnQmFja3NsYXNoJyxcclxuICAgICAgJywnOiAnQ29tbWEnLCAnPCc6ICdDb21tYScsXHJcbiAgICAgICcuJzogJ1BlcmlvZCcsICc+JzogJ1BlcmlvZCcsXHJcbiAgICAgICcvJzogJ1NsYXNoJywgJz8nOiAnU2xhc2gnLFxyXG4gICAgICAnICc6ICdTcGFjZSdcclxuICAgIH1bel07XHJcbiAgICByZXR1cm4geiA/IHogOiB4O1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gX2NvZGVrZXkoaykge1xyXG4gICAgaWYgKGsgPj0gNjUgJiYgayA8PSA5MCkgcmV0dXJuICdLZXknICsgU3RyaW5nLmZyb21DaGFyQ29kZShrKTtcclxuICAgIGlmIChrID49IDQ4ICYmIGsgPD0gNTcpIHJldHVybiAnRGlnaXQnICsgU3RyaW5nLmZyb21DaGFyQ29kZShrKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIDk6ICdUYWInLFxyXG4gICAgICA4OiAnQmFja3NwYWNlJyxcclxuICAgICAgMjc6ICdFc2NhcGUnLFxyXG4gICAgICAzMjogJ1NwYWNlJyxcclxuICAgICAgNTk6ICdTZW1pY29sb24nLFxyXG4gICAgICAxNzE6ICdFcXVhbCcsXHJcbiAgICAgIDE3MzogJ01pbnVzJyxcclxuICAgICAgMTg4OiAnQ29tbWEnLFxyXG4gICAgICAxOTA6ICdQZXJpb2QnLFxyXG4gICAgICAxOTE6ICdTbGFzaCcsXHJcbiAgICAgIDE5MjogJ0JhY2txdW90ZScsXHJcbiAgICAgIDIxOTogJ0JyYWNrZXRMZWZ0JyxcclxuICAgICAgMjIwOiAnQmFja3NsYXNoJyxcclxuICAgICAgMjIxOiAnQnJhY2tldFJpZ2h0JyxcclxuICAgICAgMjIyOiAnUXVvdGUnLFxyXG4gICAgfVtrXTtcclxuICB9XHJcblxyXG4gIHZhciBfY2hhbm5lbE1hcCA9IHsgYToxMCwgYjoxMSwgYzoxMiwgZDoxMywgZToxNCwgZjoxNSwgQToxMCwgQjoxMSwgQzoxMiwgRDoxMywgRToxNCwgRjoxNSB9O1xyXG4gIGZvciAodmFyIGsgPSAwOyBrIDwgMTY7IGsrKykgX2NoYW5uZWxNYXBba10gPSBrO1xyXG5cclxuICBmdW5jdGlvbiBLZXlib2FyZChhcmcpIHtcclxuICAgIHRoaXMubm90ZXMgPSB7fTtcclxuICAgIHRoaXMucGxheWluZyA9IFtdO1xyXG4gICAgaWYgKHR5cGVvZiBhcmcgPT0gJ3VuZGVmaW5lZCcpIGFyZyA9IHt9O1xyXG4gICAgaWYgKHR5cGVvZiBhcmcubXBlICE9ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIEpaWi5NUEUudmFsaWRhdGUoYXJnLm1wZSk7XHJcbiAgICAgIHRoaXMubXBlID0gYXJnLm1wZTtcclxuICAgICAgdGhpcy5jaGFuID0gYXJnLm1wZVswXTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmNoYW4gPSBfY2hhbm5lbE1hcFthcmcuY2hhbl07XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jaGFuID09ICd1bmRlZmluZWQnKSB0aGlzLmNoYW4gPSAwO1xyXG4gICAgfVxyXG4gICAgZm9yICh2YXIgayBpbiBhcmcpIHtcclxuICAgICAgdmFyIGtleSA9IF9rZXljb2RlKGspO1xyXG4gICAgICBpZiAodHlwZW9mIGFyZ1trXSA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgdGhpcy5ub3Rlc1trZXldID0gYXJnW2tdO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHZhciB2YWwgPSBKWlouTUlESS5ub3RlVmFsdWUoYXJnW2tdKTtcclxuICAgICAgICBpZiAodHlwZW9mIGtleSAhPSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgdmFsICE9ICd1bmRlZmluZWQnKSB0aGlzLm5vdGVzW2tleV0gPSB2YWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgIHRoaXMua2V5ZG93biA9IGZ1bmN0aW9uKGUpIHtcclxuICAgICAgdmFyIG1pZGkgPSBlLmNvZGUgPyBzZWxmLm5vdGVzW2UuY29kZV0gOiBzZWxmLm5vdGVzW19jb2Rla2V5KGUua2V5Q29kZSldO1xyXG4gICAgICBpZiAodHlwZW9mIG1pZGkgIT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBtaWRpID09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgIG1pZGkuYXBwbHkoc2VsZiwgW3RydWVdKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAoIXNlbGYucGxheWluZ1ttaWRpXSkge1xyXG4gICAgICAgICAgc2VsZi5wbGF5aW5nW21pZGldID0gdHJ1ZTtcclxuICAgICAgICAgIHNlbGYubm90ZU9uKG1pZGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRoaXMua2V5dXAgPSBmdW5jdGlvbihlKSB7XHJcbiAgICAgIHZhciBtaWRpID0gZS5jb2RlID8gc2VsZi5ub3Rlc1tlLmNvZGVdIDogc2VsZi5ub3Rlc1tfY29kZWtleShlLmtleUNvZGUpXTtcclxuICAgICAgaWYgKHR5cGVvZiBtaWRpICE9ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGlmICh0eXBlb2YgbWlkaSA9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICBtaWRpLmFwcGx5KHNlbGYsIFtmYWxzZV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoc2VsZi5wbGF5aW5nW21pZGldKSB7XHJcbiAgICAgICAgICBzZWxmLnBsYXlpbmdbbWlkaV0gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICBzZWxmLm5vdGVPZmYobWlkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgaWYgKHR5cGVvZiBhcmcuYXQgPT0gJ3N0cmluZycpIHRoaXMuYXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChhcmcuYXQpO1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy5hdC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5rZXlkb3duKTtcclxuICAgICAgdGhpcy5hdC5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMua2V5dXApO1xyXG4gICAgICBpZiAoIXRoaXMuYXQudGFiSW5kZXggfHwgdGhpcy5hdC50YWJJbmRleCA8IDApIHRoaXMuYXQudGFiSW5kZXggPSAwOyAvLyBhbGxvdyBrZXlib2FyZCBmb2N1c1xyXG4gICAgfVxyXG4gICAgY2F0Y2goZSkge1xyXG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5rZXlkb3duKTtcclxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGlzLmtleXVwKTtcclxuICAgICAgdGhpcy5hdCA9IGRvY3VtZW50O1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY2xvc2UgPSBmdW5jdGlvbigpIHtcclxuICAgICAgdGhpcy5hdC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5rZXlkb3duKTtcclxuICAgICAgdGhpcy5hdC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMua2V5dXApO1xyXG4gICAgICBmb3IgKHZhciBtaWRpIGluIHNlbGYucGxheWluZykgc2VsZi5ub3RlT2ZmKG1pZGkpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIEtleWJvYXJkLnByb3RvdHlwZS5jaGFubmVsID0gZnVuY3Rpb24oYykge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLm1wZSA9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB2YXIgY2hhbiA9IF9jaGFubmVsTWFwW2NdO1xyXG4gICAgICBpZiAodHlwZW9mIGNoYW4gIT0gJ3VuZGVmaW5lZCcpIHRoaXMuY2hhbiA9IGNoYW47XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jaGFuO1xyXG4gIH07XHJcblxyXG4gIGZ1bmN0aW9uIEFzY2lpRW5naW5lKCkge31cclxuXHJcbiAgQXNjaWlFbmdpbmUucHJvdG90eXBlLl9pbmZvID0gZnVuY3Rpb24obmFtZSkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgdHlwZTogJ2h0bWwvamF2YXNjcmlwdCcsXHJcbiAgICAgIG5hbWU6IF9uYW1lKG5hbWUsICdBU0NJSScpLFxyXG4gICAgICBtYW51ZmFjdHVyZXI6ICd2aXJ0dWFsJyxcclxuICAgICAgdmVyc2lvbjogX3ZlcnNpb25cclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgQXNjaWlFbmdpbmUucHJvdG90eXBlLl9vcGVuSW4gPSBmdW5jdGlvbihwb3J0LCBuYW1lKSB7XHJcbiAgICB2YXIga2V5Ym9hcmQgPSBuZXcgS2V5Ym9hcmQodGhpcy5fYXJnKTtcclxuICAgIGtleWJvYXJkLnBvcnQgPSBwb3J0O1xyXG4gICAgaWYgKGtleWJvYXJkLm1wZSkge1xyXG4gICAgICBpZiAoIXBvcnQuX29yaWcuX21wZSkgcG9ydC5fb3JpZy5fbXBlID0gSlpaLk1QRSgpO1xyXG4gICAgICBwb3J0Ll9vcmlnLl9tcGUuc2V0dXAoa2V5Ym9hcmQubXBlWzBdLCBrZXlib2FyZC5tcGVbMV0pO1xyXG4gICAgICBrZXlib2FyZC5ub3RlT24gPSBmdW5jdGlvbihub3RlKSB7XHJcbiAgICAgICAgdmFyIG1zZyA9IEpaWi5NSURJKDB4OTAgKyB0aGlzLmNoYW4sIG5vdGUsIDEyNyk7XHJcbiAgICAgICAgbXNnLl9tcGUgPSBub3RlO1xyXG4gICAgICAgIHBvcnQuX3JlY2VpdmUobXNnKTtcclxuICAgICAgfTtcclxuICAgICAga2V5Ym9hcmQubm90ZU9mZiA9IGZ1bmN0aW9uKG5vdGUpIHtcclxuICAgICAgICB2YXIgbXNnID0gSlpaLk1JREkoMHg4MCArIHRoaXMuY2hhbiwgbm90ZSwgMTI3KTtcclxuICAgICAgICBtc2cuX21wZSA9IG5vdGU7XHJcbiAgICAgICAgcG9ydC5fcmVjZWl2ZShtc2cpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGtleWJvYXJkLm5vdGVPbiA9IGZ1bmN0aW9uKG5vdGUpIHsgcG9ydC5fcmVjZWl2ZShKWlouTUlESSgweDkwICsgdGhpcy5jaGFuLCBub3RlLCAxMjcpKTsgfTtcclxuICAgICAga2V5Ym9hcmQubm90ZU9mZiA9IGZ1bmN0aW9uKG5vdGUpIHsgcG9ydC5fcmVjZWl2ZShKWlouTUlESSgweDgwICsgdGhpcy5jaGFuLCBub3RlLCAxMjcpKTsgfTtcclxuICAgIH1cclxuICAgIHBvcnQuX2luZm8gPSB0aGlzLl9pbmZvKG5hbWUpO1xyXG4gICAgcG9ydC5fY2xvc2UgPSBmdW5jdGlvbigpIHsga2V5Ym9hcmQuX2Nsb3NlKCk7IH07XHJcbiAgICBwb3J0LmNoYW5uZWwgPSBmdW5jdGlvbih4KSB7IHJldHVybiBrZXlib2FyZC5jaGFubmVsKHgpOyB9O1xyXG4gICAgcG9ydC5fcmVzdW1lKCk7XHJcbiAgfTtcclxuXHJcbiAgSlpaLmlucHV0LkFTQ0lJID0gZnVuY3Rpb24oKSB7XHJcbiAgICB2YXIgbmFtZSwgYXJnO1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMSkge1xyXG4gICAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1swXSA9PSAnc3RyaW5nJykgbmFtZSA9IGFyZ3VtZW50c1swXTtcclxuICAgICAgZWxzZSBhcmcgPSBhcmd1bWVudHNbMF07XHJcbiAgICB9XHJcbiAgICBlbHNlIHsgbmFtZSA9IGFyZ3VtZW50c1swXTsgYXJnID0gYXJndW1lbnRzWzFdO31cclxuICAgIHZhciBfQXNjaWlFbmdpbmUgPSBuZXcgQXNjaWlFbmdpbmUoKTtcclxuICAgIF9Bc2NpaUVuZ2luZS5fYXJnID0gYXJnO1xyXG4gICAgcmV0dXJuIEpaWi5saWIub3Blbk1pZGlJbihuYW1lLCBfQXNjaWlFbmdpbmUpO1xyXG4gIH07XHJcblxyXG4gIEpaWi5pbnB1dC5BU0NJSS5yZWdpc3RlciA9IGZ1bmN0aW9uKCkge1xyXG4gICAgdmFyIG5hbWUsIGFyZztcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHtcclxuICAgICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbMF0gPT0gJ3N0cmluZycpIG5hbWUgPSBhcmd1bWVudHNbMF07XHJcbiAgICAgIGVsc2UgYXJnID0gYXJndW1lbnRzWzBdO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7IG5hbWUgPSBhcmd1bWVudHNbMF07IGFyZyA9IGFyZ3VtZW50c1sxXTt9XHJcbiAgICB2YXIgX0FzY2lpRW5naW5lID0gbmV3IEFzY2lpRW5naW5lKCk7XHJcbiAgICBfQXNjaWlFbmdpbmUuX2FyZyA9IGFyZztcclxuICAgIHJldHVybiBKWloubGliLnJlZ2lzdGVyTWlkaUluKG5hbWUsIF9Bc2NpaUVuZ2luZSk7XHJcbiAgfTtcclxuXHJcbiAgdmFyIF9maXJlZm94QnVnO1xyXG4gIGZ1bmN0aW9uIF9maXhCdG5VcChlKSB7XHJcbiAgICBpZiAodHlwZW9mIGUuYnV0dG9ucyA9PSAndW5kZWZpbmVkJyB8fCBlLmJ1dHRvbnMgIT0gX2ZpcmVmb3hCdWcpIHJldHVybiBlO1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmIChlLmJ1dHRvbiA9PSAwKSByZXR1cm4ge2J1dHRvbnM6X2ZpcmVmb3hCdWdeMX07XHJcbiAgICBpZiAoZS5idXR0b24gPT0gMSkgcmV0dXJuIHtidXR0b25zOl9maXJlZm94QnVnXjR9O1xyXG4gICAgaWYgKGUuYnV0dG9uID09IDIpIHJldHVybiB7YnV0dG9uczpfZmlyZWZveEJ1Z14yfTtcclxuICB9XHJcblxyXG4gIGZ1bmN0aW9uIF9sZnRCdG5EbihlKSB7IHJldHVybiB0eXBlb2YgZS5idXR0b25zID09ICd1bmRlZmluZWQnID8gIWUuYnV0dG9uIDogZS5idXR0b25zICYgMTsgfVxyXG4gIGZ1bmN0aW9uIF9sZnRCdG5VcChlKSB7IHJldHVybiB0eXBlb2YgZS5idXR0b25zID09ICd1bmRlZmluZWQnID8gIWUuYnV0dG9uIDogIShlLmJ1dHRvbnMgJiAxKTsgfVxyXG4gIGZ1bmN0aW9uIF9zdGF5KGMsIHApIHsgZm9yICg7IGM7IGMgPSBjLnBhcmVudE5vZGUpIGlmIChjID09IHApIHJldHVybiB0cnVlOyByZXR1cm4gZmFsc2U7IH1cclxuICBmdW5jdGlvbiBfcmV0dXJuRmFsc2UoKSB7IHJldHVybiBmYWxzZTsgfVxyXG4gIGZ1bmN0aW9uIF9zdHlsZShrZXksIHN0bCkge1xyXG4gICAgaWYgKGtleSkgZm9yKHZhciBrIGluIHN0bCkga2V5LnN0eWxlW2tdID0gc3RsW2tdO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gX2tleU51bShuLCB1cCkge1xyXG4gICAgbiA9IEpaWi5NSURJLm5vdGVWYWx1ZShuKTtcclxuICAgIHJldHVybiAodXAgPyBbMCwgMSwgMSwgMiwgMiwgMywgNCwgNCwgNSwgNSwgNiwgNl0gOiBbMCwgMCwgMSwgMSwgMiwgMywgMywgNCwgNCwgNSwgNSwgNl0pW24gJSAxMl0gKyBNYXRoLmZsb29yKG4gLyAxMikgKiA3O1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gX2tleU1pZGkobikge1xyXG4gICAgcmV0dXJuIE1hdGguZmxvb3IobiAvIDcpICogMTIgKyB7MDowLCAxOjIsIDI6NCwgMzo1LCA0OjcsIDU6OSwgNjoxMX1bbiAlIDddO1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gX2hhbmRsZU1vdXNlRG93bihwaWFubywgbWlkaSkge1xyXG4gICAgcmV0dXJuIGZ1bmN0aW9uKGUpIHtcclxuICAgICAgaWYgKF9sZnRCdG5EbihlKSAmJiAhcGlhbm8ucGxheWluZ1ttaWRpXSkge1xyXG4gICAgICAgIHBpYW5vLm1vdXNlRG93biA9IHRydWU7XHJcbiAgICAgICAgcGlhbm8ucGxheWluZ1ttaWRpXSA9ICdNJztcclxuICAgICAgICBwaWFuby5wcmVzcyhtaWRpKTtcclxuICAgICAgfVxyXG4gICAgICBfZmlyZWZveEJ1ZyA9IGUuYnV0dG9ucztcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBfaGFuZGxlTW91c2VPdmVyKHBpYW5vLCBtaWRpKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24oZSkge1xyXG4gICAgICBpZiAocGlhbm8ubW91c2VEb3duICYmICFwaWFuby5wbGF5aW5nW21pZGldKSB7XHJcbiAgICAgICAgcGlhbm8ucGxheWluZ1ttaWRpXSA9ICdNJztcclxuICAgICAgICBwaWFuby5wcmVzcyhtaWRpKTtcclxuICAgICAgfVxyXG4gICAgICBfZmlyZWZveEJ1ZyA9IGUuYnV0dG9ucztcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBfaGFuZGxlTW91c2VPdXQocGlhbm8sIG1pZGkpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbihlKSB7XHJcbiAgICAgIGlmIChwaWFuby5tb3VzZURvd24gJiYgcGlhbm8ucGxheWluZ1ttaWRpXSA9PSAnTScgJiYgIV9zdGF5KGUucmVsYXRlZFRhcmdldCwgdGhpcykpIHtcclxuICAgICAgICBwaWFuby5wbGF5aW5nW21pZGldID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHBpYW5vLnJlbGVhc2UobWlkaSk7XHJcbiAgICAgIH1cclxuICAgICAgX2ZpcmVmb3hCdWcgPSBlLmJ1dHRvbnM7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gX2hhbmRsZU1vdXNlVXAocGlhbm8sIG1pZGkpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbihlKSB7XHJcbiAgICAgIGUgPSBfZml4QnRuVXAoZSk7XHJcbiAgICAgIGlmIChfbGZ0QnRuVXAoZSkgJiYgcGlhbm8ubW91c2VEb3duICYmIHBpYW5vLnBsYXlpbmdbbWlkaV0gPT0gJ00nKSB7XHJcbiAgICAgICAgcGlhbm8ucGxheWluZ1ttaWRpXSA9IHVuZGVmaW5lZDtcclxuICAgICAgICBwaWFuby5yZWxlYXNlKG1pZGkpO1xyXG4gICAgICAgIHBpYW5vLm1vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gX2hhbmRsZU1vdXNlT2ZmKHBpYW5vKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24oZSkge1xyXG4gICAgICBlID0gX2ZpeEJ0blVwKGUpO1xyXG4gICAgICBpZiAoX2xmdEJ0blVwKGUpKSBwaWFuby5tb3VzZURvd24gPSBmYWxzZTtcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBfd2F0Y2hNb3VzZUJ1dHRvbnMoKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24oZSkge1xyXG4gICAgICBfZmlyZWZveEJ1ZyA9IGUuYnV0dG9ucztcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBmdW5jdGlvbiBfaGFuZGxlVG91Y2gocGlhbm8pIHtcclxuICAgIHJldHVybiBmdW5jdGlvbihlKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgdmFyIHQgPSB7fTtcclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlLnRvdWNoZXMubGVuZ3RoOyBpKyspIHBpYW5vLmZpbmRLZXkoZS50b3VjaGVzW2ldLmNsaWVudFgsIGUudG91Y2hlc1tpXS5jbGllbnRZLCB0KTtcclxuICAgICAgdmFyIHR0ID0ge307XHJcbiAgICAgIHZhciBtaWRpO1xyXG4gICAgICBmb3IgKG1pZGkgaW4gdCkge1xyXG4gICAgICAgIGlmIChtaWRpIGluIHBpYW5vLnRvdWNoZXMpIHR0W21pZGldID0gdHJ1ZTtcclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgcGlhbm8ucGxheWluZ1ttaWRpXSA9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgcGlhbm8ucGxheWluZ1ttaWRpXSA9ICdUJztcclxuICAgICAgICAgIHBpYW5vLnByZXNzKG1pZGkpO1xyXG4gICAgICAgICAgdHRbbWlkaV0gPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBmb3IgKG1pZGkgaW4gcGlhbm8udG91Y2hlcykge1xyXG4gICAgICAgIGlmICghKG1pZGkgaW4gdCkpIHtcclxuICAgICAgICAgIHBpYW5vLnBsYXlpbmdbbWlkaV0gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICBwaWFuby5yZWxlYXNlKG1pZGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBwaWFuby50b3VjaGVzID0gdHQ7XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZnVuY3Rpb24gUGlhbm8oYXJnKSB7XHJcbiAgICB0aGlzLmJpbnMgPSBbXTtcclxuICAgIHRoaXMucGFyYW1zID0gezA6e319O1xyXG4gICAgdmFyIGNvbW1vbiA9IHtmcm9tOidDNCcsIHRvOidFNicsIHd3OjQyLCBidzoyNCwgd2w6MTUwLCBibDoxMDAsIHBvczonTid9O1xyXG4gICAgaWYgKHR5cGVvZiBhcmcgPT0gJ3VuZGVmaW5lZCcpIGFyZyA9IHt9O1xyXG4gICAgaWYgKHR5cGVvZiBhcmcubXBlICE9ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIEpaWi5NUEUudmFsaWRhdGUoYXJnLm1wZSk7XHJcbiAgICAgIHRoaXMubXBlID0gYXJnLm1wZTtcclxuICAgICAgdGhpcy5jaGFuID0gYXJnLm1wZVswXTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmNoYW4gPSBfY2hhbm5lbE1hcFthcmcuY2hhbl07XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jaGFuID09ICd1bmRlZmluZWQnKSB0aGlzLmNoYW4gPSAwO1xyXG4gICAgfVxyXG4gICAgdmFyIGtleTtcclxuICAgIGZvciAoa2V5IGluIGFyZykge1xyXG4gICAgICBpZiAoa2V5ID09IHBhcnNlSW50KGtleSkpIHRoaXMucGFyYW1zW2tleV0gPSBfY29weShhcmdba2V5XSk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmIChrZXkgPT0gJ2NoYW4nKSBjb250aW51ZTtcclxuICAgICAgICBpZiAoKGtleSA9PSAnZnJvbScgfHwga2V5ID09ICd0bycpICYmIHR5cGVvZiBKWlouTUlESS5ub3RlVmFsdWUoYXJnW2tleV0pID09ICd1bmRlZmluZWQnKSBjb250aW51ZTtcclxuICAgICAgICBjb21tb25ba2V5XSA9IGFyZ1trZXldO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBmb3IgKGtleSBpbiB0aGlzLnBhcmFtcykge1xyXG4gICAgICB0aGlzLmJpbnMucHVzaChrZXkpO1xyXG4gICAgICBmb3IgKHZhciBrIGluIGNvbW1vbikge1xyXG4gICAgICAgIGlmICgoayA9PSAnZnJvbScgfHwgayA9PSAndG8nKSAmJiAodHlwZW9mIHRoaXMucGFyYW1zW2tleV1ba10gPT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIEpaWi5NSURJLm5vdGVWYWx1ZSh0aGlzLnBhcmFtc1trZXldW2tdKSA9PSAndW5kZWZpbmVkJykpIHRoaXMucGFyYW1zW2tleV1ba10gPSBjb21tb25ba107XHJcbiAgICAgICAgaWYgKCEoayBpbiB0aGlzLnBhcmFtc1trZXldKSkgdGhpcy5wYXJhbXNba2V5XVtrXSA9IGNvbW1vbltrXTtcclxuICAgICAgfVxyXG4gICAgICB2YXIgZnJvbSA9IHRoaXMucGFyYW1zW2tleV0uZnJvbTtcclxuICAgICAgdmFyIHRvID0gdGhpcy5wYXJhbXNba2V5XS50bztcclxuICAgICAgaWYgKEpaWi5NSURJLm5vdGVWYWx1ZShmcm9tKSA+IEpaWi5NSURJLm5vdGVWYWx1ZSh0bykpIHtcclxuICAgICAgICB0aGlzLnBhcmFtc1trZXldLmZyb20gPSB0bztcclxuICAgICAgICB0aGlzLnBhcmFtc1trZXldLnRvID0gZnJvbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5iaW5zLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gYSAtIGI7fSk7XHJcbiAgfVxyXG5cclxuICBQaWFuby5wcm90b3R5cGUuY2hhbm5lbCA9IGZ1bmN0aW9uKGMpIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5tcGUgPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdmFyIGNoYW4gPSBfY2hhbm5lbE1hcFtjXTtcclxuICAgICAgaWYgKHR5cGVvZiBjaGFuICE9ICd1bmRlZmluZWQnICYmIGNoYW4gIT0gdGhpcy5jaGFuKSB7XHJcbiAgICAgICAgZm9yICh2YXIgbWlkaSBpbiB0aGlzLnBsYXlpbmcpIHtcclxuICAgICAgICAgIF9zdHlsZSh0aGlzLmtleXNbbWlkaV0sIHRoaXMua2V5c1ttaWRpXS5fYWN0aXZlID8gdGhpcy5zdGwwW21pZGldIDogdGhpcy5zdGwyW21pZGldKTtcclxuICAgICAgICAgIF9zdHlsZSh0aGlzLmtleXNbbWlkaV0sIHRoaXMubG9jc1ttaWRpXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2hhbiA9IGNoYW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmNoYW47XHJcbiAgfTtcclxuXHJcbiAgUGlhbm8ucHJvdG90eXBlLl9jbG9zZSA9IGZ1bmN0aW9uKCkge1xyXG4gICAgZm9yICh2YXIgbWlkaSBpbiB0aGlzLnBsYXlpbmcpIGlmICh0aGlzLnBsYXlpbmdbbWlkaV0gPT0gJ00nIHx8IHRoaXMucGxheWluZ1ttaWRpXSA9PSAnVCcpIHRoaXMubm90ZU9mZihtaWRpKTtcclxuICAgIGlmICh0aGlzLnJlc2l6ZSkgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMucmVzaXplKTtcclxuICAgIHRoaXMuY2xlYW51cCgpO1xyXG4gIH07XHJcblxyXG4gIFBpYW5vLnByb3RvdHlwZS5wcmVzcyA9IGZ1bmN0aW9uKG1pZGkpIHtcclxuICAgIGlmICh0aGlzLmtleXNbbWlkaV0uX2FjdGl2ZSkge1xyXG4gICAgICBfc3R5bGUodGhpcy5rZXlzW21pZGldLCB0aGlzLnN0bDFbbWlkaV0pO1xyXG4gICAgICBfc3R5bGUodGhpcy5rZXlzW21pZGldLCB0aGlzLmxvY3NbbWlkaV0pO1xyXG4gICAgICB0aGlzLm5vdGVPbihtaWRpKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBQaWFuby5wcm90b3R5cGUucmVsZWFzZSA9IGZ1bmN0aW9uKG1pZGkpIHtcclxuICAgIGlmICh0aGlzLmtleXNbbWlkaV0uX2FjdGl2ZSkge1xyXG4gICAgICBfc3R5bGUodGhpcy5rZXlzW21pZGldLCB0aGlzLnN0bDBbbWlkaV0pO1xyXG4gICAgICBfc3R5bGUodGhpcy5rZXlzW21pZGldLCB0aGlzLmxvY3NbbWlkaV0pO1xyXG4gICAgICB0aGlzLm5vdGVPZmYobWlkaSk7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgUGlhbm8ucHJvdG90eXBlLmZvcndhcmQgPSBmdW5jdGlvbihtc2cpIHtcclxuICAgIHZhciBuID0gbXNnWzFdO1xyXG4gICAgdmFyIGNoID0gbXNnLmdldENoYW5uZWwoKTtcclxuICAgIGlmIChjaCA+PSB0aGlzLmNoYW4gJiYgY2ggPD0gKHRoaXMubXBlID8gdGhpcy5jaGFuICsgdGhpcy5tcGVbMV0gOiB0aGlzLmNoYW4pKSB7XHJcbiAgICAgIHZhciBzID0gbXNnWzBdID4+IDQ7XHJcbiAgICAgIGlmIChtc2cuaXNOb3RlT24oKSkge1xyXG4gICAgICAgIGlmICh0aGlzLmtleXNbbl0pIHtcclxuICAgICAgICAgIHRoaXMucGxheWluZ1tuXSA9ICdFJztcclxuICAgICAgICAgIF9zdHlsZSh0aGlzLmtleXNbbl0sIHRoaXMuc3RsMVtuXSk7XHJcbiAgICAgICAgICBfc3R5bGUodGhpcy5rZXlzW25dLCB0aGlzLmxvY3Nbbl0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChtc2cuaXNOb3RlT2ZmKCkpIHtcclxuICAgICAgICBpZiAodGhpcy5rZXlzW25dKSB7XHJcbiAgICAgICAgICB0aGlzLnBsYXlpbmdbbl0gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICBfc3R5bGUodGhpcy5rZXlzW25dLCB0aGlzLmtleXNbbl0uX2FjdGl2ZSA/IHRoaXMuc3RsMFtuXSA6IHRoaXMuc3RsMltuXSk7XHJcbiAgICAgICAgICBfc3R5bGUodGhpcy5rZXlzW25dLCB0aGlzLmxvY3Nbbl0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChzID09IDB4YiAmJiAobiA9PSAweDc4IHx8IG4gPT0gMHg3YikpIHsgLy8gYWxsIG5vdGVzL3NuZCBvZmZcclxuICAgICAgICBmb3IgKG4gaW4gdGhpcy5wbGF5aW5nKSB7XHJcbiAgICAgICAgICB0aGlzLnBsYXlpbmdbbl0gPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICBfc3R5bGUodGhpcy5rZXlzW25dLCB0aGlzLmtleXNbbl0uX2FjdGl2ZSA/IHRoaXMuc3RsMFtuXSA6IHRoaXMuc3RsMltuXSk7IFxyXG4gICAgICAgICAgX3N0eWxlKHRoaXMua2V5c1tuXSwgdGhpcy5sb2NzW25dKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZW1pdChtc2cpO1xyXG4gIH07XHJcblxyXG4gIFBpYW5vLnByb3RvdHlwZS5jbGVhciA9IGZ1bmN0aW9uKCkge1xyXG4gICAgZm9yICh2YXIgbiBpbiB0aGlzLnBsYXlpbmcpIHtcclxuICAgICAgdGhpcy5wbGF5aW5nW25dID0gdW5kZWZpbmVkO1xyXG4gICAgICBfc3R5bGUodGhpcy5rZXlzW25dLCB0aGlzLmtleXNbbl0uX2FjdGl2ZSA/IHRoaXMuc3RsMFtuXSA6IHRoaXMuc3RsMltuXSk7IFxyXG4gICAgICBfc3R5bGUodGhpcy5rZXlzW25dLCB0aGlzLmxvY3Nbbl0pO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIFBpYW5vLnByb3RvdHlwZS5maW5kS2V5ID0gZnVuY3Rpb24oeCwgeSwgcmV0KSB7XHJcbiAgICBmb3IgKHZhciBtaWRpIGluIHRoaXMua2V5cykge1xyXG4gICAgICBmb3IgKHZhciBlbG0gPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KHgsIHkpOyBlbG07IGVsbSA9IGVsbS5wYXJlbnROb2RlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMua2V5c1ttaWRpXSA9PSBlbG0pIHtcclxuICAgICAgICAgIHJldFttaWRpXSA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgUGlhbm8ucHJvdG90eXBlLmNyZWF0ZSA9IGZ1bmN0aW9uKCkge1xyXG4gICAgdmFyIGJpbiA9IDA7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuYmlucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy5iaW5zW2ldIDw9IHdpbmRvdy5pbm5lcldpZHRoKSBiaW4gPSB0aGlzLmJpbnNbaV07XHJcbiAgICAgIGVsc2UgYnJlYWs7XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLnBhcmFtc1tiaW5dO1xyXG4gICAgdGhpcy5jcmVhdGVDdXJyZW50KCk7XHJcbiAgfTtcclxuXHJcbiAgUGlhbm8ucHJvdG90eXBlLmNyZWF0ZUN1cnJlbnQgPSBmdW5jdGlvbigpIHtcclxuICAgIHRoaXMuY2xlYW51cCgpO1xyXG4gICAgdGhpcy5rZXlzID0ge307IHRoaXMubG9jcyA9IHt9O1xyXG4gICAgdGhpcy5zdGwwID0ge307IHRoaXMuc3RsMSA9IHt9OyB0aGlzLnN0bDIgPSB7fTtcclxuICAgIHRoaXMucGxheWluZyA9IHt9OyB0aGlzLnRvdWNoZXMgPSB7fTtcclxuICAgIHRoaXMuY3VycmVudC53bCA9IHBhcnNlSW50KHRoaXMuY3VycmVudC53bCk7XHJcbiAgICB0aGlzLmN1cnJlbnQud3cgPSBwYXJzZUludCh0aGlzLmN1cnJlbnQud3cpO1xyXG4gICAgdGhpcy5jdXJyZW50LmJsID0gcGFyc2VJbnQodGhpcy5jdXJyZW50LmJsKTtcclxuICAgIHRoaXMuY3VycmVudC5idyA9IHBhcnNlSW50KHRoaXMuY3VycmVudC5idyk7XHJcblxyXG4gICAgaWYgKHRoaXMuY3VycmVudC5rZXlzKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlV2l0aEtleXModGhpcy5jdXJyZW50LmtleXMpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVudC5hdCA9PSAnc3RyaW5nJykgdGhpcy5jdXJyZW50LmF0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5jdXJyZW50LmF0KTtcclxuICAgIHRyeSB7IHRoaXMuY3JlYXRlQXQodGhpcy5jdXJyZW50LmF0KTsgfVxyXG4gICAgY2F0Y2goZSkge1xyXG4gICAgICBpZiAoIXRoaXMuYm90dG9tKSB7XHJcbiAgICAgICAgdGhpcy5ib3R0b20gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuYm90dG9tKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNyZWF0ZUF0KHRoaXMuYm90dG9tKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBQaWFuby5wcm90b3R5cGUuY3JlYXRlV2l0aEtleXMgPSBmdW5jdGlvbihrZXlzKSB7XHJcbiAgICBmb3IgKHZhciBrIGluIGtleXMpIHtcclxuICAgICAgdmFyIG1pZGkgPSBKWlouTUlESS5ub3RlVmFsdWUoa2V5c1trXVsxXSk7XHJcbiAgICAgIHZhciBkb20gPSBrZXlzW2tdWzBdO1xyXG4gICAgICBpZiAodHlwZW9mIGRvbSA9PSAnc3RyaW5nJykgZG9tID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZG9tKTtcclxuICAgICAgdGhpcy5rZXlzW21pZGldID0gZG9tO1xyXG4gICAgICB0aGlzLmxvY3NbbWlkaV0gPSB7fTtcclxuICAgICAgdGhpcy5zdGwwW21pZGldID0ge307XHJcbiAgICAgIHRoaXMuc3RsMVttaWRpXSA9IHt9O1xyXG4gICAgICB0aGlzLnN0bDJbbWlkaV0gPSB7fTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0TGlzdGVuZXJzKCk7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50Lm9uQ3JlYXRlKSB0aGlzLmN1cnJlbnQub25DcmVhdGUuYXBwbHkodGhpcyk7XHJcbiAgfTtcclxuXHJcbiAgUGlhbm8ucHJvdG90eXBlLmNyZWF0ZUF0ID0gZnVuY3Rpb24oYXQpIHtcclxuICAgIGF0LmlubmVySFRNTCA9ICcnO1xyXG4gICAgdmFyIHBvcyA9IHRoaXMuY3VycmVudC5wb3MudG9VcHBlckNhc2UoKTtcclxuICAgIHZhciBmaXJzdCA9IF9rZXlOdW0odGhpcy5jdXJyZW50LmZyb20pO1xyXG4gICAgdmFyIGxhc3QgPSBfa2V5TnVtKHRoaXMuY3VycmVudC50bywgdHJ1ZSk7XHJcbiAgICB2YXIgbnVtID0gbGFzdCAtIGZpcnN0ICsgMTtcclxuICAgIHZhciB3ID0gbnVtICogdGhpcy5jdXJyZW50Lnd3ICsgMTtcclxuICAgIHZhciBoID0gdGhpcy5jdXJyZW50LndsICsgMTtcclxuICAgIHZhciB3dyA9IHRoaXMuY3VycmVudC53dyAtIDE7XHJcbiAgICB2YXIgd2wgPSB0aGlzLmN1cnJlbnQud2wgLSAxO1xyXG4gICAgdmFyIGJ3ID0gdGhpcy5jdXJyZW50LmJ3IC0gMTtcclxuICAgIHZhciBibCA9IHRoaXMuY3VycmVudC5ibCAtIDE7XHJcbiAgICB2YXIgbDJyID0gKHBvcyAhPSAnTicpIF4gIXRoaXMuY3VycmVudC5yZXY7XHJcbiAgICB2YXIgdDJiID0gKHBvcyAhPSAnRScpIF4gIXRoaXMuY3VycmVudC5yZXY7XHJcbiAgICB2YXIgbWlkaTtcclxuICAgIHZhciBrZXk7XHJcbiAgICB2YXIgc3RsO1xyXG4gICAgdmFyIHBpYW5vID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgcGlhbm8uc3R5bGUuZGlzcGxheSA9ICdpbmxpbmUtYmxvY2snO1xyXG4gICAgcGlhbm8uc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xyXG4gICAgcGlhbm8uc3R5bGUubWFyZ2luID0gJzBweCc7XHJcbiAgICBwaWFuby5zdHlsZS5wYWRkaW5nID0gJzBweCc7XHJcbiAgICBwaWFuby5zdHlsZS5ib3JkZXJTdHlsZSA9ICdub25lJztcclxuICAgIHBpYW5vLnN0eWxlLnVzZXJTZWxlY3QgPSAnbm9uZSc7XHJcbiAgICBwaWFuby5zdHlsZS5Nb3pVc2VyU2VsZWN0ID0gJ25vbmUnO1xyXG4gICAgcGlhbm8uc3R5bGUuV2Via2l0VXNlclNlbGVjdCA9ICdub25lJztcclxuICAgIHBpYW5vLnN0eWxlLk1zVXNlclNlbGVjdCA9ICdub25lJztcclxuICAgIHBpYW5vLnN0eWxlLktodG1sVXNlclNlbGVjdCA9ICdub25lJztcclxuICAgIHBpYW5vLnN0eWxlLmN1cnNvciA9ICdkZWZhdWx0JztcclxuXHJcbiAgICBpZiAocG9zID09ICdFJyB8fCBwb3MgPT0gJ1cnKSB7XHJcbiAgICAgIHBpYW5vLnN0eWxlLndpZHRoID0gaCArICdweCc7XHJcbiAgICAgIHBpYW5vLnN0eWxlLmhlaWdodCA9IHcgKyAncHgnO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHBpYW5vLnN0eWxlLndpZHRoID0gdyArICdweCc7XHJcbiAgICAgIHBpYW5vLnN0eWxlLmhlaWdodCA9IGggKyAncHgnO1xyXG4gICAgfVxyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW07IGkrKykge1xyXG4gICAgICBtaWRpID0gX2tleU1pZGkoaSArIGZpcnN0KTtcclxuICAgICAga2V5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpOyB0aGlzLmtleXNbbWlkaV0gPSBrZXk7XHJcbiAgICAgIHN0bCA9IHsgZGlzcGxheTonaW5saW5lLWJsb2NrJywgcG9zaXRpb246J2Fic29sdXRlJywgbWFyZ2luOicwcHgnLCBwYWRkaW5nOicwcHgnLCBib3JkZXJTdHlsZTonc29saWQnLCBib3JkZXJXaWR0aDonMXB4JyB9O1xyXG4gICAgICB0aGlzLmxvY3NbbWlkaV0gPSBzdGw7XHJcbiAgICAgIGlmIChwb3MgPT0gJ0UnIHx8IHBvcyA9PSAnVycpIHtcclxuICAgICAgICBzdGwud2lkdGggPSB3bCArICdweCc7XHJcbiAgICAgICAgc3RsLmhlaWdodCA9IHd3ICsgJ3B4JztcclxuICAgICAgICBzdGwubGVmdCA9ICcwcHgnO1xyXG4gICAgICAgIHN0bFt0MmIgPyAndG9wJyA6ICdib3R0b20nXSA9ICh0aGlzLmN1cnJlbnQud3cgKiBpKSArICdweCc7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgc3RsLndpZHRoID0gd3cgKyAncHgnO1xyXG4gICAgICAgIHN0bC5oZWlnaHQgPSB3bCArICdweCc7XHJcbiAgICAgICAgc3RsLnRvcCA9ICcwcHgnO1xyXG4gICAgICAgIHN0bFtsMnIgPyAnbGVmdCcgOiAncmlnaHQnXSA9ICh0aGlzLmN1cnJlbnQud3cgKiBpKSArICdweCc7XHJcbiAgICAgICAgc3RsLnZlcnRpY2FsQWxpZ24gPSAndG9wJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0bDBbbWlkaV0gPSB7IGJhY2tncm91bmRDb2xvcjonI2ZmZicsIGJvcmRlckNvbG9yOicjMDAwJyB9O1xyXG4gICAgICB0aGlzLnN0bDFbbWlkaV0gPSB7IGJhY2tncm91bmRDb2xvcjonI2FhYScsIGJvcmRlckNvbG9yOicjMDAwJyB9O1xyXG4gICAgICB0aGlzLnN0bDJbbWlkaV0gPSB7IGJhY2tncm91bmRDb2xvcjonI2ZmZicsIGJvcmRlckNvbG9yOicjMDAwJyB9O1xyXG4gICAgICBfc3R5bGUoa2V5LCB0aGlzLnN0bDBbbWlkaV0pO1xyXG4gICAgICBfc3R5bGUoa2V5LCBzdGwpO1xyXG4gICAgICBwaWFuby5hcHBlbmRDaGlsZChrZXkpO1xyXG4gICAgfVxyXG4gICAgdmFyIGhvbGUgPSBNYXRoLmNlaWwodGhpcy5jdXJyZW50Lnd3IC0gdGhpcy5jdXJyZW50LmJ3ICogMyAvIDQpO1xyXG4gICAgaWYgKChob2xlICsgdGhpcy5jdXJyZW50Lnd3KSAlIDIpIGhvbGUtLTsgLy8gYm90aCBldmVuIG9yIGJvdGggb2RkXHJcbiAgICB2YXIgZnJvbSA9IF9rZXlNaWRpKGZpcnN0KSArIDE7XHJcbiAgICB2YXIgdG8gPSBfa2V5TWlkaShsYXN0KTtcclxuICAgIGZvciAobWlkaSA9IGZyb207IG1pZGkgPCB0bzsgbWlkaSsrKSB7XHJcbiAgICAgIHZhciBub3RlID0gbWlkaSAlIDEyO1xyXG4gICAgICB2YXIgb2N0ID0gTWF0aC5mbG9vcihtaWRpIC8gMTIpO1xyXG4gICAgICB2YXIgc2hpZnQ7XHJcbiAgICAgIGlmIChub3RlID09IDEpIHsgICAgICAvLyBDI1xyXG4gICAgICAgIHNoaWZ0ID0gTWF0aC5mbG9vcih0aGlzLmN1cnJlbnQud3cgKiAob2N0ICogNyArIDEuNSAtIGZpcnN0KSkgLSBob2xlIC8gMiAtIHRoaXMuY3VycmVudC5idztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChub3RlID09IDMpIHsgLy8gRCNcclxuICAgICAgICBzaGlmdCA9IE1hdGguZmxvb3IodGhpcy5jdXJyZW50Lnd3ICogKG9jdCAqIDcgKyAxLjUgLSBmaXJzdCkgKyBob2xlIC8gMik7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAobm90ZSA9PSA2KSB7IC8vIEYjXHJcbiAgICAgICAgc2hpZnQgPSB0aGlzLmN1cnJlbnQud3cgKiAob2N0ICogNyArIDUgLSBmaXJzdCkgLSBNYXRoLmZsb29yKHRoaXMuY3VycmVudC5idyAvIDIpIC0gaG9sZSAtIHRoaXMuY3VycmVudC5idztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChub3RlID09IDgpIHsgLy8gRyNcclxuICAgICAgICBzaGlmdCA9IHRoaXMuY3VycmVudC53dyAqIChvY3QgKiA3ICsgNSAtIGZpcnN0KSAtIE1hdGguZmxvb3IodGhpcy5jdXJyZW50LmJ3IC8gMik7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAobm90ZSA9PSAxMCkgey8vIEJiXHJcbiAgICAgICAgc2hpZnQgPSB0aGlzLmN1cnJlbnQud3cgKiAob2N0ICogNyArIDUgLSBmaXJzdCkgLSBNYXRoLmZsb29yKHRoaXMuY3VycmVudC5idyAvIDIpICsgaG9sZSArIHRoaXMuY3VycmVudC5idztcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGNvbnRpbnVlO1xyXG4gICAgICBrZXkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7IHRoaXMua2V5c1ttaWRpXSA9IGtleTtcclxuICAgICAgc3RsID0geyBkaXNwbGF5OidpbmxpbmUtYmxvY2snLCBwb3NpdGlvbjonYWJzb2x1dGUnLCBtYXJnaW46JzBweCcsIHBhZGRpbmc6JzBweCcsIGJvcmRlclN0eWxlOidzb2xpZCcsIGJvcmRlcldpZHRoOicxcHgnIH07XHJcbiAgICAgIHRoaXMubG9jc1ttaWRpXSA9IHN0bDtcclxuICAgICAgaWYgKHBvcyA9PSAnRScgfHwgcG9zID09ICdXJykge1xyXG4gICAgICAgIHN0bC53aWR0aCA9IGJsICsgJ3B4JztcclxuICAgICAgICBzdGwuaGVpZ2h0ID0gYncgKyAncHgnO1xyXG4gICAgICAgIHN0bFtwb3MgPT0gJ0UnID8gJ3JpZ2h0JyA6ICdsZWZ0J10gPSAnMHB4JztcclxuICAgICAgICBzdGxbdDJiID8gJ3RvcCcgOiAnYm90dG9tJ10gPSBzaGlmdCArICdweCc7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgc3RsLndpZHRoID0gYncgKyAncHgnO1xyXG4gICAgICAgIHN0bC5oZWlnaHQgPSBibCArICdweCc7XHJcbiAgICAgICAgc3RsW3BvcyA9PSAnTicgPyAndG9wJyA6ICdib3R0b20nXSA9ICcwcHgnO1xyXG4gICAgICAgIHN0bFtsMnIgPyAnbGVmdCcgOiAncmlnaHQnXSA9IHNoaWZ0ICsgJ3B4JztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN0bDBbbWlkaV0gPSB7IGJhY2tncm91bmRDb2xvcjonIzAwMCcsIGJvcmRlckNvbG9yOicjMDAwJyB9O1xyXG4gICAgICB0aGlzLnN0bDFbbWlkaV0gPSB7IGJhY2tncm91bmRDb2xvcjonIzg4OCcsIGJvcmRlckNvbG9yOicjMDAwJyB9O1xyXG4gICAgICB0aGlzLnN0bDJbbWlkaV0gPSB7IGJhY2tncm91bmRDb2xvcjonIzAwMCcsIGJvcmRlckNvbG9yOicjMDAwJyB9O1xyXG4gICAgICBfc3R5bGUoa2V5LCB0aGlzLnN0bDBbbWlkaV0pO1xyXG4gICAgICBfc3R5bGUoa2V5LCBzdGwpO1xyXG4gICAgICBwaWFuby5hcHBlbmRDaGlsZChrZXkpO1xyXG4gICAgfVxyXG4gICAgYXQuYXBwZW5kQ2hpbGQocGlhbm8pO1xyXG4gICAgdGhpcy5jdXJyZW50LmF0ID0gYXQ7XHJcbiAgICB0aGlzLmF0ID0gYXQ7XHJcbiAgICB0aGlzLnNldExpc3RlbmVycygpO1xyXG4gICAgaWYgKHRoaXMuY3VycmVudC5vbkNyZWF0ZSkgdGhpcy5jdXJyZW50Lm9uQ3JlYXRlLmFwcGx5KHRoaXMpO1xyXG4gIH07XHJcblxyXG4gIFBpYW5vLnByb3RvdHlwZS5zZXRMaXN0ZW5lcnMgPSBmdW5jdGlvbigpIHtcclxuICAgIHZhciBhY3RpdmUgPSB0eXBlb2YgdGhpcy5jdXJyZW50LmFjdGl2ZSA9PSAndW5kZWZpbmVkJyB8fCAhIXRoaXMuY3VycmVudC5hY3RpdmU7XHJcbiAgICB2YXIgbWlkaTtcclxuICAgIHRoaXMud2F0Y2hCdXR0b25zID0gX3dhdGNoTW91c2VCdXR0b25zKCk7XHJcbiAgICB0aGlzLm1vdXNlVXBIYW5kbGUgPSBfaGFuZGxlTW91c2VPZmYodGhpcyk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLndhdGNoQnV0dG9ucyk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCB0aGlzLndhdGNoQnV0dG9ucyk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNldXBcIiwgdGhpcy5tb3VzZVVwSGFuZGxlKTtcclxuICAgIHRoaXMudG91Y2hIYW5kbGUgPSBfaGFuZGxlVG91Y2godGhpcyk7XHJcbiAgICB0aGlzLm1vdXNlRG93bkggPSBbXTtcclxuICAgIHRoaXMubW91c2VPdmVySCA9IFtdO1xyXG4gICAgdGhpcy5tb3VzZU91dEggPSBbXTtcclxuICAgIHRoaXMubW91c2VVcEggPSBbXTtcclxuICAgIGZvciAobWlkaSBpbiB0aGlzLmtleXMpIHtcclxuICAgICAgdGhpcy5tb3VzZURvd25IW21pZGldID0gX2hhbmRsZU1vdXNlRG93bih0aGlzLCBtaWRpKTtcclxuICAgICAgdGhpcy5tb3VzZU92ZXJIW21pZGldID0gX2hhbmRsZU1vdXNlT3Zlcih0aGlzLCBtaWRpKTtcclxuICAgICAgdGhpcy5tb3VzZU91dEhbbWlkaV0gPSBfaGFuZGxlTW91c2VPdXQodGhpcywgbWlkaSk7XHJcbiAgICAgIHRoaXMubW91c2VVcEhbbWlkaV0gPSBfaGFuZGxlTW91c2VVcCh0aGlzLCBtaWRpKTtcclxuICAgICAgdGhpcy5rZXlzW21pZGldLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5tb3VzZURvd25IW21pZGldKTtcclxuICAgICAgdGhpcy5rZXlzW21pZGldLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW92ZXJcIiwgdGhpcy5tb3VzZU92ZXJIW21pZGldKTtcclxuICAgICAgdGhpcy5rZXlzW21pZGldLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZW91dFwiLCB0aGlzLm1vdXNlT3V0SFttaWRpXSk7XHJcbiAgICAgIHRoaXMua2V5c1ttaWRpXS5hZGRFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLCB0aGlzLm1vdXNlVXBIW21pZGldKTtcclxuICAgICAgdGhpcy5rZXlzW21pZGldLmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaHN0YXJ0XCIsIHRoaXMudG91Y2hIYW5kbGUpO1xyXG4gICAgICB0aGlzLmtleXNbbWlkaV0uYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNobW92ZVwiLCB0aGlzLnRvdWNoSGFuZGxlKTtcclxuICAgICAgdGhpcy5rZXlzW21pZGldLmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaGVuZFwiLCB0aGlzLnRvdWNoSGFuZGxlKTtcclxuICAgICAgdGhpcy5rZXlzW21pZGldLmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaGNhbmNlbFwiLCB0aGlzLnRvdWNoSGFuZGxlKTtcclxuICAgIH1cclxuICAgIGZvciAobWlkaSBpbiB0aGlzLmtleXMpIHtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmtleXNbbWlkaV0uX2FjdGl2ZSA9PSAndW5kZWZpbmVkJykgdGhpcy5rZXlzW21pZGldLl9hY3RpdmUgPSBhY3RpdmU7XHJcbiAgICAgIHRoaXMua2V5c1ttaWRpXS5vbmRyYWdzdGFydCA9IF9yZXR1cm5GYWxzZTtcclxuICAgICAgdGhpcy5rZXlzW21pZGldLm9uc2VsZWN0c3RhcnQgPSBfcmV0dXJuRmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMucmVzaXplICYmIHRoaXMuYmlucy5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgICAgdGhpcy5yZXNpemUgPSBmdW5jdGlvbigpIHsgc2VsZi5vblJlc2l6ZSgpOyB9O1xyXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemUpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIFBpYW5vLnByb3RvdHlwZS5jbGVhbnVwID0gZnVuY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy53YXRjaEJ1dHRvbnMpIHtcclxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy53YXRjaEJ1dHRvbnMpO1xyXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCB0aGlzLndhdGNoQnV0dG9ucyk7XHJcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLCB0aGlzLm1vdXNlVXBIYW5kbGUpO1xyXG4gICAgfVxyXG4gICAgZm9yICh2YXIgbWlkaSBpbiB0aGlzLmtleXMpIHtcclxuICAgICAgaWYgKHRoaXMubW91c2VEb3duSFttaWRpXSkgdGhpcy5rZXlzW21pZGldLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5tb3VzZURvd25IW21pZGldKTtcclxuICAgICAgaWYgKHRoaXMubW91c2VPdmVySFttaWRpXSkgdGhpcy5rZXlzW21pZGldLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZW92ZXJcIiwgdGhpcy5tb3VzZU92ZXJIW21pZGldKTtcclxuICAgICAgaWYgKHRoaXMubW91c2VPdXRIW21pZGldKSB0aGlzLmtleXNbbWlkaV0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlb3V0XCIsIHRoaXMubW91c2VPdXRIW21pZGldKTtcclxuICAgICAgaWYgKHRoaXMubW91c2VVcEhbbWlkaV0pIHRoaXMua2V5c1ttaWRpXS5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLCB0aGlzLm1vdXNlVXBIW21pZGldKTtcclxuICAgICAgaWYgKHRoaXMudG91Y2hIYW5kbGUpIHtcclxuICAgICAgICB0aGlzLmtleXNbbWlkaV0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgdGhpcy50b3VjaEhhbmRsZSk7XHJcbiAgICAgICAgdGhpcy5rZXlzW21pZGldLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaG1vdmVcIiwgdGhpcy50b3VjaEhhbmRsZSk7XHJcbiAgICAgICAgdGhpcy5rZXlzW21pZGldLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaGVuZFwiLCB0aGlzLnRvdWNoSGFuZGxlKTtcclxuICAgICAgICB0aGlzLmtleXNbbWlkaV0ucmVtb3ZlRXZlbnRMaXN0ZW5lcihcInRvdWNoY2FuY2VsXCIsIHRoaXMudG91Y2hIYW5kbGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5hdCkgdGhpcy5hdC5pbm5lckhUTUwgPSAnJztcclxuICB9O1xyXG5cclxuICBQaWFuby5wcm90b3R5cGUuc2V0dGluZ3MgPSBmdW5jdGlvbigpIHsgcmV0dXJuIF9jb3B5KHRoaXMuY3VycmVudCk7IH07XHJcblxyXG4gIFBpYW5vLnByb3RvdHlwZS5vblJlc2l6ZSA9IGZ1bmN0aW9uKCkge1xyXG4gICAgdmFyIGJpbiA9IDA7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuYmlucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy5iaW5zW2ldIDw9IHdpbmRvdy5pbm5lcldpZHRoKSBiaW4gPSB0aGlzLmJpbnNbaV07XHJcbiAgICAgIGVsc2UgYnJlYWs7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXJyZW50ID09IHRoaXMucGFyYW1zW2Jpbl0pIHJldHVybjtcclxuICAgIHRoaXMuY3VycmVudCA9IHRoaXMucGFyYW1zW2Jpbl07XHJcbiAgICB0aGlzLmNyZWF0ZUN1cnJlbnQoKTtcclxuICB9O1xyXG5cclxuICBQaWFuby5wcm90b3R5cGUuZW5hYmxlID0gZnVuY3Rpb24oKSB7XHJcbiAgICBmb3IgKHZhciBrIGluIHRoaXMua2V5cykgdGhpcy5rZXlzW2tdLl9hY3RpdmUgPSB0cnVlO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfTtcclxuXHJcbiAgUGlhbm8ucHJvdG90eXBlLmRpc2FibGUgPSBmdW5jdGlvbigpIHtcclxuICAgIGZvciAodmFyIGsgaW4gdGhpcy5rZXlzKSB0aGlzLmtleXNba10uX2FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfTtcclxuXHJcbiAgUGlhbm8ucHJvdG90eXBlLmdldEtleSA9IGZ1bmN0aW9uKG5vdGUpIHtcclxuICAgIHZhciBrZXlzID0gbmV3IEtleXModGhpcyk7XHJcbiAgICB2YXIgayA9IEpaWi5NSURJLm5vdGVWYWx1ZShub3RlKTtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5rZXlzW2tdICE9ICd1bmRlZmluZWQnKSBrZXlzLmtleXMucHVzaChrKTtcclxuICAgIHJldHVybiBrZXlzO1xyXG4gIH07XHJcblxyXG4gIFBpYW5vLnByb3RvdHlwZS5nZXRLZXlzID0gZnVuY3Rpb24oZnJvbSwgdG8pIHtcclxuICAgIHZhciBrZXlzID0gbmV3IEtleXModGhpcyk7XHJcbiAgICB2YXIgbjAgPSB0eXBlb2YgZnJvbSA9PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IEpaWi5NSURJLm5vdGVWYWx1ZShmcm9tKTtcclxuICAgIHZhciBuMSA9IHR5cGVvZiB0byA9PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IEpaWi5NSURJLm5vdGVWYWx1ZSh0byk7XHJcbiAgICBpZiAodHlwZW9mIG4wICE9ICd1bmRlZmluZWQnICYmIHR5cGVvZiBuMSAhPSAndW5kZWZpbmVkJyAmJiBuMSA8IG4wKSB7IHZhciBubiA9IG4wOyBuMCA9IG4xOyBuMSA9IG5uOyB9XHJcbiAgICBmb3IgKHZhciBrIGluIHRoaXMua2V5cykge1xyXG4gICAgICBpZiAodHlwZW9mIG4wICE9ICd1bmRlZmluZWQnICYmIGsgPCBuMCkgY29udGludWU7XHJcbiAgICAgIGlmICh0eXBlb2YgbjEgIT0gJ3VuZGVmaW5lZCcgJiYgayA+IG4xKSBjb250aW51ZTtcclxuICAgICAga2V5cy5rZXlzLnB1c2goayk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4ga2V5cztcclxuICB9O1xyXG5cclxuICBQaWFuby5wcm90b3R5cGUuZ2V0V2hpdGVLZXlzID0gZnVuY3Rpb24oZnJvbSwgdG8pIHtcclxuICAgIHZhciBrZXlzID0gbmV3IEtleXModGhpcyk7XHJcbiAgICB2YXIgbjAgPSB0eXBlb2YgZnJvbSA9PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IEpaWi5NSURJLm5vdGVWYWx1ZShmcm9tKTtcclxuICAgIHZhciBuMSA9IHR5cGVvZiB0byA9PSAndW5kZWZpbmVkJyA/IHVuZGVmaW5lZCA6IEpaWi5NSURJLm5vdGVWYWx1ZSh0byk7XHJcbiAgICBpZiAodHlwZW9mIG4wICE9ICd1bmRlZmluZWQnICYmIHR5cGVvZiBuMSAhPSAndW5kZWZpbmVkJyAmJiBuMSA8IG4wKSB7IHZhciBubiA9IG4wOyBuMCA9IG4xOyBuMSA9IG5uOyB9XHJcbiAgICBmb3IgKHZhciBrIGluIHRoaXMua2V5cykge1xyXG4gICAgICBpZiAodHlwZW9mIG4wICE9ICd1bmRlZmluZWQnICYmIGsgPCBuMCkgY29udGludWU7XHJcbiAgICAgIGlmICh0eXBlb2YgbjEgIT0gJ3VuZGVmaW5lZCcgJiYgayA+IG4xKSBjb250aW51ZTtcclxuICAgICAgdmFyIG4gPSBrICUgMTI7XHJcbiAgICAgIGlmIChuID09IDEgfHwgbiA9PSAzIHx8IG4gPT0gNiB8fCBuID09IDggfHwgbiA9PSAxMCkgY29udGludWU7XHJcbiAgICAgIGtleXMua2V5cy5wdXNoKGspO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGtleXM7XHJcbiAgfTtcclxuXHJcbiAgUGlhbm8ucHJvdG90eXBlLmdldEJsYWNrS2V5cyA9IGZ1bmN0aW9uKGZyb20sIHRvKSB7XHJcbiAgICB2YXIga2V5cyA9IG5ldyBLZXlzKHRoaXMpO1xyXG4gICAgdmFyIG4wID0gdHlwZW9mIGZyb20gPT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBKWlouTUlESS5ub3RlVmFsdWUoZnJvbSk7XHJcbiAgICB2YXIgbjEgPSB0eXBlb2YgdG8gPT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWQgOiBKWlouTUlESS5ub3RlVmFsdWUodG8pO1xyXG4gICAgaWYgKHR5cGVvZiBuMCAhPSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgbjEgIT0gJ3VuZGVmaW5lZCcgJiYgbjEgPCBuMCkgeyB2YXIgbm4gPSBuMDsgbjAgPSBuMTsgbjEgPSBubjsgfVxyXG4gICAgZm9yICh2YXIgayBpbiB0aGlzLmtleXMpIHtcclxuICAgICAgaWYgKHR5cGVvZiBuMCAhPSAndW5kZWZpbmVkJyAmJiBrIDwgbjApIGNvbnRpbnVlO1xyXG4gICAgICBpZiAodHlwZW9mIG4xICE9ICd1bmRlZmluZWQnICYmIGsgPiBuMSkgY29udGludWU7XHJcbiAgICAgIHZhciBuID0gayAlIDEyO1xyXG4gICAgICBpZiAobiAhPSAxICYmIG4gIT0gMyAmJiBuICE9IDYgJiYgbiAhPSA4ICYmIG4gIT0gMTApIGNvbnRpbnVlO1xyXG4gICAgICBrZXlzLmtleXMucHVzaChrKTtcclxuICAgIH1cclxuICAgIHJldHVybiBrZXlzO1xyXG4gIH07XHJcblxyXG4gIGZ1bmN0aW9uIEtleXMocGlhbm8pIHtcclxuICAgIHRoaXMucGlhbm8gPSBwaWFubztcclxuICAgIHRoaXMua2V5cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgS2V5cy5wcm90b3R5cGUuc2V0SW5uZXJIVE1MID0gZnVuY3Rpb24oaHRtbCkge1xyXG4gICAgZm9yICh2YXIgayBpbiB0aGlzLmtleXMpIHRoaXMucGlhbm8ua2V5c1t0aGlzLmtleXNba11dLmlubmVySFRNTCA9IGh0bWw7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9O1xyXG5cclxuICBLZXlzLnByb3RvdHlwZS5zZXRTdHlsZSA9IGZ1bmN0aW9uKHMwLCBzMSwgczIpIHtcclxuICAgIHZhciBrLCBuLCBtaWRpO1xyXG4gICAgaWYgKHR5cGVvZiBzMSA9PSAndW5kZWZpbmVkJykgczEgPSBzMDtcclxuICAgIGlmICh0eXBlb2YgczIgPT0gJ3VuZGVmaW5lZCcpIHMyID0gczA7XHJcbiAgICBmb3IgKGsgaW4gdGhpcy5rZXlzKSB7XHJcbiAgICAgIG1pZGkgPSB0aGlzLmtleXNba107XHJcbiAgICAgIGZvciAobiBpbiBzMCkgdGhpcy5waWFuby5zdGwwW21pZGldW25dID0gczBbbl07XHJcbiAgICAgIGZvciAobiBpbiBzMSkgdGhpcy5waWFuby5zdGwxW21pZGldW25dID0gczFbbl07XHJcbiAgICAgIGZvciAobiBpbiBzMikgdGhpcy5waWFuby5zdGwyW21pZGldW25dID0gczJbbl07XHJcbiAgICAgIF9zdHlsZSh0aGlzLnBpYW5vLmtleXNbbWlkaV0sIHRoaXMucGlhbm8ucGxheWluZ1ttaWRpXSA/IHRoaXMucGlhbm8uc3RsMVttaWRpXSA6IHRoaXMucGlhbm8ua2V5c1ttaWRpXS5fYWN0aXZlID8gIHRoaXMucGlhbm8uc3RsMFttaWRpXSA6IHRoaXMucGlhbm8uc3RsMlttaWRpXSk7XHJcbiAgICAgIF9zdHlsZSh0aGlzLnBpYW5vLmtleXNbbWlkaV0sIHRoaXMucGlhbm8ubG9jc1ttaWRpXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9O1xyXG5cclxuICBLZXlzLnByb3RvdHlwZS5lbmFibGUgPSBmdW5jdGlvbigpIHtcclxuICAgIHZhciBrLCBtaWRpO1xyXG4gICAgZm9yIChrIGluIHRoaXMua2V5cykge1xyXG4gICAgICBtaWRpID0gdGhpcy5rZXlzW2tdO1xyXG4gICAgICB0aGlzLnBpYW5vLmtleXNbbWlkaV0uX2FjdGl2ZSA9IHRydWU7XHJcbiAgICAgIF9zdHlsZSh0aGlzLnBpYW5vLmtleXNbbWlkaV0sIHRoaXMucGlhbm8ucGxheWluZ1ttaWRpXSA/IHRoaXMucGlhbm8uc3RsMVttaWRpXSA6IHRoaXMucGlhbm8uc3RsMFttaWRpXSk7XHJcbiAgICAgIF9zdHlsZSh0aGlzLnBpYW5vLmtleXNbbWlkaV0sIHRoaXMucGlhbm8ubG9jc1ttaWRpXSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9O1xyXG5cclxuICBLZXlzLnByb3RvdHlwZS5kaXNhYmxlID0gZnVuY3Rpb24oKSB7XHJcbiAgICB2YXIgaywgbWlkaTtcclxuICAgIGZvciAoayBpbiB0aGlzLmtleXMpIHtcclxuICAgICAgbWlkaSA9IHRoaXMua2V5c1trXTtcclxuICAgICAgdGhpcy5waWFuby5rZXlzW21pZGldLl9hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgX3N0eWxlKHRoaXMucGlhbm8ua2V5c1ttaWRpXSwgdGhpcy5waWFuby5wbGF5aW5nW21pZGldID8gdGhpcy5waWFuby5zdGwxW21pZGldIDogdGhpcy5waWFuby5zdGwyW21pZGldKTtcclxuICAgICAgX3N0eWxlKHRoaXMucGlhbm8ua2V5c1ttaWRpXSwgdGhpcy5waWFuby5sb2NzW21pZGldKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH07XHJcblxyXG4gIGZ1bmN0aW9uIEtiZEVuZ2luZSgpIHt9XHJcblxyXG4gIEtiZEVuZ2luZS5wcm90b3R5cGUuX2luZm8gPSBmdW5jdGlvbihuYW1lKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0eXBlOiAnaHRtbC9qYXZhc2NyaXB0JyxcclxuICAgICAgbmFtZTogX25hbWUobmFtZSwgJ0tiZCcpLFxyXG4gICAgICBtYW51ZmFjdHVyZXI6ICd2aXJ0dWFsJyxcclxuICAgICAgdmVyc2lvbjogX3ZlcnNpb25cclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgS2JkRW5naW5lLnByb3RvdHlwZS5fb3BlbkluID0gZnVuY3Rpb24ocG9ydCwgbmFtZSkge1xyXG4gICAgdmFyIHBpYW5vID0gbmV3IFBpYW5vKHRoaXMuX2FyZyk7XHJcbiAgICBwaWFuby5zZW5kID0gZnVuY3Rpb24oKSB7IHBvcnQuc2VuZC5hcHBseShwb3J0LCBhcmd1bWVudHMpOyB9O1xyXG4gICAgcGlhbm8uY29ubmVjdCA9IGZ1bmN0aW9uKCkgeyBwb3J0LmNvbm5lY3QuYXBwbHkocG9ydCwgYXJndW1lbnRzKTsgfTtcclxuICAgIHBpYW5vLmNyZWF0ZSgpO1xyXG5cclxuICAgIGlmIChwaWFuby5tcGUpIHtcclxuICAgICAgaWYgKCFwb3J0Ll9vcmlnLl9tcGUpIHBvcnQuX29yaWcuX21wZSA9IEpaWi5NUEUoKTtcclxuICAgICAgcG9ydC5fb3JpZy5fbXBlLnNldHVwKHBpYW5vLm1wZVswXSwgcGlhbm8ubXBlWzFdKTtcclxuICAgICAgcGlhbm8ubm90ZU9uID0gZnVuY3Rpb24obm90ZSkge1xyXG4gICAgICAgIHZhciBtc2cgPSBKWlouTUlESSgweDkwICsgdGhpcy5jaGFuLCBub3RlLCAxMjcpO1xyXG4gICAgICAgIG1zZy5fbXBlID0gbm90ZTtcclxuICAgICAgICBwb3J0Ll9lbWl0KHBvcnQuX2ZpbHRlcihtc2cpKTtcclxuICAgICAgfTtcclxuICAgICAgcGlhbm8ubm90ZU9mZiA9IGZ1bmN0aW9uKG5vdGUpIHtcclxuICAgICAgICB2YXIgbXNnID0gSlpaLk1JREkoMHg4MCArIHRoaXMuY2hhbiwgbm90ZSwgMTI3KTtcclxuICAgICAgICBtc2cuX21wZSA9IG5vdGU7XHJcbiAgICAgICAgcG9ydC5fZW1pdChwb3J0Ll9maWx0ZXIobXNnKSk7XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcGlhbm8ubm90ZU9uID0gZnVuY3Rpb24obm90ZSkgeyBwb3J0Ll9lbWl0KEpaWi5NSURJKDB4OTAgKyB0aGlzLmNoYW4sIG5vdGUsIDEyNykpOyB9O1xyXG4gICAgICBwaWFuby5ub3RlT2ZmID0gZnVuY3Rpb24obm90ZSkgeyBwb3J0Ll9lbWl0KEpaWi5NSURJKDB4ODAgKyB0aGlzLmNoYW4sIG5vdGUsIDEyNykpOyB9O1xyXG4gICAgfVxyXG4gICAgcGlhbm8uZW1pdCA9IGZ1bmN0aW9uKG1zZykgeyBwb3J0Ll9lbWl0KHBvcnQuX2ZpbHRlcihtc2cpKTsgfTtcclxuICAgIHBvcnQuX2luZm8gPSB0aGlzLl9pbmZvKG5hbWUpO1xyXG4gICAgcG9ydC5fcmVjZWl2ZSA9IGZ1bmN0aW9uKG1zZykgeyBwaWFuby5mb3J3YXJkKG1zZyk7IH07XHJcbiAgICBwb3J0Ll9jbG9zZSA9IGZ1bmN0aW9uKCkgeyBwaWFuby5fY2xvc2UoKTsgfTtcclxuICAgIHBvcnQuc2V0dGluZ3MgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHBpYW5vLnNldHRpbmdzKCk7IH07XHJcbiAgICBwb3J0LmdldEtleSA9IGZ1bmN0aW9uKG5vdGUpIHsgcmV0dXJuIHBpYW5vLmdldEtleShub3RlKTsgfTtcclxuICAgIHBvcnQuZ2V0S2V5cyA9IGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIHBpYW5vLmdldEtleXMoYSwgYik7IH07XHJcbiAgICBwb3J0LmdldFdoaXRlS2V5cyA9IGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIHBpYW5vLmdldFdoaXRlS2V5cyhhLCBiKTsgfTtcclxuICAgIHBvcnQuZ2V0QmxhY2tLZXlzID0gZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gcGlhbm8uZ2V0QmxhY2tLZXlzKGEsIGIpOyB9O1xyXG4gICAgcG9ydC5jaGFubmVsID0gZnVuY3Rpb24oeCkgeyByZXR1cm4gcGlhbm8uY2hhbm5lbCh4KTsgfTtcclxuICAgIHBvcnQuY2xlYXIgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHBpYW5vLmNsZWFyKCk7IH07XHJcbiAgICBwb3J0Ll9yZXN1bWUoKTtcclxuICB9O1xyXG5cclxuICBKWlouaW5wdXQuS2JkID0gZnVuY3Rpb24oKSB7XHJcbiAgICB2YXIgbmFtZSwgYXJnO1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMSkge1xyXG4gICAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1swXSA9PT0gJ3N0cmluZycpIG5hbWUgPSBhcmd1bWVudHNbMF07XHJcbiAgICAgIGVsc2UgYXJnID0gYXJndW1lbnRzWzBdO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7IG5hbWUgPSBhcmd1bWVudHNbMF07IGFyZyA9IGFyZ3VtZW50c1sxXTt9XHJcbiAgICB2YXIgX0tiZEVuZ2luZSA9IG5ldyBLYmRFbmdpbmUoKTtcclxuICAgIF9LYmRFbmdpbmUuX2FyZyA9IGFyZztcclxuICAgIHJldHVybiBKWloubGliLm9wZW5NaWRpSW4obmFtZSwgX0tiZEVuZ2luZSk7XHJcbiAgfTtcclxuXHJcbiAgSlpaLmlucHV0LktiZC52ZXJzaW9uID0gZnVuY3Rpb24oKSB7IHJldHVybiBfdmVyc2lvbjsgfTtcclxuXHJcbiAgSlpaLmlucHV0LktiZC5yZWdpc3RlciA9IGZ1bmN0aW9uKCkge1xyXG4gICAgdmFyIG5hbWUsIGFyZztcclxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09IDEpIHtcclxuICAgICAgaWYgKHR5cGVvZiBhcmd1bWVudHNbMF0gPT09ICdzdHJpbmcnKSBuYW1lID0gYXJndW1lbnRzWzBdO1xyXG4gICAgICBlbHNlIGFyZyA9IGFyZ3VtZW50c1swXTtcclxuICAgIH1cclxuICAgIGVsc2UgeyBuYW1lID0gYXJndW1lbnRzWzBdOyBhcmcgPSBhcmd1bWVudHNbMV07fVxyXG4gICAgdmFyIF9LYmRFbmdpbmUgPSBuZXcgS2JkRW5naW5lKCk7XHJcbiAgICBfS2JkRW5naW5lLl9hcmcgPSBhcmc7XHJcbiAgICByZXR1cm4gSlpaLmxpYi5yZWdpc3Rlck1pZGlJbihuYW1lLCBfS2JkRW5naW5lKTtcclxuICB9O1xyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4gIHZhciBfaW5uZXJTdHlsZSA9IHttYXJnaW46MCwgcGFkZGluZzowLCB3aWR0aDonMTAwJScsIGhlaWdodDonMTAwJSd9O1xyXG5cclxuICBmdW5jdGlvbiBfRGF0YShkKSB7XHJcbiAgICB0aGlzLmJhc2UgPSAwLjU7XHJcbiAgICB0aGlzLnZhbCA9IDAuNTtcclxuICAgIHRoaXMubXNiID0gMDtcclxuICAgIHRoaXMubHNiID0gMDtcclxuICAgIHRoaXMuY2hhbiA9IDA7XHJcbiAgICBpZiAoZCBpbnN0YW5jZW9mIEFycmF5KSB7XHJcbiAgICAgIGlmIChkLmxlbmd0aCAhPSAxICYmIGQubGVuZ3RoICE9IDIpIHJldHVybjtcclxuICAgICAgaWYgKGQubGVuZ3RoID09IDIpIHtcclxuICAgICAgICBpZiAoZFsxXSAhPSBwYXJzZUludChkWzFdKSB8fCBkWzFdIDwgMSB8fCBkWzFdID4gMHg3ZikgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMubXNiID0gZFswXTtcclxuICAgICAgICBpZiAoZFsxXSAhPSBkWzBdKSB0aGlzLmxzYiA9IGRbMV07XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB0aGlzLm1zYiA9IGRbMF07XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChkID09IHBhcnNlSW50KGQpKSB7XHJcbiAgICAgIGlmIChkIDwgMSB8fCBkID4gMHg3ZikgcmV0dXJuO1xyXG4gICAgICB0aGlzLm1zYiA9IGQ7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdmFyIHogPSB7XHJcbiAgICAgICAgbW9kOlsweDAxLCAweDIxXSwgYnJlYXRoOlsweDAyLCAweDIyXSwgZm9vdDpbMHgwNCwgMHgyNF0sIHBvcnRhbWVudG86WzB4MDUsIDB4MjVdLCB2b2x1bWU6WzB4MDcsIDB4MjddLFxyXG4gICAgICAgIGJhbGFuY2U6WzB4MDgsIDB4MjhdLCBwYW46WzB4MGEsIDB4MmFdLCBleHByZXNzaW9uOlsweDBiLCAweDJiXSwgZWZmZWN0MTpbMHgwYywgMHgyY10sIGVmZmVjdDI6WzB4MGQsIDB4MmRdXHJcbiAgICAgIH1bZF07XHJcbiAgICAgIGlmICh6KSB7XHJcbiAgICAgICAgdGhpcy5tc2IgPSB6WzBdO1xyXG4gICAgICAgIHRoaXMubHNiID0gelsxXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMubXNiICYmIHRoaXMubXNiICE9IDcgJiYgdGhpcy5tc2IgIT0gOCAmJiB0aGlzLm1zYiAhPSAweGEpIHRoaXMuYmFzZSA9IDA7XHJcbiAgICB0aGlzLnZhbCA9IC0xO1xyXG4gICAgdGhpcy5zZXRWYWx1ZSh0aGlzLmJhc2UpO1xyXG4gIH1cclxuXHJcbiAgX0RhdGEucHJvdG90eXBlLnNldEJhc2UgPSBmdW5jdGlvbih4KSB7XHJcbiAgICB4ID0gcGFyc2VGbG9hdCh4KTtcclxuICAgIGlmICghaXNOYU4oeCkgJiYgaXNGaW5pdGUoeCkgJiYgeCA+PSAwICYmIHggPD0gMSkgdGhpcy5iYXNlID0geDtcclxuICB9O1xyXG5cclxuICBfRGF0YS5wcm90b3R5cGUuc2V0VmFsdWUgPSBmdW5jdGlvbih4KSB7XHJcbiAgICB4ID0gcGFyc2VGbG9hdCh4KTtcclxuICAgIGlmIChpc05hTih4KSB8fCAhaXNGaW5pdGUoeCkgfHwgeCA8IDAgfHwgeCA+IDEgfHwgeCA9PSB0aGlzLnZhbCkgcmV0dXJuO1xyXG4gICAgdGhpcy52YWwgPSB4O1xyXG4gICAgdGhpcy5udW0gPSBNYXRoLnJvdW5kKHggKiAodGhpcy5sc2IgfHwgIXRoaXMubXNiID8gMHgzZmZmIDogMHg3ZikpO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfTtcclxuXHJcbiAgX0RhdGEucHJvdG90eXBlLmVtaXQgPSBmdW5jdGlvbihvdXQpIHtcclxuICAgIGlmICghdGhpcy5tc2IpIHtcclxuICAgICAgb3V0LmVtaXQoWzB4ZTAgKyB0aGlzLmNoYW4sIHRoaXMubnVtICYgMHg3ZiwgdGhpcy5udW0gPj4gN10pO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoIXRoaXMubHNiKSB7XHJcbiAgICAgIG91dC5lbWl0KFsweGIwICsgdGhpcy5jaGFuLCB0aGlzLm1zYiwgdGhpcy5udW1dKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBvdXQuZW1pdChbMHhiMCArIHRoaXMuY2hhbiwgdGhpcy5tc2IsIHRoaXMubnVtID4+IDddKTtcclxuICAgICAgb3V0LmVtaXQoWzB4YjAgKyB0aGlzLmNoYW4sIHRoaXMubHNiLCB0aGlzLm51bSAmIDB4N2ZdKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBfRGF0YS5wcm90b3R5cGUucmVhZCA9IGZ1bmN0aW9uKG1zZykge1xyXG4gICAgaWYgKCF0aGlzLm1zYiAmJiBtc2dbMF0gPT0gMHhlMCArIHRoaXMuY2hhbiAmJiBtc2dbMV0gPT0gcGFyc2VJbnQobXNnWzFdKSAmJiBtc2dbMl0gPT0gcGFyc2VJbnQobXNnWzJdKSkge1xyXG4gICAgICB0aGlzLm51bSA9IChtc2dbMl0gPDwgNykgfCAobXNnWzFdICYgMHg3Zik7XHJcbiAgICAgIHRoaXMudmFsID0gdGhpcy5udW0gLyAweDNmZmY7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5tc2IgJiYgbXNnWzBdID09IDB4YjAgKyB0aGlzLmNoYW4gJiYgbXNnWzJdID09IHBhcnNlSW50KG1zZ1syXSkpIHtcclxuICAgICAgaWYgKG1zZ1sxXSA9PSB0aGlzLm1zYikge1xyXG4gICAgICAgIGlmICh0aGlzLmxzYikge1xyXG4gICAgICAgICAgdGhpcy5udW0gPSAobXNnWzJdIDw8IDcpIHwgKHRoaXMubnVtICYgMHg3Zik7XHJcbiAgICAgICAgICB0aGlzLnZhbCA9IHRoaXMubnVtIC8gMHgzZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMubnVtID0gbXNnWzJdICYgMHg3ZjtcclxuICAgICAgICAgIHRoaXMudmFsID0gdGhpcy5udW0gLyAweDdmO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobXNnWzFdID09IHRoaXMubHNiKSB7XHJcbiAgICAgICAgdGhpcy5udW0gPSAodGhpcy5udW0gJiAweDNmODApIHwgKG1zZ1syXSAmIDB4N2YpO1xyXG4gICAgICAgIHRoaXMudmFsID0gdGhpcy5udW0gLyAweDNmZmY7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9O1xyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuICBmdW5jdGlvbiBfU3BhbihjdHJsLCBzcGFuLCBpbm5lciwgc3RsLCBzdGwwLCBzdGwxKSB7XHJcbiAgICB0aGlzLmN0cmwgPSBjdHJsO1xyXG4gICAgdGhpcy5zcGFuID0gc3BhbjtcclxuICAgIHRoaXMuaW5uZXIgPSBpbm5lcjtcclxuICAgIHRoaXMuc3RsID0gc3RsO1xyXG4gICAgdGhpcy5zdGwwID0gc3RsMDtcclxuICAgIHRoaXMuc3RsMSA9IHN0bDE7XHJcbiAgfVxyXG5cclxuICBfU3Bhbi5wcm90b3R5cGUuc2V0SW5uZXJIVE1MID0gZnVuY3Rpb24oaHRtbCkge1xyXG4gICAgdGhpcy5pbm5lci5pbm5lckhUTUwgPSBodG1sO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfTtcclxuXHJcbiAgX1NwYW4ucHJvdG90eXBlLnNldFN0eWxlID0gZnVuY3Rpb24oczAsIHMxKSB7XHJcbiAgICBpZiAodHlwZW9mIHMxID09ICd1bmRlZmluZWQnKSBzMSA9IHMwO1xyXG4gICAgdmFyIGs7XHJcbiAgICBmb3IoayBpbiBzMCkgdGhpcy5zdGwwW2tdID0gczBba107XHJcbiAgICBmb3IoayBpbiBzMSkgdGhpcy5zdGwxW2tdID0gczFba107XHJcbiAgICBfc3R5bGUodGhpcy5zcGFuLCB0aGlzLmN0cmwuaXNTZWxlY3RlZCgpID8gdGhpcy5zdGwxIDogdGhpcy5zdGwwKTtcclxuICAgIF9zdHlsZSh0aGlzLnNwYW4sIHRoaXMuc3RsKTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH07XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4gIGZ1bmN0aW9uIF9Lbm9iKCkge31cclxuXHJcbiAgZnVuY3Rpb24gX2luaXRLbm9iKGFyZywgY29tbW9uKSB7XHJcbiAgICB0aGlzLmJpbnMgPSBbXTtcclxuICAgIHRoaXMucGFyYW1zID0gezA6e319O1xyXG4gICAgaWYgKHR5cGVvZiBhcmcgPT0gJ3VuZGVmaW5lZCcpIGFyZyA9IHt9O1xyXG4gICAgaWYgKHR5cGVvZiBjb21tb24gPT0gJ3VuZGVmaW5lZCcpIGNvbW1vbiA9IHt9O1xyXG4gICAgdGhpcy5jaGFuID0gX2NoYW5uZWxNYXBbYXJnLmNoYW5dO1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLmNoYW4gPT0gJ3VuZGVmaW5lZCcpIHRoaXMuY2hhbiA9IDA7XHJcbiAgICB2YXIga2V5O1xyXG4gICAgZm9yIChrZXkgaW4gYXJnKSB7XHJcbiAgICAgIGlmIChrZXkgPT0gcGFyc2VJbnQoa2V5KSkgdGhpcy5wYXJhbXNba2V5XSA9IF9jb3B5KGFyZ1trZXldKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgaWYgKGtleSA9PSAnY2hhbicpIGNvbnRpbnVlO1xyXG4gICAgICAgIGNvbW1vbltrZXldID0gYXJnW2tleV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGZvciAoa2V5IGluIHRoaXMucGFyYW1zKSB7XHJcbiAgICAgIHRoaXMuYmlucy5wdXNoKGtleSk7XHJcbiAgICAgIGZvciAodmFyIGsgaW4gY29tbW9uKSB7XHJcbiAgICAgICAgaWYgKChrID09ICdmcm9tJyB8fCBrID09ICd0bycpICYmIHR5cGVvZiBfa2V5TnVtKHRoaXMucGFyYW1zW2tleV1ba10pID09ICd1bmRlZmluZWQnKSB0aGlzLnBhcmFtc1trZXldW2tdID0gY29tbW9uW2tdO1xyXG4gICAgICAgIGlmICghKGsgaW4gdGhpcy5wYXJhbXNba2V5XSkpIHRoaXMucGFyYW1zW2tleV1ba10gPSBjb21tb25ba107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYmlucy5zb3J0KGZ1bmN0aW9uKGEsIGIpIHsgcmV0dXJuIGEgLSBiOyB9KTtcclxuICB9XHJcblxyXG4gIF9Lbm9iLnByb3RvdHlwZS5fY2xvc2UgPSBmdW5jdGlvbigpIHtcclxuICAgIGlmICh0aGlzLmF0KSB0aGlzLmF0LmlubmVySFRNTCA9ICcnO1xyXG4gICAgaWYgKHRoaXMubW91c2VVcEhhbmRsZXIpIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLCB0aGlzLm1vdXNlVXBIYW5kbGVyKTtcclxuICB9O1xyXG5cclxuICBfS25vYi5wcm90b3R5cGUuY3JlYXRlID0gZnVuY3Rpb24oKSB7XHJcbiAgICB2YXIgYmluID0gMDtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5iaW5zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0aGlzLmJpbnNbaV0gPD0gd2luZG93LmlubmVyV2lkdGgpIGJpbiA9IHRoaXMuYmluc1tpXTtcclxuICAgICAgZWxzZSBicmVhaztcclxuICAgIH1cclxuICAgIHRoaXMuY3VycmVudCA9IHRoaXMucGFyYW1zW2Jpbl07XHJcbiAgICB0aGlzLmNyZWF0ZUN1cnJlbnQoKTtcclxuICB9O1xyXG5cclxuICBfS25vYi5wcm90b3R5cGUuY3JlYXRlQ3VycmVudCA9IGZ1bmN0aW9uKCkge1xyXG4gICAgaWYgKHRoaXMuYXQpIHRoaXMuYXQuaW5uZXJIVE1MID0gJyc7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMuY3VycmVudC5hdCA9PSAnc3RyaW5nJykgdGhpcy5jdXJyZW50LmF0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5jdXJyZW50LmF0KTtcclxuICAgIHRyeSB7IHRoaXMuY3JlYXRlQXQodGhpcy5jdXJyZW50LmF0KTsgfVxyXG4gICAgY2F0Y2goZSkge1xyXG4gICAgICBpZiAoIXRoaXMuYm90dG9tKSB7XHJcbiAgICAgICAgdGhpcy5ib3R0b20gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuYm90dG9tKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNyZWF0ZUF0KHRoaXMuYm90dG9tKTtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBfS25vYi5wcm90b3R5cGUub25SZXNpemUgPSBmdW5jdGlvbigpIHtcclxuICAgIHZhciBiaW4gPSAwO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmJpbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHRoaXMuYmluc1tpXSA8PSB3aW5kb3cuaW5uZXJXaWR0aCkgYmluID0gdGhpcy5iaW5zW2ldO1xyXG4gICAgICBlbHNlIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuY3VycmVudCA9PSB0aGlzLnBhcmFtc1tiaW5dKSByZXR1cm47XHJcbiAgICB0aGlzLmN1cnJlbnQgPSB0aGlzLnBhcmFtc1tiaW5dO1xyXG4gICAgdGhpcy5jcmVhdGVDdXJyZW50KCk7XHJcbiAgfTtcclxuXHJcbiAgX0tub2IucHJvdG90eXBlLnNldHRpbmdzID0gZnVuY3Rpb24oKSB7IHJldHVybiBfY29weSh0aGlzLmN1cnJlbnQpOyB9O1xyXG5cclxuICBfS25vYi5wcm90b3R5cGUuaXNTZWxlY3RlZCA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdHlwZW9mIHRoaXMuZHJhZ1ggIT0gJ3VuZGVmaW5lZCc7IH07XHJcblxyXG4gIF9Lbm9iLnByb3RvdHlwZS5yZXN0eWxlID0gZnVuY3Rpb24oKSB7XHJcbiAgICBmb3IgKHZhciBpIGluIHRoaXMuc3BhbnMpIHRoaXMuc3BhbnNbaV0uc2V0U3R5bGUoKTtcclxuICB9O1xyXG5cclxuICBfS25vYi5wcm90b3R5cGUub25Nb3VzZURvd24gPSBmdW5jdGlvbihlKSB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMuZHJhZ1ggIT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcclxuICAgIHRoaXMuZHJhZ1ggPSBlLmNsaWVudFg7XHJcbiAgICB0aGlzLmRyYWdZID0gZS5jbGllbnRZO1xyXG4gICAgdGhpcy5tb3VzZU1vdmUgPSBfTW91c2VNb3ZlKHRoaXMpO1xyXG4gICAgdGhpcy5tb3VzZVVwID0gX01vdXNlVXAodGhpcyk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5tb3VzZU1vdmUpO1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLm1vdXNlVXApO1xyXG4gICAgdGhpcy5yZXN0eWxlKCk7XHJcbiAgfTtcclxuXHJcbiAgX0tub2IucHJvdG90eXBlLm9uTW91c2VNb3ZlID0gZnVuY3Rpb24oZSkge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLmRyYWdYICE9ICd1bmRlZmluZWQnKSB0aGlzLm9uTW92ZShlLmNsaWVudFgsIGUuY2xpZW50WSk7XHJcbiAgfTtcclxuXHJcbiAgX0tub2IucHJvdG90eXBlLm9uTW91c2VVcCA9IGZ1bmN0aW9uKCkge1xyXG4vLyBtb3VzZSBvciB0b3VjaCBlbmRlZFxyXG4gIH07XHJcblxyXG4gIF9Lbm9iLnByb3RvdHlwZS5vblRvdWNoU3RhcnQgPSBmdW5jdGlvbihlKSB7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMuZHJhZ1ggIT0gJ3VuZGVmaW5lZCcpIHJldHVybjtcclxuICAgIHRoaXMudG91Y2ggPSBlLnRhcmdldFRvdWNoZXNbMF0uaWRlbnRpZmllcjtcclxuICAgIHRoaXMuZHJhZ1ggPSBlLnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WDtcclxuICAgIHRoaXMuZHJhZ1kgPSBlLnRhcmdldFRvdWNoZXNbMF0uY2xpZW50WTtcclxuICAgIHRoaXMucmVzdHlsZSgpO1xyXG4gIH07XHJcblxyXG4gIF9Lbm9iLnByb3RvdHlwZS5vblRvdWNoTW92ZSA9IGZ1bmN0aW9uKGUpIHtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5kcmFnWCA9PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgdGhpcy50b3VjaCA9PSAndW5kZWZpbmVkJykgcmV0dXJuO1xyXG4gICAgZm9yICh2YXIgaSBpbiBlLnRhcmdldFRvdWNoZXMpIGlmIChlLnRhcmdldFRvdWNoZXNbMF0uaWRlbnRpZmllciA9PSB0aGlzLnRvdWNoKSB7XHJcbiAgICAgIHRoaXMub25Nb3ZlKGUudGFyZ2V0VG91Y2hlc1tpXS5jbGllbnRYLCBlLnRhcmdldFRvdWNoZXNbaV0uY2xpZW50WSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBfS25vYi5wcm90b3R5cGUub25Ub3VjaEVuZCA9IGZ1bmN0aW9uKGUpIHtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMudG91Y2ggPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmRyYWdYID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5yZXN0eWxlKCk7XHJcbiAgICB0aGlzLm9uTW91c2VVcChlKTtcclxuICB9O1xyXG5cclxuICBmdW5jdGlvbiBfTW91c2VEb3duKHgpIHsgcmV0dXJuIGZ1bmN0aW9uKGUpIHsgX2ZpcmVmb3hCdWcgPSBlLmJ1dHRvbnM7IGlmIChfbGZ0QnRuRG4oZSkpIHgub25Nb3VzZURvd24oZSk7IH07IH1cclxuICBmdW5jdGlvbiBfTW91c2VNb3ZlKHgpIHsgcmV0dXJuIGZ1bmN0aW9uKGUpIHsgX2ZpcmVmb3hCdWcgPSBlLmJ1dHRvbnM7IHgub25Nb3VzZU1vdmUoZSk7IH07IH1cclxuICBmdW5jdGlvbiBfTW91c2VVcCh4KSB7IHJldHVybiBmdW5jdGlvbihlKSB7XHJcbiAgICBlID0gX2ZpeEJ0blVwKGUpO1xyXG4gICAgaWYgKF9sZnRCdG5VcChlKSkge1xyXG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlbW92ZVwiLCB4Lm1vdXNlTW92ZSk7XHJcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2V1cFwiLCB4Lm1vdXNlVXApO1xyXG4gICAgICB4LmRyYWdYID0gdW5kZWZpbmVkO1xyXG4gICAgICB4LnJlc3R5bGUoKTtcclxuICAgICAgeC5vbk1vdXNlVXAoZSk7XHJcbiAgICB9XHJcbiAgfTsgfVxyXG4gIGZ1bmN0aW9uIF9Ub3VjaFN0YXJ0KHgpIHsgcmV0dXJuIGZ1bmN0aW9uKGUpIHsgeC5vblRvdWNoU3RhcnQoZSk7IH07IH1cclxuICBmdW5jdGlvbiBfVG91Y2hNb3ZlKHgpIHsgcmV0dXJuIGZ1bmN0aW9uKGUpIHsgeC5vblRvdWNoTW92ZShlKTsgfTsgfVxyXG4gIGZ1bmN0aW9uIF9Ub3VjaEVuZCh4KSB7IHJldHVybiBmdW5jdGlvbihlKSB7IHgub25Ub3VjaEVuZChlKTsgfTsgfVxyXG4gIGZ1bmN0aW9uIF9JZ25vcmVUb3VjaChlKSB7IGUucHJldmVudERlZmF1bHQoKTsgfVxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuICBmdW5jdGlvbiBTbGlkZXIoYXJnKSB7XHJcbiAgICBfaW5pdEtub2IuY2FsbCh0aGlzLCBhcmcsIHtwb3M6J04nLCBydzoyLCByaDoxMjgsIGt3OjI0LCBraDoxNn0pO1xyXG4gIH1cclxuXHJcbiAgU2xpZGVyLnByb3RvdHlwZSA9IG5ldyBfS25vYigpO1xyXG5cclxuICBTbGlkZXIucHJvdG90eXBlLmNoYW5uZWwgPSBmdW5jdGlvbihjKSB7XHJcbiAgICB2YXIgY2hhbiA9IF9jaGFubmVsTWFwW2NdO1xyXG4gICAgaWYgKHR5cGVvZiBjaGFuICE9ICd1bmRlZmluZWQnICYmIGNoYW4gIT0gdGhpcy5jaGFuKSB7XHJcbiAgICAgIHRoaXMuY2hhbiA9IGNoYW47XHJcbiAgICAgIHRoaXMuZGF0YS5jaGFuID0gY2hhbjtcclxuICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLmRhdGEuYmFzZSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jaGFuO1xyXG4gIH07XHJcblxyXG4gIFNsaWRlci5wcm90b3R5cGUuY3JlYXRlQXQgPSBmdW5jdGlvbihhdCkge1xyXG4gICAgYXQuaW5uZXJIVE1MID0gJyc7XHJcbiAgICB2YXIgYmggPSBwYXJzZUludCh0aGlzLmN1cnJlbnQuYmgpO1xyXG4gICAgdmFyIGJ3ID0gcGFyc2VJbnQodGhpcy5jdXJyZW50LmJ3KTtcclxuICAgIHZhciByaCA9IHBhcnNlSW50KHRoaXMuY3VycmVudC5yaCk7IGlmICghcmgpIHJoID0gMTI4O1xyXG4gICAgdGhpcy5yaCA9IHJoO1xyXG4gICAgdmFyIHJ3ID0gcGFyc2VJbnQodGhpcy5jdXJyZW50LnJ3KTsgaWYgKCFydykgcncgPSAyO1xyXG4gICAgdmFyIGtoID0gcGFyc2VJbnQodGhpcy5jdXJyZW50LmtoKTsgaWYgKCFraCkga2ggPSAyNDtcclxuICAgIHZhciBrdyA9IHBhcnNlSW50KHRoaXMuY3VycmVudC5rdyk7IGlmICgha3cpIGt3ID0gMTY7XHJcbiAgICB2YXIgcG9zID0gdGhpcy5jdXJyZW50LnBvcy50b1VwcGVyQ2FzZSgpO1xyXG4gICAgdGhpcy5wb3MgPSBwb3M7XHJcbiAgICBpZiAoIXRoaXMuZGF0YSkge1xyXG4gICAgICB0aGlzLmRhdGEgPSBuZXcgX0RhdGEodGhpcy5jdXJyZW50LmRhdGEpO1xyXG4gICAgICB0aGlzLmRhdGEuY2hhbiA9IHRoaXMuY2hhbjtcclxuICAgICAgdGhpcy5kYXRhLnNldEJhc2UodGhpcy5jdXJyZW50LmJhc2UpO1xyXG4gICAgICB0aGlzLmRhdGEuc2V0VmFsdWUodGhpcy5jdXJyZW50LnZhbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmR4ID0gLSAoa3cgLyAyKTtcclxuICAgIHRoaXMuZHkgPSAtIChraCAvIDIgKyAxKTtcclxuXHJcbiAgICBpZiAoIWJoKSBiaCA9IGtoICsgcmggKyAyO1xyXG4gICAgaWYgKCFidykgYncgPSAoa3cgPiBydyA/IGt3IDogcncpICsgMjtcclxuICAgIHRoaXMuc3RsQiA9IHsgZGlzcGxheTonaW5saW5lLWJsb2NrJywgcG9zaXRpb246J3JlbGF0aXZlJywgbWFyZ2luOicwJywgcGFkZGluZzonMCcsIHVzZXJTZWxlY3Q6J25vbmUnLCBLaHRtbFVzZXJTZWxlY3Q6J25vbmUnLCBNb3pVc2VyU2VsZWN0Oidub25lJywgTXNVc2VyU2VsZWN0Oidub25lJywgT1VzZXJTZWxlY3Q6J25vbmUnLCBXZWJraXRVc2VyU2VsZWN0Oidub25lJywgY3Vyc29yOidkZWZhdWx0JyB9O1xyXG4gICAgdGhpcy5zdGxCMCA9IHsgYm9yZGVyU3R5bGU6J25vbmUnIH07XHJcbiAgICB0aGlzLnN0bEIxID0geyBib3JkZXJTdHlsZTonbm9uZScgfTtcclxuICAgIHRoaXMuc3RsUiA9IHsgZGlzcGxheTonaW5saW5lLWJsb2NrJywgcG9zaXRpb246J2Fic29sdXRlJywgbWFyZ2luOicwJywgcGFkZGluZzonMCcsIGJvcmRlclN0eWxlOidzb2xpZCcsIGJvcmRlcldpZHRoOicxcHgnIH07XHJcbiAgICB0aGlzLnN0bFIwID0geyBiYWNrZ3JvdW5kQ29sb3I6JyNhYWEnIH07XHJcbiAgICB0aGlzLnN0bFIxID0geyBiYWNrZ3JvdW5kQ29sb3I6JyNiYmInIH07XHJcbiAgICB0aGlzLnN0bEsgPSB7IGRpc3BsYXk6J2lubGluZS1ibG9jaycsIHBvc2l0aW9uOidhYnNvbHV0ZScsIG1hcmdpbjonMCcsIHBhZGRpbmc6JzAnLCBib3JkZXJTdHlsZTonc29saWQnLCBib3JkZXJXaWR0aDonMXB4JyB9O1xyXG4gICAgdGhpcy5zdGxLMCA9IHsgYmFja2dyb3VuZENvbG9yOicjZGRkJyB9O1xyXG4gICAgdGhpcy5zdGxLMSA9IHsgYmFja2dyb3VuZENvbG9yOicjZWVlJyB9O1xyXG5cclxuICAgIGlmIChwb3MgPT0gJ0UnIHx8IHBvcyA9PSAnVycpIHtcclxuICAgICAgdGhpcy5zdGxCLndpZHRoID0gYmggKyAncHgnO1xyXG4gICAgICB0aGlzLnN0bEIuaGVpZ2h0ID0gYncgKyAncHgnO1xyXG4gICAgICB0aGlzLnN0bFIud2lkdGggPSByaCArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsUi5oZWlnaHQgPSBydyArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsUi5sZWZ0ID0gKChiaCAtIHJoKSAvIDIgLSAxKSArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsUi50b3AgPSAoKGJ3IC0gcncpIC8gMiAtIDEpICsgJ3B4JztcclxuICAgICAgdGhpcy5zdGxLLndpZHRoID0ga2ggKyAncHgnO1xyXG4gICAgICB0aGlzLnN0bEsuaGVpZ2h0ID0ga3cgKyAncHgnO1xyXG4gICAgICB0aGlzLnN0bEsudG9wID0gdGhpcy5keCArICdweCc7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zdGxCLndpZHRoID0gYncgKyAncHgnO1xyXG4gICAgICB0aGlzLnN0bEIuaGVpZ2h0ID0gYmggKyAncHgnO1xyXG4gICAgICB0aGlzLnN0bFIud2lkdGggPSBydyArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsUi5oZWlnaHQgPSByaCArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsUi50b3AgPSAoKGJoIC0gcmgpIC8gMiAtIDEpICsgJ3B4JztcclxuICAgICAgdGhpcy5zdGxSLmxlZnQgPSAoKGJ3IC0gcncpIC8gMiAtIDEpICsgJ3B4JztcclxuICAgICAgdGhpcy5zdGxLLndpZHRoID0ga3cgKyAncHgnO1xyXG4gICAgICB0aGlzLnN0bEsuaGVpZ2h0ID0ga2ggKyAncHgnO1xyXG4gICAgICB0aGlzLnN0bEsubGVmdCA9IHRoaXMuZHggKyAncHgnO1xyXG4gICAgfVxyXG5cclxuICAgIHZhciBib3ggPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICB0aGlzLmJveCA9IGJveDtcclxuICAgIHZhciBib3hfID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgX3N0eWxlKGJveF8sIF9pbm5lclN0eWxlKTtcclxuICAgIHRoaXMuYm94U3BhbiA9IG5ldyBfU3Bhbih0aGlzLCBib3gsIGJveF8sIHRoaXMuc3RsQiwgdGhpcy5zdGxCMCwgdGhpcy5zdGxCMSk7XHJcbiAgICB2YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICB0aGlzLnJhbmdlID0gcmFuZ2U7XHJcbiAgICB2YXIgcmFuZ2VfID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgX3N0eWxlKHJhbmdlXywgX2lubmVyU3R5bGUpO1xyXG4gICAgdGhpcy5yYW5nZVNwYW4gPSBuZXcgX1NwYW4odGhpcywgcmFuZ2UsIHJhbmdlXywgdGhpcy5zdGxSLCB0aGlzLnN0bFIwLCB0aGlzLnN0bFIxKTtcclxuICAgIHZhciBrbm9iID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgdGhpcy5rbm9iID0ga25vYjtcclxuICAgIHRoaXMua25vYlNwYW4gPSBuZXcgX1NwYW4odGhpcywga25vYiwga25vYiwgdGhpcy5zdGxLLCB0aGlzLnN0bEswLCB0aGlzLnN0bEsxKTtcclxuICAgIHRoaXMuc3BhbnMgPSBbdGhpcy5ib3hTcGFuLCB0aGlzLnJhbmdlU3BhbiwgdGhpcy5rbm9iU3Bhbl07XHJcblxyXG4gICAgdmFyIGFjdGl2ZSA9IHR5cGVvZiB0aGlzLmN1cnJlbnQuYWN0aXZlID09ICd1bmRlZmluZWQnIHx8IHRoaXMuY3VycmVudC5hY3RpdmU7XHJcbiAgICBpZiAoYWN0aXZlKSB7XHJcbiAgICAgIGJveC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCBfSWdub3JlVG91Y2gpO1xyXG4gICAgICBrbm9iLmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgX01vdXNlRG93bih0aGlzKSk7XHJcbiAgICAgIGtub2IuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoc3RhcnRcIiwgX1RvdWNoU3RhcnQodGhpcykpO1xyXG4gICAgICBrbm9iLmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaG1vdmVcIiwgX1RvdWNoTW92ZSh0aGlzKSk7XHJcbiAgICAgIGtub2IuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoZW5kXCIsIF9Ub3VjaEVuZCh0aGlzKSk7XHJcbiAgICAgIGtub2IuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNoY2FuY2VsXCIsIF9Ub3VjaEVuZCh0aGlzKSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jdXJyZW50Lm9uQ3JlYXRlKSB0aGlzLmN1cnJlbnQub25DcmVhdGUuYXBwbHkodGhpcyk7XHJcbiAgICByYW5nZS5hcHBlbmRDaGlsZChyYW5nZV8pO1xyXG4gICAgcmFuZ2UuYXBwZW5kQ2hpbGQoa25vYik7XHJcbiAgICBib3guYXBwZW5kQ2hpbGQoYm94Xyk7XHJcbiAgICBib3guYXBwZW5kQ2hpbGQocmFuZ2UpO1xyXG4gICAgYm94Lm9uZHJhZ3N0YXJ0ID0gX3JldHVybkZhbHNlO1xyXG4gICAgYm94Lm9uc2VsZWN0c3RhcnQgPSBfcmV0dXJuRmFsc2U7XHJcbiAgICBhdC5hcHBlbmRDaGlsZChib3gpO1xyXG4gICAgaWYgKCF0aGlzLmF0ICYmIHRoaXMuYmlucy5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHZhciBzZWxmID0gdGhpcztcclxuICAgICAgdGhpcy5yZXNpemUgPSBmdW5jdGlvbigpIHsgc2VsZi5vblJlc2l6ZSgpOyB9O1xyXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jdXJyZW50LmF0ID0gYXQ7XHJcbiAgICB0aGlzLmF0ID0gYXQ7XHJcbiAgICB0aGlzLnNldFZhbHVlKCk7XHJcbiAgICBfc3R5bGUodGhpcy5ib3gsIHR5cGVvZiB0aGlzLmRyYWdYID09ICd1bmRlZmluZWQnID8gdGhpcy5zdGxCMCA6IHRoaXMuc3RsQjEpO1xyXG4gICAgX3N0eWxlKHRoaXMuYm94LCB0aGlzLnN0bEIpO1xyXG4gICAgX3N0eWxlKHRoaXMucmFuZ2UsIHR5cGVvZiB0aGlzLmRyYWdYID09ICd1bmRlZmluZWQnID8gdGhpcy5zdGxSMCA6IHRoaXMuc3RsUjEpO1xyXG4gICAgX3N0eWxlKHRoaXMucmFuZ2UsIHRoaXMuc3RsUik7XHJcbiAgICBfc3R5bGUodGhpcy5rbm9iLCB0eXBlb2YgdGhpcy5kcmFnWCA9PSAndW5kZWZpbmVkJyA/IHRoaXMuc3RsSzAgOiB0aGlzLnN0bEsxKTtcclxuICAgIF9zdHlsZSh0aGlzLmtub2IsIHRoaXMuc3RsSyk7XHJcbiAgfTtcclxuXHJcbiAgU2xpZGVyLnByb3RvdHlwZS5nZXRCb3ggPSBmdW5jdGlvbigpIHsgcmV0dXJuIHRoaXMuYm94U3BhbjsgfTtcclxuXHJcbiAgU2xpZGVyLnByb3RvdHlwZS5nZXRSYW5nZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5yYW5nZVNwYW47IH07XHJcblxyXG4gIFNsaWRlci5wcm90b3R5cGUuZ2V0S25vYiA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5rbm9iU3BhbjsgfTtcclxuXHJcbiAgU2xpZGVyLnByb3RvdHlwZS5zZXRWYWx1ZSA9IGZ1bmN0aW9uKHgpIHtcclxuICAgIGlmICh0eXBlb2YgeCA9PSAndW5kZWZpbmVkJykgeCA9IHRoaXMuZGF0YS52YWw7XHJcbiAgICBlbHNlIGlmICghdGhpcy5kYXRhLnNldFZhbHVlKHgpKSByZXR1cm47XHJcbiAgICB4ID0gdGhpcy5kYXRhLnZhbDtcclxuICAgIGlmICh0aGlzLnBvcyA9PSAnTicgfHwgdGhpcy5wb3MgPT0gJ1cnKSB4ID0gMS4wIC0geDtcclxuICAgIHggKj0gdGhpcy5yaDtcclxuICAgIHRoaXMuY29vcmQgPSB4O1xyXG4gICAgeCArPSB0aGlzLmR5O1xyXG4gICAgaWYgKHRoaXMucG9zID09ICdOJyB8fCB0aGlzLnBvcyA9PSAnUycpIHtcclxuICAgICAgdGhpcy5zdGxLLnRvcCA9IHggKyAncHgnO1xyXG4gICAgICB0aGlzLmtub2Iuc3R5bGUudG9wID0geCArICdweCc7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zdGxLLmxlZnQgPSB4ICsgJ3B4JztcclxuICAgICAgdGhpcy5rbm9iLnN0eWxlLmxlZnQgPSB4ICsgJ3B4JztcclxuICAgIH1cclxuICB9O1xyXG5cclxuICBTbGlkZXIucHJvdG90eXBlLm9uTW92ZSA9IGZ1bmN0aW9uKHgsIHkpIHtcclxuICAgIHZhciBjb29yZDtcclxuICAgIGlmICh0aGlzLnBvcyA9PSAnTicgfHwgdGhpcy5wb3MgPT0gJ1MnKSBjb29yZCA9IHRoaXMuY29vcmQgKyB5IC0gdGhpcy5kcmFnWTtcclxuICAgIGVsc2UgY29vcmQgPSB0aGlzLmNvb3JkICsgeCAtIHRoaXMuZHJhZ1g7XHJcbiAgICBpZiAoY29vcmQgPCAwKSBjb29yZCA9IDA7XHJcbiAgICBpZiAoY29vcmQgPiB0aGlzLnJoKSBjb29yZCA9IHRoaXMucmg7XHJcbiAgICB0aGlzLm1vdmUoY29vcmQpO1xyXG4gIH07XHJcblxyXG4gIFNsaWRlci5wcm90b3R5cGUubW92ZSA9IGZ1bmN0aW9uKGNvb3JkKSB7XHJcbiAgICBpZiAodGhpcy5jb29yZCA9PSBjb29yZCkgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMucG9zID09ICdOJyB8fCB0aGlzLnBvcyA9PSAnUycpIHtcclxuICAgICAgdGhpcy5rbm9iLnN0eWxlLnRvcCA9IGNvb3JkICsgdGhpcy5keSArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsSy50b3AgPSB0aGlzLmtub2Iuc3R5bGUudG9wO1xyXG4gICAgICB0aGlzLmRyYWdZICs9IGNvb3JkIC0gdGhpcy5jb29yZDtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmtub2Iuc3R5bGUubGVmdCA9IGNvb3JkICsgdGhpcy5keSArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsSy5sZWZ0ID0gdGhpcy5rbm9iLnN0eWxlLmxlZnQ7XHJcbiAgICAgIHRoaXMuZHJhZ1ggKz0gY29vcmQgLSB0aGlzLmNvb3JkO1xyXG4gICAgfVxyXG4gICAgdmFyIHggPSBjb29yZCAvIHRoaXMucmg7XHJcbiAgICBpZiAodGhpcy5wb3MgPT0gJ04nIHx8IHRoaXMucG9zID09ICdXJykgeCA9IDEuMCAtIHg7XHJcbiAgICBpZiAodGhpcy5kYXRhLnNldFZhbHVlKHgpKSB0aGlzLmRhdGEuZW1pdCh0aGlzKTtcclxuICAgIHRoaXMuY29vcmQgPSBjb29yZDtcclxuICB9O1xyXG5cclxuICBTbGlkZXIucHJvdG90eXBlLmZvcndhcmQgPSBmdW5jdGlvbihtc2cpIHtcclxuICAgIHRoaXMuZW1pdChtc2cpO1xyXG4gICAgaWYgKHRoaXMuZGF0YS5yZWFkKG1zZykpIHtcclxuICAgICAgdGhpcy5zZXRWYWx1ZSgpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4gIGZ1bmN0aW9uIFBhZChhcmcpIHtcclxuICAgIF9pbml0S25vYi5jYWxsKHRoaXMsIGFyZywge3BvczonTicsIHJ3OjEyOCwgcmg6MTI4LCBrdzoyNCwga2g6MTZ9KTtcclxuICB9XHJcbiAgUGFkLnByb3RvdHlwZSA9IG5ldyBfS25vYigpO1xyXG5cclxuICBQYWQucHJvdG90eXBlLmNoYW5uZWwgPSBmdW5jdGlvbihjKSB7XHJcbiAgICB2YXIgY2hhbiA9IF9jaGFubmVsTWFwW2NdO1xyXG4gICAgaWYgKHR5cGVvZiBjaGFuICE9ICd1bmRlZmluZWQnICYmIGNoYW4gIT0gdGhpcy5jaGFuKSB7XHJcbiAgICAgIHRoaXMuY2hhbiA9IGNoYW47XHJcbiAgICAgIHRoaXMuZGF0YVguY2hhbiA9IGNoYW47XHJcbiAgICAgIHRoaXMuZGF0YVkuY2hhbiA9IGNoYW47XHJcbiAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy5kYXRhWC5iYXNlLCB0aGlzLmRhdGFZLmJhc2UpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuY2hhbjtcclxuICB9O1xyXG5cclxuICBQYWQucHJvdG90eXBlLmNyZWF0ZUF0ID0gZnVuY3Rpb24oYXQpIHtcclxuICAgIGF0LmlubmVySFRNTCA9ICcnO1xyXG4gICAgdmFyIGJoID0gcGFyc2VJbnQodGhpcy5jdXJyZW50LmJoKTtcclxuICAgIHZhciBidyA9IHBhcnNlSW50KHRoaXMuY3VycmVudC5idyk7XHJcbiAgICB2YXIgcmggPSBwYXJzZUludCh0aGlzLmN1cnJlbnQucmgpOyBpZiAoIXJoKSByaCA9IDEyODtcclxuICAgIHRoaXMucmggPSByaDtcclxuICAgIHZhciBydyA9IHBhcnNlSW50KHRoaXMuY3VycmVudC5ydyk7IGlmICghcncpIHJ3ID0gMTI4O1xyXG4gICAgdGhpcy5ydyA9IHJ3O1xyXG4gICAgdmFyIGtoID0gcGFyc2VJbnQodGhpcy5jdXJyZW50LmtoKTsgaWYgKCFraCkga2ggPSAyNDtcclxuICAgIHZhciBrdyA9IHBhcnNlSW50KHRoaXMuY3VycmVudC5rdyk7IGlmICgha3cpIGt3ID0gMTY7XHJcbiAgICB2YXIgcG9zID0gdGhpcy5jdXJyZW50LnBvcy50b1VwcGVyQ2FzZSgpO1xyXG4gICAgdGhpcy5wb3MgPSBwb3M7XHJcbiAgICBpZiAoIXRoaXMuZGF0YVgpIHtcclxuICAgICAgdGhpcy5kYXRhWCA9IG5ldyBfRGF0YSh0aGlzLmN1cnJlbnQuZGF0YVgpO1xyXG4gICAgICB0aGlzLmRhdGFZID0gbmV3IF9EYXRhKHRoaXMuY3VycmVudC5kYXRhWSk7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jdXJyZW50LmRhdGFYID09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB0aGlzLmN1cnJlbnQuZGF0YVkgIT0gJ3VuZGVmaW5lZCcgJiYgIXRoaXMuZGF0YVkubXNiKSB0aGlzLmRhdGFYID0gbmV3IF9EYXRhKCdtb2QnKTtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmN1cnJlbnQuZGF0YVkgPT0gJ3VuZGVmaW5lZCcgJiYgIXRoaXMuZGF0YVgubXNiKSB0aGlzLmRhdGFZID0gbmV3IF9EYXRhKCdtb2QnKTtcclxuICAgICAgdGhpcy5kYXRhWC5jaGFuID0gdGhpcy5jaGFuO1xyXG4gICAgICB0aGlzLmRhdGFZLmNoYW4gPSB0aGlzLmNoYW47XHJcbiAgICAgIHRoaXMuZGF0YVguc2V0QmFzZSh0aGlzLmN1cnJlbnQuYmFzZVgpO1xyXG4gICAgICB0aGlzLmRhdGFZLnNldEJhc2UodGhpcy5jdXJyZW50LmJhc2VZKTtcclxuICAgICAgdGhpcy5kYXRhWC5zZXRWYWx1ZSh0aGlzLmN1cnJlbnQudmFsWCk7XHJcbiAgICAgIHRoaXMuZGF0YVkuc2V0VmFsdWUodGhpcy5jdXJyZW50LnZhbFkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5keCA9IC0gKGt3IC8gMiArIDEpO1xyXG4gICAgdGhpcy5keSA9IC0gKGtoIC8gMiArIDEpO1xyXG5cclxuICAgIGlmICghYmgpIGJoID0ga2ggKyByaCArIDI7XHJcbiAgICBpZiAoIWJ3KSBidyA9IGt3ICsgcncgKyAyO1xyXG4gICAgdGhpcy5zdGxCID0geyBkaXNwbGF5OidpbmxpbmUtYmxvY2snLCBwb3NpdGlvbjoncmVsYXRpdmUnLCBtYXJnaW46JzAnLCBwYWRkaW5nOicwJywgdXNlclNlbGVjdDonbm9uZScsIEtodG1sVXNlclNlbGVjdDonbm9uZScsIE1velVzZXJTZWxlY3Q6J25vbmUnLCBNc1VzZXJTZWxlY3Q6J25vbmUnLCBPVXNlclNlbGVjdDonbm9uZScsIFdlYmtpdFVzZXJTZWxlY3Q6J25vbmUnLCBjdXJzb3I6J2RlZmF1bHQnIH07XHJcbiAgICB0aGlzLnN0bEIwID0geyBib3JkZXJTdHlsZTonbm9uZScgfTtcclxuICAgIHRoaXMuc3RsQjEgPSB7IGJvcmRlclN0eWxlOidub25lJyB9O1xyXG4gICAgdGhpcy5zdGxSID0geyBkaXNwbGF5OidpbmxpbmUtYmxvY2snLCBwb3NpdGlvbjonYWJzb2x1dGUnLCBtYXJnaW46JzAnLCBwYWRkaW5nOicwJywgYm9yZGVyU3R5bGU6J3NvbGlkJywgYm9yZGVyV2lkdGg6JzFweCcgfTtcclxuICAgIHRoaXMuc3RsUjAgPSB7IGJhY2tncm91bmRDb2xvcjonI2FhYScgfTtcclxuICAgIHRoaXMuc3RsUjEgPSB7IGJhY2tncm91bmRDb2xvcjonI2JiYicgfTtcclxuICAgIHRoaXMuc3RsSyA9IHsgZGlzcGxheTonaW5saW5lLWJsb2NrJywgcG9zaXRpb246J2Fic29sdXRlJywgbWFyZ2luOicwJywgcGFkZGluZzonMCcsIGJvcmRlclN0eWxlOidzb2xpZCcsIGJvcmRlcldpZHRoOicxcHgnIH07XHJcbiAgICB0aGlzLnN0bEswID0geyBiYWNrZ3JvdW5kQ29sb3I6JyNkZGQnIH07XHJcbiAgICB0aGlzLnN0bEsxID0geyBiYWNrZ3JvdW5kQ29sb3I6JyNlZWUnIH07XHJcblxyXG4gICAgaWYgKHBvcyA9PSAnRScgfHwgcG9zID09ICdXJykge1xyXG4gICAgICB0aGlzLnN0bEIud2lkdGggPSBiaCArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsQi5oZWlnaHQgPSBidyArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsUi53aWR0aCA9IHJoICsgJ3B4JztcclxuICAgICAgdGhpcy5zdGxSLmhlaWdodCA9IHJ3ICsgJ3B4JztcclxuICAgICAgdGhpcy5zdGxSLmxlZnQgPSAoKGJoIC0gcmgpIC8gMiAtIDEpICsgJ3B4JztcclxuICAgICAgdGhpcy5zdGxSLnRvcCA9ICgoYncgLSBydykgLyAyIC0gMSkgKyAncHgnO1xyXG4gICAgICB0aGlzLnN0bEsud2lkdGggPSBraCArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsSy5oZWlnaHQgPSBrdyArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsSy50b3AgPSB0aGlzLmR4ICsgJ3B4JztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnN0bEIud2lkdGggPSBidyArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsQi5oZWlnaHQgPSBiaCArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsUi53aWR0aCA9IHJ3ICsgJ3B4JztcclxuICAgICAgdGhpcy5zdGxSLmhlaWdodCA9IHJoICsgJ3B4JztcclxuICAgICAgdGhpcy5zdGxSLnRvcCA9ICgoYmggLSByaCkgLyAyIC0gMSkgKyAncHgnO1xyXG4gICAgICB0aGlzLnN0bFIubGVmdCA9ICgoYncgLSBydykgLyAyIC0gMSkgKyAncHgnO1xyXG4gICAgICB0aGlzLnN0bEsud2lkdGggPSBrdyArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsSy5oZWlnaHQgPSBraCArICdweCc7XHJcbiAgICAgIHRoaXMuc3RsSy5sZWZ0ID0gdGhpcy5keCArICdweCc7XHJcbiAgICB9XHJcblxyXG4gICAgdmFyIGJveCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgIHRoaXMuYm94ID0gYm94O1xyXG4gICAgdmFyIGJveF8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICBfc3R5bGUoYm94XywgX2lubmVyU3R5bGUpO1xyXG4gICAgdGhpcy5ib3hTcGFuID0gbmV3IF9TcGFuKHRoaXMsIGJveCwgYm94XywgdGhpcy5zdGxCLCB0aGlzLnN0bEIwLCB0aGlzLnN0bEIxKTtcclxuICAgIHZhciByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcclxuICAgIHRoaXMucmFuZ2UgPSByYW5nZTtcclxuICAgIHZhciByYW5nZV8gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICBfc3R5bGUocmFuZ2VfLCBfaW5uZXJTdHlsZSk7XHJcbiAgICB0aGlzLnJhbmdlU3BhbiA9IG5ldyBfU3Bhbih0aGlzLCByYW5nZSwgcmFuZ2VfLCB0aGlzLnN0bFIsIHRoaXMuc3RsUjAsIHRoaXMuc3RsUjEpO1xyXG4gICAgdmFyIGtub2IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICB0aGlzLmtub2IgPSBrbm9iO1xyXG4gICAgdGhpcy5rbm9iU3BhbiA9IG5ldyBfU3Bhbih0aGlzLCBrbm9iLCBrbm9iLCB0aGlzLnN0bEssIHRoaXMuc3RsSzAsIHRoaXMuc3RsSzEpO1xyXG4gICAgdGhpcy5zcGFucyA9IFt0aGlzLmJveFNwYW4sIHRoaXMucmFuZ2VTcGFuLCB0aGlzLmtub2JTcGFuXTtcclxuXHJcbiAgICB2YXIgYWN0aXZlID0gdHlwZW9mIHRoaXMuY3VycmVudC5hY3RpdmUgPT0gJ3VuZGVmaW5lZCcgfHwgdGhpcy5jdXJyZW50LmFjdGl2ZTtcclxuICAgIGlmIChhY3RpdmUpIHtcclxuICAgICAgYm94LmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaHN0YXJ0XCIsIF9JZ25vcmVUb3VjaCk7XHJcbiAgICAgIGtub2IuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCBfTW91c2VEb3duKHRoaXMpKTtcclxuICAgICAga25vYi5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCBfVG91Y2hTdGFydCh0aGlzKSk7XHJcbiAgICAgIGtub2IuYWRkRXZlbnRMaXN0ZW5lcihcInRvdWNobW92ZVwiLCBfVG91Y2hNb3ZlKHRoaXMpKTtcclxuICAgICAga25vYi5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hlbmRcIiwgX1RvdWNoRW5kKHRoaXMpKTtcclxuICAgICAga25vYi5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hjYW5jZWxcIiwgX1RvdWNoRW5kKHRoaXMpKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmN1cnJlbnQub25DcmVhdGUpIHRoaXMuY3VycmVudC5vbkNyZWF0ZS5hcHBseSh0aGlzKTtcclxuICAgIHJhbmdlLmFwcGVuZENoaWxkKHJhbmdlXyk7XHJcbiAgICByYW5nZS5hcHBlbmRDaGlsZChrbm9iKTtcclxuICAgIGJveC5hcHBlbmRDaGlsZChib3hfKTtcclxuICAgIGJveC5hcHBlbmRDaGlsZChyYW5nZSk7XHJcbiAgICBib3gub25kcmFnc3RhcnQgPSBfcmV0dXJuRmFsc2U7XHJcbiAgICBib3gub25zZWxlY3RzdGFydCA9IF9yZXR1cm5GYWxzZTtcclxuICAgIGF0LmFwcGVuZENoaWxkKGJveCk7XHJcbiAgICBpZiAoIXRoaXMuYXQgJiYgdGhpcy5iaW5zLmxlbmd0aCA+IDEpIHtcclxuICAgICAgdmFyIHNlbGYgPSB0aGlzO1xyXG4gICAgICB0aGlzLnJlc2l6ZSA9IGZ1bmN0aW9uKCkgeyBzZWxmLm9uUmVzaXplKCk7IH07XHJcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLnJlc2l6ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmN1cnJlbnQuYXQgPSBhdDtcclxuICAgIHRoaXMuYXQgPSBhdDtcclxuICAgIHRoaXMuc2V0VmFsdWUoKTtcclxuICAgIF9zdHlsZSh0aGlzLmJveCwgdHlwZW9mIHRoaXMuZHJhZ1ggPT0gJ3VuZGVmaW5lZCcgPyB0aGlzLnN0bEIwIDogdGhpcy5zdGxCMSk7XHJcbiAgICBfc3R5bGUodGhpcy5ib3gsIHRoaXMuc3RsQik7XHJcbiAgICBfc3R5bGUodGhpcy5yYW5nZSwgdHlwZW9mIHRoaXMuZHJhZ1ggPT0gJ3VuZGVmaW5lZCcgPyB0aGlzLnN0bFIwIDogdGhpcy5zdGxSMSk7XHJcbiAgICBfc3R5bGUodGhpcy5yYW5nZSwgdGhpcy5zdGxSKTtcclxuICAgIF9zdHlsZSh0aGlzLmtub2IsIHR5cGVvZiB0aGlzLmRyYWdYID09ICd1bmRlZmluZWQnID8gdGhpcy5zdGxLMCA6IHRoaXMuc3RsSzEpO1xyXG4gICAgX3N0eWxlKHRoaXMua25vYiwgdGhpcy5zdGxLKTtcclxuICB9O1xyXG5cclxuICBQYWQucHJvdG90eXBlLmdldEJveCA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpcy5ib3hTcGFuOyB9O1xyXG5cclxuICBQYWQucHJvdG90eXBlLmdldFJhbmdlID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLnJhbmdlU3BhbjsgfTtcclxuXHJcbiAgUGFkLnByb3RvdHlwZS5nZXRLbm9iID0gZnVuY3Rpb24oKSB7IHJldHVybiB0aGlzLmtub2JTcGFuOyB9O1xyXG5cclxuICBQYWQucHJvdG90eXBlLnNldFZhbHVlID0gZnVuY3Rpb24oeCwgeSkge1xyXG4gICAgaWYgKHR5cGVvZiB4ID09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHggPSB0aGlzLmRhdGFYLnZhbDtcclxuICAgICAgeSA9IHRoaXMuZGF0YVkudmFsO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoIXRoaXMuZGF0YVguc2V0VmFsdWUoeCkgJiYgIXRoaXMuZGF0YVkuc2V0VmFsdWUoeSkpIHJldHVybjtcclxuICAgIHggPSB0aGlzLmRhdGFYLnZhbDtcclxuICAgIHkgPSB0aGlzLmRhdGFZLnZhbDtcclxuICAgIGlmICh0aGlzLnBvcyA9PSAnTicgfHwgdGhpcy5wb3MgPT0gJ1cnKSB5ID0gMS4wIC0geTtcclxuICAgIGlmICh0aGlzLnBvcyA9PSAnUycgfHwgdGhpcy5wb3MgPT0gJ1cnKSB4ID0gMS4wIC0geDtcclxuICAgIHggKj0gdGhpcy5ydztcclxuICAgIHkgKj0gdGhpcy5yaDtcclxuICAgIGlmICh0aGlzLnBvcyA9PSAnTicgfHwgdGhpcy5wb3MgPT0gJ1MnKSB7XHJcbiAgICAgIHRoaXMuY29vcmRYID0geDtcclxuICAgICAgdGhpcy5jb29yZFkgPSB5O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuY29vcmRYID0geTtcclxuICAgICAgdGhpcy5jb29yZFkgPSB4O1xyXG4gICAgfVxyXG4gICAgeCArPSB0aGlzLmR4O1xyXG4gICAgeSArPSB0aGlzLmR5O1xyXG4gICAgaWYgKHRoaXMucG9zID09ICdOJyB8fCB0aGlzLnBvcyA9PSAnUycpIHtcclxuICAgICAgdGhpcy5zdGxLLmxlZnQgPSB4ICsgJ3B4JztcclxuICAgICAgdGhpcy5zdGxLLnRvcCA9IHkgKyAncHgnO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RsSy50b3AgPSB4ICsgJ3B4JztcclxuICAgICAgdGhpcy5zdGxLLmxlZnQgPSB5ICsgJ3B4JztcclxuICAgIH1cclxuICAgIHRoaXMua25vYi5zdHlsZS5sZWZ0ID0gdGhpcy5zdGxLLmxlZnQ7XHJcbiAgICB0aGlzLmtub2Iuc3R5bGUudG9wID0gdGhpcy5zdGxLLnRvcDtcclxuICB9O1xyXG5cclxuICBQYWQucHJvdG90eXBlLm9uTW92ZSA9IGZ1bmN0aW9uKHgsIHkpIHtcclxuICAgIHggPSB0aGlzLmNvb3JkWCArIHggLSB0aGlzLmRyYWdYO1xyXG4gICAgeSA9IHRoaXMuY29vcmRZICsgeSAtIHRoaXMuZHJhZ1k7XHJcbiAgICBpZiAoeCA8IDApIHggPSAwO1xyXG4gICAgaWYgKHkgPCAwKSB5ID0gMDtcclxuICAgIGlmICh0aGlzLnBvcyA9PSAnTicgfHwgdGhpcy5wb3MgPT0gJ1MnKSB7XHJcbiAgICAgIGlmICh4ID4gdGhpcy5ydykgeCA9IHRoaXMucnc7XHJcbiAgICAgIGlmICh5ID4gdGhpcy5yaCkgeSA9IHRoaXMucmg7XHJcbiAgICAgIHRoaXMua25vYi5zdHlsZS5sZWZ0ID0geCArIHRoaXMuZHggKyAncHgnO1xyXG4gICAgICB0aGlzLmtub2Iuc3R5bGUudG9wID0geSArIHRoaXMuZHkgKyAncHgnO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGlmICh4ID4gdGhpcy5yaCkgeCA9IHRoaXMucmg7XHJcbiAgICAgIGlmICh5ID4gdGhpcy5ydykgeSA9IHRoaXMucnc7XHJcbiAgICAgIHRoaXMua25vYi5zdHlsZS5sZWZ0ID0geCArIHRoaXMuZHkgKyAncHgnO1xyXG4gICAgICB0aGlzLmtub2Iuc3R5bGUudG9wID0geSArIHRoaXMuZHggKyAncHgnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zdGxLLmxlZnQgPSB0aGlzLmtub2Iuc3R5bGUubGVmdDtcclxuICAgIHRoaXMuc3RsSy50b3AgPSB0aGlzLmtub2Iuc3R5bGUudG9wO1xyXG5cclxuICAgIHRoaXMuZHJhZ1ggKz0geCAtIHRoaXMuY29vcmRYO1xyXG4gICAgdGhpcy5kcmFnWSArPSB5IC0gdGhpcy5jb29yZFk7XHJcbiAgICB0aGlzLmNvb3JkWCA9IHg7XHJcbiAgICB0aGlzLmNvb3JkWSA9IHk7XHJcbiAgICBpZiAodGhpcy5wb3MgPT0gJ0UnIHx8IHRoaXMucG9zID09ICdXJykge1xyXG4gICAgICB4ID0gdGhpcy5jb29yZFk7XHJcbiAgICAgIHkgPSB0aGlzLmNvb3JkWDtcclxuICAgIH1cclxuICAgIHggLz0gdGhpcy5ydztcclxuICAgIHkgLz0gdGhpcy5yaDtcclxuICAgIGlmICh0aGlzLnBvcyA9PSAnTicgfHwgdGhpcy5wb3MgPT0gJ1cnKSB5ID0gMS4wIC0geTtcclxuICAgIGlmICh0aGlzLnBvcyA9PSAnUycgfHwgdGhpcy5wb3MgPT0gJ1cnKSB4ID0gMS4wIC0geDtcclxuICAgIGlmICh0aGlzLmRhdGFYLnNldFZhbHVlKHgpKSB0aGlzLmRhdGFYLmVtaXQodGhpcyk7XHJcbiAgICBpZiAodGhpcy5kYXRhWS5zZXRWYWx1ZSh5KSkgdGhpcy5kYXRhWS5lbWl0KHRoaXMpO1xyXG4gIH07XHJcblxyXG4gIFBhZC5wcm90b3R5cGUuZm9yd2FyZCA9IGZ1bmN0aW9uKG1zZykge1xyXG4gICAgdGhpcy5lbWl0KG1zZyk7XHJcbiAgICBpZiAodGhpcy5kYXRhWC5yZWFkKG1zZykgfHwgdGhpcy5kYXRhWS5yZWFkKG1zZykpIHtcclxuICAgICAgdGhpcy5zZXRWYWx1ZSgpO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4gIGZ1bmN0aW9uIEVuZ1NsaWRlcigpIHt9XHJcblxyXG4gIEVuZ1NsaWRlci5wcm90b3R5cGUuX2luZm8gPSBmdW5jdGlvbihuYW1lKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0eXBlOiAnaHRtbC9qYXZhc2NyaXB0JyxcclxuICAgICAgbmFtZTogX25hbWUobmFtZSwgJ1NsaWRlcicpLFxyXG4gICAgICBtYW51ZmFjdHVyZXI6ICd2aXJ0dWFsJyxcclxuICAgICAgdmVyc2lvbjogX3ZlcnNpb25cclxuICAgIH07XHJcbiAgfTtcclxuXHJcbiAgRW5nU2xpZGVyLnByb3RvdHlwZS5fb3BlbkluID0gZnVuY3Rpb24ocG9ydCwgbmFtZSkge1xyXG4gICAgdmFyIHNsaWRlciA9IG5ldyBTbGlkZXIodGhpcy5fYXJnKTtcclxuICAgIHNsaWRlci5jb25uZWN0ID0gZnVuY3Rpb24oKSB7IHBvcnQuY29ubmVjdC5hcHBseShwb3J0LCBhcmd1bWVudHMpOyB9O1xyXG4gICAgc2xpZGVyLnNlbmQgPSBmdW5jdGlvbigpIHsgcG9ydC5zZW5kLmFwcGx5KHBvcnQsIGFyZ3VtZW50cyk7IH07XHJcbiAgICBzbGlkZXIuY3JlYXRlKCk7XHJcbiAgICBzbGlkZXIuZW1pdCA9IGZ1bmN0aW9uKG1zZykgeyBwb3J0Ll9lbWl0KG1zZyk7IH07XHJcbiAgICBwb3J0Ll9pbmZvID0gdGhpcy5faW5mbyhuYW1lKTtcclxuICAgIHBvcnQuX3JlY2VpdmUgPSBmdW5jdGlvbihtc2cpIHsgc2xpZGVyLmZvcndhcmQobXNnKTsgfTtcclxuICAgIHBvcnQuX2Nsb3NlID0gZnVuY3Rpb24oKSB7IHNsaWRlci5fY2xvc2UoKTsgfTtcclxuICAgIHBvcnQuc2V0dGluZ3MgPSBmdW5jdGlvbigpIHsgcmV0dXJuIHNsaWRlci5zZXR0aW5ncygpOyB9O1xyXG4gICAgcG9ydC5nZXRCb3ggPSBmdW5jdGlvbigpIHsgcmV0dXJuIHNsaWRlci5ib3hTcGFuOyB9O1xyXG4gICAgcG9ydC5nZXRSYW5nZSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gc2xpZGVyLnJhbmdlU3BhbjsgfTtcclxuICAgIHBvcnQuZ2V0S25vYiA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gc2xpZGVyLmtub2JTcGFuOyB9O1xyXG4gICAgcG9ydC5zZXRWYWx1ZSA9IGZ1bmN0aW9uKHgpIHsgc2xpZGVyLnNldFZhbHVlKHgpOyB9O1xyXG4gICAgcG9ydC5jaGFubmVsID0gZnVuY3Rpb24oeCkgeyByZXR1cm4gc2xpZGVyLmNoYW5uZWwoeCk7IH07XHJcbiAgICBwb3J0Ll9yZXN1bWUoKTtcclxuICB9O1xyXG5cclxuICBKWlouaW5wdXQuU2xpZGVyID0gZnVuY3Rpb24oKSB7XHJcbiAgICB2YXIgbmFtZSwgYXJnO1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMSkge1xyXG4gICAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1swXSA9PSAnc3RyaW5nJykgbmFtZSA9IGFyZ3VtZW50c1swXTtcclxuICAgICAgZWxzZSBhcmcgPSBhcmd1bWVudHNbMF07XHJcbiAgICB9XHJcbiAgICBlbHNlIHsgbmFtZSA9IGFyZ3VtZW50c1swXTsgYXJnID0gYXJndW1lbnRzWzFdO31cclxuICAgIHZhciBfZW5naW5lID0gbmV3IEVuZ1NsaWRlcigpO1xyXG4gICAgX2VuZ2luZS5fYXJnID0gYXJnO1xyXG4gICAgcmV0dXJuIEpaWi5saWIub3Blbk1pZGlJbihuYW1lLCBfZW5naW5lKTtcclxuICB9O1xyXG5cclxuICBKWlouaW5wdXQuU2xpZGVyLnJlZ2lzdGVyID0gZnVuY3Rpb24oKSB7XHJcbiAgICB2YXIgbmFtZSwgYXJnO1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT0gMSkge1xyXG4gICAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1swXSA9PSAnc3RyaW5nJykgbmFtZSA9IGFyZ3VtZW50c1swXTtcclxuICAgICAgZWxzZSBhcmcgPSBhcmd1bWVudHNbMF07XHJcbiAgICB9XHJcbiAgICBlbHNlIHsgbmFtZSA9IGFyZ3VtZW50c1swXTsgYXJnID0gYXJndW1lbnRzWzFdO31cclxuICAgIHZhciBfZW5naW5lID0gbmV3IEVuZ1NsaWRlcigpO1xyXG4gICAgX2VuZ2luZS5fYXJnID0gYXJnO1xyXG4gICAgcmV0dXJuIEpaWi5saWIucmVnaXN0ZXJNaWRpSW4obmFtZSwgX2VuZ2luZSk7XHJcbiAgfTtcclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbiAgZnVuY3Rpb24gRW5nUGFkKCkge31cclxuXHJcbiAgRW5nUGFkLnByb3RvdHlwZS5faW5mbyA9IGZ1bmN0aW9uKG5hbWUpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHR5cGU6ICdodG1sL2phdmFzY3JpcHQnLFxyXG4gICAgICBuYW1lOiBfbmFtZShuYW1lLCAnUGFkJyksXHJcbiAgICAgIG1hbnVmYWN0dXJlcjogJ3ZpcnR1YWwnLFxyXG4gICAgICB2ZXJzaW9uOiBfdmVyc2lvblxyXG4gICAgfTtcclxuICB9O1xyXG5cclxuICBFbmdQYWQucHJvdG90eXBlLl9vcGVuSW4gPSBmdW5jdGlvbihwb3J0LCBuYW1lKSB7XHJcbiAgICB2YXIgcGFkID0gbmV3IFBhZCh0aGlzLl9hcmcpO1xyXG4gICAgcGFkLmNvbm5lY3QgPSBmdW5jdGlvbigpIHsgcG9ydC5jb25uZWN0LmFwcGx5KHBvcnQsIGFyZ3VtZW50cyk7IH07XHJcbiAgICBwYWQuc2VuZCA9IGZ1bmN0aW9uKCkgeyBwb3J0LnNlbmQuYXBwbHkocG9ydCwgYXJndW1lbnRzKTsgfTtcclxuICAgIHBhZC5jcmVhdGUoKTtcclxuICAgIHBhZC5lbWl0ID0gZnVuY3Rpb24obXNnKSB7IHBvcnQuX2VtaXQobXNnKTsgfTtcclxuICAgIHBvcnQuX2luZm8gPSB0aGlzLl9pbmZvKG5hbWUpO1xyXG4gICAgcG9ydC5fcmVjZWl2ZSA9IGZ1bmN0aW9uKG1zZykgeyBwYWQuZm9yd2FyZChtc2cpOyB9O1xyXG4gICAgcG9ydC5fY2xvc2UgPSBmdW5jdGlvbigpIHsgcGFkLl9jbG9zZSgpOyB9O1xyXG4gICAgcG9ydC5zZXR0aW5ncyA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gcGFkLnNldHRpbmdzKCk7IH07XHJcbiAgICBwb3J0LmdldEJveCA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gcGFkLmJveFNwYW47IH07XHJcbiAgICBwb3J0LmdldFJhbmdlID0gZnVuY3Rpb24oKSB7IHJldHVybiBwYWQucmFuZ2VTcGFuOyB9O1xyXG4gICAgcG9ydC5nZXRLbm9iID0gZnVuY3Rpb24oKSB7IHJldHVybiBwYWQua25vYlNwYW47IH07XHJcbiAgICBwb3J0LnNldFZhbHVlID0gZnVuY3Rpb24oeCkgeyBwYWQuc2V0VmFsdWUoeCk7IH07XHJcbiAgICBwb3J0LmNoYW5uZWwgPSBmdW5jdGlvbih4KSB7IHJldHVybiBwYWQuY2hhbm5lbCh4KTsgfTtcclxuICAgIHBvcnQuX3Jlc3VtZSgpO1xyXG4gIH07XHJcblxyXG4gIEpaWi5pbnB1dC5QYWQgPSBmdW5jdGlvbigpIHtcclxuICAgIHZhciBuYW1lLCBhcmc7XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgYXJndW1lbnRzWzBdID09ICdzdHJpbmcnKSBuYW1lID0gYXJndW1lbnRzWzBdO1xyXG4gICAgICBlbHNlIGFyZyA9IGFyZ3VtZW50c1swXTtcclxuICAgIH1cclxuICAgIGVsc2UgeyBuYW1lID0gYXJndW1lbnRzWzBdOyBhcmcgPSBhcmd1bWVudHNbMV07fVxyXG4gICAgdmFyIF9lbmdpbmUgPSBuZXcgRW5nUGFkKCk7XHJcbiAgICBfZW5naW5lLl9hcmcgPSBhcmc7XHJcbiAgICByZXR1cm4gSlpaLmxpYi5vcGVuTWlkaUluKG5hbWUsIF9lbmdpbmUpO1xyXG4gIH07XHJcblxyXG4gIEpaWi5pbnB1dC5QYWQucmVnaXN0ZXIgPSBmdW5jdGlvbigpIHtcclxuICAgIHZhciBuYW1lLCBhcmc7XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PSAxKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgYXJndW1lbnRzWzBdID09ICdzdHJpbmcnKSBuYW1lID0gYXJndW1lbnRzWzBdO1xyXG4gICAgICBlbHNlIGFyZyA9IGFyZ3VtZW50c1swXTtcclxuICAgIH1cclxuICAgIGVsc2UgeyBuYW1lID0gYXJndW1lbnRzWzBdOyBhcmcgPSBhcmd1bWVudHNbMV07fVxyXG4gICAgdmFyIF9lbmdpbmUgPSBuZXcgRW5nUGFkKCk7XHJcbiAgICBfZW5naW5lLl9hcmcgPSBhcmc7XHJcbiAgICByZXR1cm4gSlpaLmxpYi5yZWdpc3Rlck1pZGlJbihuYW1lLCBfZW5naW5lKTtcclxuICB9O1xyXG5cclxufSk7XHJcbiJdLCJtYXBwaW5ncyI6InlzL0xBZVk7QUFBQUEsY0FBQSxTQUFBQSxDQUFBLFNBQUFDLGNBQUEsV0FBQUEsY0FBQSxFQUFBRCxjQUFBLEdBQUFBLGNBQUEsR0FBQUUsQ0FBQSxNQWZaLENBQUMsU0FBU0MsTUFBTSxDQUFFQyxPQUFPLENBQUUsQ0FBQUosY0FBQSxHQUFBSyxDQUFBLE1BQUFMLGNBQUEsR0FBQUUsQ0FBQSxNQUN6QixHQUFJLENBQUFGLGNBQUEsR0FBQU0sQ0FBQSxlQUFPLENBQUFDLE9BQU8sR0FBSyxRQUFRLElBQUFQLGNBQUEsR0FBQU0sQ0FBQSxTQUFJLE1BQU8sQ0FBQUUsTUFBTSxHQUFLLFdBQVcsRUFBRSxDQUFBUixjQUFBLEdBQUFNLENBQUEsU0FBQU4sY0FBQSxHQUFBRSxDQUFBLE1BQ2hFRSxPQUFPLENBQUNLLEdBQUcsQ0FBR0wsT0FBTyxDQUFDSixjQUFBLEdBQUFFLENBQUEsTUFDdEJNLE1BQU0sQ0FBQ0QsT0FBTyxDQUFHSCxPQUFPLENBQzFCLENBQUMsSUFDSSxDQUFBSixjQUFBLEdBQUFNLENBQUEsU0FBQU4sY0FBQSxHQUFBRSxDQUFBLFNBQUksQ0FBQUYsY0FBQSxHQUFBTSxDQUFBLGVBQU8sQ0FBQUks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 \ No newline at end of file diff --git a/test/demo.html b/test/demo.html index 6a86863..1674215 100644 --- a/test/demo.html +++ b/test/demo.html @@ -10,12 +10,30 @@

JZZ-input-Kbd Test

+ + +

- +