Language: JavaScript
Label: vulnerable
CWE: CWE-79 \u2014 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.

Code:
EditorUi.prototype.extractMermaidMindmap=function(d){for(0<d[1].indexOf("orientation")&&d.splice(1,1);1<d.length&&""==d[1];)d.splice(1,1);for(var f=[],l=2;l<d.length;l++){var u=mxUtils.trim(d[l]);"["!=u&&"]"!=u&&"%%"!=u.substring(0,2)&&"##"!=u.substring(0,2)&&(u=d[l].replace(/[-|>]/g," "),""!=mxUtils.trim(u)&&" "==u.charAt(0)&&f.push(u))}return"mindmap\nroot(("+mxUtils.trim(d[1])+"))\n"+f.join("\n")};EditorUi.prototype.extractMermaidDeclaration=function(d){"o\n\n"==d.substring(0,3)&&(d=d.substring(3));
var f=d.split("```");f=1<f.length?f:d.split("<pre>");f=1<f.length?f:d.split("~~~");f=1<f.length?f:d.split("%%");f=1<f.length?f:d.split("(Begins)");f=mxUtils.trim(1>=f.length?d:f[1]);var l=f.split("\n");if(0<l.length&&"mermaid"==mxUtils.trim(l[0])||1<l.length&&0<=mxUtils.indexOf(EditorUi.mermaidDiagramTypes,l[1]))l.shift(),f=mxUtils.trim(l.join("\n")),l=f.split("\n");var u=l[0].split(" ")[0].replace(/:$/,"");try{"mindmap"==u&&2<l.length&&(f=this.extractMermaidMindmap(l))}catch(A){}"@"!=u.charAt(0)&&
0>mxUtils.indexOf(EditorUi.mermaidDiagramTypes,u)&&(f="classDiagram\n"+f);EditorUi.debug("EditorUi.extractMermaidDeclaration","\nlines:",l,"\ntype:",u,"\nvalue:",d,"\ntext:",f);return f};EditorUi.prototype.removeMermaidComments=function(d){d=d.split("\n");for(var f=[],l=0;l<d.length;l++)"%%"!=d[l].substring(0,2)&&f.push(d[l]);return f.join("\n")};EditorUi.prototype.generateMermaidImage=function(d,f,l,u,A){d=this.removeMermaidComments(d);var B=mxUtils.bind(this,function(M){this.loadingMermaid=!1;null!=