HTML Editor Syntax Highlighter - Version 1.4.8

Version Description

  • Add Link button now works with page selector window
  • Some minor improvements
Download this release

Release Info

Developer nixdns
Plugin Icon 128x128 HTML Editor Syntax Highlighter
Version 1.4.8
Comparing to
See all releases

Code changes from version 1.4.7 to 1.4.8

html-editor-syntax-highlighter.php CHANGED
@@ -5,10 +5,10 @@
5
  * Description: Syntax Highlighting in WordPress HTML Editor
6
  * Author: Petr Mukhortov
7
  * Author URI: http://mukhortov.com/
8
- * Version: 1.4.7
9
  * Requires at least: 3.3
10
- * Tested up to: 3.8.1
11
- * Stable tag: 1.4.7
12
  **/
13
 
14
  if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
5
  * Description: Syntax Highlighting in WordPress HTML Editor
6
  * Author: Petr Mukhortov
7
  * Author URI: http://mukhortov.com/
8
+ * Version: 1.4.8
9
  * Requires at least: 3.3
10
+ * Tested up to: 3.9
11
+ * Stable tag: 1.4.8
12
  **/
13
 
14
  if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) { die('You are not allowed to call this page directly.'); }
lib/hesh.min.css CHANGED
@@ -1 +1 @@
1
- .CodeMirror-scroll{overflow:auto}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999}.CodeMirror div.CodeMirror-cursor{border-left:1px solid #000;z-index:3}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor{width:auto;border:0;background:#7e7;z-index:1}.cm-tab{display:inline-block}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable{color:#000}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-property{color:#000}.cm-s-default .cm-operator{color:#000}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{line-height:1;position:relative;overflow:hidden;background:#fff;color:#000}.CodeMirror-scroll{margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;padding-right:30px;height:100%;outline:0;position:relative;-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-sizer{position:relative}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;padding-bottom:30px;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;-moz-box-sizing:content-box;box-sizing:content-box;padding-bottom:30px;margin-bottom:-32px;display:inline-block;*zoom:1;*display:inline}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-lines{cursor:text}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-code pre{border-right:30px solid transparent;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.CodeMirror-wrap .CodeMirror-code pre{border-right:0;width:auto}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-measure pre{position:static}.CodeMirror div.CodeMirror-cursor{position:absolute;visibility:hidden;border-right:0;width:0}.CodeMirror-focused div.CodeMirror-cursor{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.CodeMirror span{*vertical-align:text-bottom}@media print{.CodeMirror div.CodeMirror-cursor{visibility:hidden}}.cm-s-mbo.CodeMirror{background:#2c2c2c;color:#ffffe9}.cm-s-mbo div.CodeMirror-selected{background:#716C62!important}.cm-s-mbo .CodeMirror-gutters{background:#4e4e4e;border-right:0}.cm-s-mbo .CodeMirror-linenumber{color:#dadada}.cm-s-mbo .CodeMirror-cursor{border-left:1px solid #ffffec!important}.cm-s-mbo span.cm-comment{color:#95958a}.cm-s-mbo span.cm-atom{color:#00a8c6}.cm-s-mbo span.cm-number{color:#00a8c6}.cm-s-mbo span.cm-property,.cm-s-mbo span.cm-attribute{color:#9ddfe9}.cm-s-mbo span.cm-keyword{color:#ffb928}.cm-s-mbo span.cm-string{color:#ffcf6c}.cm-s-mbo span.cm-variable{color:#ffffec}.cm-s-mbo span.cm-variable-2{color:#00a8c6}.cm-s-mbo span.cm-def{color:#ffffec}.cm-s-mbo span.cm-bracket{color:#fffffc;font-weight:700}.cm-s-mbo span.cm-tag{color:#9ddfe9}.cm-s-mbo span.cm-link{color:#f54b07}.cm-s-mbo span.cm-error{background:#636363;color:#ffffec}.cm-s-mbo .CodeMirror-activeline-background{background:#494b41!important}.cm-s-mbo .CodeMirror-matchingbracket{text-decoration:underline;color:#f5e107!important}.cm-s-mbo .CodeMirror-matchingtag{background:#4e4e4e}.cm-s-mbo span.cm-searching{background-color:none;background:0;box-shadow:0 0 0 1px #ffffec}.CodeMirror{font-family:Menlo Regular,Consolas,Monaco,monospace;line-height:150%;font-size:12px;height:500px}.wp-fullscreen-both,#wp-fullscreen-modes,.heshFullscreen #content_wp_fullscreen,#qt_content_strong,#qt_content_em,#qt_content_link,#qt_content_block,#qt_content_del,#qt_content_ins,#qt_content_img,#qt_content_ul,#qt_content_ol,#qt_content_li,#qt_content_code,#qt_content_more,#qt_content_close,#qt_content_fullscreen,.wp-editor-area{display:none!important}.quicktags-toolbar input#cm_content_fullscreen,#ed_toolbar input.cm_ed_button{display:inline-block!important}.CodeMirror-matchingbracket{background-color:#fff490;color:inherit!important;box-shadow:0 0 5px #fff490}.cm-s-mbo .CodeMirror-matchingbracket{color:#000!important;text-decoration:none}.content-resize-handle{width:12px;height:19px;cursor:ns-resize;right:2px;position:absolute}.tmce-active .content-resize-handle{display:none}#cm_content_fullscreen,#cm_select_theme{float:right}.heshFullscreen{z-index:99999;position:fixed;top:0;left:0;right:0;bottom:0;height:100%;background:#fff;padding:2% 2% 0}.heshFullscreen .CodeMirror,.heshFullscreen #ed_toolbar{border:1px solid #ccc}.heshFullscreen #ed_toolbar{border-bottom:0;border-radius:4px 4px 0 0}.heshFullscreen .CodeMirror{border-radius:0 0 4px 4px;height:85%!important}@media only screen and (max-height:550px),only screen and (max-device-height:550px){.heshFullscreen .CodeMirror{height:75%!important}}
1
+ .CodeMirror-scroll{overflow:auto}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999}.CodeMirror div.CodeMirror-cursor{border-left:1px solid #000;z-index:3}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-keymap-fat-cursor div.CodeMirror-cursor{width:auto;border:0;background:#7e7;z-index:1}.cm-tab{display:inline-block}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable{color:#000}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.cm-s-default .cm-property{color:#000}.cm-s-default .cm-operator{color:#000}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta{color:#555}.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-s-default .cm-error{color:red}.cm-invalidchar{color:red}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{line-height:1;position:relative;overflow:hidden;background:#fff;color:#000}.CodeMirror-scroll{margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;padding-right:30px;height:100%;outline:0;position:relative;-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-sizer{position:relative}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;padding-bottom:30px;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;-moz-box-sizing:content-box;box-sizing:content-box;padding-bottom:30px;margin-bottom:-32px;display:inline-block;*zoom:1;*display:inline}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-lines{cursor:text}.CodeMirror pre{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:0 0;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-code pre{border-right:30px solid transparent;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.CodeMirror-wrap .CodeMirror-code pre{border-right:none;width:auto}.CodeMirror-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-wrap .CodeMirror-scroll{overflow-x:hidden}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-measure pre{position:static}.CodeMirror div.CodeMirror-cursor{position:absolute;visibility:hidden;border-right:none;width:0}.CodeMirror-focused div.CodeMirror-cursor{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.CodeMirror span{*vertical-align:text-bottom}@media print{.CodeMirror div.CodeMirror-cursor{visibility:hidden}}.cm-s-mbo.CodeMirror{background:#2c2c2c;color:#ffffe9}.cm-s-mbo div.CodeMirror-selected{background:#716C62!important}.cm-s-mbo .CodeMirror-gutters{background:#4e4e4e;border-right:0}.cm-s-mbo .CodeMirror-linenumber{color:#dadada}.cm-s-mbo .CodeMirror-cursor{border-left:1px solid #ffffec!important}.cm-s-mbo span.cm-comment{color:#95958a}.cm-s-mbo span.cm-atom{color:#00a8c6}.cm-s-mbo span.cm-number{color:#00a8c6}.cm-s-mbo span.cm-property,.cm-s-mbo span.cm-attribute{color:#9ddfe9}.cm-s-mbo span.cm-keyword{color:#ffb928}.cm-s-mbo span.cm-string{color:#ffcf6c}.cm-s-mbo span.cm-variable{color:#ffffec}.cm-s-mbo span.cm-variable-2{color:#00a8c6}.cm-s-mbo span.cm-def{color:#ffffec}.cm-s-mbo span.cm-bracket{color:#fffffc;font-weight:700}.cm-s-mbo span.cm-tag{color:#9ddfe9}.cm-s-mbo span.cm-link{color:#f54b07}.cm-s-mbo span.cm-error{background:#636363;color:#ffffec}.cm-s-mbo .CodeMirror-activeline-background{background:#494b41!important}.cm-s-mbo .CodeMirror-matchingbracket{text-decoration:underline;color:#f5e107!important}.cm-s-mbo .CodeMirror-matchingtag{background:#4e4e4e}.cm-s-mbo span.cm-searching{background-color:none;background:0 0;box-shadow:0 0 0 1px #ffffec}.CodeMirror{font-family:Menlo Regular,Consolas,Monaco,monospace;line-height:150%;font-size:12px;height:500px}.wp-fullscreen-both,#wp-fullscreen-modes,.heshFullscreen #content_wp_fullscreen,#qt_content_strong,#qt_content_em,#qt_content_link,#qt_content_block,#qt_content_del,#qt_content_ins,#qt_content_img,#qt_content_ul,#qt_content_ol,#qt_content_li,#qt_content_code,#qt_content_more,#qt_content_close,#qt_content_fullscreen,#wp-content-editor-container .wp-editor-area{display:none!important}.quicktags-toolbar input#cm_content_fullscreen,#ed_toolbar input.cm_ed_button{display:inline-block!important}.CodeMirror-matchingbracket{background-color:#fff490;color:inherit!important;box-shadow:0 0 5px #fff490}.cm-s-mbo .CodeMirror-matchingbracket{color:#000!important;text-decoration:none}.content-resize-handle{width:12px;height:19px;cursor:ns-resize;right:2px;position:absolute}.tmce-active .content-resize-handle{display:none}#cm_content_fullscreen,#cm_select_theme{float:right}.heshFullscreen{z-index:99999;position:fixed;top:0;left:0;right:0;bottom:0;height:100%;background:#fff;padding:2% 2% 0}.heshFullscreen .CodeMirror,.heshFullscreen #ed_toolbar{border:1px solid #ccc}.heshFullscreen #ed_toolbar{border-bottom:0;border-radius:4px 4px 0 0}.heshFullscreen .CodeMirror{border-radius:0 0 4px 4px;height:85%!important}@media only screen and (max-height:550px),only screen and (max-device-height:550px){.heshFullscreen .CodeMirror{height:75%!important}}
lib/hesh.min.js CHANGED
@@ -1,8 +1,5 @@
1
- // CodeMirror version 3.20
2
- //
3
- // CodeMirror is the only global var we claim
4
- function heshPlugin(){var e=null,t=0,n=0,r=document.getElementById("content"),i=document.getElementById("post_ID")!==null?document.getElementById("post_ID").value:0,s=document.getElementById("content-html"),o=document.getElementById("content-tmce"),u=document.cookie.indexOf("theme=mbo")!==-1?"mbo":"default",a=document.cookie.indexOf("editor%3Dtinymce")!==-1?!0:!1,f=document.getElementById("content-tmce")!==null?!0:!1,l=document.getElementById("ed_toolbar"),c=document.getElementById("wp-content-editor-container"),h="heshFullscreen",p=document.getElementById("publish"),d={mode:"text/html",tabMode:"indent",theme:u,lineNumbers:!0,matchBrackets:!0,indentUnit:4,indentWithTabs:!0,enterMode:"keep",lineWrapping:!0,autofocus:!0,styleActiveLine:!0,electricChars:!1,extraKeys:{F11:function(){E()},Esc:function(){E()},"Ctrl-S":function(){p.click()},"Cmd-S":function(){p.click()}}},v=function(){if(!n){var e={more:["<!--more-->",""],comment:["<!-- "," -->"],code:["<code>","</code>"],li:["<li>","</li>"],ol:["<ol>","</ol>"],ul:["<ul>","</ul>"],img:['<img src="$" alt="','">',"Enter the URL of the image"],ins:["<ins>","</ins>"],del:["<del>","</del>"],link:['<a href="$">',"</a>","Enter the destination URL"],blockquote:["\r<blockquote>","</blockquote>\r"],h3:["<h3>","</h3>"],h2:["<h2>","</h2>"],h1:["<h1>","</h1>"],i:["<em>","</em>"],b:["<strong>","</strong>"]};for(var t in e){var r=e[t],i=r[2]?'data-prompt="'+r[2]+'"':"";l.insertAdjacentHTML("afterbegin",'<input type="button" id="cm_content_'+t+"\" data-start='"+r[0]+"' data-end='"+r[1]+"' "+i+' class="ed_button cm_ed_button" value="'+t+'">');document.getElementById("cm_content_"+t).onclick=m}x();S();n=1}},m=function(){var t=e.getCursor("start"),n=this.getAttribute("data-start"),r=this.getAttribute("data-end"),i=this.getAttribute("data-prompt")||null,s=e.getSelection();i&&(n=n.replace("$",prompt(i,"")));e.replaceSelection(n+s+r);e.setSelection(t,e.getCursor("end"));e.setCursor(t.line,t.ch+n.length);e.focus()},g=function(n){e=CodeMirror.fromTextArea(n,d);e.on("change",function(){e.save()});e.on("cursorActivity",function(){var t=e.getCursor();window.name=i+","+t.line+","+t.ch});var r=window.name.split(",");i===r[0]&&e.setCursor(parseFloat(r[1]),parseFloat(r[2]));v();w();T();t=1},y=function(){if(t){e.toTextArea();s.onclick=b;switchEditors.switchto(this);t=0}},b=function(){if(!t){switchEditors.switchto(this);g(r);o.onclick=y}},w=function(){var e=document.querySelector(".CodeMirror"),t=document.createElement("div"),n=document.getElementById("wp-content-wrap"),r=e.getBoundingClientRect().top,i=function(t){t=t||window.event;var n=(t.pageY||t.clientY+document.body.scrollTop+document.documentElement.scrollTop)-r;e.style.height=(n>10?n:10)+"px";window.getSelection().removeAllRanges()};t.className="content-resize-handle";n.appendChild(t);t.onmousedown=function(){document.onmousemove=i};document.onmouseup=function(){document.onmousemove=null}},E=function(){c.className=c.className.indexOf(h)===-1?c.className+" "+h:c.className.replace(h,"");var t=document.getElementById("cm_content_fullscreen");t.value=t.value==="fullscreen"?"exit fullscreen":"fullscreen";e.focus()},S=function(){l.insertAdjacentHTML("afterbegin",'<input type="button" id="cm_content_fullscreen" class="ed_button" title="Toggle fullscreen mode" value="fullscreen">');document.getElementById("cm_content_fullscreen").onclick=E},x=function(){var t=function(){return u==="mbo"?"light":"dark"};l.insertAdjacentHTML("afterbegin",'<input type="button" id="cm_select_theme" class="ed_button" title="Change editor colour scheme" value="'+t()+'">');document.getElementById("cm_select_theme").onclick=function(){u=u==="mbo"?"default":"mbo";e.setOption("theme",u);document.cookie="hesh_plugin=theme="+u;this.value=t()}},T=function(){if(!window.send_to_editor_wp){window.send_to_editor_wp=window.send_to_editor;window.send_to_editor=function(n){if(t){e.replaceSelection(n);e.save()}else window.send_to_editor_wp(n)}}};if(a&&f)s.onclick=b;else{g(r);f&&(o.onclick=y)}}window.CodeMirror=function(){"use strict";function x(e,n){if(!(this instanceof x))return new x(e,n);this.options=n=n||{};for(var r in er)!n.hasOwnProperty(r)&&er.hasOwnProperty(r)&&(n[r]=er[r]);H(n);var i=typeof n.value=="string"?0:n.value.first,s=this.display=T(e,i);s.wrapper.CodeMirror=this;_(this);n.autofocus&&!v&&It(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,draggingText:!1,highlight:new Qi};O(this);n.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap");var o=n.value;typeof o=="string"&&(o=new ui(n.value,n.mode));Mt(this,ci)(this,o);t&&setTimeout(os(Ft,this,!0),20);Rt(this);var u;try{u=document.activeElement==s.input}catch(a){}u||n.autofocus&&!v?setTimeout(os(pn,this),20):dn(this);Mt(this,function(){for(var e in Zn)Zn.propertyIsEnumerable(e)&&Zn[e](this,n[e],nr);for(var t=0;t<or.length;++t)or[t](this)})()}function T(e,t){var r={},i=r.input=cs("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none; font-size: 4px;");s?i.style.width="1000px":i.setAttribute("wrap","off");d&&(i.style.border="1px solid black");i.setAttribute("autocorrect","off");i.setAttribute("autocapitalize","off");i.setAttribute("spellcheck","false");r.inputDiv=cs("div",[i],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");r.scrollbarH=cs("div",[cs("div",null,null,"height: 1px")],"CodeMirror-hscrollbar");r.scrollbarV=cs("div",[cs("div",null,null,"width: 1px")],"CodeMirror-vscrollbar");r.scrollbarFiller=cs("div",null,"CodeMirror-scrollbar-filler");r.gutterFiller=cs("div",null,"CodeMirror-gutter-filler");r.lineDiv=cs("div",null,"CodeMirror-code");r.selectionDiv=cs("div",null,null,"position: relative; z-index: 1");r.cursor=cs("div"," ","CodeMirror-cursor");r.otherCursor=cs("div"," ","CodeMirror-cursor CodeMirror-secondarycursor");r.measure=cs("div",null,"CodeMirror-measure");r.lineSpace=cs("div",[r.measure,r.selectionDiv,r.lineDiv,r.cursor,r.otherCursor],null,"position: relative; outline: none");r.mover=cs("div",[cs("div",[r.lineSpace],"CodeMirror-lines")],null,"position: relative");r.sizer=cs("div",[r.mover],"CodeMirror-sizer");r.heightForcer=cs("div",null,null,"position: absolute; height: "+Ji+"px; width: 1px;");r.gutters=cs("div",null,"CodeMirror-gutters");r.lineGutter=null;r.scroller=cs("div",[r.sizer,r.heightForcer,r.gutters],"CodeMirror-scroll");r.scroller.setAttribute("tabIndex","-1");r.wrapper=cs("div",[r.inputDiv,r.scrollbarH,r.scrollbarV,r.scrollbarFiller,r.gutterFiller,r.scroller],"CodeMirror");if(n){r.gutters.style.zIndex=-1;r.scroller.style.paddingRight=0}e.appendChild?e.appendChild(r.wrapper):e(r.wrapper);d&&(i.style.width="0px");s||(r.scroller.draggable=!0);if(l){r.inputDiv.style.height="1px";r.inputDiv.style.position="absolute"}else n&&(r.scrollbarH.style.minWidth=r.scrollbarV.style.minWidth="18px");r.viewOffset=r.lastSizeC=0;r.showingFrom=r.showingTo=t;r.lineNumWidth=r.lineNumInnerWidth=r.lineNumChars=null;r.prevInput="";r.alignWidgets=!1;r.pollingFast=!1;r.poll=new Qi;r.cachedCharWidth=r.cachedTextHeight=null;r.measureLineCache=[];r.measureLineCachePos=0;r.inaccurateSelection=!1;r.maxLine=null;r.maxLineLength=0;r.maxLineChanged=!1;r.wheelDX=r.wheelDY=r.wheelStartX=r.wheelStartY=null;return r}function N(e){e.doc.mode=x.getMode(e.options,e.doc.modeOption);e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null);e.styles&&(e.styles=null)});e.doc.frontier=e.doc.first;tt(e,100);e.state.modeGen++;e.curOp&&Pt(e)}function C(e){if(e.options.lineWrapping){e.display.wrapper.className+=" CodeMirror-wrap";e.display.sizer.style.minWidth=""}else{e.display.wrapper.className=e.display.wrapper.className.replace(" CodeMirror-wrap","");P(e)}L(e);Pt(e);vt(e);setTimeout(function(){B(e)},100)}function k(e){var t=Ct(e.display),n=e.options.lineWrapping,r=n&&Math.max(5,e.display.scroller.clientWidth/kt(e.display)-3);return function(i){return Dr(e.doc,i)?0:n?(Math.ceil(i.text.length/r)||1)*t:t}}function L(e){var t=e.doc,n=k(e);t.iter(function(e){var t=n(e);t!=e.height&&vi(e,t)})}function A(e){var t=cr[e.options.keyMap],n=t.style;e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-keymap-\S+/g,"")+(n?" cm-keymap-"+n:"");e.state.disableInput=t.disableInput}function O(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-");vt(e)}function M(e){_(e);Pt(e);setTimeout(function(){F(e)},20)}function _(e){var t=e.display.gutters,n=e.options.gutters;hs(t);for(var r=0;r<n.length;++r){var i=n[r],s=t.appendChild(cs("div",null,"CodeMirror-gutter "+i));if(i=="CodeMirror-linenumbers"){e.display.lineGutter=s;s.style.width=(e.display.lineNumWidth||1)+"px"}}t.style.display=r?"":"none"}function D(e,t){if(t.height==0)return 0;var n=t.text.length,r,i=t;while(r=Or(i)){var s=r.find();i=hi(e,s.from.line);n+=s.from.ch-s.to.ch}i=t;while(r=Mr(i)){var s=r.find();n-=i.text.length-s.from.ch;i=hi(e,s.to.line);n+=i.text.length-s.to.ch}return n}function P(e){var t=e.display,n=e.doc;t.maxLine=hi(n,n.first);t.maxLineLength=D(n,t.maxLine);t.maxLineChanged=!0;n.iter(function(e){var r=D(n,e);if(r>t.maxLineLength){t.maxLineLength=r;t.maxLine=e}})}function H(e){var t=ns(e.gutters,"CodeMirror-linenumbers");if(t==-1&&e.lineNumbers)e.gutters=e.gutters.concat(["CodeMirror-linenumbers"]);else if(t>-1&&!e.lineNumbers){e.gutters=e.gutters.slice(0);e.gutters.splice(t,1)}}function B(e){var t=e.display,n=e.doc.height,r=n+ot(t);t.sizer.style.minHeight=t.heightForcer.style.top=r+"px";t.gutters.style.height=Math.max(r,t.scroller.clientHeight-Ji)+"px";var i=Math.max(r,t.scroller.scrollHeight),s=t.scroller.scrollWidth>t.scroller.clientWidth+1,o=i>t.scroller.clientHeight+1;if(o){t.scrollbarV.style.display="block";t.scrollbarV.style.bottom=s?bs(t.measure)+"px":"0";t.scrollbarV.firstChild.style.height=i-t.scroller.clientHeight+t.scrollbarV.clientHeight+"px"}else{t.scrollbarV.style.display="";t.scrollbarV.firstChild.style.height="0"}if(s){t.scrollbarH.style.display="block";t.scrollbarH.style.right=o?bs(t.measure)+"px":"0";t.scrollbarH.firstChild.style.width=t.scroller.scrollWidth-t.scroller.clientWidth+t.scrollbarH.clientWidth+"px"}else{t.scrollbarH.style.display="";t.scrollbarH.firstChild.style.width="0"}if(s&&o){t.scrollbarFiller.style.display="block";t.scrollbarFiller.style.height=t.scrollbarFiller.style.width=bs(t.measure)+"px"}else t.scrollbarFiller.style.display="";if(s&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter){t.gutterFiller.style.display="block";t.gutterFiller.style.height=bs(t.measure)+"px";t.gutterFiller.style.width=t.gutters.offsetWidth+"px"}else t.gutterFiller.style.display="";if(c&&bs(t.measure)===0){t.scrollbarV.style.minWidth=t.scrollbarH.style.minHeight=h?"18px":"12px";t.scrollbarV.style.pointerEvents=t.scrollbarH.style.pointerEvents="none"}}function j(e,t,n){var r=e.scroller.scrollTop,i=e.wrapper.clientHeight;if(typeof n=="number")r=n;else if(n){r=n.top;i=n.bottom-n.top}r=Math.floor(r-st(e));var s=Math.ceil(r+i);return{from:gi(t,r),to:gi(t,s)}}function F(e){var t=e.display;if(!t.alignWidgets&&(!t.gutters.firstChild||!e.options.fixedGutter))return;var n=R(t)-t.scroller.scrollLeft+e.doc.scrollLeft,r=t.gutters.offsetWidth,i=n+"px";for(var s=t.lineDiv.firstChild;s;s=s.nextSibling)if(s.alignable)for(var o=0,u=s.alignable;o<u.length;++o)u[o].style.left=i;e.options.fixedGutter&&(t.gutters.style.left=n+r+"px")}function I(e){if(!e.options.lineNumbers)return!1;var t=e.doc,n=q(e.options,t.first+t.size-1),r=e.display;if(n.length!=r.lineNumChars){var i=r.measure.appendChild(cs("div",[cs("div",n)],"CodeMirror-linenumber CodeMirror-gutter-elt")),s=i.firstChild.offsetWidth,o=i.offsetWidth-s;r.lineGutter.style.width="";r.lineNumInnerWidth=Math.max(s,r.lineGutter.offsetWidth-o);r.lineNumWidth=r.lineNumInnerWidth+o;r.lineNumChars=r.lineNumInnerWidth?n.length:-1;r.lineGutter.style.width=r.lineNumWidth+"px";return!0}return!1}function q(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function R(e){return vs(e.scroller).left-vs(e.sizer).left}function U(e,t,n,r){var i=e.display.showingFrom,s=e.display.showingTo,o,u=j(e.display,e.doc,n);for(var a=!0;;a=!1){var f=e.display.scroller.clientWidth;if(!z(e,t,u,r))break;o=!0;t=[];G(e);B(e);if(a&&e.options.lineWrapping&&f!=e.display.scroller.clientWidth){r=!0;continue}r=!1;n&&(n=Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,typeof n=="number"?n:n.top));u=j(e.display,e.doc,n);if(u.from>=e.display.showingFrom&&u.to<=e.display.showingTo)break}if(o){zi(e,"update",e);(e.display.showingFrom!=i||e.display.showingTo!=s)&&zi(e,"viewportChange",e,e.display.showingFrom,e.display.showingTo)}return o}function z(e,t,n,r){var i=e.display,s=e.doc;if(!i.wrapper.clientWidth){i.showingFrom=i.showingTo=s.first;i.viewOffset=0;return}if(!r&&t.length==0&&n.from>i.showingFrom&&n.to<i.showingTo)return;I(e)&&(t=[{from:s.first,to:s.first+s.size}]);var o=i.sizer.style.marginLeft=i.gutters.offsetWidth+"px";i.scrollbarH.style.left=e.options.fixedGutter?o:"0";var u=Infinity;if(e.options.lineNumbers)for(var a=0;a<t.length;++a)t[a].diff&&t[a].from<u&&(u=t[a].from);var f=s.first+s.size,l=Math.max(n.from-e.options.viewportMargin,s.first),c=Math.min(f,n.to+e.options.viewportMargin);i.showingFrom<l&&l-i.showingFrom<20&&(l=Math.max(s.first,i.showingFrom));i.showingTo>c&&i.showingTo-c<20&&(c=Math.min(f,i.showingTo));if(S){l=mi(_r(s,hi(s,l)));while(c<f&&Dr(s,hi(s,c)))++c}var h=[{from:Math.max(i.showingFrom,s.first),to:Math.min(i.showingTo,f)}];h[0].from>=h[0].to?h=[]:h=V(h,t);if(S)for(var a=0;a<h.length;++a){var p=h[a],d;while(d=Mr(hi(s,p.to-1))){var v=d.find().from.line;if(!(v>p.from)){h.splice(a--,1);break}p.to=v}}var m=0;for(var a=0;a<h.length;++a){var p=h[a];p.from<l&&(p.from=l);p.to>c&&(p.to=c);p.from>=p.to?h.splice(a--,1):m+=p.to-p.from}if(!r&&m==c-l&&l==i.showingFrom&&c==i.showingTo){X(e);return}h.sort(function(e,t){return e.from-t.from});try{var g=document.activeElement}catch(y){}m<(c-l)*.7&&(i.lineDiv.style.display="none");J(e,l,c,h,u);i.lineDiv.style.display="";g&&document.activeElement!=g&&g.offsetHeight&&g.focus();var b=l!=i.showingFrom||c!=i.showingTo||i.lastSizeC!=i.wrapper.clientHeight;if(b){i.lastSizeC=i.wrapper.clientHeight;tt(e,400)}i.showingFrom=l;i.showingTo=c;W(e);X(e);return!0}function W(e){var t=e.display,r=t.lineDiv.offsetTop;for(var i=t.lineDiv.firstChild,s;i;i=i.nextSibling)if(i.lineObj){if(n){var o=i.offsetTop+i.offsetHeight;s=o-r;r=o}else{var u=vs(i);s=u.bottom-u.top}var a=i.lineObj.height-s;s<2&&(s=Ct(t));if(a>.001||a<-0.001){vi(i.lineObj,s);var f=i.lineObj.widgets;if(f)for(var l=0;l<f.length;++l)f[l].height=f[l].node.offsetHeight}}}function X(e){var t=e.display.viewOffset=yi(e,hi(e.doc,e.display.showingFrom));e.display.mover.style.top=t+"px"}function V(e,t){for(var n=0,r=t.length||0;n<r;++n){var i=t[n],s=[],o=i.diff||0;for(var u=0,a=e.length;u<a;++u){var f=e[u];if(i.to<=f.from&&i.diff)s.push({from:f.from+o,to:f.to+o});else if(i.to<=f.from||i.from>=f.to)s.push(f);else{i.from>f.from&&s.push({from:f.from,to:i.from});i.to<f.to&&s.push({from:i.to+o,to:f.to+o})}}e=s}return e}function $(e){var t=e.display,n={},r={};for(var i=t.gutters.firstChild,s=0;i;i=i.nextSibling,++s){n[e.options.gutters[s]]=i.offsetLeft;r[e.options.gutters[s]]=i.offsetWidth}return{fixedPos:R(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:r,wrapperWidth:t.wrapper.clientWidth}}function J(e,t,n,r,i){function c(t){var n=t.nextSibling;if(s&&m&&e.display.currentWheelTarget==t){t.style.display="none";t.lineObj=null}else t.parentNode.removeChild(t);return n}var o=$(e),u=e.display,a=e.options.lineNumbers;!r.length&&(!s||!e.display.currentWheelTarget)&&hs(u.lineDiv);var f=u.lineDiv,l=f.firstChild,h=r.shift(),p=t;e.doc.iter(t,n,function(t){h&&h.to==p&&(h=r.shift());if(Dr(e.doc,t)){t.height!=0&&vi(t,0);if(t.widgets&&l&&l.previousSibling)for(var n=0;n<t.widgets.length;++n){var s=t.widgets[n];if(s.showIfHidden){var u=l.previousSibling;if(/pre/i.test(u.nodeName)){var d=cs("div",null,null,"position: relative");u.parentNode.replaceChild(d,u);d.appendChild(u);u=d}var v=u.appendChild(cs("div",[s.node],"CodeMirror-linewidget"));s.handleMouseEvents||(v.ignoreEvents=!0);Q(s,v,u,o)}}}else if(h&&h.from<=p&&h.to>p){while(l.lineObj!=t)l=c(l);a&&i<=p&&l.lineNumber&&ds(l.lineNumber,q(e.options,p));l=l.nextSibling}else{if(t.widgets)for(var m=0,g=l,y;g&&m<20;++m,g=g.nextSibling)if(g.lineObj==t&&/div/i.test(g.nodeName)){y=g;break}var b=K(e,t,p,o,y);if(b!=y)f.insertBefore(b,l);else{while(l!=y)l=c(l);l=l.nextSibling}b.lineObj=t}++p});while(l)l=c(l)}function K(e,t,r,i,s){var o=Qr(e,t),u=o.pre,a=t.gutterMarkers,f=e.display,l,c=o.bgClass?o.bgClass+" "+(t.bgClass||""):t.bgClass;if(!e.options.lineNumbers&&!a&&!c&&!t.wrapClass&&!t.widgets)return u;if(s){s.alignable=null;var h=!0,p=0,d=null;for(var v=s.firstChild,m;v;v=m){m=v.nextSibling;if(!/\bCodeMirror-linewidget\b/.test(v.className))s.removeChild(v);else{for(var g=0;g<t.widgets.length;++g){var y=t.widgets[g];if(y.node==v.firstChild){!y.above&&!d&&(d=v);Q(y,v,s,i);++p;break}}if(g==t.widgets.length){h=!1;break}}}s.insertBefore(u,d);if(h&&p==t.widgets.length){l=s;s.className=t.wrapClass||""}}if(!l){l=cs("div",null,t.wrapClass,"position: relative");l.appendChild(u)}c&&l.insertBefore(cs("div",null,c+" CodeMirror-linebackground"),l.firstChild);if(e.options.lineNumbers||a){var b=l.insertBefore(cs("div",null,null,"position: absolute; left: "+(e.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px"),l.firstChild);e.options.fixedGutter&&(l.alignable||(l.alignable=[])).push(b);e.options.lineNumbers&&(!a||!a["CodeMirror-linenumbers"])&&(l.lineNumber=b.appendChild(cs("div",q(e.options,r),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+i.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+f.lineNumInnerWidth+"px")));if(a)for(var w=0;w<e.options.gutters.length;++w){var E=e.options.gutters[w],S=a.hasOwnProperty(E)&&a[E];S&&b.appendChild(cs("div",[S],"CodeMirror-gutter-elt","left: "+i.gutterLeft[E]+"px; width: "+i.gutterWidth[E]+"px"))}}n&&(l.style.zIndex=2);if(t.widgets&&l!=s)for(var g=0,x=t.widgets;g<x.length;++g){var y=x[g],T=cs("div",[y.node],"CodeMirror-linewidget");y.handleMouseEvents||(T.ignoreEvents=!0);Q(y,T,l,i);y.above?l.insertBefore(T,e.options.lineNumbers&&t.height!=0?b:u):l.appendChild(T);zi(y,"redraw")}return l}function Q(e,t,n,r){if(e.noHScroll){(n.alignable||(n.alignable=[])).push(t);var i=r.wrapperWidth;t.style.left=r.fixedPos+"px";if(!e.coverGutter){i-=r.gutterTotalWidth;t.style.paddingLeft=r.gutterTotalWidth+"px"}t.style.width=i+"px"}if(e.coverGutter){t.style.zIndex=5;t.style.position="relative";e.noHScroll||(t.style.marginLeft=-r.gutterTotalWidth+"px")}}function G(e){var t=e.display,n=An(e.doc.sel.from,e.doc.sel.to);n||e.options.showCursorWhenSelecting?Y(e):t.cursor.style.display=t.otherCursor.style.display="none";n?t.selectionDiv.style.display="none":Z(e);if(e.options.moveInputWithCursor){var r=Et(e,e.doc.sel.head,"div"),i=vs(t.wrapper),s=vs(t.lineDiv);t.inputDiv.style.top=Math.max(0,Math.min(t.wrapper.clientHeight-10,r.top+s.top-i.top))+"px";t.inputDiv.style.left=Math.max(0,Math.min(t.wrapper.clientWidth-10,r.left+s.left-i.left))+"px"}}function Y(e){var t=e.display,n=Et(e,e.doc.sel.head,"div");t.cursor.style.left=n.left+"px";t.cursor.style.top=n.top+"px";t.cursor.style.height=Math.max(0,n.bottom-n.top)*e.options.cursorHeight+"px";t.cursor.style.display="";if(n.other){t.otherCursor.style.display="";t.otherCursor.style.left=n.other.left+"px";t.otherCursor.style.top=n.other.top+"px";t.otherCursor.style.height=(n.other.bottom-n.other.top)*.85+"px"}else t.otherCursor.style.display="none"}function Z(e){function u(e,t,n,r){t<0&&(t=0);i.appendChild(cs("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px; top: "+t+"px; width: "+(n==null?s-e:n)+"px; height: "+(r-t)+"px"))}function a(t,r,i){function h(n,r){return wt(e,Ln(t,n),"div",a,r)}var a=hi(n,t),f=a.text.length,l,c;Cs(bi(a),r||0,i==null?f:i,function(e,t,n){var a=h(e,"left"),p,d,v;if(e==t){p=a;d=v=a.left}else{p=h(t-1,"right");if(n=="rtl"){var m=a;a=p;p=m}d=a.left;v=p.right}r==null&&e==0&&(d=o);if(p.top-a.top>3){u(d,a.top,null,a.bottom);d=o;a.bottom<p.top&&u(d,a.bottom,null,p.top)}i==null&&t==f&&(v=s);if(!l||a.top<l.top||a.top==l.top&&a.left<l.left)l=a;if(!c||p.bottom>c.bottom||p.bottom==c.bottom&&p.right>c.right)c=p;d<o+1&&(d=o);u(d,p.top,v-d,p.bottom)});return{start:l,end:c}}var t=e.display,n=e.doc,r=e.doc.sel,i=document.createDocumentFragment(),s=t.lineSpace.offsetWidth,o=ut(e.display);if(r.from.line==r.to.line)a(r.from.line,r.from.ch,r.to.ch);else{var f=hi(n,r.from.line),l=hi(n,r.to.line),c=_r(n,f)==_r(n,l),h=a(r.from.line,r.from.ch,c?f.text.length:null).end,p=a(r.to.line,c?0:null,r.to.ch).start;if(c)if(h.top<p.top-2){u(h.right,h.top,null,h.bottom);u(o,p.top,p.left,p.bottom)}else u(h.right,h.top,p.left-h.right,h.bottom);h.bottom<p.top&&u(o,h.bottom,null,p.top)}ps(t.selectionDiv,i);t.selectionDiv.style.display=""}function et(e){if(!e.state.focused)return;var t=e.display;clearInterval(t.blinker);var n=!0;t.cursor.style.visibility=t.otherCursor.style.visibility="";e.options.cursorBlinkRate>0&&(t.blinker=setInterval(function(){t.cursor.style.visibility=t.otherCursor.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate))}function tt(e,t){e.doc.mode.startState&&e.doc.frontier<e.display.showingTo&&e.state.highlight.set(t,os(nt,e))}function nt(e){var t=e.doc;t.frontier<t.first&&(t.frontier=t.first);if(t.frontier>=e.display.showingTo)return;var n=+(new Date)+e.options.workTime,r=ar(t.mode,it(e,t.frontier)),i=[],s;t.iter(t.frontier,Math.min(t.first+t.size,e.display.showingTo+500),function(o){if(t.frontier>=e.display.showingFrom){var u=o.styles;o.styles=Xr(e,o,r,!0);var a=!u||u.length!=o.styles.length;for(var f=0;!a&&f<u.length;++f)a=u[f]!=o.styles[f];a&&(s&&s.end==t.frontier?s.end++:i.push(s={start:t.frontier,end:t.frontier+1}));o.stateAfter=ar(t.mode,r)}else{$r(e,o.text,r);o.stateAfter=t.frontier%5==0?ar(t.mode,r):null}++t.frontier;if(+(new Date)>n){tt(e,e.options.workDelay);return!0}});i.length&&Mt(e,function(){for(var e=0;e<i.length;++e)Pt(this,i[e].start,i[e].end)})()}function rt(e,t,n){var r,i,s=e.doc,o=n?-1:t-(e.doc.mode.innerMode?1e3:100);for(var u=t;u>o;--u){if(u<=s.first)return s.first;var a=hi(s,u-1);if(a.stateAfter&&(!n||u<=s.frontier))return u;var f=Gi(a.text,null,e.options.tabSize);if(i==null||r>f){i=u-1;r=f}}return i}function it(e,t,n){var r=e.doc,i=e.display;if(!r.mode.startState)return!0;var s=rt(e,t,n),o=s>r.first&&hi(r,s-1).stateAfter;o?o=ar(r.mode,o):o=fr(r.mode);r.iter(s,t,function(n){$r(e,n.text,o);var u=s==t-1||s%5==0||s>=i.showingFrom&&s<i.showingTo;n.stateAfter=u?ar(r.mode,o):null;++s});n&&(r.frontier=s);return o}function st(e){return e.lineSpace.offsetTop}function ot(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function ut(e){var t=ps(e.measure,cs("pre",null,null,"text-align: left")).appendChild(cs("span","x"));return t.offsetLeft}function at(e,t,n,r,i){var s=-1;r=r||ct(e,t);if(r.crude){var o=r.left+n*r.width;return{left:o,right:o+r.width,top:r.top,bottom:r.bottom}}for(var u=n;;u+=s){var a=r[u];if(a)break;s<0&&u==0&&(s=1)}i=u>n?"left":u<n?"right":i;i=="left"&&a.leftSide?a=a.leftSide:i=="right"&&a.rightSide&&(a=a.rightSide);return{left:u<n?a.right:a.left,right:u>n?a.left:a.right,top:a.top,bottom:a.bottom}}function ft(e,t){var n=e.display.measureLineCache;for(var r=0;r<n.length;++r){var i=n[r];if(i.text==t.text&&i.markedSpans==t.markedSpans&&e.display.scroller.clientWidth==i.width&&i.classes==t.textClass+"|"+t.wrapClass)return i}}function lt(e,t){var n=ft(e,t);n&&(n.text=n.measure=n.markedSpans=null)}function ct(e,t){var n=ft(e,t);if(n)return n.measure;var r=ht(e,t),i=e.display.measureLineCache,s={text:t.text,width:e.display.scroller.clientWidth,markedSpans:t.markedSpans,measure:r,classes:t.textClass+"|"+t.wrapClass};i.length==16?i[++e.display.measureLineCachePos%16]=s:i.push(s);return r}function ht(e,i){function b(e){var t=e.top-v.top,n=e.bottom-v.top;n>y&&(n=y);t<0&&(t=0);for(var r=m.length-2;r>=0;r-=2){var i=m[r],s=m[r+1];if(i>n||s<t)continue;if(i<=t&&s>=n||t<=i&&n>=s||Math.min(n,s)-Math.max(t,i)>=n-t>>1){m[r]=Math.min(t,i);m[r+1]=Math.max(n,s);break}}if(r<0){r=m.length;m.push(t,n)}return{left:e.left-v.left,right:e.right-v.left,top:r,bottom:null}}function w(e){e.bottom=m[e.top+1];e.top=m[e.top]}if(!e.options.lineWrapping&&i.text.length>=e.options.crudeMeasuringFrom)return pt(e,i);var s=e.display,o=ss(i.text.length),u=Qr(e,i,o,!0).pre;if(t&&!n&&!e.options.lineWrapping&&u.childNodes.length>100){var a=document.createDocumentFragment(),f=10,l=u.childNodes.length;for(var c=0,h=Math.ceil(l/f);c<h;++c){var p=cs("div",null,null,"display: inline-block");for(var d=0;d<f&&l;++d){p.appendChild(u.firstChild);--l}a.appendChild(p)}u.appendChild(a)}ps(s.measure,u);var v=vs(s.lineDiv),m=[],g=ss(i.text.length),y=u.offsetHeight;r&&s.measure.first!=u&&ps(s.measure,u);for(var c=0,E;c<o.length;++c)if(E=o[c]){var S=E,x=null;if(/\bCodeMirror-widget\b/.test(E.className)&&E.getClientRects){E.firstChild.nodeType==1&&(S=E.firstChild);var T=S.getClientRects();if(T.length>1){x=g[c]=b(T[0]);x.rightSide=b(T[T.length-1])}}x||(x=g[c]=b(vs(S)));E.measureRight&&(x.right=vs(E.measureRight).left);E.leftSide&&(x.leftSide=b(vs(E.leftSide)))}hs(e.display.measure);for(var c=0,E;c<g.length;++c)if(E=g[c]){w(E);E.leftSide&&w(E.leftSide);E.rightSide&&w(E.rightSide)}return g}function pt(e,t){var n=new Rr(t.text.slice(0,100),null);t.textClass&&(n.textClass=t.textClass);var r=ht(e,n),i=at(e,n,0,r,"left"),s=at(e,n,99,r,"right");return{crude:!0,top:i.top,left:i.left,bottom:i.bottom,width:(s.right-i.left)/100}}function dt(e,t){var n=!1;if(t.markedSpans)for(var r=0;r<t.markedSpans;++r){var i=t.markedSpans[r];i.collapsed&&(i.to==null||i.to==t.text.length)&&(n=!0)}var s=!n&&ft(e,t);if(s||t.text.length>=e.options.crudeMeasuringFrom)return at(e,t,t.text.length,s&&s.measure,"right").right;var o=Qr(e,t,null,!0).pre,u=o.appendChild(Es(e.display.measure));ps(e.display.measure,o);return vs(u).right-vs(e.display.lineDiv).left}function vt(e){e.display.measureLineCache.length=e.display.measureLineCachePos=0;e.display.cachedCharWidth=e.display.cachedTextHeight=null;e.options.lineWrapping||(e.display.maxLineChanged=!0);e.display.lineNumChars=null}function mt(){return window.pageXOffset||(document.documentElement||document.body).scrollLeft}function gt(){return window.pageYOffset||(document.documentElement||document.body).scrollTop}function yt(e,t,n,r){if(t.widgets)for(var i=0;i<t.widgets.length;++i)if(t.widgets[i].above){var s=Ir(t.widgets[i]);n.top+=s;n.bottom+=s}if(r=="line")return n;r||(r="local");var o=yi(e,t);r=="local"?o+=st(e.display):o-=e.display.viewOffset;if(r=="page"||r=="window"){var u=vs(e.display.lineSpace);o+=u.top+(r=="window"?0:gt());var a=u.left+(r=="window"?0:mt());n.left+=a;n.right+=a}n.top+=o;n.bottom+=o;return n}function bt(e,t,n){if(n=="div")return t;var r=t.left,i=t.top;if(n=="page"){r-=mt();i-=gt()}else if(n=="local"||!n){var s=vs(e.display.sizer);r+=s.left;i+=s.top}var o=vs(e.display.lineSpace);return{left:r-o.left,top:i-o.top}}function wt(e,t,n,r,i){r||(r=hi(e.doc,t.line));return yt(e,r,at(e,r,t.ch,null,i),n)}function Et(e,t,n,r,i){function s(t,s){var o=at(e,r,t,i,s?"right":"left");s?o.left=o.right:o.right=o.left;return yt(e,r,o,n)}function o(e,t){var n=u[t],r=n.level%2;if(e==ks(n)&&t&&n.level<u[t-1].level){n=u[--t];e=Ls(n)-(n.level%2?0:1);r=!0}else if(e==Ls(n)&&t<u.length-1&&n.level<u[t+1].level){n=u[++t];e=ks(n)-n.level%2;r=!1}return r&&e==n.to&&e>n.from?s(e-1):s(e,r)}r=r||hi(e.doc,t.line);i||(i=ct(e,r));var u=bi(r),a=t.ch;if(!u)return s(a);var f=Hs(u,a),l=o(a,f);Ps!=null&&(l.other=o(a,Ps));return l}function St(e,t,n,r){var i=new Ln(e,t);i.xRel=r;n&&(i.outside=!0);return i}function xt(e,t,n){var r=e.doc;n+=e.display.viewOffset;if(n<0)return St(r.first,0,!0,-1);var i=gi(r,n),s=r.first+r.size-1;if(i>s)return St(r.first+r.size-1,hi(r,s).text.length,!0,1);t<0&&(t=0);for(;;){var o=hi(r,i),u=Tt(e,o,i,t,n),a=Mr(o),f=a&&a.find();if(!a||!(u.ch>f.from.ch||u.ch==f.from.ch&&u.xRel>0))return u;i=f.to.line}}function Tt(e,t,n,r,i){function f(r){var i=Et(e,Ln(n,r),"line",t,a);o=!0;if(s>i.bottom)return i.left-u;if(s<i.top)return i.left+u;o=!1;return i.left}var s=i-yi(e,t),o=!1,u=2*e.display.wrapper.clientWidth,a=ct(e,t),l=bi(t),c=t.text.length,h=As(t),p=Os(t),d=f(h),v=o,m=f(p),g=o;if(r>m)return St(n,p,g,1);for(;;){if(l?p==h||p==js(t,h,1):p-h<=1){var y=r<d||r-d<=m-r?h:p,b=r-(y==h?d:m);while(ls.test(t.text.charAt(y)))++y;var w=St(n,y,y==h?v:g,b<0?-1:b?1:0);return w}var E=Math.ceil(c/2),S=h+E;if(l){S=h;for(var x=0;x<E;++x)S=js(t,S,1)}var T=f(S);if(T>r){p=S;m=T;if(g=o)m+=1e3;c=E}else{h=S;d=T;v=o;c-=E}}}function Ct(e){if(e.cachedTextHeight!=null)return e.cachedTextHeight;if(Nt==null){Nt=cs("pre");for(var t=0;t<49;++t){Nt.appendChild(document.createTextNode("x"));Nt.appendChild(cs("br"))}Nt.appendChild(document.createTextNode("x"))}ps(e.measure,Nt);var n=Nt.offsetHeight/50;n>3&&(e.cachedTextHeight=n);hs(e.measure);return n||1}function kt(e){if(e.cachedCharWidth!=null)return e.cachedCharWidth;var t=cs("span","x"),n=cs("pre",[t]);ps(e.measure,n);var r=t.offsetWidth;r>2&&(e.cachedCharWidth=r);return r||10}function At(e){e.curOp={changes:[],forceUpdate:!1,updateInput:null,userSelChange:null,textChanged:null,selectionChanged:!1,cursorActivity:!1,updateMaxLine:!1,updateScrollPos:!1,id:++Lt};Ui++||(Ri=[])}function Ot(e){var t=e.curOp,n=e.doc,r=e.display;e.curOp=null;t.updateMaxLine&&P(e);if(r.maxLineChanged&&!e.options.lineWrapping&&r.maxLine){var i=dt(e,r.maxLine);r.sizer.style.minWidth=Math.max(0,i+3+Ji)+"px";r.maxLineChanged=!1;var s=Math.max(0,r.sizer.offsetLeft+r.sizer.offsetWidth-r.scroller.clientWidth);s<n.scrollLeft&&!t.updateScrollPos&&en(e,Math.min(r.scroller.scrollLeft,s),!0)}var o,u;if(t.updateScrollPos)o=t.updateScrollPos;else if(t.selectionChanged&&r.scroller.clientHeight){var a=Et(e,n.sel.head);o=Wn(e,a.left,a.top,a.left,a.bottom)}if(t.changes.length||t.forceUpdate||o&&o.scrollTop!=null){u=U(e,t.changes,o&&o.scrollTop,t.forceUpdate);e.display.scroller.offsetHeight&&(e.doc.scrollTop=e.display.scroller.scrollTop)}!u&&t.selectionChanged&&G(e);if(t.updateScrollPos){var f=Math.max(0,Math.min(r.scroller.scrollHeight-r.scroller.clientHeight,o.scrollTop)),l=Math.max(0,Math.min(r.scroller.scrollWidth-r.scroller.clientWidth,o.scrollLeft));r.scroller.scrollTop=r.scrollbarV.scrollTop=n.scrollTop=f;r.scroller.scrollLeft=r.scrollbarH.scrollLeft=n.scrollLeft=l;F(e);t.scrollToPos&&Un(e,Dn(e.doc,t.scrollToPos.from),Dn(e.doc,t.scrollToPos.to),t.scrollToPos.margin)}else o&&Rn(e);t.selectionChanged&&et(e);e.state.focused&&t.updateInput&&Ft(e,t.userSelChange);var c=t.maybeHiddenMarkers,h=t.maybeUnhiddenMarkers;if(c)for(var p=0;p<c.length;++p)c[p].lines.length||qi(c[p],"hide");if(h)for(var p=0;p<h.length;++p)h[p].lines.length&&qi(h[p],"unhide");var d;if(!--Ui){d=Ri;Ri=null}t.textChanged&&qi(e,"change",e,t.textChanged);t.cursorActivity&&qi(e,"cursorActivity",e);if(d)for(var p=0;p<d.length;++p)d[p]()}function Mt(e,t){return function(){var n=e||this,r=!n.curOp;r&&At(n);try{var i=t.apply(n,arguments)}finally{r&&Ot(n)}return i}}function _t(e){return function(){var t=this.cm&&!this.cm.curOp,n;t&&At(this.cm);try{n=e.apply(this,arguments)}finally{t&&Ot(this.cm)}return n}}function Dt(e,t){var n=!e.curOp,r;n&&At(e);try{r=t()}finally{n&&Ot(e)}return r}function Pt(e,t,n,r){t==null&&(t=e.doc.first);n==null&&(n=e.doc.first+e.doc.size);e.curOp.changes.push({from:t,to:n,diff:r})}function Ht(e){if(e.display.pollingFast)return;e.display.poll.set(e.options.pollInterval,function(){jt(e);e.state.focused&&Ht(e)})}function Bt(e){function n(){var r=jt(e);if(!r&&!t){t=!0;e.display.poll.set(60,n)}else{e.display.pollingFast=!1;Ht(e)}}var t=!1;e.display.pollingFast=!0;e.display.poll.set(20,n)}function jt(e){var n=e.display.input,i=e.display.prevInput,s=e.doc,o=s.sel;if(!e.state.focused||xs(n)||qt(e)||e.state.disableInput)return!1;if(e.state.pasteIncoming&&e.state.fakedLastChar){n.value=n.value.substring(0,n.value.length-1);e.state.fakedLastChar=!1}var u=n.value;if(u==i&&An(o.from,o.to))return!1;if(t&&!r&&e.display.inputHasSelection===u){Ft(e,!0);return!1}var a=!e.curOp;a&&At(e);o.shift=!1;var f=0,l=Math.min(i.length,u.length);while(f<l&&i.charCodeAt(f)==u.charCodeAt(f))++f;var c=o.from,h=o.to;f<i.length?c=Ln(c.line,c.ch-(i.length-f)):e.state.overwrite&&An(c,h)&&!e.state.pasteIncoming&&(h=Ln(h.line,Math.min(hi(s,h.line).text.length,h.ch+(u.length-f))));var p=e.curOp.updateInput,d={from:c,to:h,text:Ss(u.slice(f)),origin:e.state.pasteIncoming?"paste":"+input"};En(e.doc,d,"end");e.curOp.updateInput=p;zi(e,"inputRead",e,d);u.length>1e3||u.indexOf("\n")>-1?n.value=e.display.prevInput="":e.display.prevInput=u;a&&Ot(e);e.state.pasteIncoming=!1
5
- ;return!0}function Ft(e,n){var i,s,o=e.doc;if(!An(o.sel.from,o.sel.to)){e.display.prevInput="";i=Ts&&(o.sel.to.line-o.sel.from.line>100||(s=e.getSelection()).length>1e3);var u=i?"-":s||e.getSelection();e.display.input.value=u;e.state.focused&&ts(e.display.input);t&&!r&&(e.display.inputHasSelection=u)}else if(n){e.display.prevInput=e.display.input.value="";t&&!r&&(e.display.inputHasSelection=null)}e.display.inaccurateSelection=i}function It(e){e.options.readOnly!="nocursor"&&(!v||document.activeElement!=e.display.input)&&e.display.input.focus()}function qt(e){return e.options.readOnly||e.doc.cantEdit}function Rt(e){function i(){e.state.focused&&setTimeout(os(It,e),0)}function u(){o==null&&(o=setTimeout(function(){o=null;n.cachedCharWidth=n.cachedTextHeight=ys=null;vt(e);Dt(e,os(Pt,e))},100))}function a(){for(var e=n.wrapper.parentNode;e&&e!=document.body;e=e.parentNode);e?setTimeout(a,5e3):Ii(window,"resize",u)}function f(t){if(Wi(e,t)||e.options.onDragEvent&&e.options.onDragEvent(e,Mi(t)))return;Hi(t)}function c(){if(n.inaccurateSelection){n.prevInput="";n.inaccurateSelection=!1;n.input.value=e.getSelection();ts(n.input)}}var n=e.display;Fi(n.scroller,"mousedown",Mt(e,Vt));t?Fi(n.scroller,"dblclick",Mt(e,function(t){if(Wi(e,t))return;var n=zt(e,t);if(!n||Kt(e,t)||Ut(e.display,t))return;_i(t);var r=Gn(hi(e.doc,n.line).text,n);Bn(e.doc,r.from,r.to)})):Fi(n.scroller,"dblclick",function(t){Wi(e,t)||_i(t)});Fi(n.lineSpace,"selectstart",function(e){Ut(n,e)||_i(e)});w||Fi(n.scroller,"contextmenu",function(t){mn(e,t)});Fi(n.scroller,"scroll",function(){if(n.scroller.clientHeight){Zt(e,n.scroller.scrollTop);en(e,n.scroller.scrollLeft,!0);qi(e,"scroll",e)}});Fi(n.scrollbarV,"scroll",function(){n.scroller.clientHeight&&Zt(e,n.scrollbarV.scrollTop)});Fi(n.scrollbarH,"scroll",function(){n.scroller.clientHeight&&en(e,n.scrollbarH.scrollLeft)});Fi(n.scroller,"mousewheel",function(t){rn(e,t)});Fi(n.scroller,"DOMMouseScroll",function(t){rn(e,t)});Fi(n.scrollbarH,"mousedown",i);Fi(n.scrollbarV,"mousedown",i);Fi(n.wrapper,"scroll",function(){n.wrapper.scrollTop=n.wrapper.scrollLeft=0});var o;Fi(window,"resize",u);setTimeout(a,5e3);Fi(n.input,"keyup",Mt(e,function(t){if(Wi(e,t)||e.options.onKeyEvent&&e.options.onKeyEvent(e,Mi(t)))return;t.keyCode==16&&(e.doc.sel.shift=!1)}));Fi(n.input,"input",function(){t&&!r&&e.display.inputHasSelection&&(e.display.inputHasSelection=null);Bt(e)});Fi(n.input,"keydown",Mt(e,cn));Fi(n.input,"keypress",Mt(e,hn));Fi(n.input,"focus",os(pn,e));Fi(n.input,"blur",os(dn,e));if(e.options.dragDrop){Fi(n.scroller,"dragstart",function(t){Yt(e,t)});Fi(n.scroller,"dragenter",f);Fi(n.scroller,"dragover",f);Fi(n.scroller,"drop",Mt(e,Gt))}Fi(n.scroller,"paste",function(t){if(Ut(n,t))return;It(e);Bt(e)});Fi(n.input,"paste",function(){if(s&&!e.state.fakedLastChar&&!(new Date-e.state.lastMiddleDown<200)){var t=n.input.selectionStart,r=n.input.selectionEnd;n.input.value+="$";n.input.selectionStart=t;n.input.selectionEnd=r;e.state.fakedLastChar=!0}e.state.pasteIncoming=!0;Bt(e)});Fi(n.input,"cut",c);Fi(n.input,"copy",c);l&&Fi(n.sizer,"mouseup",function(){document.activeElement==n.input&&n.input.blur();It(e)})}function Ut(e,t){for(var n=Bi(t);n!=e.wrapper;n=n.parentNode)if(!n||n.ignoreEvents||n.parentNode==e.sizer&&n!=e.mover)return!0}function zt(e,t,n){var r=e.display;if(!n){var i=Bi(t);if(i==r.scrollbarH||i==r.scrollbarH.firstChild||i==r.scrollbarV||i==r.scrollbarV.firstChild||i==r.scrollbarFiller||i==r.gutterFiller)return null}var s,o,u=vs(r.lineSpace);try{s=t.clientX;o=t.clientY}catch(t){return null}return xt(e,s-u.left,o-u.top)}function Vt(e){function m(e){if(An(v,e))return;v=e;if(f=="single"){Bn(n.doc,Dn(i,u),e);return}p=Dn(i,p);d=Dn(i,d);if(f=="double"){var t=Gn(hi(i,e.line).text,e);On(e,p)?Bn(n.doc,t.from,d):Bn(n.doc,p,t.to)}else f=="triple"&&(On(e,p)?Bn(n.doc,d,Dn(i,Ln(e.line,0))):Bn(n.doc,p,Dn(i,Ln(e.line+1,0))))}function b(e){var t=++y,s=zt(n,e,!0);if(!s)return;if(!An(s,c)){n.state.focused||pn(n);c=s;m(s);var o=j(r,i);(s.line>=o.to||s.line<o.from)&&setTimeout(Mt(n,function(){y==t&&b(e)}),150)}else{var u=e.clientY<g.top?-20:e.clientY>g.bottom?20:0;u&&setTimeout(Mt(n,function(){if(y!=t)return;r.scroller.scrollTop+=u;b(e)}),50)}}function E(e){y=Infinity;_i(e);It(n);Ii(document,"mousemove",S);Ii(document,"mouseup",x)}if(Wi(this,e))return;var n=this,r=n.display,i=n.doc,o=i.sel;o.shift=e.shiftKey;if(Ut(r,e)){if(!s){r.scroller.draggable=!1;setTimeout(function(){r.scroller.draggable=!0},100)}return}if(Kt(n,e))return;var u=zt(n,e);switch(ji(e)){case 3:w&&mn.call(n,n,e);return;case 2:s&&(n.state.lastMiddleDown=+(new Date));u&&Bn(n.doc,u);setTimeout(os(It,n),20);_i(e);return}if(!u){Bi(e)==r.scroller&&_i(e);return}n.state.focused||pn(n);var a=+(new Date),f="single";if(Xt&&Xt.time>a-400&&An(Xt.pos,u)){f="triple";_i(e);setTimeout(os(It,n),20);Yn(n,u.line)}else if(Wt&&Wt.time>a-400&&An(Wt.pos,u)){f="double";Xt={time:a,pos:u};_i(e);var l=Gn(hi(i,u.line).text,u);Bn(n.doc,l.from,l.to)}else Wt={time:a,pos:u};var c=u;if(n.options.dragDrop&&ms&&!qt(n)&&!An(o.from,o.to)&&!On(u,o.from)&&!On(o.to,u)&&f=="single"){var h=Mt(n,function(t){s&&(r.scroller.draggable=!1);n.state.draggingText=!1;Ii(document,"mouseup",h);Ii(r.scroller,"drop",h);if(Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)<10){_i(t);Bn(n.doc,u);It(n)}});s&&(r.scroller.draggable=!0);n.state.draggingText=h;r.scroller.dragDrop&&r.scroller.dragDrop();Fi(document,"mouseup",h);Fi(r.scroller,"drop",h);return}_i(e);f=="single"&&Bn(n.doc,Dn(i,u));var p=o.from,d=o.to,v=u,g=vs(r.wrapper),y=0,S=Mt(n,function(e){!t&&!ji(e)?E(e):b(e)}),x=Mt(n,E);Fi(document,"mousemove",S);Fi(document,"mouseup",x)}function $t(e,t,n,r,i){try{var s=t.clientX,o=t.clientY}catch(t){return!1}if(s>=Math.floor(vs(e.display.gutters).right))return!1;r&&_i(t);var u=e.display,a=vs(u.lineDiv);if(o>a.bottom||!Vi(e,n))return Pi(t);o-=a.top-u.viewOffset;for(var f=0;f<e.options.gutters.length;++f){var l=u.gutters.childNodes[f];if(l&&vs(l).right>=s){var c=gi(e.doc,o),h=e.options.gutters[f];i(e,n,e,c,h,t);return Pi(t)}}}function Jt(e,t){return Vi(e,"gutterContextMenu")?$t(e,t,"gutterContextMenu",!1,qi):!1}function Kt(e,t){return $t(e,t,"gutterClick",!0,zi)}function Gt(e){var n=this;if(Wi(n,e)||Ut(n.display,e)||n.options.onDragEvent&&n.options.onDragEvent(n,Mi(e)))return;_i(e);t&&(Qt=+(new Date));var r=zt(n,e,!0),i=e.dataTransfer.files;if(!r||qt(n))return;if(i&&i.length&&window.FileReader&&window.File){var s=i.length,o=Array(s),u=0,a=function(e,t){var i=new FileReader;i.onload=function(){o[t]=i.result;if(++u==s){r=Dn(n.doc,r);En(n.doc,{from:r,to:r,text:Ss(o.join("\n")),origin:"paste"},"around")}};i.readAsText(e)};for(var f=0;f<s;++f)a(i[f],f)}else{if(n.state.draggingText&&!On(r,n.doc.sel.from)&&!On(n.doc.sel.to,r)){n.state.draggingText(e);setTimeout(os(It,n),20);return}try{var o=e.dataTransfer.getData("Text");if(o){var l=n.doc.sel.from,c=n.doc.sel.to;Fn(n.doc,r,r);n.state.draggingText&&kn(n.doc,"",l,c,"paste");n.replaceSelection(o,null,"paste");It(n)}}catch(e){}}}function Yt(e,n){if(t&&(!e.state.draggingText||+(new Date)-Qt<100)){Hi(n);return}if(Wi(e,n)||Ut(e.display,n))return;var r=e.getSelection();n.dataTransfer.setData("Text",r);if(n.dataTransfer.setDragImage&&!f){var i=cs("img",null,null,"position: fixed; left: 0; top: 0;");i.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==";if(a){i.width=i.height=1;e.display.wrapper.appendChild(i);i._top=i.offsetTop}n.dataTransfer.setDragImage(i,0,0);a&&i.parentNode.removeChild(i)}}function Zt(t,n){if(Math.abs(t.doc.scrollTop-n)<2)return;t.doc.scrollTop=n;e||U(t,[],n);t.display.scroller.scrollTop!=n&&(t.display.scroller.scrollTop=n);t.display.scrollbarV.scrollTop!=n&&(t.display.scrollbarV.scrollTop=n);e&&U(t,[]);tt(t,100)}function en(e,t,n){if(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)return;t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth);e.doc.scrollLeft=t;F(e);e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t);e.display.scrollbarH.scrollLeft!=t&&(e.display.scrollbarH.scrollLeft=t)}function rn(t,n){var r=n.wheelDeltaX,i=n.wheelDeltaY;r==null&&n.detail&&n.axis==n.HORIZONTAL_AXIS&&(r=n.detail);i==null&&n.detail&&n.axis==n.VERTICAL_AXIS?i=n.detail:i==null&&(i=n.wheelDelta);var o=t.display,u=o.scroller;if(!(r&&u.scrollWidth>u.clientWidth||i&&u.scrollHeight>u.clientHeight))return;if(i&&m&&s)for(var f=n.target;f!=u;f=f.parentNode)if(f.lineObj){t.display.currentWheelTarget=f;break}if(r&&!e&&!a&&nn!=null){i&&Zt(t,Math.max(0,Math.min(u.scrollTop+i*nn,u.scrollHeight-u.clientHeight)));en(t,Math.max(0,Math.min(u.scrollLeft+r*nn,u.scrollWidth-u.clientWidth)));_i(n);o.wheelStartX=null;return}if(i&&nn!=null){var l=i*nn,c=t.doc.scrollTop,h=c+o.wrapper.clientHeight;l<0?c=Math.max(0,c+l-50):h=Math.min(t.doc.height,h+l+50);U(t,[],{top:c,bottom:h})}if(tn<20)if(o.wheelStartX==null){o.wheelStartX=u.scrollLeft;o.wheelStartY=u.scrollTop;o.wheelDX=r;o.wheelDY=i;setTimeout(function(){if(o.wheelStartX==null)return;var e=u.scrollLeft-o.wheelStartX,t=u.scrollTop-o.wheelStartY,n=t&&o.wheelDY&&t/o.wheelDY||e&&o.wheelDX&&e/o.wheelDX;o.wheelStartX=o.wheelStartY=null;if(!n)return;nn=(nn*tn+n)/(tn+1);++tn},200)}else{o.wheelDX+=r;o.wheelDY+=i}}function sn(e,t,n){if(typeof t=="string"){t=lr[t];if(!t)return!1}e.display.pollingFast&&jt(e)&&(e.display.pollingFast=!1);var r=e.doc,i=r.sel.shift,s=!1;try{qt(e)&&(e.state.suppressEdits=!0);n&&(r.sel.shift=!1);s=t(e)!=Ki}finally{r.sel.shift=i;e.state.suppressEdits=!1}return s}function on(e){var t=e.state.keyMaps.slice(0);e.options.extraKeys&&t.push(e.options.extraKeys);t.push(e.options.keyMap);return t}function an(e,t){var n=hr(e.options.keyMap),i=n.auto;clearTimeout(un);i&&!dr(t)&&(un=setTimeout(function(){if(hr(e.options.keyMap)==n){e.options.keyMap=i.call?i.call(null,e):i;A(e)}},50));var s=vr(t,!0),o=!1;if(!s)return!1;var u=on(e);t.shiftKey?o=pr("Shift-"+s,u,function(t){return sn(e,t,!0)})||pr(s,u,function(t){if(typeof t=="string"?/^go[A-Z]/.test(t):t.motion)return sn(e,t)}):o=pr(s,u,function(t){return sn(e,t)});if(o){_i(t);et(e);if(r){t.oldKeyCode=t.keyCode;t.keyCode=0}zi(e,"keyHandled",e,s,t)}return o}function fn(e,t,n){var r=pr("'"+n+"'",on(e),function(t){return sn(e,t,!0)});if(r){_i(t);et(e);zi(e,"keyHandled",e,"'"+n+"'",t)}return r}function cn(e){var n=this;n.state.focused||pn(n);if(Wi(n,e)||n.options.onKeyEvent&&n.options.onKeyEvent(n,Mi(e)))return;t&&e.keyCode==27&&(e.returnValue=!1);var r=e.keyCode;n.doc.sel.shift=r==16||e.shiftKey;var i=an(n,e);if(a){ln=i?r:null;!i&&r==88&&!Ts&&(m?e.metaKey:e.ctrlKey)&&n.replaceSelection("")}}function hn(e){var n=this;if(Wi(n,e)||n.options.onKeyEvent&&n.options.onKeyEvent(n,Mi(e)))return;var i=e.keyCode,s=e.charCode;if(a&&i==ln){ln=null;_i(e);return}if((a&&(!e.which||e.which<10)||l)&&an(n,e))return;var o=String.fromCharCode(s==null?i:s);this.options.electricChars&&this.doc.mode.electricChars&&this.options.smartIndent&&!qt(this)&&this.doc.mode.electricChars.indexOf(o)>-1&&setTimeout(Mt(n,function(){$n(n,n.doc.sel.to.line,"smart")}),75);if(fn(n,e,o))return;t&&!r&&(n.display.inputHasSelection=null);Bt(n)}function pn(e){if(e.options.readOnly=="nocursor")return;if(!e.state.focused){qi(e,"focus",e);e.state.focused=!0;e.display.wrapper.className.search(/\bCodeMirror-focused\b/)==-1&&(e.display.wrapper.className+=" CodeMirror-focused");if(!e.curOp){Ft(e,!0);s&&setTimeout(os(Ft,e,!0),0)}}Ht(e);et(e)}function dn(e){if(e.state.focused){qi(e,"blur",e);e.state.focused=!1;e.display.wrapper.className=e.display.wrapper.className.replace(" CodeMirror-focused","")}clearInterval(e.display.blinker);setTimeout(function(){e.state.focused||(e.doc.sel.shift=!1)},150)}function mn(e,n){function c(){if(i.input.selectionStart!=null){var e=i.input.value="​"+(An(s.from,s.to)?"":i.input.value);i.prevInput="​";i.input.selectionStart=1;i.input.selectionEnd=e.length}}function h(){i.inputDiv.style.position="relative";i.input.style.cssText=l;r&&(i.scrollbarV.scrollTop=i.scroller.scrollTop=u);Ht(e);if(i.input.selectionStart!=null){(!t||r)&&c();clearTimeout(vn);var n=0,s=function(){i.prevInput==" "&&i.input.selectionStart==0?Mt(e,lr.selectAll)(e):n++<10?vn=setTimeout(s,500):Ft(e)};vn=setTimeout(s,200)}}if(Wi(e,n,"contextmenu"))return;var i=e.display,s=e.doc.sel;if(Ut(i,n)||Jt(e,n))return;var o=zt(e,n),u=i.scroller.scrollTop;if(!o||a)return;var f=e.options.resetSelectionOnContextMenu;f&&(An(s.from,s.to)||On(o,s.from)||!On(o,s.to))&&Mt(e,Fn)(e.doc,o,o);var l=i.input.style.cssText;i.inputDiv.style.position="absolute";i.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(n.clientY-5)+"px; left: "+(n.clientX-5)+"px; z-index: 1000; background: white; outline: none;"+"border-width: 0; outline: none; overflow: hidden; opacity: .05; -ms-opacity: .05; filter: alpha(opacity=5);";It(e);Ft(e,!0);An(s.from,s.to)&&(i.input.value=i.prevInput=" ");t&&!r&&c();if(w){Hi(n);var p=function(){Ii(window,"mouseup",p);setTimeout(h,20)};Fi(window,"mouseup",p)}else setTimeout(h,50)}function yn(e,t,n){if(!On(t.from,n))return Dn(e,n);var r=t.text.length-1-(t.to.line-t.from.line);if(n.line>t.to.line+r){var i=n.line-r,s=e.first+e.size-1;return i>s?Ln(s,hi(e,s).text.length):Pn(n,hi(e,i).text.length)}if(n.line==t.to.line+r)return Pn(n,es(t.text).length+(t.text.length==1?t.from.ch:0)+hi(e,t.to.line).text.length-t.to.ch);var o=n.line-t.from.line;return Pn(n,t.text[o].length+(o?0:t.from.ch))}function bn(e,t,n){if(n&&typeof n=="object")return{anchor:yn(e,t,n.anchor),head:yn(e,t,n.head)};if(n=="start")return{anchor:t.from,head:t.from};var r=gn(t);if(n=="around")return{anchor:t.from,head:r};if(n=="end")return{anchor:r,head:r};var i=function(e){if(On(e,t.from))return e;if(!On(t.to,e))return r;var n=e.line+t.text.length-(t.to.line-t.from.line)-1,i=e.ch;e.line==t.to.line&&(i+=r.ch-t.to.ch);return Ln(n,i)};return{anchor:i(e.sel.anchor),head:i(e.sel.head)}}function wn(e,t,n){var r={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){this.canceled=!0}};n&&(r.update=function(t,n,r,i){t&&(this.from=Dn(e,t));n&&(this.to=Dn(e,n));r&&(this.text=r);i!==undefined&&(this.origin=i)});qi(e,"beforeChange",e,r);e.cm&&qi(e.cm,"beforeChange",e.cm,r);return r.canceled?null:{from:r.from,to:r.to,text:r.text,origin:r.origin}}function En(e,t,n,r){if(e.cm){if(!e.cm.curOp)return Mt(e.cm,En)(e,t,n,r);if(e.cm.state.suppressEdits)return}if(Vi(e,"beforeChange")||e.cm&&Vi(e.cm,"beforeChange")){t=wn(e,t,!0);if(!t)return}var i=E&&!r&&Lr(e,t.from,t.to);if(i){for(var s=i.length-1;s>=1;--s)Sn(e,{from:i[s].from,to:i[s].to,text:[""]});i.length&&Sn(e,{from:i[0].from,to:i[0].to,text:t.text},n)}else Sn(e,t,n)}function Sn(e,t,n){if(t.text.length==1&&t.text[0]==""&&An(t.from,t.to))return;var r=bn(e,t,n);xi(e,t,r,e.cm?e.cm.curOp.id:NaN);Nn(e,t,r,Cr(e,t));var i=[];li(e,function(e,n){if(!n&&ns(i,e.history)==-1){Ai(e.history,t);i.push(e.history)}Nn(e,t,null,Cr(e,t))})}function xn(e,t){if(e.cm&&e.cm.state.suppressEdits)return;var n=e.history,r=(t=="undo"?n.done:n.undone).pop();if(!r)return;var i={changes:[],anchorBefore:r.anchorAfter,headBefore:r.headAfter,anchorAfter:r.anchorBefore,headAfter:r.headBefore,generation:n.generation};(t=="undo"?n.undone:n.done).push(i);n.generation=r.generation||++n.maxGeneration;var s=Vi(e,"beforeChange")||e.cm&&Vi(e.cm,"beforeChange");for(var o=r.changes.length-1;o>=0;--o){var u=r.changes[o];u.origin=t;if(s&&!wn(e,u,!1)){(t=="undo"?n.done:n.undone).length=0;return}i.changes.push(Si(e,u));var a=o?bn(e,u,null):{anchor:r.anchorBefore,head:r.headBefore};Nn(e,u,a,kr(e,u));var f=[];li(e,function(e,t){if(!t&&ns(f,e.history)==-1){Ai(e.history,u);f.push(e.history)}Nn(e,u,null,kr(e,u))})}}function Tn(e,t){function n(e){return Ln(e.line+t,e.ch)}e.first+=t;e.cm&&Pt(e.cm,e.first,e.first,t);e.sel.head=n(e.sel.head);e.sel.anchor=n(e.sel.anchor);e.sel.from=n(e.sel.from);e.sel.to=n(e.sel.to)}function Nn(e,t,n,r){if(e.cm&&!e.cm.curOp)return Mt(e.cm,Nn)(e,t,n,r);if(t.to.line<e.first){Tn(e,t.text.length-1-(t.to.line-t.from.line));return}if(t.from.line>e.lastLine())return;if(t.from.line<e.first){var i=t.text.length-1-(e.first-t.from.line);Tn(e,i);t={from:Ln(e.first,0),to:Ln(t.to.line+i,t.to.ch),text:[es(t.text)],origin:t.origin}}var s=e.lastLine();t.to.line>s&&(t={from:t.from,to:Ln(s,hi(e,s).text.length),text:[t.text[0]],origin:t.origin});t.removed=pi(e,t.from,t.to);n||(n=bn(e,t,null));e.cm?Cn(e.cm,t,r,n):ri(e,t,r,n)}function Cn(e,t,n,r){var i=e.doc,s=e.display,o=t.from,u=t.to,a=!1,f=o.line;if(!e.options.lineWrapping){f=mi(_r(i,hi(i,o.line)));i.iter(f,u.line+1,function(e){if(e==s.maxLine){a=!0;return!0}})}!On(i.sel.head,t.from)&&!On(t.to,i.sel.head)&&(e.curOp.cursorActivity=!0);ri(i,t,n,r,k(e));if(!e.options.lineWrapping){i.iter(f,o.line+t.text.length,function(e){var t=D(i,e);if(t>s.maxLineLength){s.maxLine=e;s.maxLineLength=t;s.maxLineChanged=!0;a=!1}});a&&(e.curOp.updateMaxLine=!0)}i.frontier=Math.min(i.frontier,o.line);tt(e,400);var l=t.text.length-(u.line-o.line)-1;Pt(e,o.line,u.line+1,l);if(Vi(e,"change")){var c={from:o,to:u,text:t.text,removed:t.removed,origin:t.origin};if(e.curOp.textChanged){for(var h=e.curOp.textChanged;h.next;h=h.next);h.next=c}else e.curOp.textChanged=c}}function kn(e,t,n,r,i){r||(r=n);if(On(r,n)){var s=r;r=n;n=s}typeof t=="string"&&(t=Ss(t));En(e,{from:n,to:r,text:t,origin:i},null)}function Ln(e,t){if(!(this instanceof Ln))return new Ln(e,t);this.line=e;this.ch=t}function An(e,t){return e.line==t.line&&e.ch==t.ch}function On(e,t){return e.line<t.line||e.line==t.line&&e.ch<t.ch}function Mn(e){return Ln(e.line,e.ch)}function _n(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function Dn(e,t){if(t.line<e.first)return Ln(e.first,0);var n=e.first+e.size-1;return t.line>n?Ln(n,hi(e,n).text.length):Pn(t,hi(e,t.line).text.length)}function Pn(e,t){var n=e.ch;return n==null||n>t?Ln(e.line,t):n<0?Ln(e.line,0):e}function Hn(e,t){return t>=e.first&&t<e.first+e.size}function Bn(e,t,n,r){if(e.sel.shift||e.sel.extend){var i=e.sel.anchor;if(n){var s=On(t,i);if(s!=On(n,i)){i=t;t=n}else s!=On(t,n)&&(t=n)}Fn(e,i,t,r)}else Fn(e,t,n||t,r);e.cm&&(e.cm.curOp.userSelChange=!0)}function jn(e,t,n){var r={anchor:t,head:n};qi(e,"beforeSelectionChange",e,r);e.cm&&qi(e.cm,"beforeSelectionChange",e.cm,r);r.anchor=Dn(e,r.anchor);r.head=Dn(e,r.head);return r}function Fn(e,t,n,r,i){if(!i&&Vi(e,"beforeSelectionChange")||e.cm&&Vi(e.cm,"beforeSelectionChange")){var s=jn(e,t,n);n=s.head;t=s.anchor}var o=e.sel;o.goalColumn=null;r==null&&(r=On(n,o.head)?-1:1);if(i||!An(t,o.anchor))t=qn(e,t,r,i!="push");if(i||!An(n,o.head))n=qn(e,n,r,i!="push");if(An(o.anchor,t)&&An(o.head,n))return;o.anchor=t;o.head=n;var u=On(n,t);o.from=u?n:t;o.to=u?t:n;e.cm&&(e.cm.curOp.updateInput=e.cm.curOp.selectionChanged=e.cm.curOp.cursorActivity=!0);zi(e,"cursorActivity",e)}function In(e){Fn(e.doc,e.doc.sel.from,e.doc.sel.to,null,"push")}function qn(e,t,n,r){var i=!1,s=t,o=n||1;e.cantEdit=!1;e:for(;;){var u=hi(e,s.line);if(u.markedSpans)for(var a=0;a<u.markedSpans.length;++a){var f=u.markedSpans[a],l=f.marker;if((f.from==null||(l.inclusiveLeft?f.from<=s.ch:f.from<s.ch))&&(f.to==null||(l.inclusiveRight?f.to>=s.ch:f.to>s.ch))){if(r){qi(l,"beforeCursorEnter");if(l.explicitlyCleared){if(!u.markedSpans)break;--a;continue}}if(!l.atomic)continue;var c=l.find()[o<0?"from":"to"];if(An(c,s)){c.ch+=o;c.ch<0?c.line>e.first?c=Dn(e,Ln(c.line-1)):c=null:c.ch>u.text.length&&(c.line<e.first+e.size-1?c=Ln(c.line+1,0):c=null);if(!c){if(i){if(!r)return qn(e,t,n,!0);e.cantEdit=!0;return Ln(e.first,0)}i=!0;c=t;o=-o}}s=c;continue e}}return s}}function Rn(e){var t=Un(e,e.doc.sel.head,null,e.options.cursorScrollMargin);if(!e.state.focused)return;var n=e.display,r=vs(n.sizer),i=null;t.top+r.top<0?i=!0:t.bottom+r.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1);if(i!=null&&!p){var s=n.cursor.style.display=="none";if(s){n.cursor.style.display="";n.cursor.style.left=t.left+"px";n.cursor.style.top=t.top-n.viewOffset+"px"}n.cursor.scrollIntoView(i);s&&(n.cursor.style.display="none")}}function Un(e,t,n,r){r==null&&(r=0);for(;;){var i=!1,s=Et(e,t),o=!n||n==t?s:Et(e,n),u=Wn(e,Math.min(s.left,o.left),Math.min(s.top,o.top)-r,Math.max(s.left,o.left),Math.max(s.bottom,o.bottom)+r),a=e.doc.scrollTop,f=e.doc.scrollLeft;if(u.scrollTop!=null){Zt(e,u.scrollTop);Math.abs(e.doc.scrollTop-a)>1&&(i=!0)}if(u.scrollLeft!=null){en(e,u.scrollLeft);Math.abs(e.doc.scrollLeft-f)>1&&(i=!0)}if(!i)return s}}function zn(e,t,n,r,i){var s=Wn(e,t,n,r,i);s.scrollTop!=null&&Zt(e,s.scrollTop);s.scrollLeft!=null&&en(e,s.scrollLeft)}function Wn(e,t,n,r,i){var s=e.display,o=Ct(e.display);n<0&&(n=0);var u=s.scroller.clientHeight-Ji,a=s.scroller.scrollTop,f={},l=e.doc.height+ot(s),c=n<o,h=i>l-o;if(n<a)f.scrollTop=c?0:n;else if(i>a+u){var p=Math.min(n,(h?l:i)-u);p!=a&&(f.scrollTop=p)}var d=s.scroller.clientWidth-Ji,v=s.scroller.scrollLeft;t+=s.gutters.offsetWidth;r+=s.gutters.offsetWidth;var m=s.gutters.offsetWidth,g=t<m+10;if(t<v+m||g){g&&(t=0);f.scrollLeft=Math.max(0,t-10-m)}else r>d+v-3&&(f.scrollLeft=r+10-d);return f}function Xn(e,t,n){e.curOp.updateScrollPos={scrollLeft:t==null?e.doc.scrollLeft:t,scrollTop:n==null?e.doc.scrollTop:n}}function Vn(e,t,n){var r=e.curOp.updateScrollPos||(e.curOp.updateScrollPos={scrollLeft:e.doc.scrollLeft,scrollTop:e.doc.scrollTop}),i=e.display.scroller;r.scrollTop=Math.max(0,Math.min(i.scrollHeight-i.clientHeight,r.scrollTop+n));r.scrollLeft=Math.max(0,Math.min(i.scrollWidth-i.clientWidth,r.scrollLeft+t))}function $n(e,t,n,r){var i=e.doc;n==null&&(n="add");if(n=="smart")if(!e.doc.mode.indent)n="prev";else var s=it(e,t);var o=e.options.tabSize,u=hi(i,t),a=Gi(u.text,null,o),f=u.text.match(/^\s*/)[0],l;if(n=="smart"){l=e.doc.mode.indent(s,u.text.slice(f.length),u.text);if(l==Ki){if(!r)return;n="prev"}}n=="prev"?t>i.first?l=Gi(hi(i,t-1).text,null,o):l=0:n=="add"?l=a+e.options.indentUnit:n=="subtract"?l=a-e.options.indentUnit:typeof n=="number"&&(l=a+n);l=Math.max(0,l);var c="",h=0;if(e.options.indentWithTabs)for(var p=Math.floor(l/o);p;--p){h+=o;c+=" "}h<l&&(c+=Zi(l-h));c!=f?kn(e.doc,c,Ln(t,0),Ln(t,f.length),"+input"):i.sel.head.line==t&&i.sel.head.ch<f.length&&Fn(i,Ln(t,f.length),Ln(t,f.length),1);u.stateAfter=null}function Jn(e,t,n){var r=t,i=t,s=e.doc;typeof t=="number"?i=hi(s,_n(s,t)):r=mi(t);if(r==null)return null;if(!n(i,r))return null;Pt(e,r,r+1);return i}function Kn(e,t,n,r,i){function l(){var t=s+n;if(t<e.first||t>=e.first+e.size)return f=!1;s=t;return a=hi(e,t)}function c(e){var t=(i?js:Fs)(a,o,n,!0);if(t==null){if(!!e||!l())return f=!1;i?o=(n<0?Os:As)(a):o=n<0?a.text.length:0}else o=t;return!0}var s=t.line,o=t.ch,u=n,a=hi(e,s),f=!0;if(r=="char")c();else if(r=="column")c(!0);else if(r=="word"||r=="group"){var h=null,p=r=="group";for(var d=!0;;d=!1){if(n<0&&!c(!d))break;var v=a.text.charAt(o)||"\n",m=as(v)?"w":p?/\s/.test(v)?null:"p":null;if(h&&h!=m){if(n<0){n=1;c()}break}m&&(h=m);if(n>0&&!c(!d))break}}var g=qn(e,Ln(s,o),u,!0);f||(g.hitSide=!0);return g}function Qn(e,t,n,r){var i=e.doc,s=t.left,o;if(r=="page"){var u=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);o=t.top+n*(u-(n<0?1.5:.5)*Ct(e.display))}else r=="line"&&(o=n>0?t.bottom+3:t.top-3);for(;;){var a=xt(e,s,o);if(!a.outside)break;if(n<0?o<=0:o>=i.height){a.hitSide=!0;break}o+=n*5}return a}function Gn(e,t){var n=t.ch,r=t.ch;if(e){(t.xRel<0||r==e.length)&&n?--n:++r;var i=e.charAt(n),s=as(i)?as:/\s/.test(i)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&!as(e)};while(n>0&&s(e.charAt(n-1)))--n;while(r<e.length&&s(e.charAt(r)))++r}return{from:Ln(t.line,n),to:Ln(t.line,r)}}function Yn(e,t){Bn(e.doc,Ln(t,0),Dn(e.doc,Ln(t+1,0)))}function tr(e,t,n,r){x.defaults[e]=t;n&&(Zn[e]=r?function(e,t,r){r!=nr&&n(e,t,r)}:n)}function ar(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var n={};for(var r in t){var i=t[r];i instanceof Array&&(i=i.concat([]));n[r]=i}return n}function fr(e,t,n){return e.startState?e.startState(t,n):!0}function hr(e){return typeof e=="string"?cr[e]:e}function pr(e,t,n){function r(t){t=hr(t);var i=t[e];if(i===!1)return"stop";if(i!=null&&n(i))return!0;if(t.nofallthrough)return"stop";var s=t.fallthrough;if(s==null)return!1;if(Object.prototype.toString.call(s)!="[object Array]")return r(s);for(var o=0,u=s.length;o<u;++o){var a=r(s[o]);if(a)return a}return!1}for(var i=0;i<t.length;++i){var s=r(t[i]);if(s)return s!="stop"}}function dr(e){var t=Ns[e.keyCode];return t=="Ctrl"||t=="Alt"||t=="Shift"||t=="Mod"}function vr(e,t){if(a&&e.keyCode==34&&e["char"])return!1;var n=Ns[e.keyCode];if(n==null||e.altGraphKey)return!1;e.altKey&&(n="Alt-"+n);if(b?e.metaKey:e.ctrlKey)n="Ctrl-"+n;if(b?e.ctrlKey:e.metaKey)n="Cmd-"+n;!t&&e.shiftKey&&(n="Shift-"+n);return n}function mr(e,t){this.pos=this.start=0;this.string=e;this.tabSize=t||8;this.lastColumnPos=this.lastColumnValue=0}function gr(e,t){this.lines=[];this.type=t;this.doc=e}function yr(e,t,n,r,i){if(r&&r.shared)return wr(e,t,n,r,i);if(e.cm&&!e.cm.curOp)return Mt(e.cm,yr)(e,t,n,r,i);var s=new gr(e,i);if(On(n,t)||An(t,n)&&i=="range"&&(!r.inclusiveLeft||!r.inclusiveRight))return s;r&&is(r,s);if(s.replacedWith){s.collapsed=!0;s.replacedWith=cs("span",[s.replacedWith],"CodeMirror-widget");r.handleMouseEvents||(s.replacedWith.ignoreEvents=!0)}s.collapsed&&(S=!0);s.addToHistory&&xi(e,{from:t,to:n,origin:"markText"},{head:e.sel.head,anchor:e.sel.anchor},NaN);var o=t.line,u=0,a,f,l=e.cm,c;e.iter(o,n.line+1,function(r){l&&s.collapsed&&!l.options.lineWrapping&&_r(e,r)==l.display.maxLine&&(c=!0);var i={from:null,to:null,marker:s};u+=r.text.length;if(o==t.line){i.from=t.ch;u-=t.ch}if(o==n.line){i.to=n.ch;u-=r.text.length-n.ch}if(s.collapsed){o==n.line&&(f=Ar(r,n.ch));o==t.line?a=Ar(r,t.ch):vi(r,0)}xr(r,i);++o});s.collapsed&&e.iter(t.line,n.line+1,function(t){Dr(e,t)&&vi(t,0)});s.clearOnEnter&&Fi(s,"beforeCursorEnter",function(){s.clear()});if(s.readOnly){E=!0;(e.history.done.length||e.history.undone.length)&&e.clearHistory()}if(s.collapsed){if(a!=f)throw new Error("Inserting collapsed marker overlapping an existing one");s.size=u;s.atomic=!0}if(l){c&&(l.curOp.updateMaxLine=!0);(s.className||s.title||s.startStyle||s.endStyle||s.collapsed)&&Pt(l,t.line,n.line+1);s.atomic&&In(l)}return s}function br(e,t){this.markers=e;this.primary=t;for(var n=0,r=this;n<e.length;++n){e[n].parent=this;Fi(e[n],"clear",function(){r.clear()})}}function wr(e,t,n,r,i){r=is(r);r.shared=!1;var s=[yr(e,t,n,r,i)],o=s[0],u=r.replacedWith;li(e,function(e){u&&(r.replacedWith=u.cloneNode(!0));s.push(yr(e,Dn(e,t),Dn(e,n),r,i));for(var a=0;a<e.linked.length;++a)if(e.linked[a].isParent)return;o=es(s)});return new br(s,o)}function Er(e,t){if(e)for(var n=0;n<e.length;++n){var r=e[n];if(r.marker==t)return r}}function Sr(e,t){for(var n,r=0;r<e.length;++r)e[r]!=t&&(n||(n=[])).push(e[r]);return n}function xr(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t];t.marker.attachLine(e)}function Tr(e,t,n){if(e)for(var r=0,i;r<e.length;++r){var s=e[r],o=s.marker,u=s.from==null||(o.inclusiveLeft?s.from<=t:s.from<t);if(u||(o.inclusiveLeft&&o.inclusiveRight||o.type=="bookmark")&&s.from==t&&(!n||!s.marker.insertLeft)){var a=s.to==null||(o.inclusiveRight?s.to>=t:s.to>t);(i||(i=[])).push({from:s.from,to:a?null:s.to,marker:o})}}return i}function Nr(e,t,n){if(e)for(var r=0,i;r<e.length;++r){var s=e[r],o=s.marker,u=s.to==null||(o.inclusiveRight?s.to>=t:s.to>t);if(u||o.type=="bookmark"&&s.from==t&&(!n||s.marker.insertLeft)){var a=s.from==null||(o.inclusiveLeft?s.from<=t:s.from<t);(i||(i=[])).push({from:a?null:s.from-t,to:s.to==null?null:s.to-t,marker:o})}}return i}function Cr(e,t){var n=Hn(e,t.from.line)&&hi(e,t.from.line).markedSpans,r=Hn(e,t.to.line)&&hi(e,t.to.line).markedSpans;if(!n&&!r)return null;var i=t.from.ch,s=t.to.ch,o=An(t.from,t.to),u=Tr(n,i,o),a=Nr(r,s,o),f=t.text.length==1,l=es(t.text).length+(f?i:0);if(u)for(var c=0;c<u.length;++c){var h=u[c];if(h.to==null){var p=Er(a,h.marker);p?f&&(h.to=p.to==null?null:p.to+l):h.to=i}}if(a)for(var c=0;c<a.length;++c){var h=a[c];h.to!=null&&(h.to+=l);if(h.from==null){var p=Er(u,h.marker);if(!p){h.from=l;f&&(u||(u=[])).push(h)}}else{h.from+=l;f&&(u||(u=[])).push(h)}}if(f&&u){for(var c=0;c<u.length;++c)u[c].from!=null&&u[c].from==u[c].to&&u[c].marker.type!="bookmark"&&u.splice(c--,1);u.length||(u=null)}var d=[u];if(!f){var v=t.text.length-2,m;if(v>0&&u)for(var c=0;c<u.length;++c)u[c].to==null&&(m||(m=[])).push({from:null,to:null,marker:u[c].marker});for(var c=0;c<v;++c)d.push(m);d.push(a)}return d}function kr(e,t){var n=Ni(e,t),r=Cr(e,t);if(!n)return r;if(!r)return n;for(var i=0;i<n.length;++i){var s=n[i],o=r[i];if(s&&o)e:for(var u=0;u<o.length;++u){var a=o[u];for(var f=0;f<s.length;++f)if(s[f].marker==a.marker)continue e;s.push(a)}else o&&(n[i]=o)}return n}function Lr(e,t,n){var r=null;e.iter(t.line,n.line+1,function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var n=e.markedSpans[t].marker;n.readOnly&&(!r||ns(r,n)==-1)&&(r||(r=[])).push(n)}});if(!r)return null;var i=[{from:t,to:n}];for(var s=0;s<r.length;++s){var o=r[s],u=o.find();for(var a=0;a<i.length;++a){var f=i[a];if(On(f.to,u.from)||On(u.to,f.from))continue;var l=[a,1];(On(f.from,u.from)||!o.inclusiveLeft&&An(f.from,u.from))&&l.push({from:f.from,to:u.from});(On(u.to,f.to)||!o.inclusiveRight&&An(f.to,u.to))&&l.push({from:u.to,to:f.to});i.splice.apply(i,l);a+=l.length-1}}return i}function Ar(e,t){var n=S&&e.markedSpans,r;if(n)for(var i,s=0;s<n.length;++s){i=n[s];if(!i.marker.collapsed)continue;(i.from==null||i.from<t)&&(i.to==null||i.to>t)&&(!r||r.width<i.marker.width)&&(r=i.marker)}return r}function Or(e){return Ar(e,-1)}function Mr(e){return Ar(e,e.text.length+1)}function _r(e,t){var n;while(n=Or(t))t=hi(e,n.find().from.line);return t}function Dr(e,t){var n=S&&t.markedSpans;if(n)for(var r,i=0;i<n.length;++i){r=n[i];if(!r.marker.collapsed)continue;if(r.from==null)return!0;if(r.marker.replacedWith)continue;if(r.from==0&&r.marker.inclusiveLeft&&Pr(e,t,r))return!0}}function Pr(e,t,n){if(n.to==null){var r=n.marker.find().to,i=hi(e,r.line);return Pr(e,i,Er(i.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==t.text.length)return!0;for(var s,o=0;o<t.markedSpans.length;++o){s=t.markedSpans[o];if(s.marker.collapsed&&!s.marker.replacedWith&&s.from==n.to&&(s.marker.inclusiveLeft||n.marker.inclusiveRight)&&Pr(e,t,s))return!0}}function Hr(e){var t=e.markedSpans;if(!t)return;for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}function Br(e,t){if(!t)return;for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}function Fr(e){return function(){var t=!this.cm.curOp;t&&At(this.cm);try{var n=e.apply(this,arguments)}finally{t&&Ot(this.cm)}return n}}function Ir(e){if(e.height!=null)return e.height;(!e.node.parentNode||e.node.parentNode.nodeType!=1)&&ps(e.cm.display.measure,cs("div",[e.node],null,"position: relative"));return e.height=e.node.offsetHeight}function qr(e,t,n,r){var i=new jr(e,n,r);i.noHScroll&&(e.display.alignWidgets=!0);Jn(e,t,function(t){var n=t.widgets||(t.widgets=[]);i.insertAt==null?n.push(i):n.splice(Math.min(n.length-1,Math.max(0,i.insertAt)),0,i);i.line=t;if(!Dr(e.doc,t)||i.showIfHidden){var r=yi(e,t)<e.doc.scrollTop;vi(t,t.height+Ir(i));r&&Vn(e,0,i.height)}return!0});return i}function Ur(e,t,n,r){e.text=t;e.stateAfter&&(e.stateAfter=null);e.styles&&(e.styles=null);e.order!=null&&(e.order=null);Hr(e);Br(e,n);var i=r?r(e):1;i!=e.height&&vi(e,i)}function zr(e){e.parent=null;Hr(e)}function Wr(e,t,n,r,i,s){var o=n.flattenSpans;o==null&&(o=e.options.flattenSpans);var u=0,a=null,f=new mr(t,e.options.tabSize),l;t==""&&n.blankLine&&n.blankLine(r);while(!f.eol()){if(f.pos>e.options.maxHighlightLength){o=!1;s&&$r(e,t,r,f.pos);f.pos=t.length;l=null}else l=n.token(f,r);if(!o||a!=l){u<f.start&&i(f.start,a);u=f.start;a=l}f.start=f.pos}while(u<f.pos){var c=Math.min(f.pos,u+5e4);i(c,a);u=c}}function Xr(e,t,n,r){var i=[e.state.modeGen];Wr(e,t.text,e.doc.mode,n,function(e,t){i.push(e,t)},r);for(var s=0;s<e.state.overlays.length;++s){var o=e.state.overlays[s],u=1,a=0;Wr(e,t.text,o.mode,!0,function(e,t){var n=u;while(a<e){var r=i[u];r>e&&i.splice(u,1,e,i[u+1],r);u+=2;a=Math.min(e,r)}if(!t)return;if(o.opaque){i.splice(n,u-n,e,t);u=n+2}else for(;n<u;n+=2){var s=i[n+1];i[n+1]=s?s+" "+t:t}})}return i}function Vr(e,t){if(!t.styles||t.styles[0]!=e.state.modeGen)t.styles=Xr(e,t,t.stateAfter=it(e,mi(t)));return t.styles}function $r(e,t,n,r){var i=e.doc.mode,s=new mr(t,e.options.tabSize);s.start=s.pos=r||0;t==""&&i.blankLine&&i.blankLine(n);while(!s.eol()&&s.pos<=e.options.maxHighlightLength){i.token(s,n);s.start=s.pos}}function Kr(e,t){if(!e)return null;for(;;){var n=e.match(/(?:^|\s)line-(background-)?(\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var r=n[1]?"bgClass":"textClass";t[r]==null?t[r]=n[2]:(new RegExp("(?:^|s)"+n[2]+"(?:$|s)")).test(t[r])||(t[r]+=" "+n[2])}return Jr[e
6
- ]||(Jr[e]="cm-"+e.replace(/ +/g," cm-"))}function Qr(e,n,r,o){var u,a=n,f=!0;while(u=Or(a))a=hi(e.doc,u.find().from.line);var l={pre:cs("pre"),col:0,pos:0,measure:null,measuredSomething:!1,cm:e,copyWidgets:o};do{a.text&&(f=!1);l.measure=a==n&&r;l.pos=0;l.addToken=l.measure?Zr:Yr;(t||s)&&e.getOption("lineWrapping")&&(l.addToken=ei(l.addToken));var c=ni(a,l,Vr(e,a));if(r&&a==n&&!l.measuredSomething){r[0]=l.pre.appendChild(Es(e.display.measure));l.measuredSomething=!0}c&&(a=hi(e.doc,c.to.line))}while(c);r&&!l.measuredSomething&&!r[0]&&(r[0]=l.pre.appendChild(f?cs("span"," "):Es(e.display.measure)));!l.pre.firstChild&&!Dr(e.doc,n)&&l.pre.appendChild(document.createTextNode(" "));var h;if(r&&(t||i)&&(h=bi(a))){var p=h.length-1;h[p].from==h[p].to&&--p;var d=h[p],v=h[p-1];if(d.from+1==d.to&&v&&d.level<v.level){var m=r[l.pos-1];m&&m.parentNode.insertBefore(m.measureRight=Es(e.display.measure),m.nextSibling)}}var g=l.textClass?l.textClass+" "+(n.textClass||""):n.textClass;g&&(l.pre.className=g);qi(e,"renderLine",e,n,l.pre);return l}function Gr(e){var t=cs("span","•","cm-invalidchar");t.title="\\u"+e.charCodeAt(0).toString(16);return t}function Yr(e,t,n,r,i,s){if(!t)return;var o=e.cm.options.specialChars;if(!o.test(t)){e.col+=t.length;var u=document.createTextNode(t)}else{var u=document.createDocumentFragment(),a=0;for(;;){o.lastIndex=a;var f=o.exec(t),l=f?f.index-a:t.length-a;if(l){u.appendChild(document.createTextNode(t.slice(a,a+l)));e.col+=l}if(!f)break;a+=l+1;if(f[0]==" "){var c=e.cm.options.tabSize,h=c-e.col%c;u.appendChild(cs("span",Zi(h),"cm-tab"));e.col+=h}else{var p=e.cm.options.specialCharPlaceholder(f[0]);u.appendChild(p);e.col+=1}}}if(n||r||i||e.measure){var d=n||"";r&&(d+=r);i&&(d+=i);var p=cs("span",[u],d);s&&(p.title=s);return e.pre.appendChild(p)}e.pre.appendChild(u)}function Zr(e,n,r,i,s){var o=e.cm.options.lineWrapping;for(var u=0;u<n.length;++u){var a=n.charAt(u),f=u==0;if(a>="���"&&a<"���"&&u<n.length-1){a=n.slice(u,u+2);++u}else u&&o&&gs(n,u)&&e.pre.appendChild(cs("wbr"));var l=e.measure[e.pos],c=e.measure[e.pos]=Yr(e,a,r,f&&i,u==n.length-1&&s);l&&(c.leftSide=l.leftSide||l);t&&o&&a==" "&&u&&!/\s/.test(n.charAt(u-1))&&u<n.length-1&&!/\s/.test(n.charAt(u+1))&&(c.style.whiteSpace="normal");e.pos+=a.length}n.length&&(e.measuredSomething=!0)}function ei(e){function t(e){var t=" ";for(var n=0;n<e.length-2;++n)t+=n%2?" ":" ";t+=" ";return t}return function(n,r,i,s,o,u){return e(n,r.replace(/ {3,}/g,t),i,s,o,u)}}function ti(e,t,n,r){var i=!r&&n.replacedWith;if(i){e.copyWidgets&&(i=i.cloneNode(!0));e.pre.appendChild(i);if(e.measure){if(t)e.measure[e.pos]=i;else{var s=Es(e.cm.display.measure);if(n.type=="bookmark"&&!n.insertLeft)e.measure[e.pos]=e.pre.appendChild(s);else{if(e.measure[e.pos])return;e.measure[e.pos]=e.pre.insertBefore(s,i)}}e.measuredSomething=!0}}e.pos+=t}function ni(e,t,n){var r=e.markedSpans,i=e.text,s=0;if(!r){for(var o=1;o<n.length;o+=2)t.addToken(t,i.slice(s,s=n[o]),Kr(n[o+1],t));return}var u=i.length,a=0,o=1,f="",l,c=0,h,p,d,v,m;for(;;){if(c==a){h=p=d=v="";m=null;c=Infinity;var g=[];for(var y=0;y<r.length;++y){var b=r[y],w=b.marker;if(b.from<=a&&(b.to==null||b.to>a)){if(b.to!=null&&c>b.to){c=b.to;p=""}w.className&&(h+=" "+w.className);w.startStyle&&b.from==a&&(d+=" "+w.startStyle);w.endStyle&&b.to==c&&(p+=" "+w.endStyle);w.title&&!v&&(v=w.title);w.collapsed&&(!m||m.marker.size<w.size)&&(m=b)}else b.from>a&&c>b.from&&(c=b.from);w.type=="bookmark"&&b.from==a&&w.replacedWith&&g.push(w)}if(m&&(m.from||0)==a){ti(t,(m.to==null?u:m.to)-a,m.marker,m.from==null);if(m.to==null)return m.marker.find()}if(!m&&g.length)for(var y=0;y<g.length;++y)ti(t,0,g[y])}if(a>=u)break;var E=Math.min(u,c);for(;;){if(f){var S=a+f.length;if(!m){var x=S>E?f.slice(0,E-a):f;t.addToken(t,x,l?l+h:h,d,a+x.length==c?p:"",v)}if(S>=E){f=f.slice(E-a);a=E;break}a=S;d=""}f=i.slice(s,s=n[o++]);l=Kr(n[o++],t)}}}function ri(e,t,n,r,i){function s(e){return n?n[e]:null}function o(e,n,r){Ur(e,n,r,i);zi(e,"change",e,t)}var u=t.from,a=t.to,f=t.text,l=hi(e,u.line),c=hi(e,a.line),h=es(f),p=s(f.length-1),d=a.line-u.line;if(u.ch==0&&a.ch==0&&h==""&&(!e.cm||e.cm.options.wholeLineUpdateBefore)){for(var v=0,m=f.length-1,g=[];v<m;++v)g.push(new Rr(f[v],s(v),i));o(c,c.text,p);d&&e.remove(u.line,d);g.length&&e.insert(u.line,g)}else if(l==c)if(f.length==1)o(l,l.text.slice(0,u.ch)+h+l.text.slice(a.ch),p);else{for(var g=[],v=1,m=f.length-1;v<m;++v)g.push(new Rr(f[v],s(v),i));g.push(new Rr(h+l.text.slice(a.ch),p,i));o(l,l.text.slice(0,u.ch)+f[0],s(0));e.insert(u.line+1,g)}else if(f.length==1){o(l,l.text.slice(0,u.ch)+f[0]+c.text.slice(a.ch),s(0));e.remove(u.line+1,d)}else{o(l,l.text.slice(0,u.ch)+f[0],s(0));o(c,h+c.text.slice(a.ch),p);for(var v=1,m=f.length-1,g=[];v<m;++v)g.push(new Rr(f[v],s(v),i));d>1&&e.remove(u.line+1,d-1);e.insert(u.line+1,g)}zi(e,"change",e,t);Fn(e,r.anchor,r.head,null,!0)}function ii(e){this.lines=e;this.parent=null;for(var t=0,n=e.length,r=0;t<n;++t){e[t].parent=this;r+=e[t].height}this.height=r}function si(e){this.children=e;var t=0,n=0;for(var r=0,i=e.length;r<i;++r){var s=e[r];t+=s.chunkSize();n+=s.height;s.parent=this}this.size=t;this.height=n;this.parent=null}function li(e,t,n){function r(e,i,s){if(e.linked)for(var o=0;o<e.linked.length;++o){var u=e.linked[o];if(u.doc==i)continue;var a=s&&u.sharedHist;if(n&&!a)continue;t(u.doc,a);r(u.doc,e,a)}}r(e,null,!0)}function ci(e,t){if(t.cm)throw new Error("This document is already in use.");e.doc=t;t.cm=e;L(e);N(e);e.options.lineWrapping||P(e);e.options.mode=t.modeOption;Pt(e)}function hi(e,t){t-=e.first;while(!e.lines)for(var n=0;;++n){var r=e.children[n],i=r.chunkSize();if(t<i){e=r;break}t-=i}return e.lines[t]}function pi(e,t,n){var r=[],i=t.line;e.iter(t.line,n.line+1,function(e){var s=e.text;i==n.line&&(s=s.slice(0,n.ch));i==t.line&&(s=s.slice(t.ch));r.push(s);++i});return r}function di(e,t,n){var r=[];e.iter(t,n,function(e){r.push(e.text)});return r}function vi(e,t){var n=t-e.height;for(var r=e;r;r=r.parent)r.height+=n}function mi(e){if(e.parent==null)return null;var t=e.parent,n=ns(t.lines,e);for(var r=t.parent;r;t=r,r=r.parent)for(var i=0;;++i){if(r.children[i]==t)break;n+=r.children[i].chunkSize()}return n+t.first}function gi(e,t){var n=e.first;e:do{for(var r=0,i=e.children.length;r<i;++r){var s=e.children[r],o=s.height;if(t<o){e=s;continue e}t-=o;n+=s.chunkSize()}return n}while(!e.lines);for(var r=0,i=e.lines.length;r<i;++r){var u=e.lines[r],a=u.height;if(t<a)break;t-=a}return n+r}function yi(e,t){t=_r(e.doc,t);var n=0,r=t.parent;for(var i=0;i<r.lines.length;++i){var s=r.lines[i];if(s==t)break;n+=s.height}for(var o=r.parent;o;r=o,o=r.parent)for(var i=0;i<o.children.length;++i){var u=o.children[i];if(u==r)break;n+=u.height}return n}function bi(e){var t=e.order;t==null&&(t=e.order=Is(e.text));return t}function wi(e){return{done:[],undone:[],undoDepth:Infinity,lastTime:0,lastOp:null,lastOrigin:null,generation:e||1,maxGeneration:e||1}}function Ei(e,t,n,r){var i=t["spans_"+e.id],s=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,r),function(n){n.markedSpans&&((i||(i=t["spans_"+e.id]={}))[s]=n.markedSpans);++s})}function Si(e,t){var n={line:t.from.line,ch:t.from.ch},r={from:n,to:gn(t),text:pi(e,t.from,t.to)};Ei(e,r,t.from.line,t.to.line+1);li(e,function(e){Ei(e,r,t.from.line,t.to.line+1)},!0);return r}function xi(e,t,n,r){var i=e.history;i.undone.length=0;var s=+(new Date),o=es(i.done);if(o&&(i.lastOp==r||i.lastOrigin==t.origin&&t.origin&&(t.origin.charAt(0)=="+"&&e.cm&&i.lastTime>s-e.cm.options.historyEventDelay||t.origin.charAt(0)=="*"))){var u=es(o.changes);An(t.from,t.to)&&An(t.from,u.to)?u.to=gn(t):o.changes.push(Si(e,t));o.anchorAfter=n.anchor;o.headAfter=n.head}else{o={changes:[Si(e,t)],generation:i.generation,anchorBefore:e.sel.anchor,headBefore:e.sel.head,anchorAfter:n.anchor,headAfter:n.head};i.done.push(o);i.generation=++i.maxGeneration;while(i.done.length>i.undoDepth)i.done.shift()}i.lastTime=s;i.lastOp=r;i.lastOrigin=t.origin}function Ti(e){if(!e)return null;for(var t=0,n;t<e.length;++t)e[t].marker.explicitlyCleared?n||(n=e.slice(0,t)):n&&n.push(e[t]);return n?n.length?n:null:e}function Ni(e,t){var n=t["spans_"+e.id];if(!n)return null;for(var r=0,i=[];r<t.text.length;++r)i.push(Ti(n[r]));return i}function Ci(e,t){for(var n=0,r=[];n<e.length;++n){var i=e[n],s=i.changes,o=[];r.push({changes:o,anchorBefore:i.anchorBefore,headBefore:i.headBefore,anchorAfter:i.anchorAfter,headAfter:i.headAfter});for(var u=0;u<s.length;++u){var a=s[u],f;o.push({from:a.from,to:a.to,text:a.text});if(t)for(var l in a)if(f=l.match(/^spans_(\d+)$/))if(ns(t,Number(f[1]))>-1){es(o)[l]=a[l];delete a[l]}}}return r}function ki(e,t,n,r){if(n<e.line)e.line+=r;else if(t<e.line){e.line=t;e.ch=0}}function Li(e,t,n,r){for(var i=0;i<e.length;++i){var s=e[i],o=!0;for(var u=0;u<s.changes.length;++u){var a=s.changes[u];if(!s.copied){a.from=Mn(a.from);a.to=Mn(a.to)}if(n<a.from.line){a.from.line+=r;a.to.line+=r}else if(t<=a.to.line){o=!1;break}}if(!s.copied){s.anchorBefore=Mn(s.anchorBefore);s.headBefore=Mn(s.headBefore);s.anchorAfter=Mn(s.anchorAfter);s.readAfter=Mn(s.headAfter);s.copied=!0}if(!o){e.splice(0,i+1);i=0}else{ki(s.anchorBefore);ki(s.headBefore);ki(s.anchorAfter);ki(s.headAfter)}}}function Ai(e,t){var n=t.from.line,r=t.to.line,i=t.text.length-(r-n)-1;Li(e.done,n,r,i);Li(e.undone,n,r,i)}function Oi(){Hi(this)}function Mi(e){e.stop||(e.stop=Oi);return e}function _i(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Di(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Pi(e){return e.defaultPrevented!=null?e.defaultPrevented:e.returnValue==0}function Hi(e){_i(e);Di(e)}function Bi(e){return e.target||e.srcElement}function ji(e){var t=e.which;t==null&&(e.button&1?t=1:e.button&2?t=3:e.button&4&&(t=2));m&&e.ctrlKey&&t==1&&(t=3);return t}function Fi(e,t,n){if(e.addEventListener)e.addEventListener(t,n,!1);else if(e.attachEvent)e.attachEvent("on"+t,n);else{var r=e._handlers||(e._handlers={}),i=r[t]||(r[t]=[]);i.push(n)}}function Ii(e,t,n){if(e.removeEventListener)e.removeEventListener(t,n,!1);else if(e.detachEvent)e.detachEvent("on"+t,n);else{var r=e._handlers&&e._handlers[t];if(!r)return;for(var i=0;i<r.length;++i)if(r[i]==n){r.splice(i,1);break}}}function qi(e,t){var n=e._handlers&&e._handlers[t];if(!n)return;var r=Array.prototype.slice.call(arguments,2);for(var i=0;i<n.length;++i)n[i].apply(null,r)}function zi(e,t){function i(e){return function(){e.apply(null,r)}}var n=e._handlers&&e._handlers[t];if(!n)return;var r=Array.prototype.slice.call(arguments,2);if(!Ri){++Ui;Ri=[];setTimeout(Xi,0)}for(var s=0;s<n.length;++s)Ri.push(i(n[s]))}function Wi(e,t,n){qi(e,n||t.type,e,t);return Pi(t)||t.codemirrorIgnore}function Xi(){--Ui;var e=Ri;Ri=null;for(var t=0;t<e.length;++t)e[t]()}function Vi(e,t){var n=e._handlers&&e._handlers[t];return n&&n.length>0}function $i(e){e.prototype.on=function(e,t){Fi(this,e,t)};e.prototype.off=function(e,t){Ii(this,e,t)}}function Qi(){this.id=null}function Gi(e,t,n,r,i){if(t==null){t=e.search(/[^\s\u00a0]/);t==-1&&(t=e.length)}for(var s=r||0,o=i||0;s<t;++s)e.charAt(s)==" "?o+=n-o%n:++o;return o}function Zi(e){while(Yi.length<=e)Yi.push(es(Yi)+" ");return Yi[e]}function es(e){return e[e.length-1]}function ts(e){if(d){e.selectionStart=0;e.selectionEnd=e.value.length}else try{e.select()}catch(t){}}function ns(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;++n)if(e[n]==t)return n;return-1}function rs(e,t){function n(){}n.prototype=e;var r=new n;t&&is(t,r);return r}function is(e,t){t||(t={});for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function ss(e){for(var t=[],n=0;n<e;++n)t.push(undefined);return t}function os(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function as(e){return/\w/.test(e)||e>"€"&&(e.toUpperCase()!=e.toLowerCase()||us.test(e))}function fs(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}function cs(e,t,n,r){var i=document.createElement(e);n&&(i.className=n);r&&(i.style.cssText=r);if(typeof t=="string")ds(i,t);else if(t)for(var s=0;s<t.length;++s)i.appendChild(t[s]);return i}function hs(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function ps(e,t){return hs(e).appendChild(t)}function ds(e,t){if(r){e.innerHTML="";e.appendChild(document.createTextNode(t))}else e.textContent=t}function vs(e){return e.getBoundingClientRect()}function gs(){return!1}function bs(e){if(ys!=null)return ys;var t=cs("div",null,null,"width: 50px; height: 50px; overflow-x: scroll");ps(e,t);t.offsetWidth&&(ys=t.offsetHeight-t.clientHeight);return ys||0}function Es(e){if(ws==null){var t=cs("span","​");ps(e,cs("span",[t,document.createTextNode("x")]));e.firstChild.offsetHeight!=0&&(ws=t.offsetWidth<=1&&t.offsetHeight>2&&!n)}return ws?cs("span","​"):cs("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px")}function Cs(e,t,n,r){if(!e)return r(t,n,"ltr");var i=!1;for(var s=0;s<e.length;++s){var o=e[s];if(o.from<n&&o.to>t||t==n&&o.to==t){r(Math.max(o.from,t),Math.min(o.to,n),o.level==1?"rtl":"ltr");i=!0}}i||r(t,n,"ltr")}function ks(e){return e.level%2?e.to:e.from}function Ls(e){return e.level%2?e.from:e.to}function As(e){var t=bi(e);return t?ks(t[0]):0}function Os(e){var t=bi(e);return t?Ls(es(t)):e.text.length}function Ms(e,t){var n=hi(e.doc,t),r=_r(e.doc,n);r!=n&&(t=mi(r));var i=bi(r),s=i?i[0].level%2?Os(r):As(r):0;return Ln(t,s)}function _s(e,t){var n,r;while(n=Mr(r=hi(e.doc,t)))t=n.find().to.line;var i=bi(r),s=i?i[0].level%2?As(r):Os(r):r.text.length;return Ln(t,s)}function Ds(e,t,n){var r=e[0].level;return t==r?!0:n==r?!1:t<n}function Hs(e,t){for(var n=0,r;n<e.length;++n){var i=e[n];if(i.from<t&&i.to>t){Ps=null;return n}if(i.from==t||i.to==t){if(r!=null){if(Ds(e,i.level,e[r].level)){Ps=r;return n}Ps=n;return r}r=n}}Ps=null;return r}function Bs(e,t,n,r){if(!r)return t+n;do t+=n;while(t>0&&ls.test(e.text.charAt(t)));return t}function js(e,t,n,r){var i=bi(e);if(!i)return Fs(e,t,n,r);var s=Hs(i,t),o=i[s],u=Bs(e,t,o.level%2?-n:n,r);for(;;){if(u>o.from&&u<o.to)return u;if(u==o.from||u==o.to){if(Hs(i,u)==s)return u;o=i[s+=n];return n>0==o.level%2?o.to:o.from}o=i[s+=n];if(!o)return null;n>0==o.level%2?u=Bs(e,o.to,-1,r):u=Bs(e,o.from,1,r)}}function Fs(e,t,n,r){var i=t+n;if(r)while(i>0&&ls.test(e.text.charAt(i)))i+=n;return i<0||i>e.text.length?null:i}var e=/gecko\/\d/i.test(navigator.userAgent),t=/MSIE \d/.test(navigator.userAgent),n=t&&(document.documentMode==null||document.documentMode<8),r=t&&(document.documentMode==null||document.documentMode<9),i=/Trident\/([7-9]|\d{2,})\./.test(navigator.userAgent),s=/WebKit\//.test(navigator.userAgent),o=s&&/Qt\/\d+\.\d+/.test(navigator.userAgent),u=/Chrome\//.test(navigator.userAgent),a=/Opera\//.test(navigator.userAgent),f=/Apple Computer/.test(navigator.vendor),l=/KHTML\//.test(navigator.userAgent),c=/Mac OS X 1\d\D([7-9]|\d\d)\D/.test(navigator.userAgent),h=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent),p=/PhantomJS/.test(navigator.userAgent),d=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),v=d||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent),m=d||/Mac/.test(navigator.platform),g=/win/i.test(navigator.platform),y=a&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);y&&(y=Number(y[1]));if(y&&y>=15){a=!1;s=!0}var b=m&&(o||a&&(y==null||y<12.11)),w=e||t&&!r,E=!1,S=!1,Nt,Lt=0,Wt,Xt,Qt=0,tn=0,nn=null;t?nn=-0.53:e?nn=15:u?nn=-0.7:f&&(nn=-1/3);var un,ln=null,vn,gn=x.changeEnd=function(e){return e.text?Ln(e.from.line+e.text.length-1,es(e.text).length+(e.text.length==1?e.from.ch:0)):e.to};x.Pos=Ln;x.prototype={constructor:x,focus:function(){window.focus();It(this);Bt(this)},setOption:function(e,t){var n=this.options,r=n[e];if(n[e]==t&&e!="mode")return;n[e]=t;Zn.hasOwnProperty(e)&&Mt(this,Zn[e])(this,t,r)},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](e)},removeKeyMap:function(e){var t=this.state.keyMaps;for(var n=0;n<t.length;++n)if(t[n]==e||typeof t[n]!="string"&&t[n].name==e){t.splice(n,1);return!0}},addOverlay:Mt(null,function(e,t){var n=e.token?e:x.getMode(this.options,e);if(n.startState)throw new Error("Overlays may not be stateful.");this.state.overlays.push({mode:n,modeSpec:e,opaque:t&&t.opaque});this.state.modeGen++;Pt(this)}),removeOverlay:Mt(null,function(e){var t=this.state.overlays;for(var n=0;n<t.length;++n){var r=t[n].modeSpec;if(r==e||typeof e=="string"&&r.name==e){t.splice(n,1);this.state.modeGen++;Pt(this);return}}}),indentLine:Mt(null,function(e,t,n){typeof t!="string"&&typeof t!="number"&&(t==null?t=this.options.smartIndent?"smart":"prev":t=t?"add":"subtract");Hn(this.doc,e)&&$n(this,e,t,n)}),indentSelection:Mt(null,function(e){var t=this.doc.sel;if(An(t.from,t.to))return $n(this,t.from.line,e);var n=t.to.line-(t.to.ch?0:1);for(var r=t.from.line;r<=n;++r)$n(this,r,e)}),getTokenAt:function(e,t){var n=this.doc;e=Dn(n,e);var r=it(this,e.line,t),i=this.doc.mode,s=hi(n,e.line),o=new mr(s.text,this.options.tabSize);while(o.pos<e.ch&&!o.eol()){o.start=o.pos;var u=i.token(o,r)}return{start:o.start,end:o.pos,string:o.current(),className:u||null,type:u||null,state:r}},getTokenTypeAt:function(e){e=Dn(this.doc,e);var t=Vr(this,hi(this.doc,e.line)),n=0,r=(t.length-1)/2,i=e.ch;if(i==0)return t[2];for(;;){var s=n+r>>1;if((s?t[s*2-1]:0)>=i)r=s;else{if(!(t[s*2+1]<i))return t[s*2+2];n=s+1}}},getModeAt:function(e){var t=this.doc.mode;return t.innerMode?x.innerMode(t,this.getTokenAt(e).state).mode:t},getHelper:function(e,t){if(!ur.hasOwnProperty(t))return;var n=ur[t],r=this.getModeAt(e);return r[t]&&n[r[t]]||r.helperType&&n[r.helperType]||n[r.name]},getStateAfter:function(e,t){var n=this.doc;e=_n(n,e==null?n.first+n.size-1:e);return it(this,e+1,t)},cursorCoords:function(e,t){var n,r=this.doc.sel;e==null?n=r.head:typeof e=="object"?n=Dn(this.doc,e):n=e?r.from:r.to;return Et(this,n,t||"page")},charCoords:function(e,t){return wt(this,Dn(this.doc,e),t||"page")},coordsChar:function(e,t){e=bt(this,e,t||"page");return xt(this,e.left,e.top)},lineAtHeight:function(e,t){e=bt(this,{top:e,left:0},t||"page").top;return gi(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t){var n=!1,r=this.doc.first+this.doc.size-1;if(e<this.doc.first)e=this.doc.first;else if(e>r){e=r;n=!0}var i=hi(this.doc,e);return yt(this,hi(this.doc,e),{top:0,left:0},t||"page").top+(n?i.height:0)},defaultTextHeight:function(){return Ct(this.display)},defaultCharWidth:function(){return kt(this.display)},setGutterMarker:Mt(null,function(e,t,n){return Jn(this,e,function(e){var r=e.gutterMarkers||(e.gutterMarkers={});r[t]=n;!n&&fs(r)&&(e.gutterMarkers=null);return!0})}),clearGutter:Mt(null,function(e){var t=this,n=t.doc,r=n.first;n.iter(function(n){if(n.gutterMarkers&&n.gutterMarkers[e]){n.gutterMarkers[e]=null;Pt(t,r,r+1);fs(n.gutterMarkers)&&(n.gutterMarkers=null)}++r})}),addLineClass:Mt(null,function(e,t,n){return Jn(this,e,function(e){var r=t=="text"?"textClass":t=="background"?"bgClass":"wrapClass";if(!e[r])e[r]=n;else{if((new RegExp("(?:^|\\s)"+n+"(?:$|\\s)")).test(e[r]))return!1;e[r]+=" "+n}return!0})}),removeLineClass:Mt(null,function(e,t,n){return Jn(this,e,function(e){var r=t=="text"?"textClass":t=="background"?"bgClass":"wrapClass",i=e[r];if(!i)return!1;if(n==null)e[r]=null;else{var s=i.match(new RegExp("(?:^|\\s+)"+n+"(?:$|\\s+)"));if(!s)return!1;var o=s.index+s[0].length;e[r]=i.slice(0,s.index)+(!s.index||o==i.length?"":" ")+i.slice(o)||null}return!0})}),addLineWidget:Mt(null,function(e,t,n){return qr(this,e,t,n)}),removeLineWidget:function(e){e.clear()},lineInfo:function(e){if(typeof e=="number"){if(!Hn(this.doc,e))return null;var t=e;e=hi(this.doc,e);if(!e)return null}else{var t=mi(e);if(t==null)return null}return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},getViewport:function(){return{from:this.display.showingFrom,to:this.display.showingTo}},addWidget:function(e,t,n,r,i){var s=this.display;e=Et(this,Dn(this.doc,e));var o=e.bottom,u=e.left;t.style.position="absolute";s.sizer.appendChild(t);if(r=="over")o=e.top;else if(r=="above"||r=="near"){var a=Math.max(s.wrapper.clientHeight,this.doc.height),f=Math.max(s.sizer.clientWidth,s.lineSpace.clientWidth);(r=="above"||e.bottom+t.offsetHeight>a)&&e.top>t.offsetHeight?o=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=a&&(o=e.bottom);u+t.offsetWidth>f&&(u=f-t.offsetWidth)}t.style.top=o+"px";t.style.left=t.style.right="";if(i=="right"){u=s.sizer.clientWidth-t.offsetWidth;t.style.right="0px"}else{i=="left"?u=0:i=="middle"&&(u=(s.sizer.clientWidth-t.offsetWidth)/2);t.style.left=u+"px"}n&&zn(this,u,o,u+t.offsetWidth,o+t.offsetHeight)},triggerOnKeyDown:Mt(null,cn),execCommand:function(e){return lr[e](this)},findPosH:function(e,t,n,r){var i=1;if(t<0){i=-1;t=-t}for(var s=0,o=Dn(this.doc,e);s<t;++s){o=Kn(this.doc,o,i,n,r);if(o.hitSide)break}return o},moveH:Mt(null,function(e,t){var n=this.doc.sel,r;n.shift||n.extend||An(n.from,n.to)?r=Kn(this.doc,n.head,e,t,this.options.rtlMoveVisually):r=e<0?n.from:n.to;Bn(this.doc,r,r,e)}),deleteH:Mt(null,function(e,t){var n=this.doc.sel;An(n.from,n.to)?kn(this.doc,"",n.from,Kn(this.doc,n.head,e,t,!1),"+delete"):kn(this.doc,"",n.from,n.to,"+delete");this.curOp.userSelChange=!0}),findPosV:function(e,t,n,r){var i=1,s=r;if(t<0){i=-1;t=-t}for(var o=0,u=Dn(this.doc,e);o<t;++o){var a=Et(this,u,"div");s==null?s=a.left:a.left=s;u=Qn(this,a,i,n);if(u.hitSide)break}return u},moveV:Mt(null,function(e,t){var n=this.doc.sel,r=Et(this,n.head,"div");n.goalColumn!=null&&(r.left=n.goalColumn);var i=Qn(this,r,e,t);t=="page"&&Vn(this,0,wt(this,i,"div").top-r.top);Bn(this.doc,i,i,e);n.goalColumn=r.left}),toggleOverwrite:function(e){if(e!=null&&e==this.state.overwrite)return;(this.state.overwrite=!this.state.overwrite)?this.display.cursor.className+=" CodeMirror-overwrite":this.display.cursor.className=this.display.cursor.className.replace(" CodeMirror-overwrite","")},hasFocus:function(){return this.state.focused},scrollTo:Mt(null,function(e,t){Xn(this,e,t)}),getScrollInfo:function(){var e=this.display.scroller,t=Ji;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-t,width:e.scrollWidth-t,clientHeight:e.clientHeight-t,clientWidth:e.clientWidth-t}},scrollIntoView:Mt(null,function(e,t){e==null?e={from:this.doc.sel.head,to:null}:typeof e=="number"?e={from:Ln(e,0),to:null}:e.from==null&&(e={from:e,to:null});e.to||(e.to=e.from);t||(t=0);var n=e;if(e.from.line!=null){this.curOp.scrollToPos={from:e.from,to:e.to,margin:t};n={from:Et(this,e.from),to:Et(this,e.to)}}var r=Wn(this,Math.min(n.from.left,n.to.left),Math.min(n.from.top,n.to.top)-t,Math.max(n.from.right,n.to.right),Math.max(n.from.bottom,n.to.bottom)+t);Xn(this,r.scrollLeft,r.scrollTop)}),setSize:Mt(null,function(e,t){function n(e){return typeof e=="number"||/^\d+$/.test(String(e))?e+"px":e}e!=null&&(this.display.wrapper.style.width=n(e));t!=null&&(this.display.wrapper.style.height=n(t));this.options.lineWrapping&&(this.display.measureLineCache.length=this.display.measureLineCachePos=0);this.curOp.forceUpdate=!0}),operation:function(e){return Dt(this,e)},refresh:Mt(null,function(){var e=this.display.cachedTextHeight==null;vt(this);Xn(this,this.doc.scrollLeft,this.doc.scrollTop);Pt(this);e&&L(this)}),swapDoc:Mt(null,function(e){var t=this.doc;t.cm=null;ci(this,e);vt(this);Ft(this,!0);Xn(this,e.scrollLeft,e.scrollTop);zi(this,"swapDoc",this,t);return t}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};$i(x);var Zn=x.optionHandlers={},er=x.defaults={},nr=x.Init={toString:function(){return"CodeMirror.Init"}};tr("value","",function(e,t){e.setValue(t)},!0);tr("mode",null,function(e,t){e.doc.modeOption=t;N(e)},!0);tr("indentUnit",2,N,!0);tr("indentWithTabs",!1);tr("smartIndent",!0);tr("tabSize",4,function(e){N(e);vt(e);Pt(e)},!0);tr("specialChars",/[\t\u0000-\u0019\u00ad\u200b\u2028\u2029\ufeff]/g,function(e,t){e.options.specialChars=new RegExp(t.source+(t.test(" ")?"":"| "),"g");e.refresh()},!0);tr("specialCharPlaceholder",Gr,function(e){e.refresh()},!0);tr("electricChars",!0);tr("rtlMoveVisually",!g);tr("wholeLineUpdateBefore",!0);tr("theme","default",function(e){O(e);M(e)},!0);tr("keyMap","default",A);tr("extraKeys",null);tr("onKeyEvent",null);tr("onDragEvent",null);tr("lineWrapping",!1,C,!0);tr("gutters",[],function(e){H(e.options);M(e)},!0);tr("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?R(e.display)+"px":"0";e.refresh()},!0);tr("coverGutterNextToScrollbar",!1,B,!0);tr("lineNumbers",!1,function(e){H(e.options);M(e)},!0);tr("firstLineNumber",1,M,!0);tr("lineNumberFormatter",function(e){return e},M,!0);tr("showCursorWhenSelecting",!1,G,!0);tr("resetSelectionOnContextMenu",!0);tr("readOnly",!1,function(e,t){if(t=="nocursor"){dn(e);e.display.input.blur();e.display.disabled=!0}else{e.display.disabled=!1;t||Ft(e,!0)}});tr("dragDrop",!0);tr("cursorBlinkRate",530);tr("cursorScrollMargin",0);tr("cursorHeight",1);tr("workTime",100);tr("workDelay",100);tr("flattenSpans",!0);tr("pollInterval",100);tr("undoDepth",40,function(e,t){e.doc.history.undoDepth=t});tr("historyEventDelay",500);tr("viewportMargin",10,function(e){e.refresh()},!0);tr("maxHighlightLength",1e4,function(e){N(e);e.refresh()},!0);tr("crudeMeasuringFrom",1e4);tr("moveInputWithCursor",!0,function(e,t){t||(e.display.inputDiv.style.top=e.display.inputDiv.style.left=0)});tr("tabindex",null,function(e,t){e.display.input.tabIndex=t||""});tr("autofocus",null);var rr=x.modes={},ir=x.mimeModes={};x.defineMode=function(e,t){!x.defaults.mode&&e!="null"&&(x.defaults.mode=e);if(arguments.length>2){t.dependencies=[];for(var n=2;n<arguments.length;++n)t.dependencies.push(arguments[n])}rr[e]=t};x.defineMIME=function(e,t){ir[e]=t};x.resolveMode=function(e){if(typeof e=="string"&&ir.hasOwnProperty(e))e=ir[e];else if(e&&typeof e.name=="string"&&ir.hasOwnProperty(e.name)){var t=ir[e.name];e=rs(t,e);e.name=t.name}else if(typeof e=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return x.resolveMode("application/xml");return typeof e=="string"?{name:e}:e||{name:"null"}};x.getMode=function(e,t){var t=x.resolveMode(t),n=rr[t.name];if(!n)return x.getMode(e,"text/plain");var r=n(e,t);if(sr.hasOwnProperty(t.name)){var i=sr[t.name];for(var s in i){if(!i.hasOwnProperty(s))continue;r.hasOwnProperty(s)&&(r["_"+s]=r[s]);r[s]=i[s]}}r.name=t.name;return r};x.defineMode("null",function(){return{token:function(e){e.skipToEnd()}}});x.defineMIME("text/plain","null");var sr=x.modeExtensions={};x.extendMode=function(e,t){var n=sr.hasOwnProperty(e)?sr[e]:sr[e]={};is(t,n)};x.defineExtension=function(e,t){x.prototype[e]=t};x.defineDocExtension=function(e,t){ui.prototype[e]=t};x.defineOption=tr;var or=[];x.defineInitHook=function(e){or.push(e)};var ur=x.helpers={};x.registerHelper=function(e,t,n){ur.hasOwnProperty(e)||(ur[e]=x[e]={});ur[e][t]=n};x.isWordChar=as;x.copyState=ar;x.startState=fr;x.innerMode=function(e,t){while(e.innerMode){var n=e.innerMode(t);if(!n||n.mode==e)break;t=n.state;e=n.mode}return n||{mode:e,state:t}};var lr=x.commands={selectAll:function(e){e.setSelection(Ln(e.firstLine(),0),Ln(e.lastLine()))},killLine:function(e){var t=e.getCursor(!0),n=e.getCursor(!1),r=!An(t,n);!r&&e.getLine(t.line).length==t.ch?e.replaceRange("",t,Ln(t.line+1,0),"+delete"):e.replaceRange("",t,r?n:Ln(t.line),"+delete")},deleteLine:function(e){var t=e.getCursor().line;e.replaceRange("",Ln(t,0),Ln(t),"+delete")},delLineLeft:function(e){var t=e.getCursor();e.replaceRange("",Ln(t.line,0),t,"+delete")},undo:function(e){e.undo()},redo:function(e){e.redo()},goDocStart:function(e){e.extendSelection(Ln(e.firstLine(),0))},goDocEnd:function(e){e.extendSelection(Ln(e.lastLine()))},goLineStart:function(e){e.extendSelection(Ms(e,e.getCursor().line))},goLineStartSmart:function(e){var t=e.getCursor(),n=Ms(e,t.line),r=e.getLineHandle(n.line),i=bi(r);if(!i||i[0].level==0){var s=Math.max(0,r.text.search(/\S/)),o=t.line==n.line&&t.ch<=s&&t.ch;e.extendSelection(Ln(n.line,o?0:s))}else e.extendSelection(n)},goLineEnd:function(e){e.extendSelection(_s(e,e.getCursor().line))},goLineRight:function(e){var t=e.charCoords(e.getCursor(),"div").top+5;e.extendSelection(e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:t},"div"))},goLineLeft:function(e){var t=e.charCoords(e.getCursor(),"div").top+5;e.extendSelection(e.coordsChar({left:0,top:t},"div"))},goLineUp:function(e){e.moveV(-1,"line")},goLineDown:function(e){e.moveV(1,"line")},goPageUp:function(e){e.moveV(-1,"page")},goPageDown:function(e){e.moveV(1,"page")},goCharLeft:function(e){e.moveH(-1,"char")},goCharRight:function(e){e.moveH(1,"char")},goColumnLeft:function(e){e.moveH(-1,"column")},goColumnRight:function(e){e.moveH(1,"column")},goWordLeft:function(e){e.moveH(-1,"word")},goGroupRight:function(e){e.moveH(1,"group")},goGroupLeft:function(e){e.moveH(-1,"group")},goWordRight:function(e){e.moveH(1,"word")},delCharBefore:function(e){e.deleteH(-1,"char")},delCharAfter:function(e){e.deleteH(1,"char")},delWordBefore:function(e){e.deleteH(-1,"word")},delWordAfter:function(e){e.deleteH(1,"word")},delGroupBefore:function(e){e.deleteH(-1,"group")},delGroupAfter:function(e){e.deleteH(1,"group")},indentAuto:function(e){e.indentSelection("smart")},indentMore:function(e){e.indentSelection("add")},indentLess:function(e){e.indentSelection("subtract")},insertTab:function(e){e.replaceSelection(" ","end","+input")},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.replaceSelection(" ","end","+input")},transposeChars:function(e){var t=e.getCursor(),n=e.getLine(t.line);t.ch>0&&t.ch<n.length-1&&e.replaceRange(n.charAt(t.ch)+n.charAt(t.ch-1),Ln(t.line,t.ch-1),Ln(t.line,t.ch+1))},newlineAndIndent:function(e){Mt(e,function(){e.replaceSelection("\n","end","+input");e.indentLine(e.getCursor().line,null,!0)})()},toggleOverwrite:function(e){e.toggleOverwrite()}},cr=x.keyMap={};cr.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite"};cr.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Alt-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore",fallthrough:"basic"};cr.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delLineLeft",fallthrough:["basic","emacsy"]};cr["default"]=m?cr.macDefault:cr.pcDefault;cr.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"};x.lookupKey=pr;x.isModifierKey=dr;x.keyName=vr;x.fromTextArea=function(e,t){function i(){e.value=a.getValue()}t||(t={});t.value=e.value;!t.tabindex&&e.tabindex&&(t.tabindex=e.tabindex);!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder);if(t.autofocus==null){var n=document.body;try{n=document.activeElement}catch(r){}t.autofocus=n==e||e.getAttribute("autofocus")!=null&&n==document.body}if(e.form){Fi(e.form,"submit",i);if(!t.leaveSubmitMethodAlone){var s=e.form,o=s.submit;try{var u=s.submit=function(){i();s.submit=o;s.submit();s.submit=u}}catch(r){}}}e.style.display="none";var a=x(function(t){e.parentNode.insertBefore(t,e.nextSibling)},t);a.save=i;a.getTextArea=function(){return e};a.toTextArea=function(){i();e.parentNode.removeChild(a.getWrapperElement());e.style.display="";if(
7
- e.form){Ii(e.form,"submit",i);typeof e.form.submit=="function"&&(e.form.submit=o)}};return a};mr.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==0},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(e){var t=this.string.charAt(this.pos);if(typeof e=="string")var n=t==e;else var n=t&&(e.test?e.test(t):e(t));if(n){++this.pos;return t}},eatWhile:function(e){var t=this.pos;while(this.eat(e));return this.pos>t},eatSpace:function(){var e=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos)))++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){var t=this.string.indexOf(e,this.pos);if(t>-1){this.pos=t;return!0}},backUp:function(e){this.pos-=e},column:function(){if(this.lastColumnPos<this.start){this.lastColumnValue=Gi(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue);this.lastColumnPos=this.start}return this.lastColumnValue},indentation:function(){return Gi(this.string,null,this.tabSize)},match:function(e,t,n){if(typeof e!="string"){var s=this.string.slice(this.pos).match(e);if(s&&s.index>0)return null;s&&t!==!1&&(this.pos+=s[0].length);return s}var r=function(e){return n?e.toLowerCase():e},i=this.string.substr(this.pos,e.length);if(r(i)==r(e)){t!==!1&&(this.pos+=e.length);return!0}},current:function(){return this.string.slice(this.start,this.pos)}};x.StringStream=mr;x.TextMarker=gr;$i(gr);gr.prototype.clear=function(){if(this.explicitlyCleared)return;var e=this.doc.cm,t=e&&!e.curOp;t&&At(e);if(Vi(this,"clear")){var n=this.find();n&&zi(this,"clear",n.from,n.to)}var r=null,i=null;for(var s=0;s<this.lines.length;++s){var o=this.lines[s],u=Er(o.markedSpans,this);u.to!=null&&(i=mi(o));o.markedSpans=Sr(o.markedSpans,u);u.from!=null?r=mi(o):this.collapsed&&!Dr(this.doc,o)&&e&&vi(o,Ct(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var s=0;s<this.lines.length;++s){var a=_r(e.doc,this.lines[s]),f=D(e.doc,a);if(f>e.display.maxLineLength){e.display.maxLine=a;e.display.maxLineLength=f;e.display.maxLineChanged=!0}}r!=null&&e&&Pt(e,r,i+1);this.lines.length=0;this.explicitlyCleared=!0;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=!1;e&&In(e)}t&&Ot(e)};gr.prototype.find=function(){var e,t;for(var n=0;n<this.lines.length;++n){var r=this.lines[n],i=Er(r.markedSpans,this);if(i.from!=null||i.to!=null){var s=mi(r);i.from!=null&&(e=Ln(s,i.from));i.to!=null&&(t=Ln(s,i.to))}}return this.type=="bookmark"?e:e&&{from:e,to:t}};gr.prototype.changed=function(){var e=this.find(),t=this.doc.cm;if(!e||!t)return;this.type!="bookmark"&&(e=e.from);var n=hi(this.doc,e.line);lt(t,n);if(e.line>=t.display.showingFrom&&e.line<t.display.showingTo){for(var r=t.display.lineDiv.firstChild;r;r=r.nextSibling)if(r.lineObj==n){r.offsetHeight!=n.height&&vi(n,r.offsetHeight);break}Dt(t,function(){t.curOp.selectionChanged=t.curOp.forceUpdate=t.curOp.updateMaxLine=!0})}};gr.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(!t.maybeHiddenMarkers||ns(t.maybeHiddenMarkers,this)==-1)&&(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)};gr.prototype.detachLine=function(e){this.lines.splice(ns(this.lines,e),1);if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(t.maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)}};x.SharedTextMarker=br;$i(br);br.prototype.clear=function(){if(this.explicitlyCleared)return;this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();zi(this,"clear")};br.prototype.find=function(){return this.primary.find()};var jr=x.LineWidget=function(e,t,n){if(n)for(var r in n)n.hasOwnProperty(r)&&(this[r]=n[r]);this.cm=e;this.node=t};$i(jr);jr.prototype.clear=Fr(function(){var e=this.line.widgets,t=mi(this.line);if(t==null||!e)return;for(var n=0;n<e.length;++n)e[n]==this&&e.splice(n--,1);e.length||(this.line.widgets=null);var r=yi(this.cm,this.line)<this.cm.doc.scrollTop;vi(this.line,Math.max(0,this.line.height-Ir(this)));r&&Vn(this.cm,0,-this.height);Pt(this.cm,t,t+1)});jr.prototype.changed=Fr(function(){var e=this.height;this.height=null;var t=Ir(this)-e;if(!t)return;vi(this.line,this.line.height+t);var n=mi(this.line);Pt(this.cm,n,n+1)});var Rr=x.Line=function(e,t,n){this.text=e;Br(this,t);this.height=n?n(this):1};$i(Rr);Rr.prototype.lineNo=function(){return mi(this)};var Jr={};ii.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n=e,r=e+t;n<r;++n){var i=this.lines[n];this.height-=i.height;zr(i);zi(i,"delete")}this.lines.splice(e,t)},collapse:function(e){e.splice.apply(e,[e.length,0].concat(this.lines))},insertInner:function(e,t,n){this.height+=n;this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var r=0,i=t.length;r<i;++r)t[r].parent=this},iterN:function(e,t,n){for(var r=e+t;e<r;++e)if(n(this.lines[e]))return!0}};si.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n=0;n<this.children.length;++n){var r=this.children[n],i=r.chunkSize();if(e<i){var s=Math.min(t,i-e),o=r.height;r.removeInner(e,s);this.height-=o-r.height;if(i==s){this.children.splice(n--,1);r.parent=null}if((t-=s)==0)break;e=0}else e-=i}if(this.size-t<25){var u=[];this.collapse(u);this.children=[new ii(u)];this.children[0].parent=this}},collapse:function(e){for(var t=0,n=this.children.length;t<n;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length;this.height+=n;for(var r=0,i=this.children.length;r<i;++r){var s=this.children[r],o=s.chunkSize();if(e<=o){s.insertInner(e,t,n);if(s.lines&&s.lines.length>50){while(s.lines.length>50){var u=s.lines.splice(s.lines.length-25,25),a=new ii(u);s.height-=a.height;this.children.splice(r+1,0,a);a.parent=this}this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(this.children.length<=10)return;var e=this;do{var t=e.children.splice(e.children.length-5,5),n=new si(t);if(!e.parent){var r=new si(e.children);r.parent=e;e.children=[r,n];e=r}else{e.size-=n.size;e.height-=n.height;var i=ns(e.parent.children,e);e.parent.children.splice(i+1,0,n)}n.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()},iterN:function(e,t,n){for(var r=0,i=this.children.length;r<i;++r){var s=this.children[r],o=s.chunkSize();if(e<o){var u=Math.min(t,o-e);if(s.iterN(e,u,n))return!0;if((t-=u)==0)break;e=0}else e-=o}}};var oi=0,ui=x.Doc=function(e,t,n){if(!(this instanceof ui))return new ui(e,t,n);n==null&&(n=0);si.call(this,[new ii([new Rr("",null)])]);this.first=n;this.scrollTop=this.scrollLeft=0;this.cantEdit=!1;this.history=wi();this.cleanGeneration=1;this.frontier=n;var r=Ln(n,0);this.sel={from:r,to:r,head:r,anchor:r,shift:!1,extend:!1,goalColumn:null};this.id=++oi;this.modeOption=t;typeof e=="string"&&(e=Ss(e));ri(this,{from:r,to:r,text:e},null,{head:r,anchor:r})};ui.prototype=rs(si.prototype,{constructor:ui,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){var n=0;for(var r=0,i=t.length;r<i;++r)n+=t[r].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=di(this,this.first,this.first+this.size);return e===!1?t:t.join(e||"\n")},setValue:function(e){var t=Ln(this.first,0),n=this.first+this.size-1;En(this,{from:t,to:Ln(n,hi(this,n).text.length),text:Ss(e),origin:"setValue"},{head:t,anchor:t},!0)},replaceRange:function(e,t,n,r){t=Dn(this,t);n=n?Dn(this,n):t;kn(this,e,t,n,r)},getRange:function(e,t,n){var r=pi(this,Dn(this,e),Dn(this,t));return n===!1?r:r.join(n||"\n")},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},setLine:function(e,t){Hn(this,e)&&kn(this,t,Ln(e,0),Dn(this,Ln(e)))},removeLine:function(e){e?kn(this,"",Dn(this,Ln(e-1)),Dn(this,Ln(e))):kn(this,"",Ln(0,0),Dn(this,Ln(1,0)))},getLineHandle:function(e){if(Hn(this,e))return hi(this,e)},getLineNumber:function(e){return mi(e)},getLineHandleVisualStart:function(e){typeof e=="number"&&(e=hi(this,e));return _r(this,e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return Dn(this,e)},getCursor:function(e){var t=this.sel,n;e==null||e=="head"?n=t.head:e=="anchor"?n=t.anchor:e=="end"||e===!1?n=t.to:n=t.from;return Mn(n)},somethingSelected:function(){return!An(this.sel.head,this.sel.anchor)},setCursor:_t(function(e,t,n){var r=Dn(this,typeof e=="number"?Ln(e,t||0):e);n?Bn(this,r):Fn(this,r,r)}),setSelection:_t(function(e,t,n){Fn(this,Dn(this,e),Dn(this,t||e),n)}),extendSelection:_t(function(e,t,n){Bn(this,Dn(this,e),t&&Dn(this,t),n)}),getSelection:function(e){return this.getRange(this.sel.from,this.sel.to,e)},replaceSelection:function(e,t,n){En(this,{from:this.sel.from,to:this.sel.to,text:Ss(e),origin:n},t||"around")},undo:_t(function(){xn(this,"undo")}),redo:_t(function(){xn(this,"redo")}),setExtending:function(e){this.sel.extend=e},historySize:function(){var e=this.history;return{undo:e.done.length,redo:e.undone.length}},clearHistory:function(){this.history=wi(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration()},changeGeneration:function(){this.history.lastOp=this.history.lastOrigin=null;return this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Ci(this.history.done),undone:Ci(this.history.undone)}},setHistory:function(e){var t=this.history=wi(this.history.maxGeneration);t.done=e.done.slice(0);t.undone=e.undone.slice(0)},markText:function(e,t,n){return yr(this,Dn(this,e),Dn(this,t),n,"range")},setBookmark:function(e,t){var n={replacedWith:t&&(t.nodeType==null?t.widget:t),insertLeft:t&&t.insertLeft};e=Dn(this,e);return yr(this,e,e,n,"bookmark")},findMarksAt:function(e){e=Dn(this,e);var t=[],n=hi(this,e.line).markedSpans;if(n)for(var r=0;r<n.length;++r){var i=n[r];(i.from==null||i.from<=e.ch)&&(i.to==null||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},getAllMarks:function(){var e=[];this.iter(function(t){var n=t.markedSpans;if(n)for(var r=0;r<n.length;++r)n[r].from!=null&&e.push(n[r].marker)});return e},posFromIndex:function(e){var t,n=this.first;this.iter(function(r){var i=r.text.length+1;if(i>e){t=e;return!0}e-=i;++n});return Dn(this,Ln(n,t))},indexFromPos:function(e){e=Dn(this,e);var t=e.ch;if(e.line<this.first||e.ch<0)return 0;this.iter(this.first,e.line,function(e){t+=e.text.length+1});return t},copy:function(e){var t=new ui(di(this,this.first,this.first+this.size),this.modeOption,this.first);t.scrollTop=this.scrollTop;t.scrollLeft=this.scrollLeft;t.sel={from:this.sel.from,to:this.sel.to,head:this.sel.head,anchor:this.sel.anchor,shift:this.sel.shift,extend:!1,goalColumn:this.sel.goalColumn};if(e){t.history.undoDepth=this.history.undoDepth;t.setHistory(this.getHistory())}return t},linkedDoc:function(e){e||(e={});var t=this.first,n=this.first+this.size;e.from!=null&&e.from>t&&(t=e.from);e.to!=null&&e.to<n&&(n=e.to);var r=new ui(di(this,t,n),e.mode||this.modeOption,t);e.sharedHist&&(r.history=this.history);(this.linked||(this.linked=[])).push({doc:r,sharedHist:e.sharedHist});r.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}];return r},unlinkDoc:function(e){e instanceof x&&(e=e.doc);if(this.linked)for(var t=0;t<this.linked.length;++t){var n=this.linked[t];if(n.doc!=e)continue;this.linked.splice(t,1);e.unlinkDoc(this);break}if(e.history==this.history){var r=[e.id];li(e,function(e){r.push(e.id)},!0);e.history=wi();e.history.done=Ci(this.history.done,r);e.history.undone=Ci(this.history.undone,r)}},iterLinkedDocs:function(e){li(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm}});ui.prototype.eachLine=ui.prototype.iter;var ai="iter insert remove copy getEditor".split(" ");for(var fi in ui.prototype)ui.prototype.hasOwnProperty(fi)&&ns(ai,fi)<0&&(x.prototype[fi]=function(e){return function(){return e.apply(this.doc,arguments)}}(ui.prototype[fi]));$i(ui);x.e_stop=Hi;x.e_preventDefault=_i;x.e_stopPropagation=Di;var Ri,Ui=0;x.on=Fi;x.off=Ii;x.signal=qi;var Ji=30,Ki=x.Pass={toString:function(){return"CodeMirror.Pass"}};Qi.prototype={set:function(e,t){clearTimeout(this.id);this.id=setTimeout(t,e)}};x.countColumn=Gi;var Yi=[""],us=/[\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,ls=/[\u0300-\u036F\u0483-\u0487\u0488-\u0489\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\uA66F\u1DC0–\u1DFF\u20D0–\u20FF\uA670-\uA672\uA674-\uA67D\uA69F\udc00-\udfff\uFE20–\uFE2F]/;x.replaceGetRect=function(e){vs=e};var ms=function(){if(r)return!1;var e=cs("div");return"draggable"in e||"dragDrop"in e}();e?gs=function(e,t){return e.charCodeAt(t-1)==36&&e.charCodeAt(t)==39}:f&&!/Version\/([6-9]|\d\d)\b/.test(navigator.userAgent)?gs=function(e,t){return/\-[^ \-?]|\?[^ !\'\"\),.\-\/:;\?\]\}]/.test(e.slice(t-1,t+1))}:s&&/Chrome\/(?:29|[3-9]\d|\d\d\d)\./.test(navigator.userAgent)?gs=function(e,t){var n=e.charCodeAt(t-1);return n>=8208&&n<=8212}:s&&(gs=function(e,t){if(t>1&&e.charCodeAt(t-1)==45){if(/\w/.test(e.charAt(t-2))&&/[^\-?\.]/.test(e.charAt(t)))return!0;if(t>2&&/[\d\.,]/.test(e.charAt(t-2))&&/[\d\.,]/.test(e.charAt(t)))return!1}return/[~!#%&*)=+}\]\\|\"\.>,:;][({[<]|-[^\-?\.\u2010-\u201f\u2026]|\?[\w~`@#$%\^&*(_=+{[|><]|…[\w~`@#$%\^&*(_=+{[><]/.test(e.slice(t-1,t+1))});var ys,ws,Ss="\n\nb".split(/\n/).length!=3?function(e){var t=0,n=[],r=e.length;while(t<=r){var i=e.indexOf("\n",t);i==-1&&(i=e.length);var s=e.slice(t,e.charAt(i-1)=="\r"?i-1:i),o=s.indexOf("\r");if(o!=-1){n.push(s.slice(0,o));t+=o+1}else{n.push(s);t=i+1}}return n}:function(e){return e.split(/\r\n?|\n/)};x.splitLines=Ss;var xs=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){try{var t=e.ownerDocument.selection.createRange()}catch(n){}return!t||t.parentElement()!=e?!1:t.compareEndPoints("StartToEnd",t)!=0},Ts=function(){var e=cs("div");if("oncopy"in e)return!0;e.setAttribute("oncopy","return;");return typeof e.oncopy=="function"}(),Ns={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};x.keyNames=Ns;(function(){for(var e=0;e<10;e++)Ns[e+48]=String(e);for(var e=65;e<=90;e++)Ns[e]=String.fromCharCode(e);for(var e=1;e<=12;e++)Ns[e+111]=Ns[e+63235]="F"+e})();var Ps,Is=function(){function n(n){return n<=255?e.charAt(n):1424<=n&&n<=1524?"R":1536<=n&&n<=1791?t.charAt(n-1536):1792<=n&&n<=2220?"r":"L"}var e="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLL",t="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmmrrrrrrrrrrrrrrrrrr",r=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,s=/[LRr]/,o=/[Lb1n]/,u=/[1n]/,a="L";return function(e){if(!r.test(e))return!1;var t=e.length,f=[];for(var l=0,c;l<t;++l)f.push(c=n(e.charCodeAt(l)));for(var l=0,h=a;l<t;++l){var c=f[l];c=="m"?f[l]=h:h=c}for(var l=0,p=a;l<t;++l){var c=f[l];if(c=="1"&&p=="r")f[l]="n";else if(s.test(c)){p=c;c=="r"&&(f[l]="R")}}for(var l=1,h=f[0];l<t-1;++l){var c=f[l];c=="+"&&h=="1"&&f[l+1]=="1"?f[l]="1":c==","&&h==f[l+1]&&(h=="1"||h=="n")&&(f[l]=h);h=c}for(var l=0;l<t;++l){var c=f[l];if(c==",")f[l]="N";else if(c=="%"){for(var d=l+1;d<t&&f[d]=="%";++d);var v=l&&f[l-1]=="!"||d<t-1&&f[d]=="1"?"1":"N";for(var m=l;m<d;++m)f[m]=v;l=d-1}}for(var l=0,p=a;l<t;++l){var c=f[l];p=="L"&&c=="1"?f[l]="L":s.test(c)&&(p=c)}for(var l=0;l<t;++l)if(i.test(f[l])){for(var d=l+1;d<t&&i.test(f[d]);++d);var g=(l?f[l-1]:a)=="L",y=(d<t-1?f[d]:a)=="L",v=g||y?"L":"R";for(var m=l;m<d;++m)f[m]=v;l=d-1}var b=[],w;for(var l=0;l<t;)if(o.test(f[l])){var E=l;for(++l;l<t&&o.test(f[l]);++l);b.push({from:E,to:l,level:0})}else{var S=l,x=b.length;for(++l;l<t&&f[l]!="L";++l);for(var m=S;m<l;)if(u.test(f[m])){S<m&&b.splice(x,0,{from:S,to:m,level:1});var T=m;for(++m;m<l&&u.test(f[m]);++m);b.splice(x,0,{from:T,to:m,level:2});S=m}else++m;S<l&&b.splice(x,0,{from:S,to:l,level:1})}if(b[0].level==1&&(w=e.match(/^\s+/))){b[0].from=w[0].length;b.unshift({from:0,to:w[0].length,level:0})}if(es(b).level==1&&(w=e.match(/\s+$/))){es(b).to-=w[0].length;b.push({from:t-w[0].length,to:t,level:0})}b[0].level!=es(b).level&&b.push({from:t,to:t,level:b[0].level});return b}}();x.version="3.20.0";return x}();CodeMirror.defineMode("css",function(e,t){"use strict";function c(e,t){l=t;return e}function h(e,t){var n=e.next();if(r[n]){var i=r[n](e,t);if(i!==!1)return i}if(n=="@"){e.eatWhile(/[\w\\\-]/);return c("def",e.current())}if(n=="=")c(null,"compare");else{if(!(n!="~"&&n!="|"||!e.eat("=")))return c(null,"compare");if(n=='"'||n=="'"){t.tokenize=p(n);return t.tokenize(e,t)}if(n=="#"){e.eatWhile(/[\w\\\-]/);return c("atom","hash")}if(n=="!"){e.match(/^\s*\w*/);return c("keyword","important")}if(/\d/.test(n)||n=="."&&e.eat(/\d/)){e.eatWhile(/[\w.%]/);return c("number","unit")}if(n!=="-"){if(/[,+>*\/]/.test(n))return c(null,"select-op");if(n=="."&&e.match(/^-?[_a-z][_a-z0-9-]*/i))return c("qualifier","qualifier");if(n==":")return c("operator",n);if(/[;{}\[\]\(\)]/.test(n))return c(null,n);if(n=="u"&&e.match("rl(")){e.backUp(1);t.tokenize=d;return c("property","variable")}e.eatWhile(/[\w\\\-]/);return c("property","variable")}if(/\d/.test(e.peek())){e.eatWhile(/[\w.%]/);return c("number","unit")}if(e.match(/^[^-]+-/))return c("meta","meta")}}function p(e,t){return function(n,r){var i=!1,s;while((s=n.next())!=null){if(s==e&&!i)break;i=!i&&s=="\\"}if(!i){t&&n.backUp(1);r.tokenize=h}return c("string","string")}}function d(e,t){e.next();e.match(/\s*[\"\']/,!1)?t.tokenize=h:t.tokenize=p(")",!0);return c(null,"(")}t.propertyKeywords||(t=CodeMirror.resolveMode("text/css"));var n=e.indentUnit||e.tabSize||2,r=t.hooks||{},i=t.atMediaTypes||{},s=t.atMediaFeatures||{},o=t.propertyKeywords||{},u=t.colorKeywords||{},a=t.valueKeywords||{},f=!!t.allowNested,l=null;return{startState:function(e){return{tokenize:h,baseIndent:e||0,stack:[],lastToken:null}},token:function(e,t){t.tokenize=t.tokenize||h;if(t.tokenize==h&&e.eatSpace())return null;var n=t.tokenize(e,t);n&&typeof n!="string"&&(n=c(n[0],n[1]));var r=t.stack[t.stack.length-1];if(n=="variable"){l=="variable-definition"&&t.stack.push("propertyValue");return t.lastToken="variable-2"}if(n=="property"){var p=e.current().toLowerCase();r=="propertyValue"?a.hasOwnProperty(p)?n="string-2":u.hasOwnProperty(p)?n="keyword":n="variable-2":r=="rule"?o.hasOwnProperty(p)||(n+=" error"):r=="block"?o.hasOwnProperty(p)?n="property":u.hasOwnProperty(p)?n="keyword":a.hasOwnProperty(p)?n="string-2":n="tag":!r||r=="@media{"?n="tag":r=="@media"?i[e.current()]?n="attribute":/^(only|not)$/.test(p)?n="keyword":p=="and"?n="error":s.hasOwnProperty(p)?n="error":n="attribute error":r=="@mediaType"?i.hasOwnProperty(p)?n="attribute":p=="and"?n="operator":/^(only|not)$/.test(p)?n="error":n="error":r=="@mediaType("?o.hasOwnProperty(p)||(i.hasOwnProperty(p)?n="error":p=="and"?n="operator":/^(only|not)$/.test(p)?n="error":n+=" error"):r=="@import"?n="tag":n="error"}else n=="atom"?!r||r=="@media{"||r=="block"?n="builtin":r=="propertyValue"?/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(e.current())||(n+=" error"):n="error":r=="@media"&&l=="{"&&(n="error");if(l=="{")if(r=="@media"||r=="@mediaType")t.stack[t.stack.length-1]="@media{";else{var d=f?"block":"rule";t.stack.push(d)}else if(l=="}"){r=="interpolation"&&(n="operator");while(t.stack.length){var v=t.stack.pop();if(v.indexOf("{")>-1||v=="block"||v=="rule")break}}else if(l=="interpolation")t.stack.push("interpolation");else if(l=="@media")t.stack.push("@media");else if(l=="@import")t.stack.push("@import");else if(r=="@media"&&/\b(keyword|attribute)\b/.test(n))t.stack[t.stack.length-1]="@mediaType";else if(r=="@mediaType"&&e.current()==",")t.stack[t.stack.length-1]="@media";else if(l=="(")if(r=="@media"||r=="@mediaType"){t.stack[t.stack.length-1]="@mediaType";t.stack.push("@mediaType(")}else t.stack.push("(");else if(l==")")while(t.stack.length){var v=t.stack.pop();if(v.indexOf("(")>-1)break}else l==":"&&t.lastToken=="property"?t.stack.push("propertyValue"):r=="propertyValue"&&l==";"?t.stack.pop():r=="@import"&&l==";"&&t.stack.pop();return t.lastToken=n},indent:function(e,t){var r=e.stack.length;/^\}/.test(t)&&(r-=e.stack[r-1]=="propertyValue"?2:1);return e.baseIndent+r*n},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace"}});(function(){function e(e){var t={};for(var n=0;n<e.length;++n)t[e[n]]=!0;return t}function o(e,t){var n=!1,r;while((r=e.next())!=null){if(n&&r=="/"){t.tokenize=null;break}n=r=="*"}return["comment","comment"]}var t=e(["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"]),n=e(["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"]),r=e(["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid-cell","grid-column","grid-column-align","grid-column-sizing","grid-column-span","grid-columns","grid-flow","grid-row","grid-row-align","grid-row-sizing","grid-row-span","grid-rows","grid-template","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-inside","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","word-break","word-spacing","word-wrap","z-index","zoom","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-profile","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","kerning","text-anchor","writing-mode"]),i=e(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]),s=e(["above","absolute","activeborder","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","contain","content","content-box","context-menu","continuous","copy","cover","crop","cross","crosshair","currentcolor","cursive","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ew-resize","expanded","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-table","inset","inside","intrinsic","invert","italic","justify","kannada","katakana","katakana-iroha","keep-all","khmer","landscape","lao","large","larger","left","level","lighter","line-through","linear","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize"
8
- ,"nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scroll","scrollbar","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","single","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","x-large","x-small","xor","xx-large","xx-small"]);CodeMirror.defineMIME("text/css",{atMediaTypes:t,atMediaFeatures:n,propertyKeywords:r,colorKeywords:i,valueKeywords:s,hooks:{"<":function(e,t){function n(e,t){var n=0,r;while((r=e.next())!=null){if(n>=2&&r==">"){t.tokenize=null;break}n=r=="-"?n+1:0}return["comment","comment"]}if(e.eat("!")){t.tokenize=n;return n(e,t)}},"/":function(e,t){if(e.eat("*")){t.tokenize=o;return o(e,t)}return!1}},name:"css"});CodeMirror.defineMIME("text/x-scss",{atMediaTypes:t,atMediaFeatures:n,propertyKeywords:r,colorKeywords:i,valueKeywords:s,allowNested:!0,hooks:{":":function(e){return e.match(/\s*{/)?[null,"{"]:!1},$:function(e){e.match(/^[\w-]+/);return e.peek()==":"?["variable","variable-definition"]:["variable","variable"]},",":function(e,t){if(t.stack[t.stack.length-1]=="propertyValue"&&e.match(/^ *\$/,!1))return["operator",";"]},"/":function(e,t){if(e.eat("/")){e.skipToEnd();return["comment","comment"]}if(e.eat("*")){t.tokenize=o;return o(e,t)}return["operator","operator"]},"#":function(e){if(e.eat("{"))return["operator","interpolation"];e.eatWhile(/[\w\\\-]/);return["atom","hash"]}},name:"css"})})();CodeMirror.defineMode("htmlmixed",function(e,t){function a(e,t){var s=t.htmlState.tagName,o=n.token(e,t.htmlState);if(s=="script"&&/\btag\b/.test(o)&&e.current()==">"){var u=e.string.slice(Math.max(0,e.pos-100),e.pos).match(/\btype\s*=\s*("[^"]+"|'[^']+'|\S+)[^<]*$/i);u=u?u[1]:"";u&&/[\"\']/.test(u.charAt(0))&&(u=u.slice(1,u.length-1));for(var a=0;a<i.length;++a){var f=i[a];if(typeof f.matches=="string"?u==f.matches:f.matches.test(u)){if(f.mode){t.token=l;t.localMode=f.mode;t.localState=f.mode.startState&&f.mode.startState(n.indent(t.htmlState,""))}break}}}else if(s=="style"&&/\btag\b/.test(o)&&e.current()==">"){t.token=c;t.localMode=r;t.localState=r.startState(n.indent(t.htmlState,""))}return o}function f(e,t,n){var r=e.current(),i=r.search(t),s;if(i>-1)e.backUp(r.length-i);else if(s=r.match(/<\/?$/)){e.backUp(r.length);e.match(t,!1)||e.match(r)}return n}function l(e,t){if(e.match(/^<\/\s*script\s*>/i,!1)){t.token=a;t.localState=t.localMode=null;return a(e,t)}return f(e,/<\/\s*script\s*>/,t.localMode.token(e,t.localState))}function c(e,t){if(e.match(/^<\/\s*style\s*>/i,!1)){t.token=a;t.localState=t.localMode=null;return a(e,t)}return f(e,/<\/\s*style\s*>/,r.token(e,t.localState))}var n=CodeMirror.getMode(e,{name:"xml",htmlMode:!0}),r=CodeMirror.getMode(e,"css"),i=[],s=t&&t.scriptTypes;i.push({matches:/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^$/i,mode:CodeMirror.getMode(e,"javascript")});if(s)for(var o=0;o<s.length;++o){var u=s[o];i.push({matches:u.matches,mode:u.mode&&CodeMirror.getMode(e,u.mode)})}i.push({matches:/./,mode:CodeMirror.getMode(e,"text/plain")});return{startState:function(){var e=n.startState();return{token:a,localMode:null,localState:null,htmlState:e}},copyState:function(e){if(e.localState)var t=CodeMirror.copyState(e.localMode,e.localState);return{token:e.token,localMode:e.localMode,localState:t,htmlState:CodeMirror.copyState(n,e.htmlState)}},token:function(e,t){return t.token(e,t)},indent:function(e,t){return!e.localMode||/^\s*<\//.test(t)?n.indent(e.htmlState,t):e.localMode.indent?e.localMode.indent(e.localState,t):CodeMirror.Pass},electricChars:"/{}:",innerMode:function(e){return{state:e.localState||e.htmlState,mode:e.localMode||n}}}},"xml","javascript","css");CodeMirror.defineMIME("text/html","htmlmixed");CodeMirror.defineMode("javascript",function(e,t){function a(e,t){var n=!1,r;while((r=e.next())!=null){if(r==t&&!n)return!1;n=!n&&r=="\\"}return n}function c(e,t,n){f=e;l=n;return t}function h(e,t){var n=e.next();if(n=='"'||n=="'"){t.tokenize=p(n);return t.tokenize(e,t)}if(n=="."&&e.match(/^\d+(?:[eE][+\-]?\d+)?/))return c("number","number");if(n=="."&&e.match(".."))return c("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(n))return c(n);if(n=="="&&e.eat(">"))return c("=>");if(n=="0"&&e.eat(/x/i)){e.eatWhile(/[\da-f]/i);return c("number","number")}if(/\d/.test(n)){e.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/);return c("number","number")}if(n=="/"){if(e.eat("*")){t.tokenize=d;return d(e,t)}if(e.eat("/")){e.skipToEnd();return c("comment","comment")}if(t.lastType=="operator"||t.lastType=="keyword c"||t.lastType=="sof"||/^[\[{}\(,;:]$/.test(t.lastType)){a(e,"/");e.eatWhile(/[gimy]/);return c("regexp","string-2")}e.eatWhile(u);return c("operator",null,e.current())}if(n=="`"){t.tokenize=v;return v(e,t)}if(n=="#"){e.skipToEnd();return c("error","error")}if(u.test(n)){e.eatWhile(u);return c("operator",null,e.current())}e.eatWhile(/[\w\$_]/);var r=e.current(),i=o.propertyIsEnumerable(r)&&o[r];return i&&t.lastType!="."?c(i.type,i.style,r):c("variable","variable",r)}function p(e){return function(t,n){a(t,e)||(n.tokenize=h);return c("string","string")}}function d(e,t){var n=!1,r;while(r=e.next()){if(r=="/"&&n){t.tokenize=h;break}n=r=="*"}return c("comment","comment")}function v(e,t){var n=!1,r;while((r=e.next())!=null){if(!n&&(r=="`"||r=="$"&&e.eat("{"))){t.tokenize=h;break}n=!n&&r=="\\"}return c("quasi","string-2",e.current())}function g(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(n<0)return;var r=0,i=!1;for(var s=n-1;s>=0;--s){var o=e.string.charAt(s),u=m.indexOf(o);if(u>=0&&u<3){if(!r){++s;break}if(--r==0)break}else if(u>=3&&u<6)++r;else if(/[$\w]/.test(o))i=!0;else if(i&&!r){++s;break}}i&&!r&&(t.fatArrowAt=s)}function b(e,t,n,r,i,s){this.indented=e;this.column=t;this.type=n;this.prev=i;this.info=s;r!=null&&(this.align=r)}function w(e,t){for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var r=e.context;r;r=r.prev)for(var n=r.vars;n;n=n.next)if(n.name==t)return!0}function E(e,t,n,r,s){var o=e.cc;S.state=e;S.stream=s;S.marked=null,S.cc=o;e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);for(;;){var u=o.length?o.pop():i?D:_;if(u(n,r)){while(o.length&&o[o.length-1].lex)o.pop()();return S.marked?S.marked:n=="variable"&&w(e,r)?"variable-2":t}}}function x(){for(var e=arguments.length-1;e>=0;e--)S.cc.push(arguments[e])}function T(){x.apply(null,arguments);return!0}function N(e){function n(t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}var r=S.state;if(r.context){S.marked="def";if(n(r.localVars))return;r.localVars={name:e,next:r.localVars}}else{if(n(r.globalVars))return;t.globalVars&&(r.globalVars={name:e,next:r.globalVars})}}function k(){S.state.context={prev:S.state.context,vars:S.state.localVars};S.state.localVars=C}function L(){S.state.localVars=S.state.context.vars;S.state.context=S.state.context.prev}function A(e,t){var n=function(){var n=S.state,r=n.indented;n.lexical.type=="stat"&&(r=n.lexical.indented);n.lexical=new b(r,S.stream.column(),e,null,n.lexical,t)};n.lex=!0;return n}function O(){var e=S.state;if(e.lexical.prev){e.lexical.type==")"&&(e.indented=e.lexical.indented);e.lexical=e.lexical.prev}}function M(e){return function(t){return t==e?T():e==";"?x():T(arguments.callee)}}function _(e,t){return e=="var"?T(A("vardef",t.length),Z,M(";"),O):e=="keyword a"?T(A("form"),D,_,O):e=="keyword b"?T(A("form"),_,O):e=="{"?T(A("}"),Q,O):e==";"?T():e=="if"?T(A("form"),D,_,O,it):e=="function"?T(lt):e=="for"?T(A("form"),st,O,_,O):e=="variable"?T(A("stat"),W):e=="switch"?T(A("form"),D,A("}","switch"),M("{"),Q,O,O):e=="case"?T(D,M(":")):e=="default"?T(M(":")):e=="catch"?T(A("form"),k,M("("),ct,M(")"),_,O,L):e=="module"?T(A("form"),k,vt,L,O):e=="class"?T(A("form"),ht,dt,O):e=="export"?T(A("form"),mt,O):e=="import"?T(A("form"),gt,O):x(A("stat"),D,M(";"),O)}function D(e){return H(e,!1)}function P(e){return H(e,!0)}function H(e,t){if(S.state.fatArrowAt==S.stream.start){var n=t?z:U;if(e=="(")return T(k,K(et,")"),M("=>"),n,L);if(e=="variable")return x(k,et,M("=>"),n,L)}var r=t?I:F;return y.hasOwnProperty(e)?T(r):e=="function"?T(lt):e=="keyword c"?T(t?j:B):e=="("?T(A(")"),B,Et,M(")"),O,r):e=="operator"||e=="spread"?T(t?P:D):e=="["?T(A("]"),P,wt,O,r):e=="{"?T(K(V,"}"),r):T()}function B(e){return e.match(/[;\}\)\],]/)?x():x(D)}function j(e){return e.match(/[;\}\)\],]/)?x():x(P)}function F(e,t){return e==","?T(D):I(e,t,!1)}function I(e,t,n){var r=n==0?F:I,i=n==0?D:P;if(t=="=>")return T(k,n?z:U,L);if(e=="operator")return/\+\+|--/.test(t)?T(r):t=="?"?T(D,M(":"),i):T(i);if(e=="quasi"){S.cc.push(r);return q(t)}if(e==";")return;if(e=="(")return T(K(P,")","call"),r);if(e==".")return T(X,r);if(e=="[")return T(A("]"),B,M("]"),O,r)}function q(e){if(!e)debugger;return e.slice(e.length-2)!="${"?T():T(D,R)}function R(e){if(e=="}"){S.marked="string-2";S.state.tokenize=v;return T()}}function U(e){g(S.stream,S.state);return e=="{"?x(_):x(D)}function z(e){g(S.stream,S.state);return e=="{"?x(_):x(P)}function W(e){return e==":"?T(O,_):x(F,M(";"),O)}function X(e){if(e=="variable"){S.marked="property";return T()}}function V(e,t){if(e=="variable"){S.marked="property";if(t=="get"||t=="set")return T($)}else if(e=="number"||e=="string")S.marked=e+" property";else if(e=="[")return T(D,M("]"),J);if(y.hasOwnProperty(e))return T(J)}function $(e){if(e!="variable")return x(J);S.marked="property";return T(lt)}function J(e){if(e==":")return T(P);if(e=="(")return x(lt)}function K(e,t,n){function r(n){if(n==","){var i=S.state.lexical;i.info=="call"&&(i.pos=(i.pos||0)+1);return T(e,r)}return n==t?T():T(M(t))}return function(i){return i==t?T():n===!1?x(e,r):x(A(t,n),e,r,O)}}function Q(e){return e=="}"?T():x(_,Q)}function G(e){if(s&&e==":")return T(Y)}function Y(e){if(e=="variable"){S.marked="variable-3";return T()}}function Z(){return x(et,G,nt,rt)}function et(e,t){if(e=="variable"){N(t);return T()}if(e=="[")return T(K(et,"]"));if(e=="{")return T(K(tt,"}"))}function tt(e,t){if(e=="variable"&&!S.stream.match(/^\s*:/,!1)){N(t);return T(nt)}e=="variable"&&(S.marked="property");return T(M(":"),et,nt)}function nt(e,t){if(t=="=")return T(P)}function rt(e){if(e==",")return T(Z)}function it(e,t){if(e=="keyword b"&&t=="else")return T(A("form"),_,O)}function st(e){if(e=="(")return T(A(")"),ot,M(")"))}function ot(e){return e=="var"?T(Z,M(";"),at):e==";"?T(at):e=="variable"?T(ut):x(D,M(";"),at)}function ut(e,t){if(t=="in"||t=="of"){S.marked="keyword";return T(D)}return T(F,at)}function at(e,t){if(e==";")return T(ft);if(t=="in"||t=="of"){S.marked="keyword";return T(D)}return x(D,M(";"),ft)}function ft(e){e!=")"&&T(D)}function lt(e,t){if(t=="*"){S.marked="keyword";return T(lt)}if(e=="variable"){N(t);return T(lt)}if(e=="(")return T(k,K(ct,")"),_,L)}function ct(e){return e=="spread"?T(ct):x(et,G)}function ht(e,t){if(e=="variable"){N(t);return T(pt)}}function pt(e,t){if(t=="extends")return T(D)}function dt(e){if(e=="{")return T(K(V,"}"))}function vt(e,t){if(e=="string")return T(_);if(e=="variable"){N(t);return T(bt)}}function mt(e,t){if(t=="*"){S.marked="keyword";return T(bt,M(";"))}if(t=="default"){S.marked="keyword";return T(D,M(";"))}return x(_)}function gt(e){return e=="string"?T():x(yt,bt)}function yt(e,t){if(e=="{")return T(K(yt,"}"));e=="variable"&&N(t);return T()}function bt(e,t){if(t=="from"){S.marked="keyword";return T(D)}}function wt(e){return e=="for"?x(Et):e==","?T(K(P,"]",!1)):x(K(P,"]",!1))}function Et(e){if(e=="for")return T(st,Et);if(e=="if")return T(D,Et)}var n=e.indentUnit,r=t.statementIndent,i=t.json,s=t.typescript,o=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),r=e("keyword c"),i=e("operator"),o={type:"atom",style:"atom"},u={"if":e("if"),"while":t,"with":t,"else":n,"do":n,"try":n,"finally":n,"return":r,"break":r,"continue":r,"new":r,"delete":r,"throw":r,"var":e("var"),"const":e("var"),let:e("var"),"function":e("function"),"catch":e("catch"),"for":e("for"),"switch":e("switch"),"case":e("case"),"default":e("default"),"in":i,"typeof":i,"instanceof":i,"true":o,"false":o,"null":o,"undefined":o,NaN:o,Infinity:o,"this":e("this"),module:e("module"),"class":e("class"),"super":e("atom"),yield:r,"export":e("export"),"import":e("import"),"extends":r};if(s){var a={type:"variable",style:"variable-3"},f={"interface":e("interface"),"extends":e("extends"),constructor:e("constructor"),"public":e("public"),"private":e("private"),"protected":e("protected"),"static":e("static"),string:a,number:a,bool:a,any:a};for(var l in f)u[l]=f[l]}return u}(),u=/[+\-*&%=<>!?|~^]/,f,l,m="([{}])",y={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0},S={state:null,column:null,marked:null,cc:null},C={name:"this",next:{name:"arguments"}};O.lex=!0;return{startState:function(e){var r={tokenize:h,lastType:"sof",cc:[],lexical:new b((e||0)-n,0,"block",!1),localVars:t.localVars,context:t.localVars&&{vars:t.localVars},indented:0};t.globalVars&&(r.globalVars=t.globalVars);return r},token:function(e,t){if(e.sol()){t.lexical.hasOwnProperty("align")||(t.lexical.align=!1);t.indented=e.indentation();g(e,t)}if(t.tokenize!=d&&e.eatSpace())return null;var n=t.tokenize(e,t);if(f=="comment")return n;t.lastType=f!="operator"||l!="++"&&l!="--"?f:"incdec";return E(t,n,f,l,e)},indent:function(e,i){if(e.tokenize==d)return CodeMirror.Pass;if(e.tokenize!=h)return 0;var s=i&&i.charAt(0),o=e.lexical;for(var u=e.cc.length-1;u>=0;--u){var a=e.cc[u];if(a==O)o=o.prev;else if(a!=it)break}o.type=="stat"&&s=="}"&&(o=o.prev);r&&o.type==")"&&o.prev.type=="stat"&&(o=o.prev);var f=o.type,l=s==f;return f=="vardef"?o.indented+(e.lastType=="operator"||e.lastType==","?o.info+1:0):f=="form"&&s=="{"?o.indented:f=="form"?o.indented+n:f=="stat"?o.indented+(e.lastType=="operator"||e.lastType==","?r||n:0):o.info=="switch"&&!l&&t.doubleIndentSwitch!=0?o.indented+(/^(?:case|default)\b/.test(i)?n:2*n):o.align?o.column+(l?0:1):o.indented+(l?0:n)},electricChars:":{}",blockCommentStart:i?null:"/*",blockCommentEnd:i?null:"*/",lineComment:i?null:"//",fold:"brace",helperType:i?"json":"javascript",jsonMode:i}});CodeMirror.defineMIME("text/javascript","javascript");CodeMirror.defineMIME("text/ecmascript","javascript");CodeMirror.defineMIME("application/javascript","javascript");CodeMirror.defineMIME("application/ecmascript","javascript");CodeMirror.defineMIME("application/json",{name:"javascript",json:!0});CodeMirror.defineMIME("application/x-json",{name:"javascript",json:!0});CodeMirror.defineMIME("text/typescript",{name:"javascript",typescript:!0});CodeMirror.defineMIME("application/typescript",{name:"javascript",typescript:!0});CodeMirror.defineMode("xml",function(e,t){function f(e,t){function n(n){t.tokenize=n;return n(e,t)}var r=e.next();if(r=="<"){if(e.eat("!")){if(e.eat("["))return e.match("CDATA[")?n(h("atom","]]>")):null;if(e.match("--"))return n(h("comment","-->"));if(e.match("DOCTYPE",!0,!0)){e.eatWhile(/[\w\._\-]/);return n(p(1))}return null}if(e.eat("?")){e.eatWhile(/[\w\._\-]/);t.tokenize=h("meta","?>");return"meta"}var i=e.eat("/");u="";var s;while(s=e.eat(/[^\s\u00a0=<>\"\'\/?]/))u+=s;if(!u)return"tag error";a=i?"closeTag":"openTag";t.tokenize=l;return"tag"}if(r=="&"){var o;e.eat("#")?e.eat("x")?o=e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):o=e.eatWhile(/[\d]/)&&e.eat(";"):o=e.eatWhile(/[\w\.\-:]/)&&e.eat(";");return o?"atom":"error"}e.eatWhile(/[^&<]/);return null}function l(e,t){var n=e.next();if(n==">"||n=="/"&&e.eat(">")){t.tokenize=f;a=n==">"?"endTag":"selfcloseTag";return"tag"}if(n=="="){a="equals";return null}if(n=="<"){t.tokenize=f;var r=t.tokenize(e,t);return r?r+" error":"error"}if(/[\'\"]/.test(n)){t.tokenize=c(n);t.stringStartCol=e.column();return t.tokenize(e,t)}e.eatWhile(/[^\s\u00a0=<>\"\']/);return"word"}function c(e){var t=function(t,n){while(!t.eol())if(t.next()==e){n.tokenize=l;break}return"string"};t.isInAttribute=!0;return t}function h(e,t){return function(n,r){while(!n.eol()){if(n.match(t)){r.tokenize=f;break}n.next()}return e}}function p(e){return function(t,n){var r;while((r=t.next())!=null){if(r=="<"){n.tokenize=p(e+1);return n.tokenize(t,n)}if(r==">"){if(e==1){n.tokenize=f;break}n.tokenize=p(e-1);return n.tokenize(t,n)}}return"meta"}}function g(){for(var e=arguments.length-1;e>=0;e--)d.cc.push(arguments[e])}function y(){g.apply(null,arguments);return!0}function b(e,t){var n=s.doNotIndent.hasOwnProperty(e)||d.context&&d.context.noIndent;d.context={prev:d.context,tagName:e,indent:d.indented,startOfLine:t,noIndent:n}}function w(){d.context&&(d.context=d.context.prev)}function E(e){if(e=="openTag"){d.tagName=u;d.tagStart=v.column();return y(N,S(d.startOfLine))}if(e=="closeTag"){var t=!1;if(d.context){if(d.context.tagName!=u){s.implicitlyClosed.hasOwnProperty(d.context.tagName.toLowerCase())&&w();t=!d.context||d.context.tagName!=u}}else t=!0;t&&(m="error");return y(x(t))}return y()}function S(e){return function(t){var n=d.tagName;d.tagName=d.tagStart=null;if(t=="selfcloseTag"||t=="endTag"&&s.autoSelfClosers.hasOwnProperty(n.toLowerCase())){T(n.toLowerCase());return y()}if(t=="endTag"){T(n.toLowerCase());b(n,e);return y()}return y()}}function x(e){return function(t){e&&(m="error");if(t=="endTag"){w();return y()}m="error";return y(arguments.callee)}}function T(e){var t;for(;;){if(!d.context)return;t=d.context.tagName.toLowerCase();if(!s.contextGrabbers.hasOwnProperty(t)||!s.contextGrabbers[t].hasOwnProperty(e))return;w()}}function N(e){if(e=="word"){m="attribute";return y(C,N)}if(e=="endTag"||e=="selfcloseTag")return g();m="error";return y(N)}function C(e){if(e=="equals")return y(k,N);if(!s.allowMissing)m="error";else if(e=="word"){m="attribute";return y(C,N)}return e=="endTag"||e=="selfcloseTag"?g():y()}function k(e){if(e=="string")return y(L);if(e=="word"&&s.allowUnquoted){m="string";return y()}m="error";return e=="endTag"||e=="selfCloseTag"?g():y()}function L(e){return e=="string"?y(L):g()}var n=e.indentUnit,r=t.multilineTagIndentFactor||1,i=t.multilineTagIndentPastTag||!0,s=t.htmlMode?{autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0}:{autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1},o=t.alignCDATA,u,a,d,v,m;return{startState:function(){return{tokenize:f,cc:[],indented:0,startOfLine:!0,tagName:null,tagStart:null,context:null}},token:function(e,t){if(!t.tagName&&e.sol()){t.startOfLine=!0;t.indented=e.indentation()}if(e.eatSpace())return null;m=a=u=null;var n=t.tokenize(e,t);t.type=a;if((n||a)&&n!="comment"){d=t;v=e;for(;;){var r=t.cc.pop()||E;if(r(a||n))break}}t.startOfLine=!1;m&&(n=m=="error"?n+" error":m);return n},indent:function(e,t,s){var u=e.context;if(e.tokenize.isInAttribute)return e.stringStartCol+1;if(e.tokenize!=l&&e.tokenize!=f||u&&u.noIndent)return s?s.match(/^(\s*)/)[0].length:0;if(e.tagName)return i?e.tagStart+e.tagName.length+2:e.tagStart+n*r;if(o&&/<!\[CDATA\[/.test(t))return 0;u&&/^<\//.test(t)&&(u=u.prev);while(u&&!u.startOfLine)u=u.prev;return u?u.indent+n:0},electricChars:"/",blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:t.htmlMode?"html":"xml",helperType:t.htmlMode?"html":"xml"}});CodeMirror.defineMIME("text/xml","xml");CodeMirror.defineMIME("application/xml","xml");CodeMirror.mimeModes.hasOwnProperty("text/html")||CodeMirror.defineMIME("text/html",{name:"xml",htmlMode:!0});(function(){"use strict";function n(n){if("activeLine"in n.state){n.removeLineClass(n.state.activeLine,"wrap",e);n.removeLineClass(n.state.activeLine,"background",t)}}function r(r){var i=r.getLineHandleVisualStart(r.getCursor().line);if(r.state.activeLine==i)return;n(r);r.addLineClass(i,"wrap",e);r.addLineClass(i,"background",t);r.state.activeLine=i}var e="CodeMirror-activeline",t="CodeMirror-activeline-background";CodeMirror.defineOption("styleActiveLine",!1,function(e,t,i){var s=i&&i!=CodeMirror.Init;if(t&&!s){r(e);e.on("cursorActivity",r)}else if(!t&&s){e.off("cursorActivity",r);n(e);delete e.state.activeLine}})})();(function(){function r(e,r,i){function g(r,i,s){if(!r.text)return;var u=h?0:r.text.length-1,a=h?r.text.length:-1;if(r.text.length>o)return null;s!=null&&(u=s+p);for(;u!=a;u+=p){var f=r.text.charAt(u);if(m.test(f)&&e.getTokenTypeAt(t(i,u+1))==d){var l=n[f];if(l.charAt(1)==">"==h)v.push(f);else{if(v.pop()!=l.charAt(0))return{pos:u,match:!1};if(!v.length)return{pos:u,match:!0}}}}}var s=e.state.matchBrackets,o=s&&s.maxScanLineLength||1e4,u=s&&s.maxScanLines||100,a=r||e.getCursor(),f=e.getLineHandle(a.line),l=a.ch-1,c=l>=0&&n[f.text.charAt(l)]||n[f.text.charAt(++l)];if(!c)return null;var h=c.charAt(1)==">",p=h?1:-1;if(i&&h!=(l==a.ch))return null;var d=e.getTokenTypeAt(t(a.line,l+1)),v=[f.text.charAt(l)],m=/[(){}[\]]/;for(var y=a.line,b,w=h?Math.min(y+u,e.lineCount()):Math.max(-1,y-u);y!=w;y+=p){y==a.line?b=g(f,y,l):b=g(e.getLineHandle(y),y);if(b)break}return{from:t(a.line,l),to:b&&t(y,b.pos),match:b&&b.match,forward:h}}function i(n,i){var s=n.state.matchBrackets.maxHighlightLineLength||1e3,o=r(n);if(!o||n.getLine(o.from.line).length>s||o.to&&n.getLine(o.to.line).length>s)return;var u=o.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket",a=n.markText(o.from,t(o.from.line,o.from.ch+1),{className:u}),f=o.to&&n.markText(o.to,t(o.to.line,o.to.ch+1),{className:u});e&&n.state.focused&&n.display.input.focus();var l=function(){n.operation(function(){a.clear();f&&f.clear()})};if(!i)return l;setTimeout(l,800)}function o(e){e.operation(function(){if(s){s();s=null}e.somethingSelected()||(s=i(e,!1))})}var e=/MSIE \d/.test(navigator.userAgent)&&(document.documentMode==null||document.documentMode<8),t=CodeMirror.Pos,n={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},s=null;CodeMirror.defineOption("matchBrackets",!1,function(e,t,n){n&&n!=CodeMirror.Init&&e.off("cursorActivity",o);if(t){e.state.matchBrackets=typeof t=="object"?t:{};e.on("cursorActivity",o)}});CodeMirror.defineExtension("matchBrackets",function(){i(this,!0)});CodeMirror.defineExtension("findMatchingBracket",function(e,t){return r(this,e,t)})})();window.onload=heshPlugin;
1
+ function heshPlugin(){var e=null,t=0,r=0,n=document.getElementById("content"),i=null!==document.getElementById("post_ID")?document.getElementById("post_ID").value:0,o=document.getElementById("content-html"),l=document.getElementById("content-tmce"),a=-1!==document.cookie.indexOf("theme=mbo")?"mbo":"default",s=-1!==document.cookie.indexOf("editor%3Dtinymce")?!0:!1,c=null!==document.getElementById("content-tmce")?!0:!1,u=document.getElementById("ed_toolbar"),f=document.getElementById("wp-content-editor-container"),d="heshFullscreen",h=document.getElementById("publish"),p={mode:"text/html",tabMode:"indent",theme:a,lineNumbers:!0,matchBrackets:!0,indentUnit:4,indentWithTabs:!0,enterMode:"keep",lineWrapping:!0,autofocus:!0,styleActiveLine:!0,electricChars:!1,extraKeys:{F11:function(){w()},Esc:function(){w()},"Ctrl-S":function(){h.click()},"Cmd-S":function(){h.click()}}},m=function(){if(!r){var e={more:["<!--more-->",""],comment:["<!-- "," -->"],code:["<code>","</code>"],li:["<li>","</li>"],ol:["<ol>","</ol>"],ul:["<ul>","</ul>"],img:['<img src="$" alt="','">',"Enter the URL of the image"],ins:["<ins>","</ins>"],del:["<del>","</del>"],link:['<a href="$">',"</a>","Enter the destination URL"],blockquote:["\r<blockquote>","</blockquote>\r"],h3:["<h3>","</h3>"],h2:["<h2>","</h2>"],h1:["<h1>","</h1>"],i:["<em>","</em>"],b:["<strong>","</strong>"]};for(var t in e){var n=e[t],i=n[2]?'data-prompt="'+n[2]+'"':"";u.insertAdjacentHTML("afterbegin",'<input type="button" id="cm_content_'+t+"\" data-start='"+n[0]+"' data-end='"+n[1]+"' "+i+' class="ed_button cm_ed_button" value="'+t+'">'),document.getElementById("cm_content_"+t).onclick=g}C(),k(),r=1}},g=function(){var t=e.getCursor("start"),r=this.getAttribute("data-start"),n=this.getAttribute("data-end"),i=this.getAttribute("data-prompt")||null,o=e.getSelection();"cm_content_link"===this.id&&wpLink?(wpLink.open(),document.getElementById("wp-link-submit").onclick=function(){var t=wpLink.getAttrs();e.replaceSelection('<a href="'+t.href+'" title="'+t.title+'" target="'+t.target+'">'+o+"</a>"),wpLink.close()}):(i&&(r=r.replace("$",prompt(i,""))),e.replaceSelection(r+o+n)),e.setSelection(t,e.getCursor("end")),e.setCursor(t.line,t.ch+r.length),e.focus()},v=function(r){e=CodeMirror.fromTextArea(r,p),e.on("change",function(){e.save()}),e.on("cursorActivity",function(){var t=e.getCursor();window.name=i+","+t.line+","+t.ch});var n=window.name.split(",");i===n[0]&&e.setCursor(parseFloat(n[1]),parseFloat(n[2])),m(),x(),L(),t=1},y=function(){t&&(e.toTextArea(),o.onclick=b,switchEditors.switchto(this),t=0)},b=function(){t||(switchEditors.switchto(this),v(n),l.onclick=y)},x=function(){var e=document.querySelector(".CodeMirror"),t=document.createElement("div"),r=document.getElementById("wp-content-wrap"),n=e.getBoundingClientRect().top,i=function(t){t=t||window.event;var r=(t.pageY||t.clientY+document.body.scrollTop+document.documentElement.scrollTop)-n;e.style.height=(r>10?r:10)+"px",window.getSelection().removeAllRanges()};t.className="content-resize-handle",r.appendChild(t),t.onmousedown=function(){document.onmousemove=i},document.onmouseup=function(){document.onmousemove=null}},w=function(){f.className=-1===f.className.indexOf(d)?f.className+" "+d:f.className.replace(d,"");var t=document.getElementById("cm_content_fullscreen");t.value="fullscreen"===t.value?"exit fullscreen":"fullscreen",e.focus()},k=function(){u.insertAdjacentHTML("afterbegin",'<input type="button" id="cm_content_fullscreen" class="ed_button" title="Toggle fullscreen mode" value="fullscreen">'),document.getElementById("cm_content_fullscreen").onclick=w},C=function(){var t=function(){return"mbo"===a?"light":"dark"};u.insertAdjacentHTML("afterbegin",'<input type="button" id="cm_select_theme" class="ed_button" title="Change editor colour scheme" value="'+t()+'">'),document.getElementById("cm_select_theme").onclick=function(){a="mbo"===a?"default":"mbo",e.setOption("theme",a),document.cookie="hesh_plugin=theme="+a,this.value=t()}},L=function(){window.send_to_editor_wp||(window.send_to_editor_wp=send_to_editor,send_to_editor=function(r){t&&"content"===wpActiveEditor?(e.replaceSelection(r),e.save()):window.send_to_editor_wp(r)})};s&&c?o.onclick=b:(v(n),c&&(l.onclick=y))}window.CodeMirror=function(){"use strict";function e(r,n){if(!(this instanceof e))return new e(r,n);this.options=n=n||{};for(var i in so)!n.hasOwnProperty(i)&&so.hasOwnProperty(i)&&(n[i]=so[i]);d(n);var o="string"==typeof n.value?0:n.value.first,l=this.display=t(r,o);l.wrapper.CodeMirror=this,c(this),n.autofocus&&!_i&&pt(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,draggingText:!1,highlight:new Xn},a(this),n.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap");var s=n.value;"string"==typeof s&&(s=new ko(n.value,n.mode)),lt(this,pn)(this,s),Ai&&setTimeout(ii(ht,this,!0),20),gt(this);var u;try{u=document.activeElement==l.input}catch(f){}u||n.autofocus&&!_i?setTimeout(ii(Ht,this),20):Dt(this),lt(this,function(){for(var e in ao)ao.propertyIsEnumerable(e)&&ao[e](this,n[e],co);for(var t=0;t<po.length;++t)po[t](this)})()}function t(e,t){var r={},n=r.input=ai("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none; font-size: 4px;");return Oi?n.style.width="1000px":n.setAttribute("wrap","off"),Ri&&(n.style.border="1px solid black"),n.setAttribute("autocorrect","off"),n.setAttribute("autocapitalize","off"),n.setAttribute("spellcheck","false"),r.inputDiv=ai("div",[n],null,"overflow: hidden; position: relative; width: 3px; height: 0px;"),r.scrollbarH=ai("div",[ai("div",null,null,"height: 1px")],"CodeMirror-hscrollbar"),r.scrollbarV=ai("div",[ai("div",null,null,"width: 1px")],"CodeMirror-vscrollbar"),r.scrollbarFiller=ai("div",null,"CodeMirror-scrollbar-filler"),r.gutterFiller=ai("div",null,"CodeMirror-gutter-filler"),r.lineDiv=ai("div",null,"CodeMirror-code"),r.selectionDiv=ai("div",null,null,"position: relative; z-index: 1"),r.cursor=ai("div"," ","CodeMirror-cursor"),r.otherCursor=ai("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"),r.measure=ai("div",null,"CodeMirror-measure"),r.lineSpace=ai("div",[r.measure,r.selectionDiv,r.lineDiv,r.cursor,r.otherCursor],null,"position: relative; outline: none"),r.mover=ai("div",[ai("div",[r.lineSpace],"CodeMirror-lines")],null,"position: relative"),r.sizer=ai("div",[r.mover],"CodeMirror-sizer"),r.heightForcer=ai("div",null,null,"position: absolute; height: "+To+"px; width: 1px;"),r.gutters=ai("div",null,"CodeMirror-gutters"),r.lineGutter=null,r.scroller=ai("div",[r.sizer,r.heightForcer,r.gutters],"CodeMirror-scroll"),r.scroller.setAttribute("tabIndex","-1"),r.wrapper=ai("div",[r.inputDiv,r.scrollbarH,r.scrollbarV,r.scrollbarFiller,r.gutterFiller,r.scroller],"CodeMirror"),Ni&&(r.gutters.style.zIndex=-1,r.scroller.style.paddingRight=0),e.appendChild?e.appendChild(r.wrapper):e(r.wrapper),Ri&&(n.style.width="0px"),Oi||(r.scroller.draggable=!0),Pi?(r.inputDiv.style.height="1px",r.inputDiv.style.position="absolute"):Ni&&(r.scrollbarH.style.minWidth=r.scrollbarV.style.minWidth="18px"),r.viewOffset=r.lastSizeC=0,r.showingFrom=r.showingTo=t,r.lineNumWidth=r.lineNumInnerWidth=r.lineNumChars=null,r.prevInput="",r.alignWidgets=!1,r.pollingFast=!1,r.poll=new Xn,r.cachedCharWidth=r.cachedTextHeight=null,r.measureLineCache=[],r.measureLineCachePos=0,r.inaccurateSelection=!1,r.maxLine=null,r.maxLineLength=0,r.maxLineChanged=!1,r.wheelDX=r.wheelDY=r.wheelStartX=r.wheelStartY=null,r}function r(t){t.doc.mode=e.getMode(t.options,t.doc.modeOption),t.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),t.doc.frontier=t.doc.first,O(t,100),t.state.modeGen++,t.curOp&&ct(t)}function n(e){e.options.lineWrapping?(e.display.wrapper.className+=" CodeMirror-wrap",e.display.sizer.style.minWidth=""):(e.display.wrapper.className=e.display.wrapper.className.replace(" CodeMirror-wrap",""),f(e)),o(e),ct(e),U(e),setTimeout(function(){h(e)},100)}function i(e){var t=rt(e.display),r=e.options.lineWrapping,n=r&&Math.max(5,e.display.scroller.clientWidth/nt(e.display)-3);return function(i){return _r(e.doc,i)?0:r?(Math.ceil(i.text.length/n)||1)*t:t}}function o(e){var t=e.doc,r=i(e);t.iter(function(e){var t=r(e);t!=e.height&&yn(e,t)})}function l(e){var t=vo[e.options.keyMap],r=t.style;e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-keymap-\S+/g,"")+(r?" cm-keymap-"+r:""),e.state.disableInput=t.disableInput}function a(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),U(e)}function s(e){c(e),ct(e),setTimeout(function(){m(e)},20)}function c(e){var t=e.display.gutters,r=e.options.gutters;si(t);for(var n=0;n<r.length;++n){var i=r[n],o=t.appendChild(ai("div",null,"CodeMirror-gutter "+i));"CodeMirror-linenumbers"==i&&(e.display.lineGutter=o,o.style.width=(e.display.lineNumWidth||1)+"px")}t.style.display=n?"":"none"}function u(e,t){if(0==t.height)return 0;for(var r=t.text.length,n,i=t;n=Br(i);){var o=n.find();i=mn(e,o.from.line),r+=o.from.ch-o.to.ch}for(i=t;n=Vr(i);){var o=n.find();r-=i.text.length-o.from.ch,i=mn(e,o.to.line),r+=i.text.length-o.to.ch}return r}function f(e){var t=e.display,r=e.doc;t.maxLine=mn(r,r.first),t.maxLineLength=u(r,t.maxLine),t.maxLineChanged=!0,r.iter(function(e){var n=u(r,e);n>t.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)})}function d(e){var t=ei(e.gutters,"CodeMirror-linenumbers");-1==t&&e.lineNumbers?e.gutters=e.gutters.concat(["CodeMirror-linenumbers"]):t>-1&&!e.lineNumbers&&(e.gutters=e.gutters.slice(0),e.gutters.splice(t,1))}function h(e){var t=e.display,r=e.doc.height,n=r+P(t);t.sizer.style.minHeight=t.heightForcer.style.top=n+"px",t.gutters.style.height=Math.max(n,t.scroller.clientHeight-To)+"px";var i=Math.max(n,t.scroller.scrollHeight),o=t.scroller.scrollWidth>t.scroller.clientWidth+1,l=i>t.scroller.clientHeight+1;l?(t.scrollbarV.style.display="block",t.scrollbarV.style.bottom=o?hi(t.measure)+"px":"0",t.scrollbarV.firstChild.style.height=i-t.scroller.clientHeight+t.scrollbarV.clientHeight+"px"):(t.scrollbarV.style.display="",t.scrollbarV.firstChild.style.height="0"),o?(t.scrollbarH.style.display="block",t.scrollbarH.style.right=l?hi(t.measure)+"px":"0",t.scrollbarH.firstChild.style.width=t.scroller.scrollWidth-t.scroller.clientWidth+t.scrollbarH.clientWidth+"px"):(t.scrollbarH.style.display="",t.scrollbarH.firstChild.style.width="0"),o&&l?(t.scrollbarFiller.style.display="block",t.scrollbarFiller.style.height=t.scrollbarFiller.style.width=hi(t.measure)+"px"):t.scrollbarFiller.style.display="",o&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(t.gutterFiller.style.display="block",t.gutterFiller.style.height=hi(t.measure)+"px",t.gutterFiller.style.width=t.gutters.offsetWidth+"px"):t.gutterFiller.style.display="",Fi&&0===hi(t.measure)&&(t.scrollbarV.style.minWidth=t.scrollbarH.style.minHeight=Bi?"18px":"12px",t.scrollbarV.style.pointerEvents=t.scrollbarH.style.pointerEvents="none")}function p(e,t,r){var n=e.scroller.scrollTop,i=e.wrapper.clientHeight;"number"==typeof r?n=r:r&&(n=r.top,i=r.bottom-r.top),n=Math.floor(n-I(e));var o=Math.ceil(n+i);return{from:xn(t,n),to:xn(t,o)}}function m(e){var t=e.display;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var r=y(t)-t.scroller.scrollLeft+e.doc.scrollLeft,n=t.gutters.offsetWidth,i=r+"px",o=t.lineDiv.firstChild;o;o=o.nextSibling)if(o.alignable)for(var l=0,a=o.alignable;l<a.length;++l)a[l].style.left=i;e.options.fixedGutter&&(t.gutters.style.left=r+n+"px")}}function g(e){if(!e.options.lineNumbers)return!1;var t=e.doc,r=v(e.options,t.first+t.size-1),n=e.display;if(r.length!=n.lineNumChars){var i=n.measure.appendChild(ai("div",[ai("div",r)],"CodeMirror-linenumber CodeMirror-gutter-elt")),o=i.firstChild.offsetWidth,l=i.offsetWidth-o;return n.lineGutter.style.width="",n.lineNumInnerWidth=Math.max(o,n.lineGutter.offsetWidth-l),n.lineNumWidth=n.lineNumInnerWidth+l,n.lineNumChars=n.lineNumInnerWidth?r.length:-1,n.lineGutter.style.width=n.lineNumWidth+"px",!0}return!1}function v(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function y(e){return fi(e.scroller).left-fi(e.sizer).left}function b(e,t,r,n){for(var i=e.display.showingFrom,o=e.display.showingTo,l,a=p(e.display,e.doc,r),s=!0;;s=!1){var c=e.display.scroller.clientWidth;if(!x(e,t,a,n))break;if(l=!0,t=[],A(e),h(e),s&&e.options.lineWrapping&&c!=e.display.scroller.clientWidth)n=!0;else if(n=!1,r&&(r=Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,"number"==typeof r?r:r.top)),a=p(e.display,e.doc,r),a.from>=e.display.showingFrom&&a.to<=e.display.showingTo)break}return l&&(jn(e,"update",e),(e.display.showingFrom!=i||e.display.showingTo!=o)&&jn(e,"viewportChange",e,e.display.showingFrom,e.display.showingTo)),l}function x(e,t,r,n){var i=e.display,o=e.doc;if(!i.wrapper.clientWidth)return i.showingFrom=i.showingTo=o.first,void(i.viewOffset=0);if(!(!n&&0==t.length&&r.from>i.showingFrom&&r.to<i.showingTo)){g(e)&&(t=[{from:o.first,to:o.first+o.size}]);var l=i.sizer.style.marginLeft=i.gutters.offsetWidth+"px";i.scrollbarH.style.left=e.options.fixedGutter?l:"0";var a=1/0;if(e.options.lineNumbers)for(var s=0;s<t.length;++s)t[s].diff&&t[s].from<a&&(a=t[s].from);var c=o.first+o.size,u=Math.max(r.from-e.options.viewportMargin,o.first),f=Math.min(c,r.to+e.options.viewportMargin);if(i.showingFrom<u&&u-i.showingFrom<20&&(u=Math.max(o.first,i.showingFrom)),i.showingTo>f&&i.showingTo-f<20&&(f=Math.min(c,i.showingTo)),Xi)for(u=bn(Rr(o,mn(o,u)));c>f&&_r(o,mn(o,f));)++f;var d=[{from:Math.max(i.showingFrom,o.first),to:Math.min(i.showingTo,c)}];if(d=d[0].from>=d[0].to?[]:C(d,t),Xi)for(var s=0;s<d.length;++s)for(var h=d[s],p;p=Vr(mn(o,h.to-1));){var m=p.find().from.line;if(!(m>h.from)){d.splice(s--,1);break}h.to=m}for(var v=0,s=0;s<d.length;++s){var h=d[s];h.from<u&&(h.from=u),h.to>f&&(h.to=f),h.from>=h.to?d.splice(s--,1):v+=h.to-h.from}if(!n&&v==f-u&&u==i.showingFrom&&f==i.showingTo)return void k(e);d.sort(function(e,t){return e.from-t.from});try{var y=document.activeElement}catch(b){}.7*(f-u)>v&&(i.lineDiv.style.display="none"),M(e,u,f,d,a),i.lineDiv.style.display="",y&&document.activeElement!=y&&y.offsetHeight&&y.focus();var x=u!=i.showingFrom||f!=i.showingTo||i.lastSizeC!=i.wrapper.clientHeight;return x&&(i.lastSizeC=i.wrapper.clientHeight,O(e,400)),i.showingFrom=u,i.showingTo=f,w(e),k(e),!0}}function w(e){for(var t=e.display,r=t.lineDiv.offsetTop,n=t.lineDiv.firstChild,i;n;n=n.nextSibling)if(n.lineObj){if(Ni){var o=n.offsetTop+n.offsetHeight;i=o-r,r=o}else{var l=fi(n);i=l.bottom-l.top}var a=n.lineObj.height-i;if(2>i&&(i=rt(t)),a>.001||-.001>a){yn(n.lineObj,i);var s=n.lineObj.widgets;if(s)for(var c=0;c<s.length;++c)s[c].height=s[c].node.offsetHeight}}}function k(e){var t=e.display.viewOffset=wn(e,mn(e.doc,e.display.showingFrom));e.display.mover.style.top=t+"px"}function C(e,t){for(var r=0,n=t.length||0;n>r;++r){for(var i=t[r],o=[],l=i.diff||0,a=0,s=e.length;s>a;++a){var c=e[a];i.to<=c.from&&i.diff?o.push({from:c.from+l,to:c.to+l}):i.to<=c.from||i.from>=c.to?o.push(c):(i.from>c.from&&o.push({from:c.from,to:i.from}),i.to<c.to&&o.push({from:i.to+l,to:c.to+l}))}e=o}return e}function L(e){for(var t=e.display,r={},n={},i=t.gutters.firstChild,o=0;i;i=i.nextSibling,++o)r[e.options.gutters[o]]=i.offsetLeft,n[e.options.gutters[o]]=i.offsetWidth;return{fixedPos:y(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:r,gutterWidth:n,wrapperWidth:t.wrapper.clientWidth}}function M(e,t,r,n,i){function o(t){var r=t.nextSibling;return Oi&&Gi&&e.display.currentWheelTarget==t?(t.style.display="none",t.lineObj=null):t.parentNode.removeChild(t),r}var l=L(e),a=e.display,s=e.options.lineNumbers;n.length||Oi&&e.display.currentWheelTarget||si(a.lineDiv);var c=a.lineDiv,u=c.firstChild,f=n.shift(),d=t;for(e.doc.iter(t,r,function(t){if(f&&f.to==d&&(f=n.shift()),_r(e.doc,t)){if(0!=t.height&&yn(t,0),t.widgets&&u&&u.previousSibling)for(var r=0;r<t.widgets.length;++r){var a=t.widgets[r];if(a.showIfHidden){var h=u.previousSibling;if(/pre/i.test(h.nodeName)){var p=ai("div",null,null,"position: relative");h.parentNode.replaceChild(p,h),p.appendChild(h),h=p}var m=h.appendChild(ai("div",[a.node],"CodeMirror-linewidget"));a.handleMouseEvents||(m.ignoreEvents=!0),T(a,m,h,l)}}}else if(f&&f.from<=d&&f.to>d){for(;u.lineObj!=t;)u=o(u);s&&d>=i&&u.lineNumber&&ui(u.lineNumber,v(e.options,d)),u=u.nextSibling}else{if(t.widgets)for(var g=0,y=u,b;y&&20>g;++g,y=y.nextSibling)if(y.lineObj==t&&/div/i.test(y.nodeName)){b=y;break}var x=S(e,t,d,l,b);if(x!=b)c.insertBefore(x,u);else{for(;u!=b;)u=o(u);u=u.nextSibling}x.lineObj=t}++d});u;)u=o(u)}function S(e,t,r,n,i){var o=rn(e,t),l=o.pre,a=t.gutterMarkers,s=e.display,c,u=o.bgClass?o.bgClass+" "+(t.bgClass||""):t.bgClass;if(!(e.options.lineNumbers||a||u||t.wrapClass||t.widgets))return l;if(i){i.alignable=null;for(var f=!0,d=0,h=null,p=i.firstChild,m;p;p=m)if(m=p.nextSibling,/\bCodeMirror-linewidget\b/.test(p.className)){for(var g=0;g<t.widgets.length;++g){var y=t.widgets[g];if(y.node==p.firstChild){y.above||h||(h=p),T(y,p,i,n),++d;break}}if(g==t.widgets.length){f=!1;break}}else i.removeChild(p);i.insertBefore(l,h),f&&d==t.widgets.length&&(c=i,i.className=t.wrapClass||"")}if(c||(c=ai("div",null,t.wrapClass,"position: relative"),c.appendChild(l)),u&&c.insertBefore(ai("div",null,u+" CodeMirror-linebackground"),c.firstChild),e.options.lineNumbers||a){var b=c.insertBefore(ai("div",null,null,"position: absolute; left: "+(e.options.fixedGutter?n.fixedPos:-n.gutterTotalWidth)+"px"),c.firstChild);if(e.options.fixedGutter&&(c.alignable||(c.alignable=[])).push(b),!e.options.lineNumbers||a&&a["CodeMirror-linenumbers"]||(c.lineNumber=b.appendChild(ai("div",v(e.options,r),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+n.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+s.lineNumInnerWidth+"px"))),a)for(var x=0;x<e.options.gutters.length;++x){var w=e.options.gutters[x],k=a.hasOwnProperty(w)&&a[w];k&&b.appendChild(ai("div",[k],"CodeMirror-gutter-elt","left: "+n.gutterLeft[w]+"px; width: "+n.gutterWidth[w]+"px"))}}if(Ni&&(c.style.zIndex=2),t.widgets&&c!=i)for(var g=0,C=t.widgets;g<C.length;++g){var y=C[g],L=ai("div",[y.node],"CodeMirror-linewidget");y.handleMouseEvents||(L.ignoreEvents=!0),T(y,L,c,n),y.above?c.insertBefore(L,e.options.lineNumbers&&0!=t.height?b:l):c.appendChild(L),jn(y,"redraw")}return c}function T(e,t,r,n){if(e.noHScroll){(r.alignable||(r.alignable=[])).push(t);var i=n.wrapperWidth;t.style.left=n.fixedPos+"px",e.coverGutter||(i-=n.gutterTotalWidth,t.style.paddingLeft=n.gutterTotalWidth+"px"),t.style.width=i+"px"}e.coverGutter&&(t.style.zIndex=5,t.style.position="relative",e.noHScroll||(t.style.marginLeft=-n.gutterTotalWidth+"px"))}function A(e){var t=e.display,r=$t(e.doc.sel.from,e.doc.sel.to);if(r||e.options.showCursorWhenSelecting?N(e):t.cursor.style.display=t.otherCursor.style.display="none",r?t.selectionDiv.style.display="none":z(e),e.options.moveInputWithCursor){var n=Q(e,e.doc.sel.head,"div"),i=fi(t.wrapper),o=fi(t.lineDiv);t.inputDiv.style.top=Math.max(0,Math.min(t.wrapper.clientHeight-10,n.top+o.top-i.top))+"px",t.inputDiv.style.left=Math.max(0,Math.min(t.wrapper.clientWidth-10,n.left+o.left-i.left))+"px"}}function N(e){var t=e.display,r=Q(e,e.doc.sel.head,"div");t.cursor.style.left=r.left+"px",t.cursor.style.top=r.top+"px",t.cursor.style.height=Math.max(0,r.bottom-r.top)*e.options.cursorHeight+"px",t.cursor.style.display="",r.other?(t.otherCursor.style.display="",t.otherCursor.style.left=r.other.left+"px",t.otherCursor.style.top=r.other.top+"px",t.otherCursor.style.height=.85*(r.other.bottom-r.other.top)+"px"):t.otherCursor.style.display="none"}function z(e){function t(e,t,r,n){0>t&&(t=0),l.appendChild(ai("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px; top: "+t+"px; width: "+(null==r?a-e:r)+"px; height: "+(n-t)+"px"))}function r(r,n,o){function l(t,n){return Z(e,qt(r,t),"div",c,n)}var c=mn(i,r),u=c.text.length,f,d;return mi(kn(c),n||0,null==o?u:o,function(e,r,i){var c=l(e,"left"),h,p,m;if(e==r)h=c,p=m=c.left;else{if(h=l(r-1,"right"),"rtl"==i){var g=c;c=h,h=g}p=c.left,m=h.right}null==n&&0==e&&(p=s),h.top-c.top>3&&(t(p,c.top,null,c.bottom),p=s,c.bottom<h.top&&t(p,c.bottom,null,h.top)),null==o&&r==u&&(m=a),(!f||c.top<f.top||c.top==f.top&&c.left<f.left)&&(f=c),(!d||h.bottom>d.bottom||h.bottom==d.bottom&&h.right>d.right)&&(d=h),s+1>p&&(p=s),t(p,h.top,m-p,h.bottom)}),{start:f,end:d}}var n=e.display,i=e.doc,o=e.doc.sel,l=document.createDocumentFragment(),a=n.lineSpace.offsetWidth,s=F(e.display);if(o.from.line==o.to.line)r(o.from.line,o.from.ch,o.to.ch);else{var c=mn(i,o.from.line),u=mn(i,o.to.line),f=Rr(i,c)==Rr(i,u),d=r(o.from.line,o.from.ch,f?c.text.length:null).end,h=r(o.to.line,f?0:null,o.to.ch).start;f&&(d.top<h.top-2?(t(d.right,d.top,null,d.bottom),t(s,h.top,h.left,h.bottom)):t(d.right,d.top,h.left-d.right,d.bottom)),d.bottom<h.top&&t(s,d.bottom,null,h.top)}ci(n.selectionDiv,l),n.selectionDiv.style.display=""}function E(e){if(e.state.focused){var t=e.display;clearInterval(t.blinker);var r=!0;t.cursor.style.visibility=t.otherCursor.style.visibility="",e.options.cursorBlinkRate>0&&(t.blinker=setInterval(function(){t.cursor.style.visibility=t.otherCursor.style.visibility=(r=!r)?"":"hidden"},e.options.cursorBlinkRate))}}function O(e,t){e.doc.mode.startState&&e.doc.frontier<e.display.showingTo&&e.state.highlight.set(t,ii(W,e))}function W(e){var t=e.doc;if(t.frontier<t.first&&(t.frontier=t.first),!(t.frontier>=e.display.showingTo)){var r=+new Date+e.options.workTime,n=br(t.mode,D(e,t.frontier)),i=[],o;t.iter(t.frontier,Math.min(t.first+t.size,e.display.showingTo+500),function(l){if(t.frontier>=e.display.showingFrom){var a=l.styles;l.styles=Qr(e,l,n,!0);for(var s=!a||a.length!=l.styles.length,c=0;!s&&c<a.length;++c)s=a[c]!=l.styles[c];s&&(o&&o.end==t.frontier?o.end++:i.push(o={start:t.frontier,end:t.frontier+1})),l.stateAfter=br(t.mode,n)}else en(e,l.text,n),l.stateAfter=t.frontier%5==0?br(t.mode,n):null;return++t.frontier,+new Date>r?(O(e,e.options.workDelay),!0):void 0}),i.length&&lt(e,function(){for(var e=0;e<i.length;++e)ct(this,i[e].start,i[e].end)})()}}function H(e,t,r){for(var n,i,o=e.doc,l=r?-1:t-(e.doc.mode.innerMode?1e3:100),a=t;a>l;--a){if(a<=o.first)return o.first;var s=mn(o,a-1);if(s.stateAfter&&(!r||a<=o.frontier))return a;var c=Yn(s.text,null,e.options.tabSize);(null==i||n>c)&&(i=a-1,n=c)}return i}function D(e,t,r){var n=e.doc,i=e.display;if(!n.mode.startState)return!0;var o=H(e,t,r),l=o>n.first&&mn(n,o-1).stateAfter;return l=l?br(n.mode,l):xr(n.mode),n.iter(o,t,function(r){en(e,r.text,l);var a=o==t-1||o%5==0||o>=i.showingFrom&&o<i.showingTo;r.stateAfter=a?br(n.mode,l):null,++o}),r&&(n.frontier=o),l}function I(e){return e.lineSpace.offsetTop}function P(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function F(e){var t=ci(e.measure,ai("pre",null,null,"text-align: left")).appendChild(ai("span","x"));return t.offsetLeft}function B(e,t,r,n,i){var o=-1;if(n=n||_(e,t),n.crude){var l=n.left+r*n.width;return{left:l,right:l+n.width,top:n.top,bottom:n.bottom}}for(var a=r;;a+=o){var s=n[a];if(s)break;0>o&&0==a&&(o=1)}return i=a>r?"left":r>a?"right":i,"left"==i&&s.leftSide?s=s.leftSide:"right"==i&&s.rightSide&&(s=s.rightSide),{left:r>a?s.right:s.left,right:a>r?s.left:s.right,top:s.top,bottom:s.bottom}}function V(e,t){for(var r=e.display.measureLineCache,n=0;n<r.length;++n){var i=r[n];if(i.text==t.text&&i.markedSpans==t.markedSpans&&e.display.scroller.clientWidth==i.width&&i.classes==t.textClass+"|"+t.wrapClass)return i}}function R(e,t){var r=V(e,t);r&&(r.text=r.measure=r.markedSpans=null)}function _(e,t){var r=V(e,t);if(r)return r.measure;var n=G(e,t),i=e.display.measureLineCache,o={text:t.text,width:e.display.scroller.clientWidth,markedSpans:t.markedSpans,measure:n,classes:t.textClass+"|"+t.wrapClass};return 16==i.length?i[++e.display.measureLineCachePos%16]=o:i.push(o),n}function G(e,t){function r(e){var t=e.top-p.top,r=e.bottom-p.top;r>v&&(r=v),0>t&&(t=0);for(var n=m.length-2;n>=0;n-=2){var i=m[n],o=m[n+1];if(!(i>r||t>o)&&(t>=i&&o>=r||i>=t&&r>=o||Math.min(r,o)-Math.max(t,i)>=r-t>>1)){m[n]=Math.min(t,i),m[n+1]=Math.max(r,o);break}}return 0>n&&(n=m.length,m.push(t,r)),{left:e.left-p.left,right:e.right-p.left,top:n,bottom:null}}function n(e){e.bottom=m[e.top+1],e.top=m[e.top]}if(!e.options.lineWrapping&&t.text.length>=e.options.crudeMeasuringFrom)return j(e,t);var i=e.display,o=ni(t.text.length),l=rn(e,t,o,!0).pre;if(Ai&&!Ni&&!e.options.lineWrapping&&l.childNodes.length>100){for(var a=document.createDocumentFragment(),s=10,c=l.childNodes.length,u=0,f=Math.ceil(c/s);f>u;++u){for(var d=ai("div",null,null,"display: inline-block"),h=0;s>h&&c;++h)d.appendChild(l.firstChild),--c;a.appendChild(d)}l.appendChild(a)}ci(i.measure,l);var p=fi(i.lineDiv),m=[],g=ni(t.text.length),v=l.offsetHeight;zi&&i.measure.first!=l&&ci(i.measure,l);for(var u=0,y;u<o.length;++u)if(y=o[u]){var b=y,x=null;if(/\bCodeMirror-widget\b/.test(y.className)&&y.getClientRects){1==y.firstChild.nodeType&&(b=y.firstChild);var w=b.getClientRects();w.length>1&&(x=g[u]=r(w[0]),x.rightSide=r(w[w.length-1]))}x||(x=g[u]=r(fi(b))),y.measureRight&&(x.right=fi(y.measureRight).left),y.leftSide&&(x.leftSide=r(fi(y.leftSide)))}si(e.display.measure);for(var u=0,y;u<g.length;++u)(y=g[u])&&(n(y),y.leftSide&&n(y.leftSide),y.rightSide&&n(y.rightSide));return g}function j(e,t){var r=new bo(t.text.slice(0,100),null);t.textClass&&(r.textClass=t.textClass);var n=G(e,r),i=B(e,r,0,n,"left"),o=B(e,r,99,n,"right");return{crude:!0,top:i.top,left:i.left,bottom:i.bottom,width:(o.right-i.left)/100}}function K(e,t){var r=!1;if(t.markedSpans)for(var n=0;n<t.markedSpans;++n){var i=t.markedSpans[n];!i.collapsed||null!=i.to&&i.to!=t.text.length||(r=!0)}var o=!r&&V(e,t);if(o||t.text.length>=e.options.crudeMeasuringFrom)return B(e,t,t.text.length,o&&o.measure,"right").right;var l=rn(e,t,null,!0).pre,a=l.appendChild(pi(e.display.measure));return ci(e.display.measure,l),fi(a).right-fi(e.display.lineDiv).left}function U(e){e.display.measureLineCache.length=e.display.measureLineCachePos=0,e.display.cachedCharWidth=e.display.cachedTextHeight=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function q(){return window.pageXOffset||(document.documentElement||document.body).scrollLeft}function $(){return window.pageYOffset||(document.documentElement||document.body).scrollTop}function X(e,t,r,n){if(t.widgets)for(var i=0;i<t.widgets.length;++i)if(t.widgets[i].above){var o=qr(t.widgets[i]);r.top+=o,r.bottom+=o}if("line"==n)return r;n||(n="local");var l=wn(e,t);if("local"==n?l+=I(e.display):l-=e.display.viewOffset,"page"==n||"window"==n){var a=fi(e.display.lineSpace);l+=a.top+("window"==n?0:$());var s=a.left+("window"==n?0:q());r.left+=s,r.right+=s}return r.top+=l,r.bottom+=l,r}function Y(e,t,r){if("div"==r)return t;var n=t.left,i=t.top;if("page"==r)n-=q(),i-=$();else if("local"==r||!r){var o=fi(e.display.sizer);n+=o.left,i+=o.top}var l=fi(e.display.lineSpace);return{left:n-l.left,top:i-l.top}}function Z(e,t,r,n,i){return n||(n=mn(e.doc,t.line)),X(e,n,B(e,n,t.ch,null,i),r)}function Q(e,t,r,n,i){function o(t,o){var l=B(e,n,t,i,o?"right":"left");return o?l.left=l.right:l.right=l.left,X(e,n,l,r)}function l(e,t){var r=a[t],n=r.level%2;return e==gi(r)&&t&&r.level<a[t-1].level?(r=a[--t],e=vi(r)-(r.level%2?0:1),n=!0):e==vi(r)&&t<a.length-1&&r.level<a[t+1].level&&(r=a[++t],e=gi(r)-r.level%2,n=!1),n&&e==r.to&&e>r.from?o(e-1):o(e,n)}n=n||mn(e.doc,t.line),i||(i=_(e,n));var a=kn(n),s=t.ch;if(!a)return o(s);var c=Ci(a,s),u=l(s,c);return null!=Bo&&(u.other=l(s,Bo)),u}function J(e,t,r,n){var i=new qt(e,t);return i.xRel=n,r&&(i.outside=!0),i}function et(e,t,r){var n=e.doc;if(r+=e.display.viewOffset,0>r)return J(n.first,0,!0,-1);var i=xn(n,r),o=n.first+n.size-1;if(i>o)return J(n.first+n.size-1,mn(n,o).text.length,!0,1);for(0>t&&(t=0);;){var l=mn(n,i),a=tt(e,l,i,t,r),s=Vr(l),c=s&&s.find();if(!s||!(a.ch>c.from.ch||a.ch==c.from.ch&&a.xRel>0))return a;i=c.to.line}}function tt(e,t,r,n,i){function o(n){var i=Q(e,qt(r,n),"line",t,c);return a=!0,l>i.bottom?i.left-s:l<i.top?i.left+s:(a=!1,i.left)}var l=i-wn(e,t),a=!1,s=2*e.display.wrapper.clientWidth,c=_(e,t),u=kn(t),f=t.text.length,d=yi(t),h=bi(t),p=o(d),m=a,g=o(h),v=a;if(n>g)return J(r,h,v,1);for(;;){if(u?h==d||h==Mi(t,d,1):1>=h-d){for(var y=p>n||g-n>=n-p?d:h,b=n-(y==d?p:g);Eo.test(t.text.charAt(y));)++y;var x=J(r,y,y==d?m:v,0>b?-1:b?1:0);return x}var w=Math.ceil(f/2),k=d+w;if(u){k=d;for(var C=0;w>C;++C)k=Mi(t,k,1)}var L=o(k);L>n?(h=k,g=L,(v=a)&&(g+=1e3),f=w):(d=k,p=L,m=a,f-=w)}}function rt(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Yi){Yi=ai("pre");for(var t=0;49>t;++t)Yi.appendChild(document.createTextNode("x")),Yi.appendChild(ai("br"));Yi.appendChild(document.createTextNode("x"))}ci(e.measure,Yi);var r=Yi.offsetHeight/50;return r>3&&(e.cachedTextHeight=r),si(e.measure),r||1}function nt(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=ai("span","x"),r=ai("pre",[t]);ci(e.measure,r);var n=t.offsetWidth;return n>2&&(e.cachedCharWidth=n),n||10}function it(e){e.curOp={changes:[],forceUpdate:!1,updateInput:null,userSelChange:null,textChanged:null,selectionChanged:!1,cursorActivity:!1,updateMaxLine:!1,updateScrollPos:!1,id:++Zi},So++||(Mo=[])}function ot(e){var t=e.curOp,r=e.doc,n=e.display;if(e.curOp=null,t.updateMaxLine&&f(e),n.maxLineChanged&&!e.options.lineWrapping&&n.maxLine){var i=K(e,n.maxLine);n.sizer.style.minWidth=Math.max(0,i+3+To)+"px",n.maxLineChanged=!1;var o=Math.max(0,n.sizer.offsetLeft+n.sizer.offsetWidth-n.scroller.clientWidth);o<r.scrollLeft&&!t.updateScrollPos&&St(e,Math.min(n.scroller.scrollLeft,o),!0)}var l,a;if(t.updateScrollPos)l=t.updateScrollPos;else if(t.selectionChanged&&n.scroller.clientHeight){var s=Q(e,r.sel.head);l=cr(e,s.left,s.top,s.left,s.bottom)}if((t.changes.length||t.forceUpdate||l&&null!=l.scrollTop)&&(a=b(e,t.changes,l&&l.scrollTop,t.forceUpdate),e.display.scroller.offsetHeight&&(e.doc.scrollTop=e.display.scroller.scrollTop)),!a&&t.selectionChanged&&A(e),t.updateScrollPos){var c=Math.max(0,Math.min(n.scroller.scrollHeight-n.scroller.clientHeight,l.scrollTop)),u=Math.max(0,Math.min(n.scroller.scrollWidth-n.scroller.clientWidth,l.scrollLeft));n.scroller.scrollTop=n.scrollbarV.scrollTop=r.scrollTop=c,n.scroller.scrollLeft=n.scrollbarH.scrollLeft=r.scrollLeft=u,m(e),t.scrollToPos&&ar(e,Qt(e.doc,t.scrollToPos.from),Qt(e.doc,t.scrollToPos.to),t.scrollToPos.margin)}else l&&lr(e);t.selectionChanged&&E(e),e.state.focused&&t.updateInput&&ht(e,t.userSelChange);var d=t.maybeHiddenMarkers,h=t.maybeUnhiddenMarkers;if(d)for(var p=0;p<d.length;++p)d[p].lines.length||Gn(d[p],"hide");if(h)for(var p=0;p<h.length;++p)h[p].lines.length&&Gn(h[p],"unhide");var g;if(--So||(g=Mo,Mo=null),t.textChanged&&Gn(e,"change",e,t.textChanged),t.cursorActivity&&Gn(e,"cursorActivity",e),g)for(var p=0;p<g.length;++p)g[p]()}function lt(e,t){return function(){var r=e||this,n=!r.curOp;n&&it(r);try{var i=t.apply(r,arguments)}finally{n&&ot(r)}return i}}function at(e){return function(){var t=this.cm&&!this.cm.curOp,r;t&&it(this.cm);try{r=e.apply(this,arguments)}finally{t&&ot(this.cm)}return r}}function st(e,t){var r=!e.curOp,n;r&&it(e);try{n=t()}finally{r&&ot(e)}return n}function ct(e,t,r,n){null==t&&(t=e.doc.first),null==r&&(r=e.doc.first+e.doc.size),e.curOp.changes.push({from:t,to:r,diff:n})}function ut(e){e.display.pollingFast||e.display.poll.set(e.options.pollInterval,function(){dt(e),e.state.focused&&ut(e)})}function ft(e){function t(){var n=dt(e);n||r?(e.display.pollingFast=!1,ut(e)):(r=!0,e.display.poll.set(60,t))}var r=!1;e.display.pollingFast=!0,e.display.poll.set(20,t)}function dt(e){var t=e.display.input,r=e.display.prevInput,n=e.doc,i=n.sel;if(!e.state.focused||Io(t)||mt(e)||e.state.disableInput)return!1;e.state.pasteIncoming&&e.state.fakedLastChar&&(t.value=t.value.substring(0,t.value.length-1),e.state.fakedLastChar=!1);var o=t.value;if(o==r&&$t(i.from,i.to))return!1;if(Ai&&!zi&&e.display.inputHasSelection===o)return ht(e,!0),!1;
2
+ var l=!e.curOp;l&&it(e),i.shift=!1;for(var a=0,s=Math.min(r.length,o.length);s>a&&r.charCodeAt(a)==o.charCodeAt(a);)++a;var c=i.from,u=i.to;a<r.length?c=qt(c.line,c.ch-(r.length-a)):e.state.overwrite&&$t(c,u)&&!e.state.pasteIncoming&&(u=qt(u.line,Math.min(mn(n,u.line).text.length,u.ch+(o.length-a))));var f=e.curOp.updateInput,d={from:c,to:u,text:Do(o.slice(a)),origin:e.state.pasteIncoming?"paste":"+input"};return Vt(e.doc,d,"end"),e.curOp.updateInput=f,jn(e,"inputRead",e,d),o.length>1e3||o.indexOf("\n")>-1?t.value=e.display.prevInput="":e.display.prevInput=o,l&&ot(e),e.state.pasteIncoming=!1,!0}function ht(e,t){var r,n,i=e.doc;if($t(i.sel.from,i.sel.to))t&&(e.display.prevInput=e.display.input.value="",Ai&&!zi&&(e.display.inputHasSelection=null));else{e.display.prevInput="",r=Po&&(i.sel.to.line-i.sel.from.line>100||(n=e.getSelection()).length>1e3);var o=r?"-":n||e.getSelection();e.display.input.value=o,e.state.focused&&Jn(e.display.input),Ai&&!zi&&(e.display.inputHasSelection=o)}e.display.inaccurateSelection=r}function pt(e){"nocursor"==e.options.readOnly||_i&&document.activeElement==e.display.input||e.display.input.focus()}function mt(e){return e.options.readOnly||e.doc.cantEdit}function gt(e){function t(){e.state.focused&&setTimeout(ii(pt,e),0)}function r(){null==a&&(a=setTimeout(function(){a=null,l.cachedCharWidth=l.cachedTextHeight=Wo=null,U(e),st(e,ii(ct,e))},100))}function n(){for(var e=l.wrapper.parentNode;e&&e!=document.body;e=e.parentNode);e?setTimeout(n,5e3):_n(window,"resize",r)}function i(t){Kn(e,t)||e.options.onDragEvent&&e.options.onDragEvent(e,Hn(t))||Fn(t)}function o(){l.inaccurateSelection&&(l.prevInput="",l.inaccurateSelection=!1,l.input.value=e.getSelection(),Jn(l.input))}var l=e.display;Rn(l.scroller,"mousedown",lt(e,bt)),Ai?Rn(l.scroller,"dblclick",lt(e,function(t){if(!Kn(e,t)){var r=yt(e,t);if(r&&!kt(e,t)&&!vt(e.display,t)){Dn(t);var n=gr(mn(e.doc,r.line).text,r);tr(e.doc,n.from,n.to)}}})):Rn(l.scroller,"dblclick",function(t){Kn(e,t)||Dn(t)}),Rn(l.lineSpace,"selectstart",function(e){vt(l,e)||Dn(e)}),qi||Rn(l.scroller,"contextmenu",function(t){It(e,t)}),Rn(l.scroller,"scroll",function(){l.scroller.clientHeight&&(Mt(e,l.scroller.scrollTop),St(e,l.scroller.scrollLeft,!0),Gn(e,"scroll",e))}),Rn(l.scrollbarV,"scroll",function(){l.scroller.clientHeight&&Mt(e,l.scrollbarV.scrollTop)}),Rn(l.scrollbarH,"scroll",function(){l.scroller.clientHeight&&St(e,l.scrollbarH.scrollLeft)}),Rn(l.scroller,"mousewheel",function(t){Tt(e,t)}),Rn(l.scroller,"DOMMouseScroll",function(t){Tt(e,t)}),Rn(l.scrollbarH,"mousedown",t),Rn(l.scrollbarV,"mousedown",t),Rn(l.wrapper,"scroll",function(){l.wrapper.scrollTop=l.wrapper.scrollLeft=0});var a;Rn(window,"resize",r),setTimeout(n,5e3),Rn(l.input,"keyup",lt(e,function(t){Kn(e,t)||e.options.onKeyEvent&&e.options.onKeyEvent(e,Hn(t))||16==t.keyCode&&(e.doc.sel.shift=!1)})),Rn(l.input,"input",function(){Ai&&!zi&&e.display.inputHasSelection&&(e.display.inputHasSelection=null),ft(e)}),Rn(l.input,"keydown",lt(e,Ot)),Rn(l.input,"keypress",lt(e,Wt)),Rn(l.input,"focus",ii(Ht,e)),Rn(l.input,"blur",ii(Dt,e)),e.options.dragDrop&&(Rn(l.scroller,"dragstart",function(t){Lt(e,t)}),Rn(l.scroller,"dragenter",i),Rn(l.scroller,"dragover",i),Rn(l.scroller,"drop",lt(e,Ct))),Rn(l.scroller,"paste",function(t){vt(l,t)||(pt(e),ft(e))}),Rn(l.input,"paste",function(){if(Oi&&!e.state.fakedLastChar&&!(new Date-e.state.lastMiddleDown<200)){var t=l.input.selectionStart,r=l.input.selectionEnd;l.input.value+="$",l.input.selectionStart=t,l.input.selectionEnd=r,e.state.fakedLastChar=!0}e.state.pasteIncoming=!0,ft(e)}),Rn(l.input,"cut",o),Rn(l.input,"copy",o),Pi&&Rn(l.sizer,"mouseup",function(){document.activeElement==l.input&&l.input.blur(),pt(e)})}function vt(e,t){for(var r=Bn(t);r!=e.wrapper;r=r.parentNode)if(!r||r.ignoreEvents||r.parentNode==e.sizer&&r!=e.mover)return!0}function yt(e,t,r){var n=e.display;if(!r){var i=Bn(t);if(i==n.scrollbarH||i==n.scrollbarH.firstChild||i==n.scrollbarV||i==n.scrollbarV.firstChild||i==n.scrollbarFiller||i==n.gutterFiller)return null}var o,l,a=fi(n.lineSpace);try{o=t.clientX,l=t.clientY}catch(t){return null}return et(e,o-a.left,l-a.top)}function bt(e){function t(e){if(!$t(v,e)){if(v=e,"single"==u)return void tr(i.doc,Qt(l,s),e);if(m=Qt(l,m),g=Qt(l,g),"double"==u){var t=gr(mn(l,e.line).text,e);Xt(e,m)?tr(i.doc,t.from,g):tr(i.doc,m,t.to)}else"triple"==u&&(Xt(e,m)?tr(i.doc,g,Qt(l,qt(e.line,0))):tr(i.doc,m,Qt(l,qt(e.line+1,0))))}}function r(e){var n=++b,a=yt(i,e,!0);if(a)if($t(a,d)){var s=e.clientY<y.top?-20:e.clientY>y.bottom?20:0;s&&setTimeout(lt(i,function(){b==n&&(o.scroller.scrollTop+=s,r(e))}),50)}else{i.state.focused||Ht(i),d=a,t(a);var c=p(o,l);(a.line>=c.to||a.line<c.from)&&setTimeout(lt(i,function(){b==n&&r(e)}),150)}}function n(e){b=1/0,Dn(e),pt(i),_n(document,"mousemove",x),_n(document,"mouseup",w)}if(!Kn(this,e)){var i=this,o=i.display,l=i.doc,a=l.sel;if(a.shift=e.shiftKey,vt(o,e))return void(Oi||(o.scroller.draggable=!1,setTimeout(function(){o.scroller.draggable=!0},100)));if(!kt(i,e)){var s=yt(i,e);switch(Vn(e)){case 3:return void(qi&&It.call(i,i,e));case 2:return Oi&&(i.state.lastMiddleDown=+new Date),s&&tr(i.doc,s),setTimeout(ii(pt,i),20),void Dn(e)}if(!s)return void(Bn(e)==o.scroller&&Dn(e));i.state.focused||Ht(i);var c=+new Date,u="single";if(Ji&&Ji.time>c-400&&$t(Ji.pos,s))u="triple",Dn(e),setTimeout(ii(pt,i),20),vr(i,s.line);else if(Qi&&Qi.time>c-400&&$t(Qi.pos,s)){u="double",Ji={time:c,pos:s},Dn(e);var f=gr(mn(l,s.line).text,s);tr(i.doc,f.from,f.to)}else Qi={time:c,pos:s};var d=s;if(i.options.dragDrop&&Oo&&!mt(i)&&!$t(a.from,a.to)&&!Xt(s,a.from)&&!Xt(a.to,s)&&"single"==u){var h=lt(i,function(t){Oi&&(o.scroller.draggable=!1),i.state.draggingText=!1,_n(document,"mouseup",h),_n(o.scroller,"drop",h),Math.abs(e.clientX-t.clientX)+Math.abs(e.clientY-t.clientY)<10&&(Dn(t),tr(i.doc,s),pt(i))});return Oi&&(o.scroller.draggable=!0),i.state.draggingText=h,o.scroller.dragDrop&&o.scroller.dragDrop(),Rn(document,"mouseup",h),void Rn(o.scroller,"drop",h)}Dn(e),"single"==u&&tr(i.doc,Qt(l,s));var m=a.from,g=a.to,v=s,y=fi(o.wrapper),b=0,x=lt(i,function(e){Ai||Vn(e)?r(e):n(e)}),w=lt(i,n);Rn(document,"mousemove",x),Rn(document,"mouseup",w)}}}function xt(e,t,r,n,i){try{var o=t.clientX,l=t.clientY}catch(t){return!1}if(o>=Math.floor(fi(e.display.gutters).right))return!1;n&&Dn(t);var a=e.display,s=fi(a.lineDiv);if(l>s.bottom||!qn(e,r))return Pn(t);l-=s.top-a.viewOffset;for(var c=0;c<e.options.gutters.length;++c){var u=a.gutters.childNodes[c];if(u&&fi(u).right>=o){var f=xn(e.doc,l),d=e.options.gutters[c];return i(e,r,e,f,d,t),Pn(t)}}}function wt(e,t){return qn(e,"gutterContextMenu")?xt(e,t,"gutterContextMenu",!1,Gn):!1}function kt(e,t){return xt(e,t,"gutterClick",!0,jn)}function Ct(e){var t=this;if(!(Kn(t,e)||vt(t.display,e)||t.options.onDragEvent&&t.options.onDragEvent(t,Hn(e)))){Dn(e),Ai&&(eo=+new Date);var r=yt(t,e,!0),n=e.dataTransfer.files;if(r&&!mt(t))if(n&&n.length&&window.FileReader&&window.File)for(var i=n.length,o=Array(i),l=0,a=function(e,n){var a=new FileReader;a.onload=function(){o[n]=a.result,++l==i&&(r=Qt(t.doc,r),Vt(t.doc,{from:r,to:r,text:Do(o.join("\n")),origin:"paste"},"around"))},a.readAsText(e)},s=0;i>s;++s)a(n[s],s);else{if(t.state.draggingText&&!Xt(r,t.doc.sel.from)&&!Xt(t.doc.sel.to,r))return t.state.draggingText(e),void setTimeout(ii(pt,t),20);try{var o=e.dataTransfer.getData("Text");if(o){var c=t.doc.sel.from,u=t.doc.sel.to;nr(t.doc,r,r),t.state.draggingText&&Ut(t.doc,"",c,u,"paste"),t.replaceSelection(o,null,"paste"),pt(t)}}catch(e){}}}}function Lt(e,t){if(Ai&&(!e.state.draggingText||+new Date-eo<100))return void Fn(t);if(!Kn(e,t)&&!vt(e.display,t)){var r=e.getSelection();if(t.dataTransfer.setData("Text",r),t.dataTransfer.setDragImage&&!Ii){var n=ai("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",Di&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),Di&&n.parentNode.removeChild(n)}}}function Mt(e,t){Math.abs(e.doc.scrollTop-t)<2||(e.doc.scrollTop=t,Ti||b(e,[],t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t),e.display.scrollbarV.scrollTop!=t&&(e.display.scrollbarV.scrollTop=t),Ti&&b(e,[]),O(e,100))}function St(e,t,r){(r?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)||(t=Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth),e.doc.scrollLeft=t,m(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbarH.scrollLeft!=t&&(e.display.scrollbarH.scrollLeft=t))}function Tt(e,t){var r=t.wheelDeltaX,n=t.wheelDeltaY;null==r&&t.detail&&t.axis==t.HORIZONTAL_AXIS&&(r=t.detail),null==n&&t.detail&&t.axis==t.VERTICAL_AXIS?n=t.detail:null==n&&(n=t.wheelDelta);var i=e.display,o=i.scroller;if(r&&o.scrollWidth>o.clientWidth||n&&o.scrollHeight>o.clientHeight){if(n&&Gi&&Oi)for(var l=t.target;l!=o;l=l.parentNode)if(l.lineObj){e.display.currentWheelTarget=l;break}if(r&&!Ti&&!Di&&null!=ro)return n&&Mt(e,Math.max(0,Math.min(o.scrollTop+n*ro,o.scrollHeight-o.clientHeight))),St(e,Math.max(0,Math.min(o.scrollLeft+r*ro,o.scrollWidth-o.clientWidth))),Dn(t),void(i.wheelStartX=null);if(n&&null!=ro){var a=n*ro,s=e.doc.scrollTop,c=s+i.wrapper.clientHeight;0>a?s=Math.max(0,s+a-50):c=Math.min(e.doc.height,c+a+50),b(e,[],{top:s,bottom:c})}20>to&&(null==i.wheelStartX?(i.wheelStartX=o.scrollLeft,i.wheelStartY=o.scrollTop,i.wheelDX=r,i.wheelDY=n,setTimeout(function(){if(null!=i.wheelStartX){var e=o.scrollLeft-i.wheelStartX,t=o.scrollTop-i.wheelStartY,r=t&&i.wheelDY&&t/i.wheelDY||e&&i.wheelDX&&e/i.wheelDX;i.wheelStartX=i.wheelStartY=null,r&&(ro=(ro*to+r)/(to+1),++to)}},200)):(i.wheelDX+=r,i.wheelDY+=n))}}function At(e,t,r){if("string"==typeof t&&(t=go[t],!t))return!1;e.display.pollingFast&&dt(e)&&(e.display.pollingFast=!1);var n=e.doc,i=n.sel.shift,o=!1;try{mt(e)&&(e.state.suppressEdits=!0),r&&(n.sel.shift=!1),o=t(e)!=Ao}finally{n.sel.shift=i,e.state.suppressEdits=!1}return o}function Nt(e){var t=e.state.keyMaps.slice(0);return e.options.extraKeys&&t.push(e.options.extraKeys),t.push(e.options.keyMap),t}function zt(e,t){var r=wr(e.options.keyMap),n=r.auto;clearTimeout(no),n&&!Cr(t)&&(no=setTimeout(function(){wr(e.options.keyMap)==r&&(e.options.keyMap=n.call?n.call(null,e):n,l(e))},50));var i=Lr(t,!0),o=!1;if(!i)return!1;var a=Nt(e);return o=t.shiftKey?kr("Shift-"+i,a,function(t){return At(e,t,!0)})||kr(i,a,function(t){return("string"==typeof t?/^go[A-Z]/.test(t):t.motion)?At(e,t):void 0}):kr(i,a,function(t){return At(e,t)}),o&&(Dn(t),E(e),zi&&(t.oldKeyCode=t.keyCode,t.keyCode=0),jn(e,"keyHandled",e,i,t)),o}function Et(e,t,r){var n=kr("'"+r+"'",Nt(e),function(t){return At(e,t,!0)});return n&&(Dn(t),E(e),jn(e,"keyHandled",e,"'"+r+"'",t)),n}function Ot(e){var t=this;if(t.state.focused||Ht(t),!(Kn(t,e)||t.options.onKeyEvent&&t.options.onKeyEvent(t,Hn(e)))){Ai&&27==e.keyCode&&(e.returnValue=!1);var r=e.keyCode;t.doc.sel.shift=16==r||e.shiftKey;var n=zt(t,e);Di&&(io=n?r:null,!n&&88==r&&!Po&&(Gi?e.metaKey:e.ctrlKey)&&t.replaceSelection(""))}}function Wt(e){var t=this;if(!(Kn(t,e)||t.options.onKeyEvent&&t.options.onKeyEvent(t,Hn(e)))){var r=e.keyCode,n=e.charCode;if(Di&&r==io)return io=null,void Dn(e);if(!(Di&&(!e.which||e.which<10)||Pi)||!zt(t,e)){var i=String.fromCharCode(null==n?r:n);this.options.electricChars&&this.doc.mode.electricChars&&this.options.smartIndent&&!mt(this)&&this.doc.mode.electricChars.indexOf(i)>-1&&setTimeout(lt(t,function(){dr(t,t.doc.sel.to.line,"smart")}),75),Et(t,e,i)||(Ai&&!zi&&(t.display.inputHasSelection=null),ft(t))}}}function Ht(e){"nocursor"!=e.options.readOnly&&(e.state.focused||(Gn(e,"focus",e),e.state.focused=!0,-1==e.display.wrapper.className.search(/\bCodeMirror-focused\b/)&&(e.display.wrapper.className+=" CodeMirror-focused"),e.curOp||(ht(e,!0),Oi&&setTimeout(ii(ht,e,!0),0))),ut(e),E(e))}function Dt(e){e.state.focused&&(Gn(e,"blur",e),e.state.focused=!1,e.display.wrapper.className=e.display.wrapper.className.replace(" CodeMirror-focused","")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.doc.sel.shift=!1)},150)}function It(e,t){function r(){if(null!=i.input.selectionStart){var e=i.input.value="​"+($t(o.from,o.to)?"":i.input.value);i.prevInput="​",i.input.selectionStart=1,i.input.selectionEnd=e.length}}function n(){if(i.inputDiv.style.position="relative",i.input.style.cssText=c,zi&&(i.scrollbarV.scrollTop=i.scroller.scrollTop=a),ut(e),null!=i.input.selectionStart){(!Ai||zi)&&r(),clearTimeout(oo);var t=0,n=function(){" "==i.prevInput&&0==i.input.selectionStart?lt(e,go.selectAll)(e):t++<10?oo=setTimeout(n,500):ht(e)};oo=setTimeout(n,200)}}if(!Kn(e,t,"contextmenu")){var i=e.display,o=e.doc.sel;if(!vt(i,t)&&!wt(e,t)){var l=yt(e,t),a=i.scroller.scrollTop;if(l&&!Di){var s=e.options.resetSelectionOnContextMenu;s&&($t(o.from,o.to)||Xt(l,o.from)||!Xt(l,o.to))&&lt(e,nr)(e.doc,l,l);var c=i.input.style.cssText;if(i.inputDiv.style.position="absolute",i.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(t.clientY-5)+"px; left: "+(t.clientX-5)+"px; z-index: 1000; background: white; outline: none;border-width: 0; outline: none; overflow: hidden; opacity: .05; -ms-opacity: .05; filter: alpha(opacity=5);",pt(e),ht(e,!0),$t(o.from,o.to)&&(i.input.value=i.prevInput=" "),Ai&&!zi&&r(),qi){Fn(t);var u=function(){_n(window,"mouseup",u),setTimeout(n,20)};Rn(window,"mouseup",u)}else setTimeout(n,50)}}}}function Pt(e,t,r){if(!Xt(t.from,r))return Qt(e,r);var n=t.text.length-1-(t.to.line-t.from.line);if(r.line>t.to.line+n){var i=r.line-n,o=e.first+e.size-1;return i>o?qt(o,mn(e,o).text.length):Jt(r,mn(e,i).text.length)}if(r.line==t.to.line+n)return Jt(r,Qn(t.text).length+(1==t.text.length?t.from.ch:0)+mn(e,t.to.line).text.length-t.to.ch);var l=r.line-t.from.line;return Jt(r,t.text[l].length+(l?0:t.from.ch))}function Ft(e,t,r){if(r&&"object"==typeof r)return{anchor:Pt(e,t,r.anchor),head:Pt(e,t,r.head)};if("start"==r)return{anchor:t.from,head:t.from};var n=lo(t);if("around"==r)return{anchor:t.from,head:n};if("end"==r)return{anchor:n,head:n};var i=function(e){if(Xt(e,t.from))return e;if(!Xt(t.to,e))return n;var r=e.line+t.text.length-(t.to.line-t.from.line)-1,i=e.ch;return e.line==t.to.line&&(i+=n.ch-t.to.ch),qt(r,i)};return{anchor:i(e.sel.anchor),head:i(e.sel.head)}}function Bt(e,t,r){var n={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){this.canceled=!0}};return r&&(n.update=function(t,r,n,i){t&&(this.from=Qt(e,t)),r&&(this.to=Qt(e,r)),n&&(this.text=n),void 0!==i&&(this.origin=i)}),Gn(e,"beforeChange",e,n),e.cm&&Gn(e.cm,"beforeChange",e.cm,n),n.canceled?null:{from:n.from,to:n.to,text:n.text,origin:n.origin}}function Vt(e,t,r,n){if(e.cm){if(!e.cm.curOp)return lt(e.cm,Vt)(e,t,r,n);if(e.cm.state.suppressEdits)return}if(!(qn(e,"beforeChange")||e.cm&&qn(e.cm,"beforeChange"))||(t=Bt(e,t,!0))){var i=$i&&!n&&Pr(e,t.from,t.to);if(i){for(var o=i.length-1;o>=1;--o)Rt(e,{from:i[o].from,to:i[o].to,text:[""]});i.length&&Rt(e,{from:i[0].from,to:i[0].to,text:t.text},r)}else Rt(e,t,r)}}function Rt(e,t,r){if(1!=t.text.length||""!=t.text[0]||!$t(t.from,t.to)){var n=Ft(e,t,r);Sn(e,t,n,e.cm?e.cm.curOp.id:0/0),jt(e,t,n,Dr(e,t));var i=[];hn(e,function(e,r){r||-1!=ei(i,e.history)||(On(e.history,t),i.push(e.history)),jt(e,t,null,Dr(e,t))})}}function _t(e,t){if(!e.cm||!e.cm.state.suppressEdits){var r=e.history,n=("undo"==t?r.done:r.undone).pop();if(n){var i={changes:[],anchorBefore:n.anchorAfter,headBefore:n.headAfter,anchorAfter:n.anchorBefore,headAfter:n.headBefore,generation:r.generation};("undo"==t?r.undone:r.done).push(i),r.generation=n.generation||++r.maxGeneration;for(var o=qn(e,"beforeChange")||e.cm&&qn(e.cm,"beforeChange"),l=n.changes.length-1;l>=0;--l){var a=n.changes[l];if(a.origin=t,o&&!Bt(e,a,!1))return void(("undo"==t?r.done:r.undone).length=0);i.changes.push(Mn(e,a));var s=l?Ft(e,a,null):{anchor:n.anchorBefore,head:n.headBefore};jt(e,a,s,Ir(e,a));var c=[];hn(e,function(e,t){t||-1!=ei(c,e.history)||(On(e.history,a),c.push(e.history)),jt(e,a,null,Ir(e,a))})}}}}function Gt(e,t){function r(e){return qt(e.line+t,e.ch)}e.first+=t,e.cm&&ct(e.cm,e.first,e.first,t),e.sel.head=r(e.sel.head),e.sel.anchor=r(e.sel.anchor),e.sel.from=r(e.sel.from),e.sel.to=r(e.sel.to)}function jt(e,t,r,n){if(e.cm&&!e.cm.curOp)return lt(e.cm,jt)(e,t,r,n);if(t.to.line<e.first)return void Gt(e,t.text.length-1-(t.to.line-t.from.line));if(!(t.from.line>e.lastLine())){if(t.from.line<e.first){var i=t.text.length-1-(e.first-t.from.line);Gt(e,i),t={from:qt(e.first,0),to:qt(t.to.line+i,t.to.ch),text:[Qn(t.text)],origin:t.origin}}var o=e.lastLine();t.to.line>o&&(t={from:t.from,to:qt(o,mn(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=gn(e,t.from,t.to),r||(r=Ft(e,t,null)),e.cm?Kt(e.cm,t,n,r):un(e,t,n,r)}}function Kt(e,t,r,n){var o=e.doc,l=e.display,a=t.from,s=t.to,c=!1,f=a.line;e.options.lineWrapping||(f=bn(Rr(o,mn(o,a.line))),o.iter(f,s.line+1,function(e){return e==l.maxLine?(c=!0,!0):void 0})),Xt(o.sel.head,t.from)||Xt(t.to,o.sel.head)||(e.curOp.cursorActivity=!0),un(o,t,r,n,i(e)),e.options.lineWrapping||(o.iter(f,a.line+t.text.length,function(e){var t=u(o,e);t>l.maxLineLength&&(l.maxLine=e,l.maxLineLength=t,l.maxLineChanged=!0,c=!1)}),c&&(e.curOp.updateMaxLine=!0)),o.frontier=Math.min(o.frontier,a.line),O(e,400);var d=t.text.length-(s.line-a.line)-1;if(ct(e,a.line,s.line+1,d),qn(e,"change")){var h={from:a,to:s,text:t.text,removed:t.removed,origin:t.origin};if(e.curOp.textChanged){for(var p=e.curOp.textChanged;p.next;p=p.next);p.next=h}else e.curOp.textChanged=h}}function Ut(e,t,r,n,i){if(n||(n=r),Xt(n,r)){var o=n;n=r,r=o}"string"==typeof t&&(t=Do(t)),Vt(e,{from:r,to:n,text:t,origin:i},null)}function qt(e,t){return this instanceof qt?(this.line=e,void(this.ch=t)):new qt(e,t)}function $t(e,t){return e.line==t.line&&e.ch==t.ch}function Xt(e,t){return e.line<t.line||e.line==t.line&&e.ch<t.ch}function Yt(e){return qt(e.line,e.ch)}function Zt(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function Qt(e,t){if(t.line<e.first)return qt(e.first,0);var r=e.first+e.size-1;return t.line>r?qt(r,mn(e,r).text.length):Jt(t,mn(e,t.line).text.length)}function Jt(e,t){var r=e.ch;return null==r||r>t?qt(e.line,t):0>r?qt(e.line,0):e}function er(e,t){return t>=e.first&&t<e.first+e.size}function tr(e,t,r,n){if(e.sel.shift||e.sel.extend){var i=e.sel.anchor;if(r){var o=Xt(t,i);o!=Xt(r,i)?(i=t,t=r):o!=Xt(t,r)&&(t=r)}nr(e,i,t,n)}else nr(e,t,r||t,n);e.cm&&(e.cm.curOp.userSelChange=!0)}function rr(e,t,r){var n={anchor:t,head:r};return Gn(e,"beforeSelectionChange",e,n),e.cm&&Gn(e.cm,"beforeSelectionChange",e.cm,n),n.anchor=Qt(e,n.anchor),n.head=Qt(e,n.head),n}function nr(e,t,r,n,i){if(!i&&qn(e,"beforeSelectionChange")||e.cm&&qn(e.cm,"beforeSelectionChange")){var o=rr(e,t,r);r=o.head,t=o.anchor}var l=e.sel;if(l.goalColumn=null,null==n&&(n=Xt(r,l.head)?-1:1),(i||!$t(t,l.anchor))&&(t=or(e,t,n,"push"!=i)),(i||!$t(r,l.head))&&(r=or(e,r,n,"push"!=i)),!$t(l.anchor,t)||!$t(l.head,r)){l.anchor=t,l.head=r;var a=Xt(r,t);l.from=a?r:t,l.to=a?t:r,e.cm&&(e.cm.curOp.updateInput=e.cm.curOp.selectionChanged=e.cm.curOp.cursorActivity=!0),jn(e,"cursorActivity",e)}}function ir(e){nr(e.doc,e.doc.sel.from,e.doc.sel.to,null,"push")}function or(e,t,r,n){var i=!1,o=t,l=r||1;e.cantEdit=!1;e:for(;;){var a=mn(e,o.line);if(a.markedSpans)for(var s=0;s<a.markedSpans.length;++s){var c=a.markedSpans[s],u=c.marker;if((null==c.from||(u.inclusiveLeft?c.from<=o.ch:c.from<o.ch))&&(null==c.to||(u.inclusiveRight?c.to>=o.ch:c.to>o.ch))){if(n&&(Gn(u,"beforeCursorEnter"),u.explicitlyCleared)){if(a.markedSpans){--s;continue}break}if(!u.atomic)continue;var f=u.find()[0>l?"from":"to"];if($t(f,o)&&(f.ch+=l,f.ch<0?f=f.line>e.first?Qt(e,qt(f.line-1)):null:f.ch>a.text.length&&(f=f.line<e.first+e.size-1?qt(f.line+1,0):null),!f)){if(i)return n?(e.cantEdit=!0,qt(e.first,0)):or(e,t,r,!0);i=!0,f=t,l=-l}o=f;continue e}}return o}}function lr(e){var t=ar(e,e.doc.sel.head,null,e.options.cursorScrollMargin);if(e.state.focused){var r=e.display,n=fi(r.sizer),i=null;if(t.top+n.top<0?i=!0:t.bottom+n.top>(window.innerHeight||document.documentElement.clientHeight)&&(i=!1),null!=i&&!Vi){var o="none"==r.cursor.style.display;o&&(r.cursor.style.display="",r.cursor.style.left=t.left+"px",r.cursor.style.top=t.top-r.viewOffset+"px"),r.cursor.scrollIntoView(i),o&&(r.cursor.style.display="none")}}}function ar(e,t,r,n){for(null==n&&(n=0);;){var i=!1,o=Q(e,t),l=r&&r!=t?Q(e,r):o,a=cr(e,Math.min(o.left,l.left),Math.min(o.top,l.top)-n,Math.max(o.left,l.left),Math.max(o.bottom,l.bottom)+n),s=e.doc.scrollTop,c=e.doc.scrollLeft;if(null!=a.scrollTop&&(Mt(e,a.scrollTop),Math.abs(e.doc.scrollTop-s)>1&&(i=!0)),null!=a.scrollLeft&&(St(e,a.scrollLeft),Math.abs(e.doc.scrollLeft-c)>1&&(i=!0)),!i)return o}}function sr(e,t,r,n,i){var o=cr(e,t,r,n,i);null!=o.scrollTop&&Mt(e,o.scrollTop),null!=o.scrollLeft&&St(e,o.scrollLeft)}function cr(e,t,r,n,i){var o=e.display,l=rt(e.display);0>r&&(r=0);var a=o.scroller.clientHeight-To,s=o.scroller.scrollTop,c={},u=e.doc.height+P(o),f=l>r,d=i>u-l;if(s>r)c.scrollTop=f?0:r;else if(i>s+a){var h=Math.min(r,(d?u:i)-a);h!=s&&(c.scrollTop=h)}var p=o.scroller.clientWidth-To,m=o.scroller.scrollLeft;t+=o.gutters.offsetWidth,n+=o.gutters.offsetWidth;var g=o.gutters.offsetWidth,v=g+10>t;return m+g>t||v?(v&&(t=0),c.scrollLeft=Math.max(0,t-10-g)):n>p+m-3&&(c.scrollLeft=n+10-p),c}function ur(e,t,r){e.curOp.updateScrollPos={scrollLeft:null==t?e.doc.scrollLeft:t,scrollTop:null==r?e.doc.scrollTop:r}}function fr(e,t,r){var n=e.curOp.updateScrollPos||(e.curOp.updateScrollPos={scrollLeft:e.doc.scrollLeft,scrollTop:e.doc.scrollTop}),i=e.display.scroller;n.scrollTop=Math.max(0,Math.min(i.scrollHeight-i.clientHeight,n.scrollTop+r)),n.scrollLeft=Math.max(0,Math.min(i.scrollWidth-i.clientWidth,n.scrollLeft+t))}function dr(e,t,r,n){var i=e.doc;if(null==r&&(r="add"),"smart"==r)if(e.doc.mode.indent)var o=D(e,t);else r="prev";var l=e.options.tabSize,a=mn(i,t),s=Yn(a.text,null,l),c=a.text.match(/^\s*/)[0],u;if("smart"==r&&(u=e.doc.mode.indent(o,a.text.slice(c.length),a.text),u==Ao)){if(!n)return;r="prev"}"prev"==r?u=t>i.first?Yn(mn(i,t-1).text,null,l):0:"add"==r?u=s+e.options.indentUnit:"subtract"==r?u=s-e.options.indentUnit:"number"==typeof r&&(u=s+r),u=Math.max(0,u);var f="",d=0;if(e.options.indentWithTabs)for(var h=Math.floor(u/l);h;--h)d+=l,f+=" ";u>d&&(f+=Zn(u-d)),f!=c?Ut(e.doc,f,qt(t,0),qt(t,c.length),"+input"):i.sel.head.line==t&&i.sel.head.ch<c.length&&nr(i,qt(t,c.length),qt(t,c.length),1),a.stateAfter=null}function hr(e,t,r){var n=t,i=t,o=e.doc;return"number"==typeof t?i=mn(o,Zt(o,t)):n=bn(t),null==n?null:r(i,n)?(ct(e,n,n+1),i):null}function pr(e,t,r,n,i){function o(){var t=a+r;return t<e.first||t>=e.first+e.size?f=!1:(a=t,u=mn(e,t))}function l(e){var t=(i?Mi:Si)(u,s,r,!0);if(null==t){if(e||!o())return f=!1;s=i?(0>r?bi:yi)(u):0>r?u.text.length:0}else s=t;return!0}var a=t.line,s=t.ch,c=r,u=mn(e,a),f=!0;if("char"==n)l();else if("column"==n)l(!0);else if("word"==n||"group"==n)for(var d=null,h="group"==n,p=!0;!(0>r)||l(!p);p=!1){var m=u.text.charAt(s)||"\n",g=oi(m)?"w":h?/\s/.test(m)?null:"p":null;if(d&&d!=g){0>r&&(r=1,l());break}if(g&&(d=g),r>0&&!l(!p))break}var v=or(e,qt(a,s),c,!0);return f||(v.hitSide=!0),v}function mr(e,t,r,n){var i=e.doc,o=t.left,l;if("page"==n){var a=Math.min(e.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);l=t.top+r*(a-(0>r?1.5:.5)*rt(e.display))}else"line"==n&&(l=r>0?t.bottom+3:t.top-3);for(;;){var s=et(e,o,l);if(!s.outside)break;if(0>r?0>=l:l>=i.height){s.hitSide=!0;break}l+=5*r}return s}function gr(e,t){var r=t.ch,n=t.ch;if(e){(t.xRel<0||n==e.length)&&r?--r:++n;for(var i=e.charAt(r),o=oi(i)?oi:/\s/.test(i)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&!oi(e)};r>0&&o(e.charAt(r-1));)--r;for(;n<e.length&&o(e.charAt(n));)++n}return{from:qt(t.line,r),to:qt(t.line,n)}}function vr(e,t){tr(e.doc,qt(t,0),Qt(e.doc,qt(t+1,0)))}function yr(t,r,n,i){e.defaults[t]=r,n&&(ao[t]=i?function(e,t,r){r!=co&&n(e,t,r)}:n)}function br(e,t){if(t===!0)return t;if(e.copyState)return e.copyState(t);var r={};for(var n in t){var i=t[n];i instanceof Array&&(i=i.concat([])),r[n]=i}return r}function xr(e,t,r){return e.startState?e.startState(t,r):!0}function wr(e){return"string"==typeof e?vo[e]:e}function kr(e,t,r){function n(t){t=wr(t);var i=t[e];if(i===!1)return"stop";if(null!=i&&r(i))return!0;if(t.nofallthrough)return"stop";var o=t.fallthrough;if(null==o)return!1;if("[object Array]"!=Object.prototype.toString.call(o))return n(o);for(var l=0,a=o.length;a>l;++l){var s=n(o[l]);if(s)return s}return!1}for(var i=0;i<t.length;++i){var o=n(t[i]);if(o)return"stop"!=o}}function Cr(e){var t=Fo[e.keyCode];return"Ctrl"==t||"Alt"==t||"Shift"==t||"Mod"==t}function Lr(e,t){if(Di&&34==e.keyCode&&e["char"])return!1;var r=Fo[e.keyCode];return null==r||e.altGraphKey?!1:(e.altKey&&(r="Alt-"+r),(Ui?e.metaKey:e.ctrlKey)&&(r="Ctrl-"+r),(Ui?e.ctrlKey:e.metaKey)&&(r="Cmd-"+r),!t&&e.shiftKey&&(r="Shift-"+r),r)}function Mr(e,t){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0}function Sr(e,t){this.lines=[],this.type=t,this.doc=e}function Tr(e,t,r,n,i){if(n&&n.shared)return Nr(e,t,r,n,i);if(e.cm&&!e.cm.curOp)return lt(e.cm,Tr)(e,t,r,n,i);var o=new Sr(e,i);if(Xt(r,t)||$t(t,r)&&"range"==i&&(!n.inclusiveLeft||!n.inclusiveRight))return o;n&&ri(n,o),o.replacedWith&&(o.collapsed=!0,o.replacedWith=ai("span",[o.replacedWith],"CodeMirror-widget"),n.handleMouseEvents||(o.replacedWith.ignoreEvents=!0)),o.collapsed&&(Xi=!0),o.addToHistory&&Sn(e,{from:t,to:r,origin:"markText"},{head:e.sel.head,anchor:e.sel.anchor},0/0);var l=t.line,a=0,s,c,u=e.cm,f;if(e.iter(l,r.line+1,function(n){u&&o.collapsed&&!u.options.lineWrapping&&Rr(e,n)==u.display.maxLine&&(f=!0);var i={from:null,to:null,marker:o};a+=n.text.length,l==t.line&&(i.from=t.ch,a-=t.ch),l==r.line&&(i.to=r.ch,a-=n.text.length-r.ch),o.collapsed&&(l==r.line&&(c=Fr(n,r.ch)),l==t.line?s=Fr(n,t.ch):yn(n,0)),Or(n,i),++l}),o.collapsed&&e.iter(t.line,r.line+1,function(t){_r(e,t)&&yn(t,0)}),o.clearOnEnter&&Rn(o,"beforeCursorEnter",function(){o.clear()}),o.readOnly&&($i=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed){if(s!=c)throw new Error("Inserting collapsed marker overlapping an existing one");o.size=a,o.atomic=!0}return u&&(f&&(u.curOp.updateMaxLine=!0),(o.className||o.title||o.startStyle||o.endStyle||o.collapsed)&&ct(u,t.line,r.line+1),o.atomic&&ir(u)),o}function Ar(e,t){this.markers=e,this.primary=t;for(var r=0,n=this;r<e.length;++r)e[r].parent=this,Rn(e[r],"clear",function(){n.clear()})}function Nr(e,t,r,n,i){n=ri(n),n.shared=!1;var o=[Tr(e,t,r,n,i)],l=o[0],a=n.replacedWith;return hn(e,function(e){a&&(n.replacedWith=a.cloneNode(!0)),o.push(Tr(e,Qt(e,t),Qt(e,r),n,i));for(var s=0;s<e.linked.length;++s)if(e.linked[s].isParent)return;l=Qn(o)}),new Ar(o,l)}function zr(e,t){if(e)for(var r=0;r<e.length;++r){var n=e[r];if(n.marker==t)return n}}function Er(e,t){for(var r,n=0;n<e.length;++n)e[n]!=t&&(r||(r=[])).push(e[n]);return r}function Or(e,t){e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],t.marker.attachLine(e)}function Wr(e,t,r){if(e)for(var n=0,i;n<e.length;++n){var o=e[n],l=o.marker,a=null==o.from||(l.inclusiveLeft?o.from<=t:o.from<t);if(a||(l.inclusiveLeft&&l.inclusiveRight||"bookmark"==l.type)&&o.from==t&&(!r||!o.marker.insertLeft)){var s=null==o.to||(l.inclusiveRight?o.to>=t:o.to>t);(i||(i=[])).push({from:o.from,to:s?null:o.to,marker:l})}}return i}function Hr(e,t,r){if(e)for(var n=0,i;n<e.length;++n){var o=e[n],l=o.marker,a=null==o.to||(l.inclusiveRight?o.to>=t:o.to>t);if(a||"bookmark"==l.type&&o.from==t&&(!r||o.marker.insertLeft)){var s=null==o.from||(l.inclusiveLeft?o.from<=t:o.from<t);(i||(i=[])).push({from:s?null:o.from-t,to:null==o.to?null:o.to-t,marker:l})}}return i}function Dr(e,t){var r=er(e,t.from.line)&&mn(e,t.from.line).markedSpans,n=er(e,t.to.line)&&mn(e,t.to.line).markedSpans;if(!r&&!n)return null;var i=t.from.ch,o=t.to.ch,l=$t(t.from,t.to),a=Wr(r,i,l),s=Hr(n,o,l),c=1==t.text.length,u=Qn(t.text).length+(c?i:0);if(a)for(var f=0;f<a.length;++f){var d=a[f];if(null==d.to){var h=zr(s,d.marker);h?c&&(d.to=null==h.to?null:h.to+u):d.to=i}}if(s)for(var f=0;f<s.length;++f){var d=s[f];if(null!=d.to&&(d.to+=u),null==d.from){var h=zr(a,d.marker);h||(d.from=u,c&&(a||(a=[])).push(d))}else d.from+=u,c&&(a||(a=[])).push(d)}if(c&&a){for(var f=0;f<a.length;++f)null!=a[f].from&&a[f].from==a[f].to&&"bookmark"!=a[f].marker.type&&a.splice(f--,1);a.length||(a=null)}var p=[a];if(!c){var m=t.text.length-2,g;if(m>0&&a)for(var f=0;f<a.length;++f)null==a[f].to&&(g||(g=[])).push({from:null,to:null,marker:a[f].marker});for(var f=0;m>f;++f)p.push(g);p.push(s)}return p}function Ir(e,t){var r=An(e,t),n=Dr(e,t);if(!r)return n;if(!n)return r;for(var i=0;i<r.length;++i){var o=r[i],l=n[i];if(o&&l)e:for(var a=0;a<l.length;++a){for(var s=l[a],c=0;c<o.length;++c)if(o[c].marker==s.marker)continue e;o.push(s)}else l&&(r[i]=l)}return r}function Pr(e,t,r){var n=null;if(e.iter(t.line,r.line+1,function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var r=e.markedSpans[t].marker;!r.readOnly||n&&-1!=ei(n,r)||(n||(n=[])).push(r)}}),!n)return null;for(var i=[{from:t,to:r}],o=0;o<n.length;++o)for(var l=n[o],a=l.find(),s=0;s<i.length;++s){var c=i[s];if(!Xt(c.to,a.from)&&!Xt(a.to,c.from)){var u=[s,1];(Xt(c.from,a.from)||!l.inclusiveLeft&&$t(c.from,a.from))&&u.push({from:c.from,to:a.from}),(Xt(a.to,c.to)||!l.inclusiveRight&&$t(c.to,a.to))&&u.push({from:a.to,to:c.to}),i.splice.apply(i,u),s+=u.length-1}}return i}function Fr(e,t){var r=Xi&&e.markedSpans,n;if(r)for(var i,o=0;o<r.length;++o)i=r[o],i.marker.collapsed&&(null==i.from||i.from<t)&&(null==i.to||i.to>t)&&(!n||n.width<i.marker.width)&&(n=i.marker);return n}function Br(e){return Fr(e,-1)}function Vr(e){return Fr(e,e.text.length+1)}function Rr(e,t){for(var r;r=Br(t);)t=mn(e,r.find().from.line);return t}function _r(e,t){var r=Xi&&t.markedSpans;if(r)for(var n,i=0;i<r.length;++i)if(n=r[i],n.marker.collapsed){if(null==n.from)return!0;if(!n.marker.replacedWith&&0==n.from&&n.marker.inclusiveLeft&&Gr(e,t,n))return!0}}function Gr(e,t,r){if(null==r.to){var n=r.marker.find().to,i=mn(e,n.line);return Gr(e,i,zr(i.markedSpans,r.marker))}if(r.marker.inclusiveRight&&r.to==t.text.length)return!0;for(var o,l=0;l<t.markedSpans.length;++l)if(o=t.markedSpans[l],o.marker.collapsed&&!o.marker.replacedWith&&o.from==r.to&&(o.marker.inclusiveLeft||r.marker.inclusiveRight)&&Gr(e,t,o))return!0}function jr(e){var t=e.markedSpans;if(t){for(var r=0;r<t.length;++r)t[r].marker.detachLine(e);e.markedSpans=null}}function Kr(e,t){if(t){for(var r=0;r<t.length;++r)t[r].marker.attachLine(e);e.markedSpans=t}}function Ur(e){return function(){var t=!this.cm.curOp;t&&it(this.cm);try{var r=e.apply(this,arguments)}finally{t&&ot(this.cm)}return r}}function qr(e){return null!=e.height?e.height:(e.node.parentNode&&1==e.node.parentNode.nodeType||ci(e.cm.display.measure,ai("div",[e.node],null,"position: relative")),e.height=e.node.offsetHeight)}function $r(e,t,r,n){var i=new yo(e,r,n);return i.noHScroll&&(e.display.alignWidgets=!0),hr(e,t,function(t){var r=t.widgets||(t.widgets=[]);if(null==i.insertAt?r.push(i):r.splice(Math.min(r.length-1,Math.max(0,i.insertAt)),0,i),i.line=t,!_r(e.doc,t)||i.showIfHidden){var n=wn(e,t)<e.doc.scrollTop;yn(t,t.height+qr(i)),n&&fr(e,0,i.height)}return!0}),i}function Xr(e,t,r,n){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),null!=e.order&&(e.order=null),jr(e),Kr(e,r);var i=n?n(e):1;i!=e.height&&yn(e,i)}function Yr(e){e.parent=null,jr(e)}function Zr(e,t,r,n,i,o){var l=r.flattenSpans;null==l&&(l=e.options.flattenSpans);var a=0,s=null,c=new Mr(t,e.options.tabSize),u;for(""==t&&r.blankLine&&r.blankLine(n);!c.eol();)c.pos>e.options.maxHighlightLength?(l=!1,o&&en(e,t,n,c.pos),c.pos=t.length,u=null):u=r.token(c,n),l&&s==u||(a<c.start&&i(c.start,s),a=c.start,s=u),c.start=c.pos;for(;a<c.pos;){var f=Math.min(c.pos,a+5e4);i(f,s),a=f
3
+ }}function Qr(e,t,r,n){var i=[e.state.modeGen];Zr(e,t.text,e.doc.mode,r,function(e,t){i.push(e,t)},n);for(var o=0;o<e.state.overlays.length;++o){var l=e.state.overlays[o],a=1,s=0;Zr(e,t.text,l.mode,!0,function(e,t){for(var r=a;e>s;){var n=i[a];n>e&&i.splice(a,1,e,i[a+1],n),a+=2,s=Math.min(e,n)}if(t)if(l.opaque)i.splice(r,a-r,e,t),a=r+2;else for(;a>r;r+=2){var o=i[r+1];i[r+1]=o?o+" "+t:t}})}return i}function Jr(e,t){return t.styles&&t.styles[0]==e.state.modeGen||(t.styles=Qr(e,t,t.stateAfter=D(e,bn(t)))),t.styles}function en(e,t,r,n){var i=e.doc.mode,o=new Mr(t,e.options.tabSize);for(o.start=o.pos=n||0,""==t&&i.blankLine&&i.blankLine(r);!o.eol()&&o.pos<=e.options.maxHighlightLength;)i.token(o,r),o.start=o.pos}function tn(e,t){if(!e)return null;for(;;){var r=e.match(/(?:^|\s)line-(background-)?(\S+)/);if(!r)break;e=e.slice(0,r.index)+e.slice(r.index+r[0].length);var n=r[1]?"bgClass":"textClass";null==t[n]?t[n]=r[2]:new RegExp("(?:^|s)"+r[2]+"(?:$|s)").test(t[n])||(t[n]+=" "+r[2])}return xo[e]||(xo[e]="cm-"+e.replace(/ +/g," cm-"))}function rn(e,t,r,n){for(var i,o=t,l=!0;i=Br(o);)o=mn(e.doc,i.find().from.line);var a={pre:ai("pre"),col:0,pos:0,measure:null,measuredSomething:!1,cm:e,copyWidgets:n};do{o.text&&(l=!1),a.measure=o==t&&r,a.pos=0,a.addToken=a.measure?ln:on,(Ai||Oi)&&e.getOption("lineWrapping")&&(a.addToken=an(a.addToken));var s=cn(o,a,Jr(e,o));r&&o==t&&!a.measuredSomething&&(r[0]=a.pre.appendChild(pi(e.display.measure)),a.measuredSomething=!0),s&&(o=mn(e.doc,s.to.line))}while(s);!r||a.measuredSomething||r[0]||(r[0]=a.pre.appendChild(l?ai("span"," "):pi(e.display.measure))),a.pre.firstChild||_r(e.doc,t)||a.pre.appendChild(document.createTextNode(" "));var c;if(r&&(Ai||Ei)&&(c=kn(o))){var u=c.length-1;c[u].from==c[u].to&&--u;var f=c[u],d=c[u-1];if(f.from+1==f.to&&d&&f.level<d.level){var h=r[a.pos-1];h&&h.parentNode.insertBefore(h.measureRight=pi(e.display.measure),h.nextSibling)}}var p=a.textClass?a.textClass+" "+(t.textClass||""):t.textClass;return p&&(a.pre.className=p),Gn(e,"renderLine",e,t,a.pre),a}function nn(e){var t=ai("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t}function on(e,t,r,n,i,o){if(t){var l=e.cm.options.specialChars;if(l.test(t))for(var a=document.createDocumentFragment(),s=0;;){l.lastIndex=s;var c=l.exec(t),u=c?c.index-s:t.length-s;if(u&&(a.appendChild(document.createTextNode(t.slice(s,s+u))),e.col+=u),!c)break;if(s+=u+1," "==c[0]){var f=e.cm.options.tabSize,d=f-e.col%f;a.appendChild(ai("span",Zn(d),"cm-tab")),e.col+=d}else{var h=e.cm.options.specialCharPlaceholder(c[0]);a.appendChild(h),e.col+=1}}else{e.col+=t.length;var a=document.createTextNode(t)}if(r||n||i||e.measure){var p=r||"";n&&(p+=n),i&&(p+=i);var h=ai("span",[a],p);return o&&(h.title=o),e.pre.appendChild(h)}e.pre.appendChild(a)}}function ln(e,t,r,n,i){for(var o=e.cm.options.lineWrapping,l=0;l<t.length;++l){var a=t.charAt(l),s=0==l;a>="���"&&"���">a&&l<t.length-1?(a=t.slice(l,l+2),++l):l&&o&&di(t,l)&&e.pre.appendChild(ai("wbr"));var c=e.measure[e.pos],u=e.measure[e.pos]=on(e,a,r,s&&n,l==t.length-1&&i);c&&(u.leftSide=c.leftSide||c),Ai&&o&&" "==a&&l&&!/\s/.test(t.charAt(l-1))&&l<t.length-1&&!/\s/.test(t.charAt(l+1))&&(u.style.whiteSpace="normal"),e.pos+=a.length}t.length&&(e.measuredSomething=!0)}function an(e){function t(e){for(var t=" ",r=0;r<e.length-2;++r)t+=r%2?" ":" ";return t+=" "}return function(r,n,i,o,l,a){return e(r,n.replace(/ {3,}/g,t),i,o,l,a)}}function sn(e,t,r,n){var i=!n&&r.replacedWith;if(i&&(e.copyWidgets&&(i=i.cloneNode(!0)),e.pre.appendChild(i),e.measure)){if(t)e.measure[e.pos]=i;else{var o=pi(e.cm.display.measure);if("bookmark"!=r.type||r.insertLeft){if(e.measure[e.pos])return;e.measure[e.pos]=e.pre.insertBefore(o,i)}else e.measure[e.pos]=e.pre.appendChild(o)}e.measuredSomething=!0}e.pos+=t}function cn(e,t,r){var n=e.markedSpans,i=e.text,o=0;if(n)for(var l=i.length,a=0,s=1,c="",u,f=0,d,h,p,m,g;;){if(f==a){d=h=p=m="",g=null,f=1/0;for(var v=[],y=0;y<n.length;++y){var b=n[y],x=b.marker;b.from<=a&&(null==b.to||b.to>a)?(null!=b.to&&f>b.to&&(f=b.to,h=""),x.className&&(d+=" "+x.className),x.startStyle&&b.from==a&&(p+=" "+x.startStyle),x.endStyle&&b.to==f&&(h+=" "+x.endStyle),x.title&&!m&&(m=x.title),x.collapsed&&(!g||g.marker.size<x.size)&&(g=b)):b.from>a&&f>b.from&&(f=b.from),"bookmark"==x.type&&b.from==a&&x.replacedWith&&v.push(x)}if(g&&(g.from||0)==a&&(sn(t,(null==g.to?l:g.to)-a,g.marker,null==g.from),null==g.to))return g.marker.find();if(!g&&v.length)for(var y=0;y<v.length;++y)sn(t,0,v[y])}if(a>=l)break;for(var w=Math.min(l,f);;){if(c){var k=a+c.length;if(!g){var C=k>w?c.slice(0,w-a):c;t.addToken(t,C,u?u+d:d,p,a+C.length==f?h:"",m)}if(k>=w){c=c.slice(w-a),a=w;break}a=k,p=""}c=i.slice(o,o=r[s++]),u=tn(r[s++],t)}}else for(var s=1;s<r.length;s+=2)t.addToken(t,i.slice(o,o=r[s]),tn(r[s+1],t))}function un(e,t,r,n,i){function o(e){return r?r[e]:null}function l(e,r,n){Xr(e,r,n,i),jn(e,"change",e,t)}var a=t.from,s=t.to,c=t.text,u=mn(e,a.line),f=mn(e,s.line),d=Qn(c),h=o(c.length-1),p=s.line-a.line;if(0!=a.ch||0!=s.ch||""!=d||e.cm&&!e.cm.options.wholeLineUpdateBefore)if(u==f)if(1==c.length)l(u,u.text.slice(0,a.ch)+d+u.text.slice(s.ch),h);else{for(var m=[],g=1,v=c.length-1;v>g;++g)m.push(new bo(c[g],o(g),i));m.push(new bo(d+u.text.slice(s.ch),h,i)),l(u,u.text.slice(0,a.ch)+c[0],o(0)),e.insert(a.line+1,m)}else if(1==c.length)l(u,u.text.slice(0,a.ch)+c[0]+f.text.slice(s.ch),o(0)),e.remove(a.line+1,p);else{l(u,u.text.slice(0,a.ch)+c[0],o(0)),l(f,d+f.text.slice(s.ch),h);for(var g=1,v=c.length-1,m=[];v>g;++g)m.push(new bo(c[g],o(g),i));p>1&&e.remove(a.line+1,p-1),e.insert(a.line+1,m)}else{for(var g=0,v=c.length-1,m=[];v>g;++g)m.push(new bo(c[g],o(g),i));l(f,f.text,h),p&&e.remove(a.line,p),m.length&&e.insert(a.line,m)}jn(e,"change",e,t),nr(e,n.anchor,n.head,null,!0)}function fn(e){this.lines=e,this.parent=null;for(var t=0,r=e.length,n=0;r>t;++t)e[t].parent=this,n+=e[t].height;this.height=n}function dn(e){this.children=e;for(var t=0,r=0,n=0,i=e.length;i>n;++n){var o=e[n];t+=o.chunkSize(),r+=o.height,o.parent=this}this.size=t,this.height=r,this.parent=null}function hn(e,t,r){function n(e,i,o){if(e.linked)for(var l=0;l<e.linked.length;++l){var a=e.linked[l];if(a.doc!=i){var s=o&&a.sharedHist;(!r||s)&&(t(a.doc,s),n(a.doc,e,s))}}}n(e,null,!0)}function pn(e,t){if(t.cm)throw new Error("This document is already in use.");e.doc=t,t.cm=e,o(e),r(e),e.options.lineWrapping||f(e),e.options.mode=t.modeOption,ct(e)}function mn(e,t){for(t-=e.first;!e.lines;)for(var r=0;;++r){var n=e.children[r],i=n.chunkSize();if(i>t){e=n;break}t-=i}return e.lines[t]}function gn(e,t,r){var n=[],i=t.line;return e.iter(t.line,r.line+1,function(e){var o=e.text;i==r.line&&(o=o.slice(0,r.ch)),i==t.line&&(o=o.slice(t.ch)),n.push(o),++i}),n}function vn(e,t,r){var n=[];return e.iter(t,r,function(e){n.push(e.text)}),n}function yn(e,t){for(var r=t-e.height,n=e;n;n=n.parent)n.height+=r}function bn(e){if(null==e.parent)return null;for(var t=e.parent,r=ei(t.lines,e),n=t.parent;n;t=n,n=n.parent)for(var i=0;n.children[i]!=t;++i)r+=n.children[i].chunkSize();return r+t.first}function xn(e,t){var r=e.first;e:do{for(var n=0,i=e.children.length;i>n;++n){var o=e.children[n],l=o.height;if(l>t){e=o;continue e}t-=l,r+=o.chunkSize()}return r}while(!e.lines);for(var n=0,i=e.lines.length;i>n;++n){var a=e.lines[n],s=a.height;if(s>t)break;t-=s}return r+n}function wn(e,t){t=Rr(e.doc,t);for(var r=0,n=t.parent,i=0;i<n.lines.length;++i){var o=n.lines[i];if(o==t)break;r+=o.height}for(var l=n.parent;l;n=l,l=n.parent)for(var i=0;i<l.children.length;++i){var a=l.children[i];if(a==n)break;r+=a.height}return r}function kn(e){var t=e.order;return null==t&&(t=e.order=Vo(e.text)),t}function Cn(e){return{done:[],undone:[],undoDepth:1/0,lastTime:0,lastOp:null,lastOrigin:null,generation:e||1,maxGeneration:e||1}}function Ln(e,t,r,n){var i=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,r),Math.min(e.first+e.size,n),function(r){r.markedSpans&&((i||(i=t["spans_"+e.id]={}))[o]=r.markedSpans),++o})}function Mn(e,t){var r={line:t.from.line,ch:t.from.ch},n={from:r,to:lo(t),text:gn(e,t.from,t.to)};return Ln(e,n,t.from.line,t.to.line+1),hn(e,function(e){Ln(e,n,t.from.line,t.to.line+1)},!0),n}function Sn(e,t,r,n){var i=e.history;i.undone.length=0;var o=+new Date,l=Qn(i.done);if(l&&(i.lastOp==n||i.lastOrigin==t.origin&&t.origin&&("+"==t.origin.charAt(0)&&e.cm&&i.lastTime>o-e.cm.options.historyEventDelay||"*"==t.origin.charAt(0)))){var a=Qn(l.changes);$t(t.from,t.to)&&$t(t.from,a.to)?a.to=lo(t):l.changes.push(Mn(e,t)),l.anchorAfter=r.anchor,l.headAfter=r.head}else for(l={changes:[Mn(e,t)],generation:i.generation,anchorBefore:e.sel.anchor,headBefore:e.sel.head,anchorAfter:r.anchor,headAfter:r.head},i.done.push(l),i.generation=++i.maxGeneration;i.done.length>i.undoDepth;)i.done.shift();i.lastTime=o,i.lastOp=n,i.lastOrigin=t.origin}function Tn(e){if(!e)return null;for(var t=0,r;t<e.length;++t)e[t].marker.explicitlyCleared?r||(r=e.slice(0,t)):r&&r.push(e[t]);return r?r.length?r:null:e}function An(e,t){var r=t["spans_"+e.id];if(!r)return null;for(var n=0,i=[];n<t.text.length;++n)i.push(Tn(r[n]));return i}function Nn(e,t){for(var r=0,n=[];r<e.length;++r){var i=e[r],o=i.changes,l=[];n.push({changes:l,anchorBefore:i.anchorBefore,headBefore:i.headBefore,anchorAfter:i.anchorAfter,headAfter:i.headAfter});for(var a=0;a<o.length;++a){var s=o[a],c;if(l.push({from:s.from,to:s.to,text:s.text}),t)for(var u in s)(c=u.match(/^spans_(\d+)$/))&&ei(t,Number(c[1]))>-1&&(Qn(l)[u]=s[u],delete s[u])}}return n}function zn(e,t,r,n){r<e.line?e.line+=n:t<e.line&&(e.line=t,e.ch=0)}function En(e,t,r,n){for(var i=0;i<e.length;++i){for(var o=e[i],l=!0,a=0;a<o.changes.length;++a){var s=o.changes[a];if(o.copied||(s.from=Yt(s.from),s.to=Yt(s.to)),r<s.from.line)s.from.line+=n,s.to.line+=n;else if(t<=s.to.line){l=!1;break}}o.copied||(o.anchorBefore=Yt(o.anchorBefore),o.headBefore=Yt(o.headBefore),o.anchorAfter=Yt(o.anchorAfter),o.readAfter=Yt(o.headAfter),o.copied=!0),l?(zn(o.anchorBefore),zn(o.headBefore),zn(o.anchorAfter),zn(o.headAfter)):(e.splice(0,i+1),i=0)}}function On(e,t){var r=t.from.line,n=t.to.line,i=t.text.length-(n-r)-1;En(e.done,r,n,i),En(e.undone,r,n,i)}function Wn(){Fn(this)}function Hn(e){return e.stop||(e.stop=Wn),e}function Dn(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function In(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Pn(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Fn(e){Dn(e),In(e)}function Bn(e){return e.target||e.srcElement}function Vn(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),Gi&&e.ctrlKey&&1==t&&(t=3),t}function Rn(e,t,r){if(e.addEventListener)e.addEventListener(t,r,!1);else if(e.attachEvent)e.attachEvent("on"+t,r);else{var n=e._handlers||(e._handlers={}),i=n[t]||(n[t]=[]);i.push(r)}}function _n(e,t,r){if(e.removeEventListener)e.removeEventListener(t,r,!1);else if(e.detachEvent)e.detachEvent("on"+t,r);else{var n=e._handlers&&e._handlers[t];if(!n)return;for(var i=0;i<n.length;++i)if(n[i]==r){n.splice(i,1);break}}}function Gn(e,t){var r=e._handlers&&e._handlers[t];if(r)for(var n=Array.prototype.slice.call(arguments,2),i=0;i<r.length;++i)r[i].apply(null,n)}function jn(e,t){function r(e){return function(){e.apply(null,i)}}var n=e._handlers&&e._handlers[t];if(n){var i=Array.prototype.slice.call(arguments,2);Mo||(++So,Mo=[],setTimeout(Un,0));for(var o=0;o<n.length;++o)Mo.push(r(n[o]))}}function Kn(e,t,r){return Gn(e,r||t.type,e,t),Pn(t)||t.codemirrorIgnore}function Un(){--So;var e=Mo;Mo=null;for(var t=0;t<e.length;++t)e[t]()}function qn(e,t){var r=e._handlers&&e._handlers[t];return r&&r.length>0}function $n(e){e.prototype.on=function(e,t){Rn(this,e,t)},e.prototype.off=function(e,t){_n(this,e,t)}}function Xn(){this.id=null}function Yn(e,t,r,n,i){null==t&&(t=e.search(/[^\s\u00a0]/),-1==t&&(t=e.length));for(var o=n||0,l=i||0;t>o;++o)" "==e.charAt(o)?l+=r-l%r:++l;return l}function Zn(e){for(;No.length<=e;)No.push(Qn(No)+" ");return No[e]}function Qn(e){return e[e.length-1]}function Jn(e){if(Ri)e.selectionStart=0,e.selectionEnd=e.value.length;else try{e.select()}catch(t){}}function ei(e,t){if(e.indexOf)return e.indexOf(t);for(var r=0,n=e.length;n>r;++r)if(e[r]==t)return r;return-1}function ti(e,t){function r(){}r.prototype=e;var n=new r;return t&&ri(t,n),n}function ri(e,t){t||(t={});for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t}function ni(e){for(var t=[],r=0;e>r;++r)t.push(void 0);return t}function ii(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function oi(e){return/\w/.test(e)||e>"€"&&(e.toUpperCase()!=e.toLowerCase()||zo.test(e))}function li(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}function ai(e,t,r,n){var i=document.createElement(e);if(r&&(i.className=r),n&&(i.style.cssText=n),"string"==typeof t)ui(i,t);else if(t)for(var o=0;o<t.length;++o)i.appendChild(t[o]);return i}function si(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function ci(e,t){return si(e).appendChild(t)}function ui(e,t){zi?(e.innerHTML="",e.appendChild(document.createTextNode(t))):e.textContent=t}function fi(e){return e.getBoundingClientRect()}function di(){return!1}function hi(e){if(null!=Wo)return Wo;var t=ai("div",null,null,"width: 50px; height: 50px; overflow-x: scroll");return ci(e,t),t.offsetWidth&&(Wo=t.offsetHeight-t.clientHeight),Wo||0}function pi(e){if(null==Ho){var t=ai("span","​");ci(e,ai("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Ho=t.offsetWidth<=1&&t.offsetHeight>2&&!Ni)}return Ho?ai("span","​"):ai("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px")}function mi(e,t,r,n){if(!e)return n(t,r,"ltr");for(var i=!1,o=0;o<e.length;++o){var l=e[o];(l.from<r&&l.to>t||t==r&&l.to==t)&&(n(Math.max(l.from,t),Math.min(l.to,r),1==l.level?"rtl":"ltr"),i=!0)}i||n(t,r,"ltr")}function gi(e){return e.level%2?e.to:e.from}function vi(e){return e.level%2?e.from:e.to}function yi(e){var t=kn(e);return t?gi(t[0]):0}function bi(e){var t=kn(e);return t?vi(Qn(t)):e.text.length}function xi(e,t){var r=mn(e.doc,t),n=Rr(e.doc,r);n!=r&&(t=bn(n));var i=kn(n),o=i?i[0].level%2?bi(n):yi(n):0;return qt(t,o)}function wi(e,t){for(var r,n;r=Vr(n=mn(e.doc,t));)t=r.find().to.line;var i=kn(n),o=i?i[0].level%2?yi(n):bi(n):n.text.length;return qt(t,o)}function ki(e,t,r){var n=e[0].level;return t==n?!0:r==n?!1:r>t}function Ci(e,t){for(var r=0,n;r<e.length;++r){var i=e[r];if(i.from<t&&i.to>t)return Bo=null,r;if(i.from==t||i.to==t){if(null!=n)return ki(e,i.level,e[n].level)?(Bo=n,r):(Bo=r,n);n=r}}return Bo=null,n}function Li(e,t,r,n){if(!n)return t+r;do t+=r;while(t>0&&Eo.test(e.text.charAt(t)));return t}function Mi(e,t,r,n){var i=kn(e);if(!i)return Si(e,t,r,n);for(var o=Ci(i,t),l=i[o],a=Li(e,t,l.level%2?-r:r,n);;){if(a>l.from&&a<l.to)return a;if(a==l.from||a==l.to)return Ci(i,a)==o?a:(l=i[o+=r],r>0==l.level%2?l.to:l.from);if(l=i[o+=r],!l)return null;a=r>0==l.level%2?Li(e,l.to,-1,n):Li(e,l.from,1,n)}}function Si(e,t,r,n){var i=t+r;if(n)for(;i>0&&Eo.test(e.text.charAt(i));)i+=r;return 0>i||i>e.text.length?null:i}var Ti=/gecko\/\d/i.test(navigator.userAgent),Ai=/MSIE \d/.test(navigator.userAgent),Ni=Ai&&(null==document.documentMode||document.documentMode<8),zi=Ai&&(null==document.documentMode||document.documentMode<9),Ei=/Trident\/([7-9]|\d{2,})\./.test(navigator.userAgent),Oi=/WebKit\//.test(navigator.userAgent),Wi=Oi&&/Qt\/\d+\.\d+/.test(navigator.userAgent),Hi=/Chrome\//.test(navigator.userAgent),Di=/Opera\//.test(navigator.userAgent),Ii=/Apple Computer/.test(navigator.vendor),Pi=/KHTML\//.test(navigator.userAgent),Fi=/Mac OS X 1\d\D([7-9]|\d\d)\D/.test(navigator.userAgent),Bi=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent),Vi=/PhantomJS/.test(navigator.userAgent),Ri=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),_i=Ri||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent),Gi=Ri||/Mac/.test(navigator.platform),ji=/win/i.test(navigator.platform),Ki=Di&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);Ki&&(Ki=Number(Ki[1])),Ki&&Ki>=15&&(Di=!1,Oi=!0);var Ui=Gi&&(Wi||Di&&(null==Ki||12.11>Ki)),qi=Ti||Ai&&!zi,$i=!1,Xi=!1,Yi,Zi=0,Qi,Ji,eo=0,to=0,ro=null;Ai?ro=-.53:Ti?ro=15:Hi?ro=-.7:Ii&&(ro=-1/3);var no,io=null,oo,lo=e.changeEnd=function(e){return e.text?qt(e.from.line+e.text.length-1,Qn(e.text).length+(1==e.text.length?e.from.ch:0)):e.to};e.Pos=qt,e.prototype={constructor:e,focus:function(){window.focus(),pt(this),ft(this)},setOption:function(e,t){var r=this.options,n=r[e];(r[e]!=t||"mode"==e)&&(r[e]=t,ao.hasOwnProperty(e)&&lt(this,ao[e])(this,t,n))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](e)},removeKeyMap:function(e){for(var t=this.state.keyMaps,r=0;r<t.length;++r)if(t[r]==e||"string"!=typeof t[r]&&t[r].name==e)return t.splice(r,1),!0},addOverlay:lt(null,function(t,r){var n=t.token?t:e.getMode(this.options,t);if(n.startState)throw new Error("Overlays may not be stateful.");this.state.overlays.push({mode:n,modeSpec:t,opaque:r&&r.opaque}),this.state.modeGen++,ct(this)}),removeOverlay:lt(null,function(e){for(var t=this.state.overlays,r=0;r<t.length;++r){var n=t[r].modeSpec;if(n==e||"string"==typeof e&&n.name==e)return t.splice(r,1),this.state.modeGen++,void ct(this)}}),indentLine:lt(null,function(e,t,r){"string"!=typeof t&&"number"!=typeof t&&(t=null==t?this.options.smartIndent?"smart":"prev":t?"add":"subtract"),er(this.doc,e)&&dr(this,e,t,r)}),indentSelection:lt(null,function(e){var t=this.doc.sel;if($t(t.from,t.to))return dr(this,t.from.line,e);for(var r=t.to.line-(t.to.ch?0:1),n=t.from.line;r>=n;++n)dr(this,n,e)}),getTokenAt:function(e,t){var r=this.doc;e=Qt(r,e);for(var n=D(this,e.line,t),i=this.doc.mode,o=mn(r,e.line),l=new Mr(o.text,this.options.tabSize);l.pos<e.ch&&!l.eol();){l.start=l.pos;var a=i.token(l,n)}return{start:l.start,end:l.pos,string:l.current(),className:a||null,type:a||null,state:n}},getTokenTypeAt:function(e){e=Qt(this.doc,e);var t=Jr(this,mn(this.doc,e.line)),r=0,n=(t.length-1)/2,i=e.ch;if(0==i)return t[2];for(;;){var o=r+n>>1;if((o?t[2*o-1]:0)>=i)n=o;else{if(!(t[2*o+1]<i))return t[2*o+2];r=o+1}}},getModeAt:function(t){var r=this.doc.mode;return r.innerMode?e.innerMode(r,this.getTokenAt(t).state).mode:r},getHelper:function(e,t){if(mo.hasOwnProperty(t)){var r=mo[t],n=this.getModeAt(e);return n[t]&&r[n[t]]||n.helperType&&r[n.helperType]||r[n.name]}},getStateAfter:function(e,t){var r=this.doc;return e=Zt(r,null==e?r.first+r.size-1:e),D(this,e+1,t)},cursorCoords:function(e,t){var r,n=this.doc.sel;return r=null==e?n.head:"object"==typeof e?Qt(this.doc,e):e?n.from:n.to,Q(this,r,t||"page")},charCoords:function(e,t){return Z(this,Qt(this.doc,e),t||"page")},coordsChar:function(e,t){return e=Y(this,e,t||"page"),et(this,e.left,e.top)},lineAtHeight:function(e,t){return e=Y(this,{top:e,left:0},t||"page").top,xn(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t){var r=!1,n=this.doc.first+this.doc.size-1;e<this.doc.first?e=this.doc.first:e>n&&(e=n,r=!0);var i=mn(this.doc,e);return X(this,mn(this.doc,e),{top:0,left:0},t||"page").top+(r?i.height:0)},defaultTextHeight:function(){return rt(this.display)},defaultCharWidth:function(){return nt(this.display)},setGutterMarker:lt(null,function(e,t,r){return hr(this,e,function(e){var n=e.gutterMarkers||(e.gutterMarkers={});return n[t]=r,!r&&li(n)&&(e.gutterMarkers=null),!0})}),clearGutter:lt(null,function(e){var t=this,r=t.doc,n=r.first;r.iter(function(r){r.gutterMarkers&&r.gutterMarkers[e]&&(r.gutterMarkers[e]=null,ct(t,n,n+1),li(r.gutterMarkers)&&(r.gutterMarkers=null)),++n})}),addLineClass:lt(null,function(e,t,r){return hr(this,e,function(e){var n="text"==t?"textClass":"background"==t?"bgClass":"wrapClass";if(e[n]){if(new RegExp("(?:^|\\s)"+r+"(?:$|\\s)").test(e[n]))return!1;e[n]+=" "+r}else e[n]=r;return!0})}),removeLineClass:lt(null,function(e,t,r){return hr(this,e,function(e){var n="text"==t?"textClass":"background"==t?"bgClass":"wrapClass",i=e[n];if(!i)return!1;if(null==r)e[n]=null;else{var o=i.match(new RegExp("(?:^|\\s+)"+r+"(?:$|\\s+)"));if(!o)return!1;var l=o.index+o[0].length;e[n]=i.slice(0,o.index)+(o.index&&l!=i.length?" ":"")+i.slice(l)||null}return!0})}),addLineWidget:lt(null,function(e,t,r){return $r(this,e,t,r)}),removeLineWidget:function(e){e.clear()},lineInfo:function(e){if("number"==typeof e){if(!er(this.doc,e))return null;var t=e;if(e=mn(this.doc,e),!e)return null}else{var t=bn(e);if(null==t)return null}return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},getViewport:function(){return{from:this.display.showingFrom,to:this.display.showingTo}},addWidget:function(e,t,r,n,i){var o=this.display;e=Q(this,Qt(this.doc,e));var l=e.bottom,a=e.left;if(t.style.position="absolute",o.sizer.appendChild(t),"over"==n)l=e.top;else if("above"==n||"near"==n){var s=Math.max(o.wrapper.clientHeight,this.doc.height),c=Math.max(o.sizer.clientWidth,o.lineSpace.clientWidth);("above"==n||e.bottom+t.offsetHeight>s)&&e.top>t.offsetHeight?l=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=s&&(l=e.bottom),a+t.offsetWidth>c&&(a=c-t.offsetWidth)}t.style.top=l+"px",t.style.left=t.style.right="","right"==i?(a=o.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==i?a=0:"middle"==i&&(a=(o.sizer.clientWidth-t.offsetWidth)/2),t.style.left=a+"px"),r&&sr(this,a,l,a+t.offsetWidth,l+t.offsetHeight)},triggerOnKeyDown:lt(null,Ot),execCommand:function(e){return go[e](this)},findPosH:function(e,t,r,n){var i=1;0>t&&(i=-1,t=-t);for(var o=0,l=Qt(this.doc,e);t>o&&(l=pr(this.doc,l,i,r,n),!l.hitSide);++o);return l},moveH:lt(null,function(e,t){var r=this.doc.sel,n;n=r.shift||r.extend||$t(r.from,r.to)?pr(this.doc,r.head,e,t,this.options.rtlMoveVisually):0>e?r.from:r.to,tr(this.doc,n,n,e)}),deleteH:lt(null,function(e,t){var r=this.doc.sel;$t(r.from,r.to)?Ut(this.doc,"",r.from,pr(this.doc,r.head,e,t,!1),"+delete"):Ut(this.doc,"",r.from,r.to,"+delete"),this.curOp.userSelChange=!0}),findPosV:function(e,t,r,n){var i=1,o=n;0>t&&(i=-1,t=-t);for(var l=0,a=Qt(this.doc,e);t>l;++l){var s=Q(this,a,"div");if(null==o?o=s.left:s.left=o,a=mr(this,s,i,r),a.hitSide)break}return a},moveV:lt(null,function(e,t){var r=this.doc.sel,n=Q(this,r.head,"div");null!=r.goalColumn&&(n.left=r.goalColumn);var i=mr(this,n,e,t);"page"==t&&fr(this,0,Z(this,i,"div").top-n.top),tr(this.doc,i,i,e),r.goalColumn=n.left}),toggleOverwrite:function(e){(null==e||e!=this.state.overwrite)&&((this.state.overwrite=!this.state.overwrite)?this.display.cursor.className+=" CodeMirror-overwrite":this.display.cursor.className=this.display.cursor.className.replace(" CodeMirror-overwrite",""))},hasFocus:function(){return this.state.focused},scrollTo:lt(null,function(e,t){ur(this,e,t)}),getScrollInfo:function(){var e=this.display.scroller,t=To;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-t,width:e.scrollWidth-t,clientHeight:e.clientHeight-t,clientWidth:e.clientWidth-t}},scrollIntoView:lt(null,function(e,t){null==e?e={from:this.doc.sel.head,to:null}:"number"==typeof e?e={from:qt(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),t||(t=0);var r=e;null!=e.from.line&&(this.curOp.scrollToPos={from:e.from,to:e.to,margin:t},r={from:Q(this,e.from),to:Q(this,e.to)});var n=cr(this,Math.min(r.from.left,r.to.left),Math.min(r.from.top,r.to.top)-t,Math.max(r.from.right,r.to.right),Math.max(r.from.bottom,r.to.bottom)+t);ur(this,n.scrollLeft,n.scrollTop)}),setSize:lt(null,function(e,t){function r(e){return"number"==typeof e||/^\d+$/.test(String(e))?e+"px":e}null!=e&&(this.display.wrapper.style.width=r(e)),null!=t&&(this.display.wrapper.style.height=r(t)),this.options.lineWrapping&&(this.display.measureLineCache.length=this.display.measureLineCachePos=0),this.curOp.forceUpdate=!0}),operation:function(e){return st(this,e)},refresh:lt(null,function(){var e=null==this.display.cachedTextHeight;U(this),ur(this,this.doc.scrollLeft,this.doc.scrollTop),ct(this),e&&o(this)}),swapDoc:lt(null,function(e){var t=this.doc;return t.cm=null,pn(this,e),U(this),ht(this,!0),ur(this,e.scrollLeft,e.scrollTop),jn(this,"swapDoc",this,t),t}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},$n(e);var ao=e.optionHandlers={},so=e.defaults={},co=e.Init={toString:function(){return"CodeMirror.Init"}};yr("value","",function(e,t){e.setValue(t)},!0),yr("mode",null,function(e,t){e.doc.modeOption=t,r(e)},!0),yr("indentUnit",2,r,!0),yr("indentWithTabs",!1),yr("smartIndent",!0),yr("tabSize",4,function(e){r(e),U(e),ct(e)},!0),yr("specialChars",/[\t\u0000-\u0019\u00ad\u200b\u2028\u2029\ufeff]/g,function(e,t){e.options.specialChars=new RegExp(t.source+(t.test(" ")?"":"| "),"g"),e.refresh()},!0),yr("specialCharPlaceholder",nn,function(e){e.refresh()},!0),yr("electricChars",!0),yr("rtlMoveVisually",!ji),yr("wholeLineUpdateBefore",!0),yr("theme","default",function(e){a(e),s(e)},!0),yr("keyMap","default",l),yr("extraKeys",null),yr("onKeyEvent",null),yr("onDragEvent",null),yr("lineWrapping",!1,n,!0),yr("gutters",[],function(e){d(e.options),s(e)},!0),yr("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?y(e.display)+"px":"0",e.refresh()},!0),yr("coverGutterNextToScrollbar",!1,h,!0),yr("lineNumbers",!1,function(e){d(e.options),s(e)},!0),yr("firstLineNumber",1,s,!0),yr("lineNumberFormatter",function(e){return e},s,!0),yr("showCursorWhenSelecting",!1,A,!0),yr("resetSelectionOnContextMenu",!0),yr("readOnly",!1,function(e,t){"nocursor"==t?(Dt(e),e.display.input.blur(),e.display.disabled=!0):(e.display.disabled=!1,t||ht(e,!0))}),yr("dragDrop",!0),yr("cursorBlinkRate",530),yr("cursorScrollMargin",0),yr("cursorHeight",1),yr("workTime",100),yr("workDelay",100),yr("flattenSpans",!0),yr("pollInterval",100),yr("undoDepth",40,function(e,t){e.doc.history.undoDepth=t}),yr("historyEventDelay",500),yr("viewportMargin",10,function(e){e.refresh()},!0),yr("maxHighlightLength",1e4,function(e){r(e),e.refresh()},!0),yr("crudeMeasuringFrom",1e4),yr("moveInputWithCursor",!0,function(e,t){t||(e.display.inputDiv.style.top=e.display.inputDiv.style.left=0)}),yr("tabindex",null,function(e,t){e.display.input.tabIndex=t||""}),yr("autofocus",null);var uo=e.modes={},fo=e.mimeModes={};e.defineMode=function(t,r){if(e.defaults.mode||"null"==t||(e.defaults.mode=t),arguments.length>2){r.dependencies=[];for(var n=2;n<arguments.length;++n)r.dependencies.push(arguments[n])}uo[t]=r},e.defineMIME=function(e,t){fo[e]=t},e.resolveMode=function(t){if("string"==typeof t&&fo.hasOwnProperty(t))t=fo[t];else if(t&&"string"==typeof t.name&&fo.hasOwnProperty(t.name)){var r=fo[t.name];t=ti(r,t),t.name=r.name}else if("string"==typeof t&&/^[\w\-]+\/[\w\-]+\+xml$/.test(t))return e.resolveMode("application/xml");return"string"==typeof t?{name:t}:t||{name:"null"}},e.getMode=function(t,r){var r=e.resolveMode(r),n=uo[r.name];if(!n)return e.getMode(t,"text/plain");var i=n(t,r);if(ho.hasOwnProperty(r.name)){var o=ho[r.name];for(var l in o)o.hasOwnProperty(l)&&(i.hasOwnProperty(l)&&(i["_"+l]=i[l]),i[l]=o[l])}return i.name=r.name,i},e.defineMode("null",function(){return{token:function(e){e.skipToEnd()}}}),e.defineMIME("text/plain","null");var ho=e.modeExtensions={};e.extendMode=function(e,t){var r=ho.hasOwnProperty(e)?ho[e]:ho[e]={};ri(t,r)},e.defineExtension=function(t,r){e.prototype[t]=r},e.defineDocExtension=function(e,t){ko.prototype[e]=t},e.defineOption=yr;var po=[];e.defineInitHook=function(e){po.push(e)};var mo=e.helpers={};e.registerHelper=function(t,r,n){mo.hasOwnProperty(t)||(mo[t]=e[t]={}),mo[t][r]=n},e.isWordChar=oi,e.copyState=br,e.startState=xr,e.innerMode=function(e,t){for(;e.innerMode;){var r=e.innerMode(t);if(!r||r.mode==e)break;t=r.state,e=r.mode}return r||{mode:e,state:t}};var go=e.commands={selectAll:function(e){e.setSelection(qt(e.firstLine(),0),qt(e.lastLine()))},killLine:function(e){var t=e.getCursor(!0),r=e.getCursor(!1),n=!$t(t,r);n||e.getLine(t.line).length!=t.ch?e.replaceRange("",t,n?r:qt(t.line),"+delete"):e.replaceRange("",t,qt(t.line+1,0),"+delete")},deleteLine:function(e){var t=e.getCursor().line;e.replaceRange("",qt(t,0),qt(t),"+delete")},delLineLeft:function(e){var t=e.getCursor();e.replaceRange("",qt(t.line,0),t,"+delete")},undo:function(e){e.undo()},redo:function(e){e.redo()},goDocStart:function(e){e.extendSelection(qt(e.firstLine(),0))},goDocEnd:function(e){e.extendSelection(qt(e.lastLine()))},goLineStart:function(e){e.extendSelection(xi(e,e.getCursor().line))},goLineStartSmart:function(e){var t=e.getCursor(),r=xi(e,t.line),n=e.getLineHandle(r.line),i=kn(n);if(i&&0!=i[0].level)e.extendSelection(r);else{var o=Math.max(0,n.text.search(/\S/)),l=t.line==r.line&&t.ch<=o&&t.ch;e.extendSelection(qt(r.line,l?0:o))}},goLineEnd:function(e){e.extendSelection(wi(e,e.getCursor().line))},goLineRight:function(e){var t=e.charCoords(e.getCursor(),"div").top+5;e.extendSelection(e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:t},"div"))},goLineLeft:function(e){var t=e.charCoords(e.getCursor(),"div").top+5;e.extendSelection(e.coordsChar({left:0,top:t},"div"))},goLineUp:function(e){e.moveV(-1,"line")},goLineDown:function(e){e.moveV(1,"line")},goPageUp:function(e){e.moveV(-1,"page")},goPageDown:function(e){e.moveV(1,"page")},goCharLeft:function(e){e.moveH(-1,"char")},goCharRight:function(e){e.moveH(1,"char")},goColumnLeft:function(e){e.moveH(-1,"column")},goColumnRight:function(e){e.moveH(1,"column")},goWordLeft:function(e){e.moveH(-1,"word")},goGroupRight:function(e){e.moveH(1,"group")},goGroupLeft:function(e){e.moveH(-1,"group")},goWordRight:function(e){e.moveH(1,"word")},delCharBefore:function(e){e.deleteH(-1,"char")},delCharAfter:function(e){e.deleteH(1,"char")},delWordBefore:function(e){e.deleteH(-1,"word")},delWordAfter:function(e){e.deleteH(1,"word")},delGroupBefore:function(e){e.deleteH(-1,"group")},delGroupAfter:function(e){e.deleteH(1,"group")},indentAuto:function(e){e.indentSelection("smart")},indentMore:function(e){e.indentSelection("add")},indentLess:function(e){e.indentSelection("subtract")},insertTab:function(e){e.replaceSelection(" ","end","+input")},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.replaceSelection(" ","end","+input")},transposeChars:function(e){var t=e.getCursor(),r=e.getLine(t.line);t.ch>0&&t.ch<r.length-1&&e.replaceRange(r.charAt(t.ch)+r.charAt(t.ch-1),qt(t.line,t.ch-1),qt(t.line,t.ch+1))},newlineAndIndent:function(e){lt(e,function(){e.replaceSelection("\n","end","+input"),e.indentLine(e.getCursor().line,null,!0)})()},toggleOverwrite:function(e){e.toggleOverwrite()}},vo=e.keyMap={};vo.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite"},vo.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Alt-Up":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Down":"goDocEnd","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore",fallthrough:"basic"},vo.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineStart","Cmd-Right":"goLineEnd","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delLineLeft",fallthrough:["basic","emacsy"]},vo["default"]=Gi?vo.macDefault:vo.pcDefault,vo.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"},e.lookupKey=kr,e.isModifierKey=Cr,e.keyName=Lr,e.fromTextArea=function(t,r){function n(){t.value=c.getValue()
4
+ }if(r||(r={}),r.value=t.value,!r.tabindex&&t.tabindex&&(r.tabindex=t.tabindex),!r.placeholder&&t.placeholder&&(r.placeholder=t.placeholder),null==r.autofocus){var i=document.body;try{i=document.activeElement}catch(o){}r.autofocus=i==t||null!=t.getAttribute("autofocus")&&i==document.body}if(t.form&&(Rn(t.form,"submit",n),!r.leaveSubmitMethodAlone)){var l=t.form,a=l.submit;try{var s=l.submit=function(){n(),l.submit=a,l.submit(),l.submit=s}}catch(o){}}t.style.display="none";var c=e(function(e){t.parentNode.insertBefore(e,t.nextSibling)},r);return c.save=n,c.getTextArea=function(){return t},c.toTextArea=function(){n(),t.parentNode.removeChild(c.getWrapperElement()),t.style.display="",t.form&&(_n(t.form,"submit",n),"function"==typeof t.form.submit&&(t.form.submit=a))},c},Mr.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return 0==this.pos},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){return this.pos<this.string.length?this.string.charAt(this.pos++):void 0},eat:function(e){var t=this.string.charAt(this.pos);if("string"==typeof e)var r=t==e;else var r=t&&(e.test?e.test(t):e(t));return r?(++this.pos,t):void 0},eatWhile:function(e){for(var t=this.pos;this.eat(e););return this.pos>t},eatSpace:function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},skipToEnd:function(){this.pos=this.string.length},skipTo:function(e){var t=this.string.indexOf(e,this.pos);return t>-1?(this.pos=t,!0):void 0},backUp:function(e){this.pos-=e},column:function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=Yn(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue},indentation:function(){return Yn(this.string,null,this.tabSize)},match:function(e,t,r){if("string"!=typeof e){var n=this.string.slice(this.pos).match(e);return n&&n.index>0?null:(n&&t!==!1&&(this.pos+=n[0].length),n)}var i=function(e){return r?e.toLowerCase():e},o=this.string.substr(this.pos,e.length);return i(o)==i(e)?(t!==!1&&(this.pos+=e.length),!0):void 0},current:function(){return this.string.slice(this.start,this.pos)}},e.StringStream=Mr,e.TextMarker=Sr,$n(Sr),Sr.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&it(e),qn(this,"clear")){var r=this.find();r&&jn(this,"clear",r.from,r.to)}for(var n=null,i=null,o=0;o<this.lines.length;++o){var l=this.lines[o],a=zr(l.markedSpans,this);null!=a.to&&(i=bn(l)),l.markedSpans=Er(l.markedSpans,a),null!=a.from?n=bn(l):this.collapsed&&!_r(this.doc,l)&&e&&yn(l,rt(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var o=0;o<this.lines.length;++o){var s=Rr(e.doc,this.lines[o]),c=u(e.doc,s);c>e.display.maxLineLength&&(e.display.maxLine=s,e.display.maxLineLength=c,e.display.maxLineChanged=!0)}null!=n&&e&&ct(e,n,i+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&ir(e)),t&&ot(e)}},Sr.prototype.find=function(){for(var e,t,r=0;r<this.lines.length;++r){var n=this.lines[r],i=zr(n.markedSpans,this);if(null!=i.from||null!=i.to){var o=bn(n);null!=i.from&&(e=qt(o,i.from)),null!=i.to&&(t=qt(o,i.to))}}return"bookmark"==this.type?e:e&&{from:e,to:t}},Sr.prototype.changed=function(){var e=this.find(),t=this.doc.cm;if(e&&t){"bookmark"!=this.type&&(e=e.from);var r=mn(this.doc,e.line);if(R(t,r),e.line>=t.display.showingFrom&&e.line<t.display.showingTo){for(var n=t.display.lineDiv.firstChild;n;n=n.nextSibling)if(n.lineObj==r){n.offsetHeight!=r.height&&yn(r,n.offsetHeight);break}st(t,function(){t.curOp.selectionChanged=t.curOp.forceUpdate=t.curOp.updateMaxLine=!0})}}},Sr.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;t.maybeHiddenMarkers&&-1!=ei(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)},Sr.prototype.detachLine=function(e){if(this.lines.splice(ei(this.lines,e),1),!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(t.maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)}},e.SharedTextMarker=Ar,$n(Ar),Ar.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();jn(this,"clear")}},Ar.prototype.find=function(){return this.primary.find()};var yo=e.LineWidget=function(e,t,r){if(r)for(var n in r)r.hasOwnProperty(n)&&(this[n]=r[n]);this.cm=e,this.node=t};$n(yo),yo.prototype.clear=Ur(function(){var e=this.line.widgets,t=bn(this.line);if(null!=t&&e){for(var r=0;r<e.length;++r)e[r]==this&&e.splice(r--,1);e.length||(this.line.widgets=null);var n=wn(this.cm,this.line)<this.cm.doc.scrollTop;yn(this.line,Math.max(0,this.line.height-qr(this))),n&&fr(this.cm,0,-this.height),ct(this.cm,t,t+1)}}),yo.prototype.changed=Ur(function(){var e=this.height;this.height=null;var t=qr(this)-e;if(t){yn(this.line,this.line.height+t);var r=bn(this.line);ct(this.cm,r,r+1)}});var bo=e.Line=function(e,t,r){this.text=e,Kr(this,t),this.height=r?r(this):1};$n(bo),bo.prototype.lineNo=function(){return bn(this)};var xo={};fn.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var r=e,n=e+t;n>r;++r){var i=this.lines[r];this.height-=i.height,Yr(i),jn(i,"delete")}this.lines.splice(e,t)},collapse:function(e){e.splice.apply(e,[e.length,0].concat(this.lines))},insertInner:function(e,t,r){this.height+=r,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var n=0,i=t.length;i>n;++n)t[n].parent=this},iterN:function(e,t,r){for(var n=e+t;n>e;++e)if(r(this.lines[e]))return!0}},dn.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var r=0;r<this.children.length;++r){var n=this.children[r],i=n.chunkSize();if(i>e){var o=Math.min(t,i-e),l=n.height;if(n.removeInner(e,o),this.height-=l-n.height,i==o&&(this.children.splice(r--,1),n.parent=null),0==(t-=o))break;e=0}else e-=i}if(this.size-t<25){var a=[];this.collapse(a),this.children=[new fn(a)],this.children[0].parent=this}},collapse:function(e){for(var t=0,r=this.children.length;r>t;++t)this.children[t].collapse(e)},insertInner:function(e,t,r){this.size+=t.length,this.height+=r;for(var n=0,i=this.children.length;i>n;++n){var o=this.children[n],l=o.chunkSize();if(l>=e){if(o.insertInner(e,t,r),o.lines&&o.lines.length>50){for(;o.lines.length>50;){var a=o.lines.splice(o.lines.length-25,25),s=new fn(a);o.height-=s.height,this.children.splice(n+1,0,s),s.parent=this}this.maybeSpill()}break}e-=l}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t=e.children.splice(e.children.length-5,5),r=new dn(t);if(e.parent){e.size-=r.size,e.height-=r.height;var n=ei(e.parent.children,e);e.parent.children.splice(n+1,0,r)}else{var i=new dn(e.children);i.parent=e,e.children=[i,r],e=i}r.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()}},iterN:function(e,t,r){for(var n=0,i=this.children.length;i>n;++n){var o=this.children[n],l=o.chunkSize();if(l>e){var a=Math.min(t,l-e);if(o.iterN(e,a,r))return!0;if(0==(t-=a))break;e=0}else e-=l}}};var wo=0,ko=e.Doc=function(e,t,r){if(!(this instanceof ko))return new ko(e,t,r);null==r&&(r=0),dn.call(this,[new fn([new bo("",null)])]),this.first=r,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.history=Cn(),this.cleanGeneration=1,this.frontier=r;var n=qt(r,0);this.sel={from:n,to:n,head:n,anchor:n,shift:!1,extend:!1,goalColumn:null},this.id=++wo,this.modeOption=t,"string"==typeof e&&(e=Do(e)),un(this,{from:n,to:n,text:e},null,{head:n,anchor:n})};ko.prototype=ti(dn.prototype,{constructor:ko,iter:function(e,t,r){r?this.iterN(e-this.first,t-e,r):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var r=0,n=0,i=t.length;i>n;++n)r+=t[n].height;this.insertInner(e-this.first,t,r)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=vn(this,this.first,this.first+this.size);return e===!1?t:t.join(e||"\n")},setValue:function(e){var t=qt(this.first,0),r=this.first+this.size-1;Vt(this,{from:t,to:qt(r,mn(this,r).text.length),text:Do(e),origin:"setValue"},{head:t,anchor:t},!0)},replaceRange:function(e,t,r,n){t=Qt(this,t),r=r?Qt(this,r):t,Ut(this,e,t,r,n)},getRange:function(e,t,r){var n=gn(this,Qt(this,e),Qt(this,t));return r===!1?n:n.join(r||"\n")},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},setLine:function(e,t){er(this,e)&&Ut(this,t,qt(e,0),Qt(this,qt(e)))},removeLine:function(e){e?Ut(this,"",Qt(this,qt(e-1)),Qt(this,qt(e))):Ut(this,"",qt(0,0),Qt(this,qt(1,0)))},getLineHandle:function(e){return er(this,e)?mn(this,e):void 0},getLineNumber:function(e){return bn(e)},getLineHandleVisualStart:function(e){return"number"==typeof e&&(e=mn(this,e)),Rr(this,e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return Qt(this,e)},getCursor:function(e){var t=this.sel,r;return r=null==e||"head"==e?t.head:"anchor"==e?t.anchor:"end"==e||e===!1?t.to:t.from,Yt(r)},somethingSelected:function(){return!$t(this.sel.head,this.sel.anchor)},setCursor:at(function(e,t,r){var n=Qt(this,"number"==typeof e?qt(e,t||0):e);r?tr(this,n):nr(this,n,n)}),setSelection:at(function(e,t,r){nr(this,Qt(this,e),Qt(this,t||e),r)}),extendSelection:at(function(e,t,r){tr(this,Qt(this,e),t&&Qt(this,t),r)}),getSelection:function(e){return this.getRange(this.sel.from,this.sel.to,e)},replaceSelection:function(e,t,r){Vt(this,{from:this.sel.from,to:this.sel.to,text:Do(e),origin:r},t||"around")},undo:at(function(){_t(this,"undo")}),redo:at(function(){_t(this,"redo")}),setExtending:function(e){this.sel.extend=e},historySize:function(){var e=this.history;return{undo:e.done.length,redo:e.undone.length}},clearHistory:function(){this.history=Cn(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration()},changeGeneration:function(){return this.history.lastOp=this.history.lastOrigin=null,this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Nn(this.history.done),undone:Nn(this.history.undone)}},setHistory:function(e){var t=this.history=Cn(this.history.maxGeneration);t.done=e.done.slice(0),t.undone=e.undone.slice(0)},markText:function(e,t,r){return Tr(this,Qt(this,e),Qt(this,t),r,"range")},setBookmark:function(e,t){var r={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft};return e=Qt(this,e),Tr(this,e,e,r,"bookmark")},findMarksAt:function(e){e=Qt(this,e);var t=[],r=mn(this,e.line).markedSpans;if(r)for(var n=0;n<r.length;++n){var i=r[n];(null==i.from||i.from<=e.ch)&&(null==i.to||i.to>=e.ch)&&t.push(i.marker.parent||i.marker)}return t},getAllMarks:function(){var e=[];return this.iter(function(t){var r=t.markedSpans;if(r)for(var n=0;n<r.length;++n)null!=r[n].from&&e.push(r[n].marker)}),e},posFromIndex:function(e){var t,r=this.first;return this.iter(function(n){var i=n.text.length+1;return i>e?(t=e,!0):(e-=i,void++r)}),Qt(this,qt(r,t))},indexFromPos:function(e){e=Qt(this,e);var t=e.ch;return e.line<this.first||e.ch<0?0:(this.iter(this.first,e.line,function(e){t+=e.text.length+1}),t)},copy:function(e){var t=new ko(vn(this,this.first,this.first+this.size),this.modeOption,this.first);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel={from:this.sel.from,to:this.sel.to,head:this.sel.head,anchor:this.sel.anchor,shift:this.sel.shift,extend:!1,goalColumn:this.sel.goalColumn},e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,r=this.first+this.size;null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.to<r&&(r=e.to);var n=new ko(vn(this,t,r),e.mode||this.modeOption,t);return e.sharedHist&&(n.history=this.history),(this.linked||(this.linked=[])).push({doc:n,sharedHist:e.sharedHist}),n.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],n},unlinkDoc:function(t){if(t instanceof e&&(t=t.doc),this.linked)for(var r=0;r<this.linked.length;++r){var n=this.linked[r];if(n.doc==t){this.linked.splice(r,1),t.unlinkDoc(this);break}}if(t.history==this.history){var i=[t.id];hn(t,function(e){i.push(e.id)},!0),t.history=Cn(),t.history.done=Nn(this.history.done,i),t.history.undone=Nn(this.history.undone,i)}},iterLinkedDocs:function(e){hn(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm}}),ko.prototype.eachLine=ko.prototype.iter;var Co="iter insert remove copy getEditor".split(" ");for(var Lo in ko.prototype)ko.prototype.hasOwnProperty(Lo)&&ei(Co,Lo)<0&&(e.prototype[Lo]=function(e){return function(){return e.apply(this.doc,arguments)}}(ko.prototype[Lo]));$n(ko),e.e_stop=Fn,e.e_preventDefault=Dn,e.e_stopPropagation=In;var Mo,So=0;e.on=Rn,e.off=_n,e.signal=Gn;var To=30,Ao=e.Pass={toString:function(){return"CodeMirror.Pass"}};Xn.prototype={set:function(e,t){clearTimeout(this.id),this.id=setTimeout(t,e)}},e.countColumn=Yn;var No=[""],zo=/[\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Eo=/[\u0300-\u036F\u0483-\u0487\u0488-\u0489\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7-\u06E8\u06EA-\u06ED\uA66F\u1DC0–\u1DFF\u20D0–\u20FF\uA670-\uA672\uA674-\uA67D\uA69F\udc00-\udfff\uFE20–\uFE2F]/;e.replaceGetRect=function(e){fi=e};var Oo=function(){if(zi)return!1;var e=ai("div");return"draggable"in e||"dragDrop"in e}();Ti?di=function(e,t){return 36==e.charCodeAt(t-1)&&39==e.charCodeAt(t)}:Ii&&!/Version\/([6-9]|\d\d)\b/.test(navigator.userAgent)?di=function(e,t){return/\-[^ \-?]|\?[^ !\'\"\),.\-\/:;\?\]\}]/.test(e.slice(t-1,t+1))}:Oi&&/Chrome\/(?:29|[3-9]\d|\d\d\d)\./.test(navigator.userAgent)?di=function(e,t){var r=e.charCodeAt(t-1);return r>=8208&&8212>=r}:Oi&&(di=function(e,t){if(t>1&&45==e.charCodeAt(t-1)){if(/\w/.test(e.charAt(t-2))&&/[^\-?\.]/.test(e.charAt(t)))return!0;if(t>2&&/[\d\.,]/.test(e.charAt(t-2))&&/[\d\.,]/.test(e.charAt(t)))return!1}return/[~!#%&*)=+}\]\\|\"\.>,:;][({[<]|-[^\-?\.\u2010-\u201f\u2026]|\?[\w~`@#$%\^&*(_=+{[|><]|…[\w~`@#$%\^&*(_=+{[><]/.test(e.slice(t-1,t+1))});var Wo,Ho,Do=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,r=[],n=e.length;n>=t;){var i=e.indexOf("\n",t);-1==i&&(i=e.length);var o=e.slice(t,"\r"==e.charAt(i-1)?i-1:i),l=o.indexOf("\r");-1!=l?(r.push(o.slice(0,l)),t+=l+1):(r.push(o),t=i+1)}return r}:function(e){return e.split(/\r\n?|\n/)};e.splitLines=Do;var Io=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(t){return!1}}:function(e){try{var t=e.ownerDocument.selection.createRange()}catch(r){}return t&&t.parentElement()==e?0!=t.compareEndPoints("StartToEnd",t):!1},Po=function(){var e=ai("div");return"oncopy"in e?!0:(e.setAttribute("oncopy","return;"),"function"==typeof e.oncopy)}(),Fo={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",91:"Mod",92:"Mod",93:"Mod",109:"-",107:"=",127:"Delete",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63276:"PageUp",63277:"PageDown",63275:"End",63273:"Home",63234:"Left",63232:"Up",63235:"Right",63233:"Down",63302:"Insert",63272:"Delete"};e.keyNames=Fo,function(){for(var e=0;10>e;e++)Fo[e+48]=String(e);for(var e=65;90>=e;e++)Fo[e]=String.fromCharCode(e);for(var e=1;12>=e;e++)Fo[e+111]=Fo[e+63235]="F"+e}();var Bo,Vo=function(){function e(e){return 255>=e?t.charAt(e):e>=1424&&1524>=e?"R":e>=1536&&1791>=e?r.charAt(e-1536):e>=1792&&2220>=e?"r":"L"}var t="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLL",r="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmmrrrrrrrrrrrrrrrrrr",n=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,i=/[stwN]/,o=/[LRr]/,l=/[Lb1n]/,a=/[1n]/,s="L";return function(t){if(!n.test(t))return!1;for(var r=t.length,c=[],u=0,f;r>u;++u)c.push(f=e(t.charCodeAt(u)));for(var u=0,d=s;r>u;++u){var f=c[u];"m"==f?c[u]=d:d=f}for(var u=0,h=s;r>u;++u){var f=c[u];"1"==f&&"r"==h?c[u]="n":o.test(f)&&(h=f,"r"==f&&(c[u]="R"))}for(var u=1,d=c[0];r-1>u;++u){var f=c[u];"+"==f&&"1"==d&&"1"==c[u+1]?c[u]="1":","!=f||d!=c[u+1]||"1"!=d&&"n"!=d||(c[u]=d),d=f}for(var u=0;r>u;++u){var f=c[u];if(","==f)c[u]="N";else if("%"==f){for(var p=u+1;r>p&&"%"==c[p];++p);for(var m=u&&"!"==c[u-1]||r-1>p&&"1"==c[p]?"1":"N",g=u;p>g;++g)c[g]=m;u=p-1}}for(var u=0,h=s;r>u;++u){var f=c[u];"L"==h&&"1"==f?c[u]="L":o.test(f)&&(h=f)}for(var u=0;r>u;++u)if(i.test(c[u])){for(var p=u+1;r>p&&i.test(c[p]);++p);for(var v="L"==(u?c[u-1]:s),y="L"==(r-1>p?c[p]:s),m=v||y?"L":"R",g=u;p>g;++g)c[g]=m;u=p-1}for(var b=[],x,u=0;r>u;)if(l.test(c[u])){var w=u;for(++u;r>u&&l.test(c[u]);++u);b.push({from:w,to:u,level:0})}else{var k=u,C=b.length;for(++u;r>u&&"L"!=c[u];++u);for(var g=k;u>g;)if(a.test(c[g])){g>k&&b.splice(C,0,{from:k,to:g,level:1});var L=g;for(++g;u>g&&a.test(c[g]);++g);b.splice(C,0,{from:L,to:g,level:2}),k=g}else++g;u>k&&b.splice(C,0,{from:k,to:u,level:1})}return 1==b[0].level&&(x=t.match(/^\s+/))&&(b[0].from=x[0].length,b.unshift({from:0,to:x[0].length,level:0})),1==Qn(b).level&&(x=t.match(/\s+$/))&&(Qn(b).to-=x[0].length,b.push({from:r-x[0].length,to:r,level:0})),b[0].level!=Qn(b).level&&b.push({from:r,to:r,level:b[0].level}),b}}();return e.version="3.20.0",e}(),CodeMirror.defineMode("css",function(e,t){"use strict";function r(e,t){return p=t,e}function n(e,t){var n=e.next();if(a[n]){var l=a[n](e,t);if(l!==!1)return l}if("@"==n)return e.eatWhile(/[\w\\\-]/),r("def",e.current());if("="==n)r(null,"compare");else{if(("~"==n||"|"==n)&&e.eat("="))return r(null,"compare");if('"'==n||"'"==n)return t.tokenize=i(n),t.tokenize(e,t);if("#"==n)return e.eatWhile(/[\w\\\-]/),r("atom","hash");if("!"==n)return e.match(/^\s*\w*/),r("keyword","important");if(/\d/.test(n)||"."==n&&e.eat(/\d/))return e.eatWhile(/[\w.%]/),r("number","unit");if("-"!==n)return/[,+>*\/]/.test(n)?r(null,"select-op"):"."==n&&e.match(/^-?[_a-z][_a-z0-9-]*/i)?r("qualifier","qualifier"):":"==n?r("operator",n):/[;{}\[\]\(\)]/.test(n)?r(null,n):"u"==n&&e.match("rl(")?(e.backUp(1),t.tokenize=o,r("property","variable")):(e.eatWhile(/[\w\\\-]/),r("property","variable"));if(/\d/.test(e.peek()))return e.eatWhile(/[\w.%]/),r("number","unit");if(e.match(/^[^-]+-/))return r("meta","meta")}}function i(e,t){return function(i,o){for(var l=!1,a;null!=(a=i.next())&&(a!=e||l);)l=!l&&"\\"==a;return l||(t&&i.backUp(1),o.tokenize=n),r("string","string")}}function o(e,t){return e.next(),t.tokenize=e.match(/\s*[\"\']/,!1)?n:i(")",!0),r(null,"(")}t.propertyKeywords||(t=CodeMirror.resolveMode("text/css"));var l=e.indentUnit||e.tabSize||2,a=t.hooks||{},s=t.atMediaTypes||{},c=t.atMediaFeatures||{},u=t.propertyKeywords||{},f=t.colorKeywords||{},d=t.valueKeywords||{},h=!!t.allowNested,p=null;return{startState:function(e){return{tokenize:n,baseIndent:e||0,stack:[],lastToken:null}},token:function(e,t){if(t.tokenize=t.tokenize||n,t.tokenize==n&&e.eatSpace())return null;var i=t.tokenize(e,t);i&&"string"!=typeof i&&(i=r(i[0],i[1]));var o=t.stack[t.stack.length-1];if("variable"==i)return"variable-definition"==p&&t.stack.push("propertyValue"),t.lastToken="variable-2";if("property"==i){var l=e.current().toLowerCase();"propertyValue"==o?i=d.hasOwnProperty(l)?"string-2":f.hasOwnProperty(l)?"keyword":"variable-2":"rule"==o?u.hasOwnProperty(l)||(i+=" error"):"block"==o?i=u.hasOwnProperty(l)?"property":f.hasOwnProperty(l)?"keyword":d.hasOwnProperty(l)?"string-2":"tag":o&&"@media{"!=o?"@media"==o?i=s[e.current()]?"attribute":/^(only|not)$/.test(l)?"keyword":"and"==l?"error":c.hasOwnProperty(l)?"error":"attribute error":"@mediaType"==o?i=s.hasOwnProperty(l)?"attribute":"and"==l?"operator":/^(only|not)$/.test(l)?"error":"error":"@mediaType("==o?u.hasOwnProperty(l)||(s.hasOwnProperty(l)?i="error":"and"==l?i="operator":/^(only|not)$/.test(l)?i="error":i+=" error"):i="@import"==o?"tag":"error":i="tag"}else"atom"==i?o&&"@media{"!=o&&"block"!=o?"propertyValue"==o?/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(e.current())||(i+=" error"):i="error":i="builtin":"@media"==o&&"{"==p&&(i="error");if("{"==p)if("@media"==o||"@mediaType"==o)t.stack[t.stack.length-1]="@media{";else{var a=h?"block":"rule";t.stack.push(a)}else if("}"==p)for("interpolation"==o&&(i="operator");t.stack.length;){var m=t.stack.pop();if(m.indexOf("{")>-1||"block"==m||"rule"==m)break}else if("interpolation"==p)t.stack.push("interpolation");else if("@media"==p)t.stack.push("@media");else if("@import"==p)t.stack.push("@import");else if("@media"==o&&/\b(keyword|attribute)\b/.test(i))t.stack[t.stack.length-1]="@mediaType";else if("@mediaType"==o&&","==e.current())t.stack[t.stack.length-1]="@media";else if("("==p)"@media"==o||"@mediaType"==o?(t.stack[t.stack.length-1]="@mediaType",t.stack.push("@mediaType(")):t.stack.push("(");else if(")"==p)for(;t.stack.length;){var m=t.stack.pop();if(m.indexOf("(")>-1)break}else":"==p&&"property"==t.lastToken?t.stack.push("propertyValue"):"propertyValue"==o&&";"==p?t.stack.pop():"@import"==o&&";"==p&&t.stack.pop();return t.lastToken=i},indent:function(e,t){var r=e.stack.length;return/^\}/.test(t)&&(r-="propertyValue"==e.stack[r-1]?2:1),e.baseIndent+r*l},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace"}}),function(){function e(e){for(var t={},r=0;r<e.length;++r)t[e[r]]=!0;return t}function t(e,t){for(var r=!1,n;null!=(n=e.next());){if(r&&"/"==n){t.tokenize=null;break}r="*"==n}return["comment","comment"]}var r=e(["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"]),n=e(["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"]),i=e(["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid-cell","grid-column","grid-column-align","grid-column-sizing","grid-column-span","grid-columns","grid-flow","grid-row","grid-row-align","grid-row-sizing","grid-row-span","grid-rows","grid-template","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-inside","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","word-break","word-spacing","word-wrap","z-index","zoom","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-profile","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","kerning","text-anchor","writing-mode"]),o=e(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"]),l=e(["above","absolute","activeborder","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","contain","content","content-box","context-menu","continuous","copy","cover","crop","cross","crosshair","currentcolor","cursive","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ew-resize","expanded","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-table","inset","inside","intrinsic","invert","italic","justify","kannada","katakana","katakana-iroha","keep-all","khmer","landscape","lao","large","larger","left","level","lighter","line-through","linear","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scroll","scrollbar","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","single","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","square","square-button","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","x-large","x-small","xor","xx-large","xx-small"]);
5
+ CodeMirror.defineMIME("text/css",{atMediaTypes:r,atMediaFeatures:n,propertyKeywords:i,colorKeywords:o,valueKeywords:l,hooks:{"<":function(e,t){function r(e,t){for(var r=0,n;null!=(n=e.next());){if(r>=2&&">"==n){t.tokenize=null;break}r="-"==n?r+1:0}return["comment","comment"]}return e.eat("!")?(t.tokenize=r,r(e,t)):void 0},"/":function(e,r){return e.eat("*")?(r.tokenize=t,t(e,r)):!1}},name:"css"}),CodeMirror.defineMIME("text/x-scss",{atMediaTypes:r,atMediaFeatures:n,propertyKeywords:i,colorKeywords:o,valueKeywords:l,allowNested:!0,hooks:{":":function(e){return e.match(/\s*{/)?[null,"{"]:!1},$:function(e){return e.match(/^[\w-]+/),":"==e.peek()?["variable","variable-definition"]:["variable","variable"]},",":function(e,t){return"propertyValue"==t.stack[t.stack.length-1]&&e.match(/^ *\$/,!1)?["operator",";"]:void 0},"/":function(e,r){return e.eat("/")?(e.skipToEnd(),["comment","comment"]):e.eat("*")?(r.tokenize=t,t(e,r)):["operator","operator"]},"#":function(e){return e.eat("{")?["operator","interpolation"]:(e.eatWhile(/[\w\\\-]/),["atom","hash"])}},name:"css"})}(),CodeMirror.defineMode("htmlmixed",function(e,t){function r(e,t){var r=t.htmlState.tagName,n=l.token(e,t.htmlState);if("script"==r&&/\btag\b/.test(n)&&">"==e.current()){var c=e.string.slice(Math.max(0,e.pos-100),e.pos).match(/\btype\s*=\s*("[^"]+"|'[^']+'|\S+)[^<]*$/i);c=c?c[1]:"",c&&/[\"\']/.test(c.charAt(0))&&(c=c.slice(1,c.length-1));for(var u=0;u<s.length;++u){var f=s[u];if("string"==typeof f.matches?c==f.matches:f.matches.test(c)){f.mode&&(t.token=i,t.localMode=f.mode,t.localState=f.mode.startState&&f.mode.startState(l.indent(t.htmlState,"")));break}}}else"style"==r&&/\btag\b/.test(n)&&">"==e.current()&&(t.token=o,t.localMode=a,t.localState=a.startState(l.indent(t.htmlState,"")));return n}function n(e,t,r){var n=e.current(),i=n.search(t),o;return i>-1?e.backUp(n.length-i):(o=n.match(/<\/?$/))&&(e.backUp(n.length),e.match(t,!1)||e.match(n)),r}function i(e,t){return e.match(/^<\/\s*script\s*>/i,!1)?(t.token=r,t.localState=t.localMode=null,r(e,t)):n(e,/<\/\s*script\s*>/,t.localMode.token(e,t.localState))}function o(e,t){return e.match(/^<\/\s*style\s*>/i,!1)?(t.token=r,t.localState=t.localMode=null,r(e,t)):n(e,/<\/\s*style\s*>/,a.token(e,t.localState))}var l=CodeMirror.getMode(e,{name:"xml",htmlMode:!0}),a=CodeMirror.getMode(e,"css"),s=[],c=t&&t.scriptTypes;if(s.push({matches:/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^$/i,mode:CodeMirror.getMode(e,"javascript")}),c)for(var u=0;u<c.length;++u){var f=c[u];s.push({matches:f.matches,mode:f.mode&&CodeMirror.getMode(e,f.mode)})}return s.push({matches:/./,mode:CodeMirror.getMode(e,"text/plain")}),{startState:function(){var e=l.startState();return{token:r,localMode:null,localState:null,htmlState:e}},copyState:function(e){if(e.localState)var t=CodeMirror.copyState(e.localMode,e.localState);return{token:e.token,localMode:e.localMode,localState:t,htmlState:CodeMirror.copyState(l,e.htmlState)}},token:function(e,t){return t.token(e,t)},indent:function(e,t){return!e.localMode||/^\s*<\//.test(t)?l.indent(e.htmlState,t):e.localMode.indent?e.localMode.indent(e.localState,t):CodeMirror.Pass},electricChars:"/{}:",innerMode:function(e){return{state:e.localState||e.htmlState,mode:e.localMode||l}}}},"xml","javascript","css"),CodeMirror.defineMIME("text/html","htmlmixed"),CodeMirror.defineMode("javascript",function(e,t){function r(e,t){for(var r=!1,n;null!=(n=e.next());){if(n==t&&!r)return!1;r=!r&&"\\"==n}return r}function n(e,t,r){return gt=e,vt=r,t}function i(e,t){var i=e.next();if('"'==i||"'"==i)return t.tokenize=o(i),t.tokenize(e,t);if("."==i&&e.match(/^\d+(?:[eE][+\-]?\d+)?/))return n("number","number");if("."==i&&e.match(".."))return n("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return n(i);if("="==i&&e.eat(">"))return n("=>");if("0"==i&&e.eat(/x/i))return e.eatWhile(/[\da-f]/i),n("number","number");if(/\d/.test(i))return e.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),n("number","number");if("/"==i)return e.eat("*")?(t.tokenize=l,l(e,t)):e.eat("/")?(e.skipToEnd(),n("comment","comment")):"operator"==t.lastType||"keyword c"==t.lastType||"sof"==t.lastType||/^[\[{}\(,;:]$/.test(t.lastType)?(r(e,"/"),e.eatWhile(/[gimy]/),n("regexp","string-2")):(e.eatWhile(mt),n("operator",null,e.current()));if("`"==i)return t.tokenize=a,a(e,t);if("#"==i)return e.skipToEnd(),n("error","error");if(mt.test(i))return e.eatWhile(mt),n("operator",null,e.current());e.eatWhile(/[\w\$_]/);var s=e.current(),c=pt.propertyIsEnumerable(s)&&pt[s];return c&&"."!=t.lastType?n(c.type,c.style,s):n("variable","variable",s)}function o(e){return function(t,o){return r(t,e)||(o.tokenize=i),n("string","string")}}function l(e,t){for(var r=!1,o;o=e.next();){if("/"==o&&r){t.tokenize=i;break}r="*"==o}return n("comment","comment")}function a(e,t){for(var r=!1,o;null!=(o=e.next());){if(!r&&("`"==o||"$"==o&&e.eat("{"))){t.tokenize=i;break}r=!r&&"\\"==o}return n("quasi","string-2",e.current())}function s(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var r=e.string.indexOf("=>",e.start);if(!(0>r)){for(var n=0,i=!1,o=r-1;o>=0;--o){var l=e.string.charAt(o),a=yt.indexOf(l);if(a>=0&&3>a){if(!n){++o;break}if(0==--n)break}else if(a>=3&&6>a)++n;else if(/[$\w]/.test(l))i=!0;else if(i&&!n){++o;break}}i&&!n&&(t.fatArrowAt=o)}}function c(e,t,r,n,i,o){this.indented=e,this.column=t,this.type=r,this.prev=i,this.info=o,null!=n&&(this.align=n)}function u(e,t){for(var r=e.localVars;r;r=r.next)if(r.name==t)return!0;for(var n=e.context;n;n=n.prev)for(var r=n.vars;r;r=r.next)if(r.name==t)return!0}function f(e,t,r,n,i){var o=e.cc;for(xt.state=e,xt.stream=i,xt.marked=null,xt.cc=o,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;){var l=o.length?o.pop():dt?w:x;if(l(r,n)){for(;o.length&&o[o.length-1].lex;)o.pop()();return xt.marked?xt.marked:"variable"==r&&u(e,n)?"variable-2":t}}}function d(){for(var e=arguments.length-1;e>=0;e--)xt.cc.push(arguments[e])}function h(){return d.apply(null,arguments),!0}function p(e){function r(t){for(var r=t;r;r=r.next)if(r.name==e)return!0;return!1}var n=xt.state;if(n.context){if(xt.marked="def",r(n.localVars))return;n.localVars={name:e,next:n.localVars}}else{if(r(n.globalVars))return;t.globalVars&&(n.globalVars={name:e,next:n.globalVars})}}function m(){xt.state.context={prev:xt.state.context,vars:xt.state.localVars},xt.state.localVars=wt}function g(){xt.state.localVars=xt.state.context.vars,xt.state.context=xt.state.context.prev}function v(e,t){var r=function(){var r=xt.state,n=r.indented;"stat"==r.lexical.type&&(n=r.lexical.indented),r.lexical=new c(n,xt.stream.column(),e,null,r.lexical,t)};return r.lex=!0,r}function y(){var e=xt.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function b(e){return function(t){return t==e?h():";"==e?d():h(arguments.callee)}}function x(e,t){return"var"==e?h(v("vardef",t.length),R,b(";"),y):"keyword a"==e?h(v("form"),w,x,y):"keyword b"==e?h(v("form"),x,y):"{"==e?h(v("}"),F,y):";"==e?h():"if"==e?h(v("form"),w,x,y,U):"function"==e?h(Q):"for"==e?h(v("form"),q,y,x,y):"variable"==e?h(v("stat"),O):"switch"==e?h(v("form"),w,v("}","switch"),b("{"),F,y,y):"case"==e?h(w,b(":")):"default"==e?h(b(":")):"catch"==e?h(v("form"),m,b("("),J,b(")"),x,y,g):"module"==e?h(v("form"),m,nt,g,y):"class"==e?h(v("form"),et,rt,y):"export"==e?h(v("form"),it,y):"import"==e?h(v("form"),ot,y):d(v("stat"),w,b(";"),y)}function w(e){return C(e,!1)}function k(e){return C(e,!0)}function C(e,t){if(xt.state.fatArrowAt==xt.stream.start){var r=t?E:z;if("("==e)return h(m,P(_,")"),b("=>"),r,g);if("variable"==e)return d(m,_,b("=>"),r,g)}var n=t?T:S;return bt.hasOwnProperty(e)?h(n):"function"==e?h(Q):"keyword c"==e?h(t?M:L):"("==e?h(v(")"),L,ct,b(")"),y,n):"operator"==e||"spread"==e?h(t?k:w):"["==e?h(v("]"),k,st,y,n):"{"==e?h(P(H,"}"),n):h()}function L(e){return e.match(/[;\}\)\],]/)?d():d(w)}function M(e){return e.match(/[;\}\)\],]/)?d():d(k)}function S(e,t){return","==e?h(w):T(e,t,!1)}function T(e,t,r){var n=0==r?S:T,i=0==r?w:k;return"=>"==t?h(m,r?E:z,g):"operator"==e?/\+\+|--/.test(t)?h(n):"?"==t?h(w,b(":"),i):h(i):"quasi"==e?(xt.cc.push(n),A(t)):";"!=e?"("==e?h(P(k,")","call"),n):"."==e?h(W,n):"["==e?h(v("]"),L,b("]"),y,n):void 0:void 0}function A(e){return"${"!=e.slice(e.length-2)?h():h(w,N)}function N(e){return"}"==e?(xt.marked="string-2",xt.state.tokenize=a,h()):void 0}function z(e){return s(xt.stream,xt.state),d("{"==e?x:w)}function E(e){return s(xt.stream,xt.state),d("{"==e?x:k)}function O(e){return":"==e?h(y,x):d(S,b(";"),y)}function W(e){return"variable"==e?(xt.marked="property",h()):void 0}function H(e,t){if("variable"==e){if(xt.marked="property","get"==t||"set"==t)return h(D)}else if("number"==e||"string"==e)xt.marked=e+" property";else if("["==e)return h(w,b("]"),I);return bt.hasOwnProperty(e)?h(I):void 0}function D(e){return"variable"!=e?d(I):(xt.marked="property",h(Q))}function I(e){return":"==e?h(k):"("==e?d(Q):void 0}function P(e,t,r){function n(r){if(","==r){var i=xt.state.lexical;return"call"==i.info&&(i.pos=(i.pos||0)+1),h(e,n)}return r==t?h():h(b(t))}return function(i){return i==t?h():r===!1?d(e,n):d(v(t,r),e,n,y)}}function F(e){return"}"==e?h():d(x,F)}function B(e){return ht&&":"==e?h(V):void 0}function V(e){return"variable"==e?(xt.marked="variable-3",h()):void 0}function R(){return d(_,B,j,K)}function _(e,t){return"variable"==e?(p(t),h()):"["==e?h(P(_,"]")):"{"==e?h(P(G,"}")):void 0}function G(e,t){return"variable"!=e||xt.stream.match(/^\s*:/,!1)?("variable"==e&&(xt.marked="property"),h(b(":"),_,j)):(p(t),h(j))}function j(e,t){return"="==t?h(k):void 0}function K(e){return","==e?h(R):void 0}function U(e,t){return"keyword b"==e&&"else"==t?h(v("form"),x,y):void 0}function q(e){return"("==e?h(v(")"),$,b(")")):void 0}function $(e){return"var"==e?h(R,b(";"),Y):";"==e?h(Y):"variable"==e?h(X):d(w,b(";"),Y)}function X(e,t){return"in"==t||"of"==t?(xt.marked="keyword",h(w)):h(S,Y)}function Y(e,t){return";"==e?h(Z):"in"==t||"of"==t?(xt.marked="keyword",h(w)):d(w,b(";"),Z)}function Z(e){")"!=e&&h(w)}function Q(e,t){return"*"==t?(xt.marked="keyword",h(Q)):"variable"==e?(p(t),h(Q)):"("==e?h(m,P(J,")"),x,g):void 0}function J(e){return"spread"==e?h(J):d(_,B)}function et(e,t){return"variable"==e?(p(t),h(tt)):void 0}function tt(e,t){return"extends"==t?h(w):void 0}function rt(e){return"{"==e?h(P(H,"}")):void 0}function nt(e,t){return"string"==e?h(x):"variable"==e?(p(t),h(at)):void 0}function it(e,t){return"*"==t?(xt.marked="keyword",h(at,b(";"))):"default"==t?(xt.marked="keyword",h(w,b(";"))):d(x)}function ot(e){return"string"==e?h():d(lt,at)}function lt(e,t){return"{"==e?h(P(lt,"}")):("variable"==e&&p(t),h())}function at(e,t){return"from"==t?(xt.marked="keyword",h(w)):void 0}function st(e){return"for"==e?d(ct):","==e?h(P(k,"]",!1)):d(P(k,"]",!1))}function ct(e){return"for"==e?h(q,ct):"if"==e?h(w,ct):void 0}var ut=e.indentUnit,ft=t.statementIndent,dt=t.json,ht=t.typescript,pt=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),r=e("keyword b"),n=e("keyword c"),i=e("operator"),o={type:"atom",style:"atom"},l={"if":e("if"),"while":t,"with":t,"else":r,"do":r,"try":r,"finally":r,"return":n,"break":n,"continue":n,"new":n,"delete":n,"throw":n,"var":e("var"),"const":e("var"),let:e("var"),"function":e("function"),"catch":e("catch"),"for":e("for"),"switch":e("switch"),"case":e("case"),"default":e("default"),"in":i,"typeof":i,"instanceof":i,"true":o,"false":o,"null":o,undefined:o,NaN:o,Infinity:o,"this":e("this"),module:e("module"),"class":e("class"),"super":e("atom"),"yield":n,"export":e("export"),"import":e("import"),"extends":n};if(ht){var a={type:"variable",style:"variable-3"},s={"interface":e("interface"),"extends":e("extends"),constructor:e("constructor"),"public":e("public"),"private":e("private"),"protected":e("protected"),"static":e("static"),string:a,number:a,bool:a,any:a};for(var c in s)l[c]=s[c]}return l}(),mt=/[+\-*&%=<>!?|~^]/,gt,vt,yt="([{}])",bt={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0},xt={state:null,column:null,marked:null,cc:null},wt={name:"this",next:{name:"arguments"}};return y.lex=!0,{startState:function(e){var r={tokenize:i,lastType:"sof",cc:[],lexical:new c((e||0)-ut,0,"block",!1),localVars:t.localVars,context:t.localVars&&{vars:t.localVars},indented:0};return t.globalVars&&(r.globalVars=t.globalVars),r},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),s(e,t)),t.tokenize!=l&&e.eatSpace())return null;var r=t.tokenize(e,t);return"comment"==gt?r:(t.lastType="operator"!=gt||"++"!=vt&&"--"!=vt?gt:"incdec",f(t,r,gt,vt,e))},indent:function(e,r){if(e.tokenize==l)return CodeMirror.Pass;if(e.tokenize!=i)return 0;for(var n=r&&r.charAt(0),o=e.lexical,a=e.cc.length-1;a>=0;--a){var s=e.cc[a];if(s==y)o=o.prev;else if(s!=U)break}"stat"==o.type&&"}"==n&&(o=o.prev),ft&&")"==o.type&&"stat"==o.prev.type&&(o=o.prev);var c=o.type,u=n==c;return"vardef"==c?o.indented+("operator"==e.lastType||","==e.lastType?o.info+1:0):"form"==c&&"{"==n?o.indented:"form"==c?o.indented+ut:"stat"==c?o.indented+("operator"==e.lastType||","==e.lastType?ft||ut:0):"switch"!=o.info||u||0==t.doubleIndentSwitch?o.align?o.column+(u?0:1):o.indented+(u?0:ut):o.indented+(/^(?:case|default)\b/.test(r)?ut:2*ut)},electricChars:":{}",blockCommentStart:dt?null:"/*",blockCommentEnd:dt?null:"*/",lineComment:dt?null:"//",fold:"brace",helperType:dt?"json":"javascript",jsonMode:dt}}),CodeMirror.defineMIME("text/javascript","javascript"),CodeMirror.defineMIME("text/ecmascript","javascript"),CodeMirror.defineMIME("application/javascript","javascript"),CodeMirror.defineMIME("application/ecmascript","javascript"),CodeMirror.defineMIME("application/json",{name:"javascript",json:!0}),CodeMirror.defineMIME("application/x-json",{name:"javascript",json:!0}),CodeMirror.defineMIME("text/typescript",{name:"javascript",typescript:!0}),CodeMirror.defineMIME("application/typescript",{name:"javascript",typescript:!0}),CodeMirror.defineMode("xml",function(e,t){function r(e,t){function r(r){return t.tokenize=r,r(e,t)}var i=e.next();if("<"==i){if(e.eat("!"))return e.eat("[")?e.match("CDATA[")?r(o("atom","]]>")):null:e.match("--")?r(o("comment","-->")):e.match("DOCTYPE",!0,!0)?(e.eatWhile(/[\w\._\-]/),r(l(1))):null;if(e.eat("?"))return e.eatWhile(/[\w\._\-]/),t.tokenize=o("meta","?>"),"meta";var a=e.eat("/");L="";for(var s;s=e.eat(/[^\s\u00a0=<>\"\'\/?]/);)L+=s;return L?(M=a?"closeTag":"openTag",t.tokenize=n,"tag"):"tag error"}if("&"==i){var c;return c=e.eat("#")?e.eat("x")?e.eatWhile(/[a-fA-F\d]/)&&e.eat(";"):e.eatWhile(/[\d]/)&&e.eat(";"):e.eatWhile(/[\w\.\-:]/)&&e.eat(";"),c?"atom":"error"}return e.eatWhile(/[^&<]/),null}function n(e,t){var n=e.next();if(">"==n||"/"==n&&e.eat(">"))return t.tokenize=r,M=">"==n?"endTag":"selfcloseTag","tag";if("="==n)return M="equals",null;if("<"==n){t.tokenize=r;var o=t.tokenize(e,t);return o?o+" error":"error"}return/[\'\"]/.test(n)?(t.tokenize=i(n),t.stringStartCol=e.column(),t.tokenize(e,t)):(e.eatWhile(/[^\s\u00a0=<>\"\']/),"word")}function i(e){var t=function(t,r){for(;!t.eol();)if(t.next()==e){r.tokenize=n;break}return"string"};return t.isInAttribute=!0,t}function o(e,t){return function(n,i){for(;!n.eol();){if(n.match(t)){i.tokenize=r;break}n.next()}return e}}function l(e){return function(t,n){for(var i;null!=(i=t.next());){if("<"==i)return n.tokenize=l(e+1),n.tokenize(t,n);if(">"==i){if(1==e){n.tokenize=r;break}return n.tokenize=l(e-1),n.tokenize(t,n)}}return"meta"}}function a(){for(var e=arguments.length-1;e>=0;e--)S.cc.push(arguments[e])}function s(){return a.apply(null,arguments),!0}function c(e,t){var r=k.doNotIndent.hasOwnProperty(e)||S.context&&S.context.noIndent;S.context={prev:S.context,tagName:e,indent:S.indented,startOfLine:t,noIndent:r}}function u(){S.context&&(S.context=S.context.prev)}function f(e){if("openTag"==e)return S.tagName=L,S.tagStart=T.column(),s(m,d(S.startOfLine));if("closeTag"==e){var t=!1;return S.context?S.context.tagName!=L&&(k.implicitlyClosed.hasOwnProperty(S.context.tagName.toLowerCase())&&u(),t=!S.context||S.context.tagName!=L):t=!0,t&&(A="error"),s(h(t))}return s()}function d(e){return function(t){var r=S.tagName;return S.tagName=S.tagStart=null,"selfcloseTag"==t||"endTag"==t&&k.autoSelfClosers.hasOwnProperty(r.toLowerCase())?(p(r.toLowerCase()),s()):"endTag"==t?(p(r.toLowerCase()),c(r,e),s()):s()}}function h(e){return function(t){return e&&(A="error"),"endTag"==t?(u(),s()):(A="error",s(arguments.callee))}}function p(e){for(var t;;){if(!S.context)return;if(t=S.context.tagName.toLowerCase(),!k.contextGrabbers.hasOwnProperty(t)||!k.contextGrabbers[t].hasOwnProperty(e))return;u()}}function m(e){return"word"==e?(A="attribute",s(g,m)):"endTag"==e||"selfcloseTag"==e?a():(A="error",s(m))}function g(e){if("equals"==e)return s(v,m);if(k.allowMissing){if("word"==e)return A="attribute",s(g,m)}else A="error";return"endTag"==e||"selfcloseTag"==e?a():s()}function v(e){return"string"==e?s(y):"word"==e&&k.allowUnquoted?(A="string",s()):(A="error","endTag"==e||"selfCloseTag"==e?a():s())}function y(e){return"string"==e?s(y):a()}var b=e.indentUnit,x=t.multilineTagIndentFactor||1,w=t.multilineTagIndentPastTag||!0,k=t.htmlMode?{autoSelfClosers:{area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},implicitlyClosed:{dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},contextGrabbers:{dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}},doNotIndent:{pre:!0},allowUnquoted:!0,allowMissing:!0}:{autoSelfClosers:{},implicitlyClosed:{},contextGrabbers:{},doNotIndent:{},allowUnquoted:!1,allowMissing:!1},C=t.alignCDATA,L,M,S,T,A;return{startState:function(){return{tokenize:r,cc:[],indented:0,startOfLine:!0,tagName:null,tagStart:null,context:null}},token:function(e,t){if(!t.tagName&&e.sol()&&(t.startOfLine=!0,t.indented=e.indentation()),e.eatSpace())return null;A=M=L=null;var r=t.tokenize(e,t);if(t.type=M,(r||M)&&"comment"!=r)for(S=t,T=e;;){var n=t.cc.pop()||f;if(n(M||r))break}return t.startOfLine=!1,A&&(r="error"==A?r+" error":A),r},indent:function(e,t,i){var o=e.context;if(e.tokenize.isInAttribute)return e.stringStartCol+1;if(e.tokenize!=n&&e.tokenize!=r||o&&o.noIndent)return i?i.match(/^(\s*)/)[0].length:0;if(e.tagName)return w?e.tagStart+e.tagName.length+2:e.tagStart+b*x;if(C&&/<!\[CDATA\[/.test(t))return 0;for(o&&/^<\//.test(t)&&(o=o.prev);o&&!o.startOfLine;)o=o.prev;return o?o.indent+b:0},electricChars:"/",blockCommentStart:"<!--",blockCommentEnd:"-->",configuration:t.htmlMode?"html":"xml",helperType:t.htmlMode?"html":"xml"}}),CodeMirror.defineMIME("text/xml","xml"),CodeMirror.defineMIME("application/xml","xml"),CodeMirror.mimeModes.hasOwnProperty("text/html")||CodeMirror.defineMIME("text/html",{name:"xml",htmlMode:!0}),function(){"use strict";function e(e){"activeLine"in e.state&&(e.removeLineClass(e.state.activeLine,"wrap",r),e.removeLineClass(e.state.activeLine,"background",n))}function t(t){var i=t.getLineHandleVisualStart(t.getCursor().line);t.state.activeLine!=i&&(e(t),t.addLineClass(i,"wrap",r),t.addLineClass(i,"background",n),t.state.activeLine=i)}var r="CodeMirror-activeline",n="CodeMirror-activeline-background";CodeMirror.defineOption("styleActiveLine",!1,function(r,n,i){var o=i&&i!=CodeMirror.Init;n&&!o?(t(r),r.on("cursorActivity",t)):!n&&o&&(r.off("cursorActivity",t),e(r),delete r.state.activeLine)})}(),function(){function e(e,t,r){function n(t,r,n){if(t.text){var l=h?0:t.text.length-1,s=h?t.text.length:-1;if(t.text.length>a)return null;for(null!=n&&(l=n+p);l!=s;l+=p){var c=t.text.charAt(l);if(v.test(c)&&e.getTokenTypeAt(i(r,l+1))==m){var u=o[c];if(">"==u.charAt(1)==h)g.push(c);else{if(g.pop()!=u.charAt(0))return{pos:l,match:!1};if(!g.length)return{pos:l,match:!0}}}}}}var l=e.state.matchBrackets,a=l&&l.maxScanLineLength||1e4,s=l&&l.maxScanLines||100,c=t||e.getCursor(),u=e.getLineHandle(c.line),f=c.ch-1,d=f>=0&&o[u.text.charAt(f)]||o[u.text.charAt(++f)];if(!d)return null;var h=">"==d.charAt(1),p=h?1:-1;if(r&&h!=(f==c.ch))return null;for(var m=e.getTokenTypeAt(i(c.line,f+1)),g=[u.text.charAt(f)],v=/[(){}[\]]/,y=c.line,b,x=h?Math.min(y+s,e.lineCount()):Math.max(-1,y-s);y!=x&&!(b=y==c.line?n(u,y,f):n(e.getLineHandle(y),y));y+=p);return{from:i(c.line,f),to:b&&i(y,b.pos),match:b&&b.match,forward:h}}function t(t,r){var o=t.state.matchBrackets.maxHighlightLineLength||1e3,l=e(t);if(!(!l||t.getLine(l.from.line).length>o||l.to&&t.getLine(l.to.line).length>o)){var a=l.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket",s=t.markText(l.from,i(l.from.line,l.from.ch+1),{className:a}),c=l.to&&t.markText(l.to,i(l.to.line,l.to.ch+1),{className:a});n&&t.state.focused&&t.display.input.focus();var u=function(){t.operation(function(){s.clear(),c&&c.clear()})};return r?void setTimeout(u,800):u}}function r(e){e.operation(function(){l&&(l(),l=null),e.somethingSelected()||(l=t(e,!1))})}var n=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),i=CodeMirror.Pos,o={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<"},l=null;CodeMirror.defineOption("matchBrackets",!1,function(e,t,n){n&&n!=CodeMirror.Init&&e.off("cursorActivity",r),t&&(e.state.matchBrackets="object"==typeof t?t:{},e.on("cursorActivity",r))}),CodeMirror.defineExtension("matchBrackets",function(){t(this,!0)}),CodeMirror.defineExtension("findMatchingBracket",function(t,r){return e(this,t,r)})}(),window.onload=heshPlugin;
 
 
 
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: nixdns
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DC9K7UMY8AGUJ
4
  Tags: html editor, syntax highlighter, plugin editor, syntax, highlighting, syntax highlighting, text editor, editor, text editor syntax, editor, editor syntax
5
  Requires at least: 3.3
6
- Tested up to: 3.8.1
7
- Stable tag: 1.4.7
8
 
9
  Add syntax highlighting to the HTML editor.
10
 
@@ -16,10 +16,13 @@ Add syntax highlighting to the HTML editor.
16
 
17
  * Syntax highlighting in the Post/Page HTML editor
18
  * Save your posts and pages pressing Ctrl+S (Cmd+S on Mac)
19
- * Toggle fullscreen mode with F11/Esc hotkeys
20
  * Restore cursor position after page is reloaded
21
- * New fullscreen mode.
22
  * Light and Dark editor colour themes
 
 
 
 
 
23
 
24
  == Installation ==
25
 
@@ -28,6 +31,10 @@ Add syntax highlighting to the HTML editor.
28
 
29
  == Changelog ==
30
 
 
 
 
 
31
  = 1.4.7 =
32
  * You can now select Light or Dark editor colour theme
33
 
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DC9K7UMY8AGUJ
4
  Tags: html editor, syntax highlighter, plugin editor, syntax, highlighting, syntax highlighting, text editor, editor, text editor syntax, editor, editor syntax
5
  Requires at least: 3.3
6
+ Tested up to: 3.9
7
+ Stable tag: 1.4.8
8
 
9
  Add syntax highlighting to the HTML editor.
10
 
16
 
17
  * Syntax highlighting in the Post/Page HTML editor
18
  * Save your posts and pages pressing Ctrl+S (Cmd+S on Mac)
 
19
  * Restore cursor position after page is reloaded
 
20
  * Light and Dark editor colour themes
21
+ * New fullscreen mode.
22
+ * Toggle fullscreen mode with F11/Esc hotkeys
23
+
24
+ If you like the plugin, don’t hesitate to support me and leave a review :)
25
+
26
 
27
  == Installation ==
28
 
31
 
32
  == Changelog ==
33
 
34
+ = 1.4.8 =
35
+ * Add Link button now works with page selector window
36
+ * Some minor improvements
37
+
38
  = 1.4.7 =
39
  * You can now select Light or Dark editor colour theme
40