!function(n){"object"==typeof exports&&"object"==typeof module?n(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],n):n(CodeMirror)}(function(c){"use strict";function t(t,i,n,l){var f;n&&n.call?(f=n,n=null):f=a(t,n,"rangeFinder"),"number"==typeof i&&(i=c.Pos(i,0));var d=a(t,n,"minFoldSize");function o(n){var o=f(t,i);if(!o||o.to.line-o.from.linet.firstLine();)i=c.Pos(i.line-1,0),u=o(!1);u&&!u.cleared&&"unfold"!==l&&(e=function(n,o,e){o=a(n,o,"widget");"function"==typeof o&&(o=o(e.from,e.to));"string"==typeof o?(e=document.createTextNode(o),(o=document.createElement("span")).appendChild(e),o.className="CodeMirror-foldmarker"):o=o&&o.cloneNode(!0);return o}(t,n,u),c.on(e,"mousedown",function(n){r.clear(),c.e_preventDefault(n)}),(r=t.markText(u.from,u.to,{replacedWith:e,clearOnEnter:a(t,n,"clearOnEnter"),__isFold:!0})).on("clear",function(n,o){c.signal(t,"unfold",t,n,o)}),c.signal(t,"fold",t,u.from,u.to))}c.newFoldFunction=function(e,r){return function(n,o){t(n,o,{rangeFinder:e,widget:r})}},c.defineExtension("foldCode",function(n,o,e){t(this,n,o,e)}),c.defineExtension("isFolded",function(n){for(var o=this.findMarksAt(n),e=0;e