define(["jquery","jqueryui","core/log"],function(a,b,c){var d={};d.doNothing=a.noop,d.returnFalse=function(){return!1},d.returnTrue=function(){return!0};var e,f,g,h,i,j,k;return d.log=function(a,b){b&&c.debug(a)},d.setUserPreferences=function(b){a.ajax({async:!0,type:"POST",url:"../editor/userpreferences.json.php",data:JSON.stringify(b),contentType:"application/json; charset=utf-8",dataType:"json"})},d.getUserPreferences=function(b){a.ajax({async:!0,type:"POST",url:"../editor/userpreferences.json.php",data:JSON.stringify({getPreferences:!0}),contentType:"application/json; charset=utf-8",dataType:"json"}).done(b)},d.scrollBarWidth=function(){var b,c,d;return d=(c=(b=a('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body")).children()).innerWidth()-c.height(99).innerWidth(),b.remove(),d},d.sanitizeHTML=function(b){return"undefined"==typeof b||""==b.replace(/^\s+$/g,"")?"":a("<div>"+b+"</div>").html()},d.sanitizeText=function(a){return"undefined"==typeof a||""==a.replace(/^\s+$/g,"")?"":a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")},d.setProtocol=function(a){var b;switch(a.wsProtocol){case"always_use_wss":b=!0;break;case"always_use_ws":b=!1;break;default:b="https:"==window.location.protocol}var c=(b?"wss://":"ws://")+a.server;a.secure=b,a.portToUse=b?a.securePort:a.port,c+=":"+a.portToUse+"/",a.monitorURL=c+a.monitorPath,a.executionURL=c+a.executionPath},d.ArrayBuffer2String=function(a){var b,c,d=new Uint8Array(a),e=[];for(b=0,c=d.length;b<c;b+=32e3)e.push(String.fromCharCode.apply(String,d.subarray(b,Math.min(b+32e3,c))));return e.join("")},d.String2ArrayBuffer=function(a){for(var b=a.length,c=new ArrayBuffer(b),d=new Uint8Array(c),e=0;e<b;e++)d[e]=a.charCodeAt(e);return c},e=0,d.getUniqueId=function(){return e++},function(){var a=/\.([^.]*)$/,b=/^(gif|jpg|jpeg|png|ico)$/i,c=/^(zip|jar|pdf|tar|bin|7z|arj|deb|gzip|rar|rpm|db|dll|rtf|doc|docx|odt|xls|xlsx)$/i,e=/^blockly[0123]?$/;d.fileExtension=function(b){var c=a.exec(b);return null!==c?c[1]:""},d.isImage=function(a){return b.test(d.fileExtension(a))},d.isBinary=function(a){return d.isImage(a)||c.test(d.fileExtension(a))},d.isBlockly=function(a){return e.test(d.fileExtension(a))};var f=/[\cA-\cZ]|[:-@]|[{-~]|\\|\[|\]|[/^`ยด]|^-|^ | $|\.\./;d.validFileName=function(a){return!(a.length<1)&&(!(a.length>128)&&!f.test(a))}}(),d.getCurrentTime=function(){return parseInt((new Date).valueOf()/1e3)},d.encodeBinary=function(a,b){return d.isBinary(a)?btoa(d.ArrayBuffer2String(b)):btoa(unescape(encodeURIComponent(b)))},d.decodeBinary=function(a,b){var c=atob(b);return d.isBinary(a)?d.String2ArrayBuffer(c):decodeURIComponent(escape(c))},d.validPath=function(a){if(a.length>256)return!1;for(var b=a.split("/"),c=0;c<b.length;c++)if(!d.validFileName(b[c]))return!1;return!0},d.getFileName=function(a){var b=a.split("/");return b[b.length-1]},d.dataFromURLData=function(a){return a.substr(a.indexOf(",")+1)},d.readZipFile=function(a,b,c,e){if("undefined"!=typeof JUnzip){var f=d.ArrayBuffer2String(a),g=new JUnzip(f);if(g.isZipFile()){g.readEntries();var h=g.entries.length;!function a(f){if(f>=h||c.isClosed())e&&e();else{var i,j=g.entries[f],k=j.fileName;if(k.match(/\/$/))a(f+1);else{c.processFile(k);var l="";if(0===j.compressionMethod?l=j.data:8===j.compressionMethod&&(l=JSInflate.inflate(j.data)),i=d.String2ArrayBuffer(l),d.isBinary(k))b({name:k,contents:btoa(l),encoding:1})||(f=h),a(f+1),c.endFile();else{var m=new Blob([i],{type:"text/plain"}),n=new FileReader;n.onload=function(d){b({name:k,contents:d.target.result,encoding:0})||(f=h),a(f+1),c.endFile()},n.readAsText(m)}}}}(0)}}else d.loadScript(["../editor/zip/inflate.js","../editor/zip/unzip.js"],function(){d.readZipFile(a,b,c,e)})},d.readSelectedFiles=function(a,b,c){var e=new d.progressBar("import","import"),f=0;c||(c=d.doNothing),e.processFile=function(a){e.setLabel(a),f++},e.endFile=function(){0===--f&&(c(),e.close())},function c(f){if(!(f>=a.length||e.isClosed())){var g=a[f];e.processFile(g.name);var h=d.isBinary(g.name),i=new FileReader,j=d.fileExtension(g.name).toLowerCase();i.onload=function(a){var i=!1;if(h)if("zip"==j)try{d.readZipFile(a.target.result,b,e,function(){c(f+1)})}catch(a){d.showErrorMessage(a+" : "+g.name)}else{var k=d.dataFromURLData(a.target.result);i=b({name:g.name,contents:k,encoding:1})}else i=b({name:g.name,contents:a.target.result,encoding:0});i&&c(f+1),e.endFile()},h?"zip"==j?i.readAsArrayBuffer(g):i.readAsDataURL(g):i.readAsText(g)}}(0)},f={gif:"image/gif",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",ico:"image/vnd.microsoft.icon",pdf:"application/pdf"},d.getMIME=function(a){var b=d.fileExtension(a);return b in f?f[b]:"application/octet-stream"},d.getTimeLeft=function(a){var b="";a<0&&(b+="-",a=-a);var c=a,d=parseInt(c/86400);c-=86400*d,0!==d&&(b+=d+"T");var e=parseInt(c/3600);c-=3600*e;var f=parseInt(c/60);c-=60*f;var g=parseInt(c);return b+=("00"+e).substr(-2)+":",b+=("00"+f).substr(-2),a<3600&&(b+=":"+("00"+g).substr(-2)),b},g={abap:"abap",abc:"abc",ada:"ada",ads:"ada",adb:"ada",as:"actionscript",as3:"actionscript",asm:"assembly_x86",bash:"sh",bat:"batchfile",c:"c_cpp",C:"c_cpp",cc:"c_cpp",cpp:"c_cpp",hxx:"c_cpp",h:"c_cpp",H:"c_cpp",cases:"cases",cbl:"cobol",cob:"cobol",coffee:"coffee",clj:"clojure",cs:"csharp",css:"css",d:"d",dart:"dart",e:"eiffel",erl:"erlang",hrl:"erlang",f:"fortran",f77:"fortran",go:"golang",groovy:"groovy",gv:"dot",hs:"haskell",htm:"html",html:"html",hx:"haxe",java:"java",js:"javascript",json:"json",jsp:"jsp",jsx:"jsx",kt:"kotlin",kts:"kotlin",m:"matlab",md:"markdown",less:"less",lisp:"lisp",lsp:"lisp",lua:"lua",mod:"opl",pas:"pascal",p:"pascal",perl:"perl",prl:"perl",php:"php",pro:"prolog",pl:"prolog",py:"python",R:"r",r:"r",rb:"ruby",ruby:"ruby",s:"assembly_x86",sass:"sass",scala:"scala",scm:"scheme",scss:"scss",sh:"sh",swift:"swift",sql:"sql",svg:"svg",tex:"tex",tcl:"tcl",ts:"typescript",twig:"twig",v:"verilog",vbs:"vbscript",vhd:"vhdl",vhdl:"vhdl",xml:"xml",xsl:"xml",yaml:"yaml"},d.langType=function(a){return a in g?g[a]:"plain_text"},d.getThemeClass=function(){return a("#vplide").length&&a("#vplide").attr("class").match(/(^| )(vpl_theme_[^ ]*)/)[2]||""},h={},i=/\{\\*\$a\\*}/g,d.str=function(a,b){return h[a]?"undefined"!=typeof b?h[a].replace(i,b):h[a]:"{"+a+"}"},d.setStr=function(a){for(var b in a)a.hasOwnProperty(b)&&(h[b]=a[b]);d.dialogbaseOptions={minWidth:200,autoOpen:!1,width:"auto",closeText:d.str("cancel"),modal:!0,dialogClass:"vpl_ide vpl_ide_dialog "+d.getThemeClass()}},function(){var a={},b={},c=0;d.delay=function(b,d,e,f){"undefined"!=typeof a[b]&&(clearTimeout(a[b]),c--),c++,a[b]=setTimeout(function(){c--,d(e,f),delete a[b]},20)},d.longDelay=function(b,d,e,f){"undefined"!=typeof a[b]&&(clearTimeout(a[b]),c--),c++,a[b]=setTimeout(function(){c--,d(e,f),delete a[b]},100)};var e=function(a,d,f,g){return"undefined"!=typeof b[a]&&clearTimeout(b[a]),setTimeout(function(){c>0?b[a]=e(a,d,f,g):(d(f,g),delete b[a])},100)};d.afterAll=function(a,c,d,f){b[a]=e(a,c,d,f)}}(),d.iconModified=function(){var a='<span title="'+d.str("modified")+'" class="vpl_ide_charicon">';return a+='<i class="fa fa-star"></i></span> '},d.iconDelete=function(){var a=' <span title="'+d.str("delete")+'" class="vpl_ide_charicon vpl_ide_delicon">';return a+='<i class="fa fa-trash"></i></span> '},d.iconClose=function(){var a=' <span title="'+d.str("closebuttontitle");return a+='" class="vpl_ide_charicon vpl_ide_closeicon"><i class="fa fa-remove"></i></span> '},d.iconRequired=function(){var a=' <span title="'+d.str("required")+'" class="vpl_ide_charicon">';return a+='<i class="fa fa-shield"></i></span> '},d.iconFolder=function(){return'<i class="fa fa-folder-open-o"></i>'},j={filelist:"folder",filelistclose:"folder-open",new:"file",rename:"pencil",delete:"trash",multidelete:"trash|list",close:"remove",comments:"commenting",import:"upload",print:"print",edit:"edit",undo:"undo",redo:"repeat",select_all:"location-arrow",find:"search",find_replace:"exchange",next:"search-plus",resetfiles:"refresh",correctedfiles:"graduation-cap",download:"download",fullscreen:"expand",regularscreen:"compress",save:"save",shortcuts:"flash",sort:"list-ol",run:"rocket",debug:"bug",evaluate:"check-square-o",console:"terminal",about:"question",info:"info-circle",alert:"warning",trash:"trash",retrieve:"download",spinner:"refresh fa-spin",keyboard:"keyboard-o",clipboard:"clipboard",timeleft:"clock-o",copy:"copy",paste:"paste",more:"plus-square",less:"minus-square",resize:"arrows-alt",graphic:"picture-o",send:"send",theme:"paint-brush",user:"user",fontsize:"text-height"},d.genIcon=function(a,b){if(!j[a])return"";var c="fa fa-";c+=b||"lg";for(var d=j[a].split("|"),e="",f=0;f<d.length;f++)e+="<i class='"+c+" fa-"+d[f]+"'></i>";return e},d.setTitleBar=function(b,c,e,f,g){var h=a(b).parent().find("span.ui-dialog-title");function i(a){var b="<a id='vpl_"+c+"_"+a+"' href='#' title='"+d.str(a)+"'>";return b+=d.genIcon(a,"fw")+"</a>"}var j=d.genIcon(e);j+=" <span class='"+c+"-title-buttons'></span>",j+="<span class='"+c+"-title-text'></span>",h.html(j);var k=h.find("span."+c+"-title-buttons"),l=h.find("span."+c+"-title-text");j="";for(var m=0;m<f.length;m++)j+=i(f[m]);k.html(j);for(var n=0;n<g.length;n++){var o=h.find("#vpl_"+c+"_"+f[n]);o.button().click(g[n]),o.css("padding","1px 3px")}return k.on("focus","*",function(){a(this).blur()}),l},d.setDialogTitleIcon=function(b,c){var e=a(b).parent().find("span.ui-dialog-title");e.html(d.genIcon(c)+" "+e.html())},d.progressBar=function(b,c,e){var f='<div class="vpl_ide_progressbaricon">'+d.genIcon("spinner")+"</div>",g=a('<div class="vpl_ide_dialog" style="display:none;">'+(' <div class="vpl_ide_progressbar">'+f+'<span class="vpl_ide_progressbarlabel"></span></div>')+"</div>");a("body").append(g);var h=g.find(".vpl_ide_progressbar").find(".vpl_ide_progressbarlabel");g.dialog({title:d.str(b),resizable:!1,autoOpen:!1,width:200,height:20,minHeight:20,modal:!0,dialogClass:"vpl_ide vpl_ide_dialog "+d.getThemeClass(),close:function(a){g&&(e&&a.originalEvent&&e(),e=!1)}}),this.setLabel=function(a,b){g&&(h.text(a),b&&h.html(d.genIcon(b)+" "+h.html()))},this.close=function(){g&&(g.dialog("destroy"),a(g).remove(),g=!1)},this.isClosed=function(){return!1===g};var i=g.siblings().find(".ui-dialog-title");i.html(d.genIcon(b)+" "+i.html()),this.setLabel(d.str(c)),g.dialog("open"),g.dialog("option","height","auto")},d.showMessage=function(b,c){var e=a.extend({},d.dialogbaseOptions,c),f=a('<div class="vpl_ide_dialog" style="display:none"></div>'),g="",h=' <span class="dmessage">'+b.replace(/\n/g,"<br>")+"</span>";f.html(h),"undefined"==typeof e.icon?g="info":(g=e.icon,delete e.icon),e.title||(e.title=d.str("warning")),a("body").append(f);var i={};"function"==typeof c.ok?(i[d.str("ok")]=function(){a(this).dialog("close"),c.ok()},i[d.str("cancel")]=function(){a(this).dialog("close")},delete e.ok):"function"==typeof c.yes?(i[d.str("yes")]=function(){a(this).dialog("close"),c.yes()},i[d.str("no")]=function(){a(this).dialog("close")},delete e.yes):i[d.str("close")]=function(){a(this).dialog("close")},e.next&&(i[d.str("next")]=function(){a(this).dialog("close"),c.next()}),e.close=function(){a(this).remove(),c.close&&c.close()},e.buttons=i,f.dialog(e);var j=f.siblings().find(".ui-dialog-title");return j.html(d.genIcon(g)+" "+j.html()),f.setMessage=function(b){a(f).find(".dmessage").html(b.replace(/\n/g,"<br>"))},f.dialog("open"),f},d.showErrorMessage=function(b,c){var e=a.extend({},d.dialogbaseOptions,{title:d.str("error"),icon:"alert"});return c&&(e=a.extend(e,c)),d.showMessage(b,e)},d.requestAction=function(b,c,e,f){var g=a.Deferred(),h=null,i=!1;""===c&&(c="connecting");var j=new d.progressBar(b,c,function(){4!=h.readyState&&i&&i.abort&&i.abort()});return h=a.ajax({beforeSend:function(a){return i=a,!0},async:!0,type:"POST",url:f+b,data:JSON.stringify(e),contentType:"application/json; charset=utf-8",dataType:"json"}).always(function(){j.close()}).done(function(a){a.success?g.resolve(a.response):g.reject(a.error)}).fail(function(a,b,c){var e=d.str("connection_fail")+": "+b;d.log(e),g.reject(e)}),g},d.supportWebSocket=function(){return"WebSocket"in window},d.isAndroid=function(){return window.navigator.userAgent.indexOf("Android")>-1},d.isFirefox=function(){return window.navigator.userAgent.indexOf("Firefox")>-1},d.isMac=function(){return window.navigator.userAgent.indexOf("Mac")>-1},d.clickServer=function(b){var c=screen.width/2-275,e=screen.height/2-225;try{var f="toolbar=no, location=no, directories=no, status=no, menubar=no";if(f+=", resizable=yes, scrollbars=yes, copyhistory=no, width=550",f+=", height=450, top="+e+", left="+c,!window.open(a(this).attr("href"),"_blank",f))return!0}catch(a){return d.log(a),!0}return b.preventDefault(),a(this).parent().hide(),!1},d.acceptCertificates=function(b,c){if(b.length>0){var e,f=d.str("acceptcertificatesnote");for(e in f+="<ol>",b)if(b.hasOwnProperty(e)){var g=1+e;f+='<li><a href="'+b[e]+'" target="_blank">Server ',f+=g+"</a><br></li>"}f+="</ol>";var h=d.showMessage(f,{ok:function(){var a=c();a&&a()},icon:"unlocked",title:d.str("acceptcertificates")});a(h).find("a").on("click keypress",d.clickServer)}else d.log("servers.length == 0"),d.showErrorMessage(d.str("connection_fail"))},d.webSocketMonitor=function(b,c,e,f){d.setProtocol(b);var g=null,h=null,i=a.Deferred(),j=function(a){i.reject(a)},k=!1,l={message:function(a){var b=/^([^:]*):?(.*)/i.exec(a),c=b[1],g=b[2];"running"==c&&(c=e);var i=d.str(c);g>""&&(i+=": "+g),null===h||h.isClosed()?f.getConsole&&f.getConsole().isOpen()?f.getConsole().setMessage(i):d.log("Error: no dialog. Message not shown: "+i):h.setLabel(i)},compilation:function(a){f.setResult&&f.setResult({compilation:a},!1)},retrieve:function(){h.close(),k=!0,d.requestAction("retrieve","","",f.ajaxurl).done(function(a){i.resolve(),f.setResult&&f.setResult(a,!0)}).fail(j)},run:function(a){h.close(),f.run(a,b,g)},close:function(){d.log("ws close message from jail"),g.close(),f.close&&f.close()}};try{if(!d.supportWebSocket())return d.log("ws not available"),i.reject(d.str("browserupdate")),i;g=new WebSocket(b.monitorURL)}catch(a){return d.log("ws new say "+a),i.reject(a.message),i}return h=new d.progressBar(c,"connecting",function(){i.reject("Stopped by user"),g.close()}),g.notOpen=!0,g.onopen=function(){g.notOpen=!1,h.setLabel(d.str("connected"))},g.onerror=function(a){d.log("ws error "+a),h.close(),b.secure&&g.notOpen?d.requestAction("getjails","retrieve",{},f.ajaxurl).done(function(a){d.acceptCertificates(a.servers,function(){return f.getLastAction()})}).fail(j):i.reject(d.str("connection_fail"))},g.onclose=function(){f.getConsole&&f.getConsole().disconnect(),g.notOpen||(h.close(),k||"rejected"==i.state()||i.resolve())},g.onmessage=function(a){var b=/^([^:]+):/i.exec(a.data);if(null!==b){var c=b[1],e=a.data.substr(c.length+1);l[c]&&l[c](e)}else h.setLabel(d.str("error")+": "+a.data)},i},d.processResult=function(a,b,c,e,f){if("undefined"==typeof a||""==a.replace(/^\s+$/gm,""))return"";function g(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/,"\\$&")}var h=/\([-]?[\d]+[.]?[\d]*\)\s*$/,i=/^-/,j=/^\s*>/,k=new RegExp("\\[err\\]|error|"+g(d.str("error")),"i"),l=new RegExp("\\[warn\\]|warning|note|"+g(d.str("warning")),"i"),m=new RegExp("\\[info\\]|information","i"),n="",o="",p="",q="",r=a.split(/\r\n|\n|\r/),s=[],t=!1,u=!1,v=!1;function w(a){return"undefined"==typeof c[a].getTagId?'href="#" ':'href="#'+c[a].getTagId()+'" '}function x(a,e){for(var f=!1,g=0;g<s.length;g++)for(var h,i=s[g];null!==(h=i.exec(a));){var j,n=c[g].getAnnotations();u=g,f=!0,j=a.search(k)>-1?"error":a.search(l)>-1?"warning":a.search(m)>-1?"info":"error",t={row:h[2]-1,column:h[3],type:j,text:e},n.push(t);var o=b[g],p=w(g),q=d.sanitizeText(o),r='data-file="'+o+'" data-line="'+h[2]+'"';a=a.replace(i,"$1<a "+p+' class="vpl_fl" '+r+">"+q+":$2$3</a>"),c[g].setAnnotations(n)}return!f&&t&&(""!==e?(t.text+="\n"+e,c[u].setAnnotations(c[u].getAnnotations())):t=!1),a}function y(a){t=!1,a=a.substr(1);var b=h.exec(a);null!==b&&(a=a.substr(0,a.length-b[0].length));var c="";return f&&(c+='<details open="open"><summary>'),c+='<b class="ui-widget-header ui-corner-all">'+d.sanitizeText(a)+"</b><br>",f&&(c+="</summary>"),c=x(c,a)}function z(){t=!1;var a=p;return p="",a}function A(a){var b=d.sanitizeText(a);p+=x(b,a)+"<br>"}function B(a){var b=d.sanitizeText(a);q+=x(b,a)+"\n"}function C(){t=!1;var a=q;return q="","<pre><i>"+a+"</i></pre>"}!function(){for(var a=0;a<b.length;a++){var c="(^| |/)"+g(b[a])+"[:(](\\d+)([:,](\\d+)\\)?)?";s[a]=new RegExp(c,"")}}();for(var D=0;D<r.length;D++){var E=r[D];if(e)o+=x(d.sanitizeText(E),E)+"\n";else{var F=j.exec(E),G=j.test(E);if(null!==F!=G&&d.log("error"),i.test(E)){switch(n){case"comment":o+=z();break;case"case":o+=C()}v&&f&&(o+="</details>"),o+=y(E),v=!0,n=""}else G?("comment"==n&&(o+=z()),B(E.substr(F[0].length)),n="case"):("case"==n&&(o+=C()),A(E),n="comment")}}switch(n){case"comment":o+=z();break;case"case":o+=C()}return v&&f&&(o+="</details>"),o},k=[],d.loadScript=function(a,b){if(0!=a.length){var c=a[0];if("undefined"==typeof k[c]){a.shift(),k[c]=1;var e=document.createElement("script");e.type="text/javascript",e.src=d.options.scriptPath+c,e.onload=function(){k[c]=2,d.loadScript(a,b)},document.head.appendChild(e)}else 2==k[c]?(a.shift(),d.loadScript(a,b)):(d.log("Error loading js "+c+" "+k[c],!1),setTimeout(function(){d.loadScript(a,b)},50))}else b()},d.isScriptLoading=function(a){return"undefined"!=typeof k[a]&&1==k[a]},d.isScriptLoaded=function(a){return"undefined"!=typeof k[a]&&2==k[a]},d.adjustBlockly=function(a,b,c){for(var d=a.getAllBlocks(),e=2e4,f=-2e4,g=2e4,h=-2e4,i=0;i<d.length;i++){var j=d[i].getRelativeToSurfaceXY();e=Math.min(e,j.y),f=Math.max(f,j.y),g=Math.min(g,j.x),h=Math.max(h,j.x)}d=a.getTopBlocks();for(var k=0;k<d.length;k++)d[k].moveBy(b-g,c-e);return f-e+100+c},function(){var b=[],c=[],e=[];function f(a,b){var c=this;this.files=a,this.results=b,setTimeout(function(){c.highlight()},10)}f.prototype.highlightBlockly=function(b){d.loadScript(["../editor/blockly/blockly_compressed.js","../editor/blockly/msg/js/en.js","../editor/blockly/blocks_compressed.js"],function(){var c=a("#"+b),e=c.html();a("#"+b+"load").remove(),c.html(""),c.show(),e=a("<div />").html(e).text().replace(/\n/g,"");var f=Blockly.Xml.textToDom(e);c.html("").height(300).width(c.parent().width());var g=Blockly.inject(b,{toolbox:"",readOnly:!0,media:"../editor/blockly/media/"});Blockly.Xml.domToWorkspace(f,g);var h=d.adjustBlockly(g,10,10);c.height(h),c.width("100%"),Blockly.svgResize(g),Blockly.resizeSvgContents(g);var i=c.html();g.dispose(),c.html(i)})},f.prototype.highlight=function(){var b=this;if("undefined"!=typeof ace){for(var c=this.files,f=this.results,g=[],h=[],i=0;i<c.length;i++){var j=c[i],k="code"+j.tagId;if(d.isBlockly(j.fileName))b.highlightBlockly(k);else{var l=d.fileExtension(j.fileName),m=d.langType(l);a("#"+k).show(),a("#"+k+"load").remove();var n=ace.edit(k);n.setTheme("ace/theme/"+j.theme),n.getSession().setMode("ace/mode/"+m),n.renderer.setShowGutter(j.showln),n.setReadOnly(!0),n.setHighlightActiveLine(!1),n.setAutoScrollEditorIntoView(!0),n.setOption("maxLines",j.nl),n.getAnnotations=function(){return this.getSession().getAnnotations()},n.setAnnotations=function(a){return this.getSession().setAnnotations(a)},n.getTagId=function(){return this.vplTagId},n.vplTagId=j.tagId,g.push(n),h.push(j.fileName),e[j.tagId]=n}}for(var o=0;o<f.length;o++){var p=document.getElementById(f[o].tagId),q=p.textContent||p.innerText;p.innerHTML=d.processResult(q,h,g,f[o].noFormat,f[o].folding)}}else{d.loadScript(["../editor/ace9/ace.js"],function(){b.highlight()})}},d.addResults=function(a,b,d){c.push({tagId:a,noFormat:b,folding:d})},d.syntaxHighlightFile=function(a,c,d,e,f){b.push({tagId:a,fileName:c,theme:d,showln:e,nl:f})},d.syntaxHighlight=function(){var a=this;if("undefined"!=typeof ace)new f(b,c),b=[],c=[];else{d.loadScript(["../editor/ace9/ace.js"],function(){a.syntaxHighlight()})}},d.flEventHandler=function(a){var b=a.target.getAttribute("href").substring(1),c=a.target.getAttribute("data-line"),d=e[b];d.gotoLine(c,0),d.scrollToLine(c,!0)},d.setflEventHandler=function(){for(var a=document.getElementsByClassName("vpl_fl"),b=0;b<a.length;b++)a[b].onclick=d.flEventHandler}}(),d.options={scriptPath:""},d.init=function(b){d.options={scriptPath:""},a.extend(d.options,b)},d});