!function(t){"object"==typeof exports&&"object"==typeof module?t(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],t):t(CodeMirror)}(function(p){"use strict";var h="CodeMirror-lint-markers";function u(t){t.parentNode&&t.parentNode.removeChild(t)}function g(t,e,n,o){var r,i=(t=t,e=e,n=n,(r=document.createElement("div")).className="CodeMirror-lint-tooltip cm-s-"+t.options.theme,r.appendChild(n.cloneNode(!0)),(t.state.lint.options.selfContain?t.getWrapperElement():document.body).appendChild(r),p.on(document,"mousemove",a),a(e),null!=r.style.opacity&&(r.style.opacity=1),r);function a(t){if(!r.parentNode)return p.off(document,"mousemove",a);r.style.top=Math.max(0,t.clientY-r.offsetHeight-5)+"px",r.style.left=t.clientX+5+"px"}function s(){var t;p.off(o,"mouseout",s),i&&((t=i).parentNode&&(null==t.style.opacity&&u(t),t.style.opacity=0,setTimeout(function(){u(t)},600)),i=null)}var l=setInterval(function(){if(i)for(var t=o;;t=t.parentNode){if(t&&11==t.nodeType&&(t=t.host),t==document.body)return;if(!t){s();break}}if(!i)return clearInterval(l)},400);p.on(o,"mouseout",s)}function a(e,t,n){this.marked=[],this.options=t,this.timeout=null,this.hasGutter=n,this.onMouseOver=function(t){!function(t,e){var n=e.target||e.srcElement;if(!/\bCodeMirror-lint-mark-/.test(n.className))return;for(var o=n.getBoundingClientRect(),n=(o.left+o.right)/2,o=(o.top+o.bottom)/2,r=t.findMarksAt(t.coordsChar({left:n,top:o},"client")),i=[],a=0;a