var Attacklab=Attacklab||{}; Attacklab.wmdPlus=function(){ this.symboltable; var _1=top; var _2=_1["Attacklab"]; var _3=_1["document"]; var _4=_1["RegExp"]; var _5=_1["navigator"]; var _6=_2.Util; var _7=_2.Position; var _8=_2.Command; _8.doAutoindent=function(_9){ _9.before=_9.before.replace(/(\n|^)[ ]{0,3}([*+-]|\d+[.])[ \t]*\n$/,"\n\n"); _9.before=_9.before.replace(/(\n|^)[ ]{0,3}>[ \t]*\n$/,"\n\n"); _9.before=_9.before.replace(/(\n|^)[ \t]+\n$/,"\n\n"); if(/(\n|^)[ ]{0,3}([*+-]|\d+[.])[ \t]+.*\n$/.test(_9.before)){ if(_8.doList){ _8.doList(_9); } } if(/(\n|^)[ ]{0,3}>[ \t]+.*\n$/.test(_9.before)){ if(_8.doBlockquote){ _8.doBlockquote(_9); } } if(/(\n|^)(\t|[ ]{4,}).*\n$/.test(_9.before)){ if(_8.doCode){ _8.doCode(_9); } } }; _8.doBlockquote=function(_a){ _a.selection=_a.selection.replace(/^(\n*)([^\r]+?)(\n*)$/,function(_b,_c,_d,_e){ _a.before+=_c; _a.after=_e+_a.after; return _d; }); _a.before=_a.before.replace(/(>[ \t]*)$/,function(_f,_10){ _a.selection=_10+_a.selection; return ""; }); _a.selection=_a.selection.replace(/^(\s|>)+$/,""); _a.selection=_a.selection||"Blockquote"; if(_a.before){ _a.before=_a.before.replace(/\n?$/,"\n"); } if(_a.after){ _a.after=_a.after.replace(/^\n?/,"\n"); } _a.before=_a.before.replace(/(((\n|^)(\n[ \t]*)*>(.+\n)*.*)+(\n[ \t]*)*$)/,function(_11){ _a.startTag=_11; return ""; }); _a.after=_a.after.replace(/^(((\n|^)(\n[ \t]*)*>(.+\n)*.*)+(\n[ \t]*)*)/,function(_12){ _a.endTag=_12; return ""; }); var _13=function(_14){ var _15=_14?"> ":""; if(_a.startTag){ _a.startTag=_a.startTag.replace(/\n((>|\s)*)\n$/,function(_16,_17){ return "\n"+_17.replace(/^[ ]{0,3}>?[ \t]*$/gm,_15)+"\n"; }); } if(_a.endTag){ _a.endTag=_a.endTag.replace(/^\n((>|\s)*)\n/,function(_18,_19){ return "\n"+_19.replace(/^[ ]{0,3}>?[ \t]*$/gm,_15)+"\n"; }); } }; if(/^(?![ ]{0,3}>)/m.test(_a.selection)){ _8.wrap(_a,_2.wmd_env.lineLength-2); _a.selection=_a.selection.replace(/^/gm,"> "); _13(true); _a.skipLines(); }else{ _a.selection=_a.selection.replace(/^[ ]{0,3}> ?/gm,""); _8.unwrap(_a); _13(false); if(!/^(\n|^)[ ]{0,3}>/.test(_a.selection)){ if(_a.startTag){ _a.startTag=_a.startTag.replace(/\n{0,2}$/,"\n\n"); } } if(!/(\n|^)[ ]{0,3}>.*$/.test(_a.selection)){ if(_a.endTag){ _a.endTag=_a.endTag.replace(/^\n{0,2}/,"\n\n"); } } } if(!/\n/.test(_a.selection)){ _a.selection=_a.selection.replace(/^(> *)/,function(_1a,_1b){ _a.startTag+=_1b; return ""; }); } }; _8.doCode=function(_1c){ var _1d=/\S[ ]*$/.test(_1c.before); var _1e=/^[ ]*\S/.test(_1c.after); if((!_1e&&!_1d)||/\n/.test(_1c.selection)){ _1c.before=_1c.before.replace(/[ ]{4}$/,function(_1f){ _1c.selection=_1f+_1c.selection; return ""; }); var _20=1; var _21=1; if(/\n(\t|[ ]{4,}).*\n$/.test(_1c.before)){ _20=0; } if(/^\n(\t|[ ]{4,})/.test(_1c.after)){ _21=0; } _1c.skipLines(_20,_21); if(!_1c.selection){ _1c.startTag=" "; _1c.selection="print(\"code sample\");"; return; } if(/^[ ]{0,3}\S/m.test(_1c.selection)){ _1c.selection=_1c.selection.replace(/^/gm," "); }else{ _1c.selection=_1c.selection.replace(/^[ ]{4}/gm,""); } }else{ _1c.trimWhitespace(); _1c.findTags(/`/,/`/); if(!_1c.startTag&&!_1c.endTag){ _1c.startTag=_1c.endTag="`"; if(!_1c.selection){ _1c.selection="print(\"code sample\");"; } }else{ if(_1c.endTag&&!_1c.startTag){ _1c.before+=_1c.endTag; _1c.endTag=""; }else{ _1c.startTag=_1c.endTag=""; } } } }; _8.autoindent={}; _8.autoindent.textOp=_8.doAutoindent; _8.blockquote={}; _8.blockquote.description="Blockquote
"; _8.blockquote.image="images/blockquote.png"; _8.blockquote.key="."; _8.blockquote.keyCode=190; _8.blockquote.textOp=function(_22){ return _8.doBlockquote(_22); }; _8.code={}; _8.code.description="Code Sample
";
_8.code.image="images/code.png";
_8.code.key="k";
_8.code.textOp=_8.doCode;
_8.img={};
_8.img.description="Image ";
_8.img.image="images/img.png";
_8.img.key="g";
_8.img.textOp=function(_23,_24){
return _8.doLinkOrImage(_23,true,_24);
};
_8.doList=function(_25,_26){
var _27=/(([ ]{0,3}([*+-]|\d+[.])[ \t]+.*)(\n.+|\n{2,}([*+-].*|\d+[.])[ \t]+.*|\n{2,}[ \t]+\S.*)*)\n*/;
var _28="";
var _29=1;
var _2a=function(){
if(_26){
var _2b=" "+_29+". ";
_29++;
return _2b;
}
var _2c=_28||"-";
return "  "+_2c+" ";
};
var _2d=function(_2e){
if(_26==undefined){
_26=/^\s*\d/.test(_2e);
}
_2e=_2e.replace(/^[ ]{0,3}([*+-]|\d+[.])\s/gm,function(_2f){
return _2a();
});
return _2e;
};
var _30=function(){
_31=_6.regexToString(_27);
_31.expression="^\n*"+_31.expression;
var _32=_6.stringToRegex(_31);
_25.after=_25.after.replace(_32,_2d);
};
_25.findTags(/(\n|^)*[ ]{0,3}([*+-]|\d+[.])\s+/,null);
var _33=/^\n/;
if(_25.before&&!/\n$/.test(_25.before)&&!_33.test(_25.startTag)){
_25.before+=_25.startTag;
_25.startTag="";
}
if(_25.startTag){
var _34=/\d+[.]/.test(_25.startTag);
_25.startTag="";
_25.selection=_25.selection.replace(/\n[ ]{4}/g,"\n");
_8.unwrap(_25);
_25.skipLines();
if(_34){
_30();
}
if(_26==_34){
return;
}
}
var _35=1;
var _31=_6.regexToString(_27);
_31.expression="(\\n|^)"+_31.expression+"$";
var _36=_6.stringToRegex(_31);
_25.before=_25.before.replace(_36,function(_37){
if(/^\s*([*+-])/.test(_37)){
_28=_4.$1;
}
_35=/[^\n]\n\n[^\n]/.test(_37)?1:0;
return _2d(_37);
});
if(!_25.selection){
_25.selection="List item";
}
var _38=_2a();
var _39=1;
_31=_6.regexToString(_27);
_31.expression="^\n*"+_31.expression;
_36=_6.stringToRegex(_31);
_25.after=_25.after.replace(_36,function(_3a){
_39=/[^\n]\n\n[^\n]/.test(_3a)?1:0;
return _2d(_3a);
});
_25.trimWhitespace(true);
_25.skipLines(_35,_39,true);
_25.startTag=_38;
var _3b=_38.replace(/./g," ");
_8.wrap(_25,_2.wmd_env.lineLength-_3b.length);
_25.selection=_25.selection.replace(/\n/g,"\n"+_3b);
};
_8.doHeading=function(_3c){
_3c.selection=_3c.selection.replace(/\s+/g," ");
_3c.selection=_3c.selection.replace(/(^\s+|\s+$)/g,"");
var _3d=0;
_3c.findTags(/#+[ ]*/,/[ ]*#+/);
if(/#+/.test(_3c.startTag)){
_3d=_4.lastMatch.length;
}
_3c.startTag=_3c.endTag="";
_3c.findTags(null,/\s?(-+|=+)/);
if(/=+/.test(_3c.endTag)){
_3d=1;
}
if(/-+/.test(_3c.endTag)){
_3d=2;
}
_3c.startTag=_3c.endTag="";
_3c.skipLines(1,1);
if(!_3c.selection){
_3c.startTag="## ";
_3c.selection="Heading";
_3c.endTag=" ##";
return;
}
var _3e=_3d==0?2:_3d-1;
if(_3e){
var _3f=_3e>=2?"-":"=";
var _40=_3c.selection.length;
if(_40>_2.wmd_env.lineLength){
_40=_2.wmd_env.lineLength;
}
_3c.endTag="\n";
while(_40--){
_3c.endTag+=_3f;
}
}
};
_8.ol={};
_8.ol.description="Numbered List 
    "; _8.ol.image="images/ol.png"; _8.ol.key="o"; _8.ol.textOp=function(_41){ _8.doList(_41,true); }; _8.ul={}; _8.ul.description="Bulleted List
      "; _8.ul.image="images/ul.png"; _8.ul.key="u"; _8.ul.textOp=function(_42){ _8.doList(_42,false); }; _8.h1={}; _8.h1.description="Heading

      /

      "; _8.h1.image="images/h1.png"; _8.h1.key="h"; _8.h1.textOp=_8.doHeading; _8.hr={}; _8.hr.description="Horizontal Rule
      "; _8.hr.image="images/hr.png"; _8.hr.key="r"; _8.hr.textOp=function(_43){ _43.startTag="----------\n"; _43.selection=""; _43.skipLines(2,1,true); }; }; if(Attacklab.fileLoaded){ Attacklab.fileLoaded("wmd-plus.js"); }