Newer
Older
define(["jquery","jqueryui","core/log"],function(a,b,c){var d,e={};e.doNothing=a.noop,e.returnFalse=function(){return!1},e.returnTrue=function(){return!0};var f,g,h,i,j,k,l;return e.log=function(a,b){b&&c.debug(a)},e.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"})},e.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)},e.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},e.sanitizeHTML=function(b){return"undefined"==typeof b||""==b.replace(/^\s+$/g,"")?"":a("<div>"+b+"</div>").html()},e.sanitizeText=function(a){return"undefined"==typeof a||""==a.replace(/^\s+$/g,"")?"":a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")},e.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},e.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("")},e.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},f=0,e.getUniqueId=function(){return f++},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,d=/^blockly[0123]?$/;e.fileExtension=function(b){var c=a.exec(b);return null!==c?c[1]:""},e.isImage=function(a){return b.test(e.fileExtension(a))},e.isBinary=function(a){return e.isImage(a)||c.test(e.fileExtension(a))},e.isBlockly=function(a){return d.test(e.fileExtension(a))};var f=/[\cA-\cZ]|[:-@]|[{-~]|\\|\[|\]|[/^`´]|^-|^ | $|\.\./;e.validFileName=function(a){return!(a.length<1)&&(!(a.length>128)&&!f.test(a))}}(),e.getCurrentTime=function(){return parseInt((new Date).valueOf()/1e3)},e.encodeBinary=function(a,b){return e.isBinary(a)?btoa(e.ArrayBuffer2String(b)):btoa(unescape(encodeURIComponent(b)))},e.decodeBinary=function(a,b){var c=atob(b);return e.isBinary(a)?e.String2ArrayBuffer(c):decodeURIComponent(escape(c))},e.validPath=function(a){if(a.length>256)return!1;for(var b=a.split("/"),c=0;c<b.length;c++)if(!e.validFileName(b[c]))return!1;return!0},e.getFileName=function(a){var b=a.split("/");return b[b.length-1]},e.dataFromURLData=function(a){return a.substr(a.indexOf(",")+1)},e.readZipFile=function(a,b,c,d){if("undefined"!=typeof JUnzip){var f=e.ArrayBuffer2String(a),g=new JUnzip(f);if(g.isZipFile()){g.readEntries();var h=g.entries.length;!function a(f){if(f>=h||c.isClosed())d&&d();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=e.String2ArrayBuffer(l),e.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 e.loadScript(["../editor/zip/inflate.js","../editor/zip/unzip.js"],function(){e.readZipFile(a,b,c,d)})},e.readSelectedFiles=function(a,b,c){var d=new e.progressBar("import","import"),f=0;c||(c=e.doNothing),d.processFile=function(a){d.setLabel(a),f++},d.endFile=function(){0===--f&&(c(),d.close())},function c(f){if(!(f>=a.length||d.isClosed())){var g=a[f];d.processFile(g.name);var h=e.isBinary(g.name),i=new FileReader,j=e.fileExtension(g.name).toLowerCase();i.onload=function(a){var i=!1;if(h)if("zip"==j)try{e.readZipFile(a.target.result,b,d,function(){c(f+1)})}catch(a){e.showErrorMessage(a+" : "+g.name)}else{var k=e.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),d.endFile()},h?"zip"==j?i.readAsArrayBuffer(g):i.readAsDataURL(g):i.readAsText(g)}}(0)},g={gif:"image/gif",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",ico:"image/vnd.microsoft.icon",pdf:"application/pdf"},e.getMIME=function(a){var b=e.fileExtension(a);return b in g?g[b]:"application/octet-stream"},e.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},h={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"},e.langType=function(a){return a in h?h[a]:"plain_text"},e.getThemeClass=function(){return a("#vplide").length&&a("#vplide").attr("class").match(/(^| )(vpl_theme_[^ ]*)/)[2]||""},i={},j=/\{\\*\$a\\*}/g,e.str=function(a,b){return i[a]?"undefined"!=typeof b?i[a].replace(j,b):i[a]:"{"+a+"}"},e.setStr=function(a){for(var b in a)a.hasOwnProperty(b)&&(i[b]=a[b]);e.dialogbaseOptions={minWidth:200,autoOpen:!1,width:"auto",closeText:e.str("cancel"),modal:!0,dialogClass:"vpl_ide vpl_ide_dialog "+e.getThemeClass()}},function(){var a={},b={},c=0;e.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)},e.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 d=function(a,e,f,g){return"undefined"!=typeof b[a]&&clearTimeout(b[a]),setTimeout(function(){c>0?b[a]=d(a,e,f,g):(e(f,g),delete b[a])},100)};e.afterAll=function(a,c,e,f){b[a]=d(a,c,e,f)}}(),e.iconModified=function(){var a='<span title="'+e.str("modified")+'" class="vpl_ide_charicon">';return a+='<i class="fa fa-star"></i></span> '},e.iconDelete=function(){var a=' <span title="'+e.str("delete")+'" class="vpl_ide_charicon vpl_ide_delicon">';return a+='<i class="fa fa-trash"></i></span> '},e.iconClose=function(){var a=' <span title="'+e.str("closebuttontitle");return a+='" class="vpl_ide_charicon vpl_ide_closeicon"><i class="fa fa-remove"></i></span> '},e.iconRequired=function(){var a=' <span title="'+e.str("required")+'" class="vpl_ide_charicon">';return a+='<i class="fa fa-shield"></i></span> '},e.iconFolder=function(){return'<i class="fa fa-folder-open-o"></i>'},k={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"},e.genIcon=function(a,b){if(!k[a])return"";var c="fa fa-";c+=b||"lg";for(var d=k[a].split("|"),e="",f=0;f<d.length;f++)e+="<i class='"+c+" fa-"+d[f]+"'></i>";return e},e.setTitleBar=function(b,c,d,f,g){var h=a(b).parent().find("span.ui-dialog-title");function i(a){var b="<a id='vpl_"+c+"_"+a+"' href='#' title='"+e.str(a)+"'>";return b+=e.genIcon(a,"fw")+"</a>"}var j=e.genIcon(d);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},e.setDialogTitleIcon=function(b,c){var d=a(b).parent().find("span.ui-dialog-title");d.html(e.genIcon(c)+" "+d.html())},e.progressBar=function(b,c,d){var f='<div class="vpl_ide_progressbaricon">'+e.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:e.str(b),resizable:!1,autoOpen:!1,width:200,height:20,minHeight:20,modal:!0,dialogClass:"vpl_ide vpl_ide_dialog "+e.getThemeClass(),close:function(a){g&&(d&&a.originalEvent&&d(),d=!1)}}),this.setLabel=function(a,b){g&&(h.text(a),b&&h.html(e.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(e.genIcon(b)+" "+i.html()),this.setLabel(e.str(c)),g.dialog("open"),g.dialog("option","height","auto")},e.showMessage=function(b,c){var d=a.extend({},e.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 d.icon?g="info":(g=d.icon,delete d.icon),d.title||(d.title=e.str("warning")),a("body").append(f);var i={};"function"==typeof c.ok?(i[e.str("ok")]=function(){a(this).dialog("close"),c.ok()},i[e.str("cancel")]=function(){a(this).dialog("close")},delete d.ok):"function"==typeof c.yes?(i[e.str("yes")]=function(){a(this).dialog("close"),c.yes()},i[e.str("no")]=function(){a(this).dialog("close")},delete d.yes):i[e.str("close")]=function(){a(this).dialog("close")},d.next&&(i[e.str("next")]=function(){a(this).dialog("close"),c.next()}),d.close=function(){a(this).remove(),c.close&&c.close()},d.buttons=i,f.dialog(d);var j=f.siblings().find(".ui-dialog-title");return j.html(e.genIcon(g)+" "+j.html()),f.setMessage=function(b){a(f).find(".dmessage").html(b.replace(/\n/g,"<br>"))},f.dialog("open"),f},e.showErrorMessage=function(b,c){var d=a.extend({},e.dialogbaseOptions,{title:e.str("error"),icon:"alert"});return c&&(d=a.extend(d,c)),e.showMessage(b,d)},e.requestAction=function(b,c,d,f){"undefined"!=typeof e.get_absolute_path()&&(f=e.get_absolute_path()+f);var g=a.Deferred(),h=null,i=!1;""===c&&(c="connecting");var j=new e.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(d),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 d=e.str("connection_fail")+": "+b;e.log(d),g.reject(d)}),g},e.supportWebSocket=function(){return"WebSocket"in window},e.isAndroid=function(){return window.navigator.userAgent.indexOf("Android")>-1},e.isFirefox=function(){return window.navigator.userAgent.indexOf("Firefox")>-1},e.isMac=function(){return window.navigator.userAgent.indexOf("Mac")>-1},e.clickServer=function(b){var c=screen.width/2-275,d=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="+d+", left="+c,!window.open(a(this).attr("href"),"_blank",f))return!0}catch(a){return e.log(a),!0}return b.preventDefault(),a(this).parent().hide(),!1},e.acceptCertificates=function(b,c){if(b.length>0){var d,f=e.str("acceptcertificatesnote");for(d in f+="<ol>",b)if(b.hasOwnProperty(d)){var g=1+d;f+='<li><a href="'+b[d]+'" target="_blank">Server ',f+=g+"</a><br></li>"}f+="</ol>";var h=e.showMessage(f,{ok:function(){var a=c();a&&a()},icon:"unlocked",title:e.str("acceptcertificates")});a(h).find("a").on("click keypress",e.clickServer)}else e.log("servers.length == 0"),e.showErrorMessage(e.str("connection_fail"))},e.webSocketMonitor=function(b,c,d,f){e.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=d);var i=e.str(c);g>""&&(i+=": "+g),null===h||h.isClosed()?f.getConsole&&f.getConsole().isOpen()?f.getConsole().setMessage(i):e.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,e.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(){e.log("ws close message from jail"),g.close(),f.close&&f.close()}};try{if(!e.supportWebSocket())return e.log("ws not available"),i.reject(e.str("browserupdate")),i;g=new WebSocket(b.monitorURL)}catch(a){return e.log("ws new say "+a),i.reject(a.message),i}return h=new e.progressBar(c,"connecting",function(){i.reject("Stopped by user"),g.close()}),g.notOpen=!0,g.onopen=function(){g.notOpen=!1,h.setLabel(e.str("connected"))},g.onerror=function(a){e.log("ws error "+a),h.close(),b.secure&&g.notOpen?e.requestAction("getjails","retrieve",{},f.ajaxurl).done(function(a){e.acceptCertificates(a.servers,function(){return f.getLastAction()})}).fail(j):i.reject(e.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],d=a.data.substr(c.length+1);l[c]&&l[c](d)}else h.setLabel(e.str("error")+": "+a.data)},i},e.processResult=function(a,b,c,d,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(e.str("error")),"i"),l=new RegExp("\\[warn\\]|warning|note|"+g(e.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,d){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:d},n.push(t);var o=b[g],p=w(g),q=e.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&&(""!==d?(t.text+="\n"+d,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><summary>"),c+='<b class="ui-widget-header ui-corner-all">'+e.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=e.sanitizeText(a);p+=x(b,a)+"<br>"}function B(a){var b=e.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(d)o+=x(e.sanitizeText(E),E)+"\n";else{var F=j.exec(E),G=j.test(E);if(null!==F!=G&&e.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},l=[],e.loadScript=function(a,b){if(0!=a.length){var c=a[0];if("undefined"==typeof l[c]){a.shift(),l[c]=1;var d=document.createElement("script");d.type="text/javascript",d.src=e.options.scriptPath+c,d.onload=function(){l[c]=2,e.loadScript(a,b)},document.head.appendChild(d)}else 2==l[c]?(a.shift(),e.loadScript(a,b)):(e.log("Error loading js "+c+" "+l[c],!1),setTimeout(function(){e.loadScript(a,b)},50))}else b()},e.isScriptLoading=function(a){return"undefined"!=typeof l[a]&&1==l[a]},e.isScriptLoaded=function(a){return"undefined"!=typeof l[a]&&2==l[a]},e.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=[],d=[];function f(a,b){var c=this;this.files=a,this.results=b,setTimeout(function(){c.highlight()},10)}f.prototype.highlightBlockly=function(b){e.loadScript(["../editor/blockly/blockly_compressed.js","../editor/blockly/msg/js/en.js","../editor/blockly/blocks_compressed.js"],function(){var c=a("#"+b),d=c.html();a("#"+b+"load").remove(),c.html(""),c.show(),d=a("<div />").html(d).text().replace(/\n/g,"");var f=Blockly.Xml.textToDom(d);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=e.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,c=this;if("undefined"==typeof ace)return b="undefined"!=typeof e.get_absolute_path()?e.get_absolute_path()+"/editor/ace9/ace.js":"../editor/ace9/ace.js",void e.loadScript([b],function(){c.highlight()});for(var f=this.files,g=this.results,h=[],i=[],j=0;j<f.length;j++){var k=f[j],l="code"+k.tagId;if(e.isBlockly(k.fileName))c.highlightBlockly(l);else{var m=e.fileExtension(k.fileName),n=e.langType(m);a("#"+l).show(),a("#"+l+"load").remove();var o=ace.edit(l);o.setTheme("ace/theme/"+k.theme),o.getSession().setMode("ace/mode/"+n),o.renderer.setShowGutter(k.showln),o.setReadOnly(!0),o.setHighlightActiveLine(!1),o.setAutoScrollEditorIntoView(!0),o.setOption("maxLines",k.nl),o.getAnnotations=function(){return this.getSession().getAnnotations()},o.setAnnotations=function(a){return this.getSession().setAnnotations(a)},o.getTagId=function(){return this.vplTagId},o.vplTagId=k.tagId,h.push(o),i.push(k.fileName),d[k.tagId]=o}}for(var p=0;p<g.length;p++){var q=document.getElementById(g[p].tagId),r=q.textContent||q.innerText;q.innerHTML=e.processResult(r,i,h,g[p].noFormat,g[p].folding)}},e.addResults=function(a,b,d){c.push({tagId:a,noFormat:b,folding:d})},e.syntaxHighlightFile=function(a,c,d,e,f){b.push({tagId:a,fileName:c,theme:d,showln:e,nl:f})},e.syntaxHighlight=function(){var a,d=this;if("undefined"==typeof ace)return a="undefined"!=typeof e.get_absolute_path()?e.get_absolute_path()+"/editor/ace9/ace.js":"../editor/ace9/ace.js",void e.loadScript([a],function(){d.syntaxHighlight()});new f(b,c),b=[],c=[]},e.flEventHandler=function(a){var b=a.target.getAttribute("href").substring(1),c=a.target.getAttribute("data-line"),e=d[b];e.gotoLine(c,0),e.scrollToLine(c,!0)},e.setflEventHandler=function(){for(var a=document.getElementsByClassName("vpl_fl"),b=0;b<a.length;b++)a[b].onclick=e.flEventHandler}}(),e.options={scriptPath:""},e.get_absolute_path=function(){return d},e.set_absolute_path=function(a){d=a},e.init=function(b){e.options={scriptPath:""},a.extend(e.options,b)},e});