diff --git a/CHANGE.md b/CHANGE.md index 0eeea49..b78fa61 100644 --- a/CHANGE.md +++ b/CHANGE.md @@ -302,4 +302,48 @@ v1.2.0 主要更新: - 新增`Require.js/AMD`专用版本文件`editormd.amd.js`; - 新建Gulp任务`amd`; -- 修改和新增以上改进等相关示例; \ No newline at end of file +- 修改和新增以上改进等相关示例; + +### v1.3 + +#### v1.3.0 + +主要更新: + +- 预设键盘快捷键处理(粗体等),插入Markdown更加方便; +- 更新CodeMirror版本为`5.0`; +- 更新Marked版本为`0.3.3`; +- 新增自动高度和工具栏固定定位功能; +- 改进表格插入对话框; +- 工具栏新增三个按钮,分别是将所选文本首字母转成大写、转成小写、转成大写; +- 修改使用帮助文档; +- 修复多个Bug; + +具体更新如下: + +- 新增常用键盘快捷键预设处理; + - 新增属性`editormd.keyMaps`,预设一些常用操作,例如插入粗体等; + - 新增成员方法`registerKeyMaps()`; + - 退出HTML全屏预览快捷键更改为`Shift + ESC`; + - 新增配置项`disabledKeyMaps`,用于屏蔽一些快捷键操作; +- 更新CodeMirror版本为`5.0`; + - 修改无法输入`/`的问题; +- 更新Marked版本为`0.3.3`; +- 新增自动高度和工具栏固定定位(滚动条拖动时)模式; + - 新增配置项`settings.autoHeight`; + - 新增配置项`settings.toolbarAutoFixed`; + - 新增方法 `setToolbarAutoFixed(true|false)`; +- 新增邮箱地址自动添加链接功能; + - 新增配置项`emailLink`,默认为`true`; +- 改进表格插入对话框; +- 工具栏新增三个按钮,分别是将所选文本首字母转成大写、转成小写、转成大写; + - 新增方法`editormd.ucwords()`,别名`editormd.wordsFirstUpperCase()`; + - 新增方法`editormd.ucfirst()`,别名`editormd.firstUpperCase()`; + - 新增两个成员方法`getSelections()`和`getSelections()`; + +- 修复Font awesome 图标 emoji 部分无法解析的Bug,[#39](https://github.com/pandao/editor.md/issues/39) +- 改进@link功能[#40](https://github.com/pandao/editor.md/issues/40); + - 新增配置项`atLink`,默认为`true`; +- 修复无法输入`/`的问题 [#42](https://github.com/pandao/editor.md/issues/42); +- 修改使用帮助说明的错误 [#43](https://github.com/pandao/editor.md/issues/43); +- 新增配置项`pluginPath`,默认为空时,等于`settings.path + "../plugins/"`; \ No newline at end of file diff --git a/Gulpfile.js b/Gulpfile.js index 88da3e7..c6f5b01 100644 --- a/Gulpfile.js +++ b/Gulpfile.js @@ -5,7 +5,7 @@ var gulp = require("gulp"); var gutil = require("gulp-util"); var sass = require("gulp-ruby-sass"); var jshint = require("gulp-jshint"); -var uglify = require("gulp-uglify"); +var uglify = require("gulp-uglifyjs"); var rename = require("gulp-rename"); var concat = require("gulp-concat"); var notify = require("gulp-notify"); @@ -83,7 +83,7 @@ gulp.task("js", function() { }})) .pipe(gulp.dest("./")) .pipe(rename({ suffix: ".min" })) - .pipe(uglify()) + .pipe(uglify({outSourceMap: true, sourceRoot: './'})) .pipe(gulp.dest("./")) .pipe(header(headerMiniComment, {pkg : pkg, fileName : function(file) { var name = file.path.split(file.base + ( (os.platform() === "win32") ? "\\" : "/") ); @@ -93,18 +93,6 @@ gulp.task("js", function() { .pipe(notify({ message: "editormd.js task complete" })); }); -gulp.task("plugins", function() { - var path = "plugins/test-plugin"; - - //return gulp.src([path + "/*.js", "!plugins/plugin-template.js", "!plugins/test-plugin/*.js"]) - return gulp.src("plugins/test-plugin/test-plugin.js") - .pipe(gulp.dest(path)) - .pipe(rename({ suffix: ".min" })) - .pipe(uglify()) - .pipe(gulp.dest(path)) - .pipe(notify({ message: "plugins task complete"})); -}); - gulp.task("amd", function() { var replaceText1 = [ 'var cmModePath = "codemirror/mode/";', @@ -197,7 +185,7 @@ gulp.task("amd", function() { .pipe(replace("/* Require.js assignment replace */", replaceText2)) .pipe(gulp.dest('./')) .pipe(rename({ suffix: ".min" })) - .pipe(uglify()) + .pipe(uglify({outSourceMap: true, sourceRoot: './'})) .pipe(gulp.dest("./")) .pipe(header(headerMiniComment, {pkg : pkg, fileName : function(file) { var name = file.path.split(file.base + ( (os.platform() === "win32") ? "\\" : "/") ); @@ -287,7 +275,7 @@ gulp.task("cm-mode", function() { return gulp.src(modes) .pipe(concat("modes.min.js")) .pipe(gulp.dest(codeMirror.path.dist)) - .pipe(uglify()) + .pipe(uglify({outSourceMap: true, sourceRoot: codeMirror.path.dist})) .pipe(gulp.dest(codeMirror.path.dist)) .pipe(header(headerMiniComment, {pkg : pkg, fileName : function(file) { var name = file.path.split(file.base + "\\"); @@ -309,7 +297,7 @@ gulp.task("cm-addon", function() { return gulp.src(addons) .pipe(concat("addons.min.js")) .pipe(gulp.dest(codeMirror.path.dist)) - .pipe(uglify()) + .pipe(uglify({outSourceMap: true, sourceRoot: codeMirror.path.dist})) .pipe(gulp.dest(codeMirror.path.dist)) .pipe(header(headerMiniComment, {pkg : pkg, fileName : function(file) { var name = file.path.split(file.base + "\\"); @@ -338,9 +326,9 @@ gulp.task("jsdoc2md", function() { }); gulp.task("watch", function() { - gulp.watch("src/scss/editormd.scss", ["scss"]); - gulp.watch("src/scss/editormd.preview.scss", ["scss", "scss2"]); - gulp.watch("src/scss/editormd.logo.scss", ["scss", "scss3"]); + gulp.watch("scss/editormd.scss", ["scss"]); + gulp.watch("scss/editormd.preview.scss", ["scss", "scss2"]); + gulp.watch("scss/editormd.logo.scss", ["scss", "scss3"]); gulp.watch("src/editormd.js", ["js", "amd"]); }); diff --git a/bower.json b/bower.json index 78f1492..dd9e1c6 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "editor.md", - "version": "1.2.0", + "version": "1.3.0", "homepage": "https://github.com/pandao/editor.md", "authors": [ "Pandao " diff --git a/css/editormd.css b/css/editormd.css index e8c9bb0..5abe247 100644 --- a/css/editormd.css +++ b/css/editormd.css @@ -2,12 +2,12 @@ * Editor.md * * @file editormd.css - * @version v1.2.0 + * @version v1.3.0 * @description A simple online markdown editor. * @license MIT License * @author Pandao * {@link https://github.com/pandao/editor.md} - * @updateTime 2015-03-10 + * @updateTime 2015-03-12 */ @charset "UTF-8"; @@ -2375,6 +2375,7 @@ text-align: left; overflow: hidden; position: relative; + margin-bottom: 15px; border: 1px solid #ddd; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; diff --git a/css/editormd.css.map b/css/editormd.css.map index 5955268..b0a4266 100644 --- a/css/editormd.css.map +++ b/css/editormd.css.map @@ -2,17 +2,17 @@ * Editor.md * * @file editormd.css.map - * @version v1.2.0 + * @version v1.3.0 * @description A simple online markdown editor. * @license MIT License * @author Pandao * {@link https://github.com/pandao/editor.md} - * @updateTime 2015-03-10 + * @updateTime 2015-03-12 */ { "version": 3, -"mappings": "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", +"mappings": "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", "sources": ["file:///D:/APMServ/www/htdocs/editor.md/scss/font-awesome.scss","../editormd.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/lib/prefixes.scss","../editormd.logo.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/lib/variables.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.menu.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.dialog.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.grid.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.tab.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.form.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.codemirror.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/github-markdown.scss","../editormd.preview.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/prettify.scss"], "names": [], "file": "editormd.css" diff --git a/css/editormd.css.min.map b/css/editormd.css.min.map index 5766941..4cc32a8 100644 --- a/css/editormd.css.min.map +++ b/css/editormd.css.min.map @@ -1,2 +1,2 @@ -/*! Editor.md v1.2.0 | editormd.css.min.map | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-10 */ -{"version":3,"mappings":";;;;;;;;;;;;;;;AAMA,UAMC;EALC,WAAW,EAAE,aAAa;EAC1B,GAAG,EAAE,+CAA+C;EACpD,GAAG,EAAE,4WAAkF;EACvF,WAAW,EAAE,MAAM;EACnB,UAAU,EAAE,MAAM;;AAEpB,GAAI;EACF,OAAO,EAAE,YAAY;EACrB,IAAI,EAAE,uCAAuC;EAC7C,SAAS,EAAE,OAAO;EAClB,cAAc,EAAE,IAAI;EACpB,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;EAClC,SAAS,EAAE,eAAe;;;;AAG5B,MAAO;EACL,SAAS,EAAE,YAAY;EACvB,WAAW,EAAE,MAAM;EACnB,cAAc,EAAE,IAAI;;;AAEtB,MAAO;EACL,SAAS,EAAE,GAAG;;;AAEhB,MAAO;EACL,SAAS,EAAE,GAAG;;;AAEhB,MAAO;EACL,SAAS,EAAE,GAAG;;;AAEhB,MAAO;EACL,SAAS,EAAE,GAAG;;;AAEhB,MAAO;EACL,KAAK,EAAE,YAAY;EACnB,UAAU,EAAE,MAAM;;;AAEpB,MAAO;EACL,YAAY,EAAE,CAAC;EACf,WAAW,EAAE,YAAY;EACzB,eAAe,EAAE,IAAI;;;AAEvB,WAAY;EACV,QAAQ,EAAE,QAAQ;;;AAEpB,MAAO;EACL,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,aAAa;EACnB,KAAK,EAAE,YAAY;EACnB,GAAG,EAAE,YAAY;EACjB,UAAU,EAAE,MAAM;;;AAEpB,YAAa;EACX,IAAI,EAAE,aAAa;;;AAErB,UAAW;EACT,OAAO,EAAE,gBAAgB;EACzB,MAAM,EAAE,oBAAoB;EAC5B,aAAa,EAAE,IAAI;;;AAErB,WAAY;EACV,KAAK,EAAE,KAAK;;;AAEd,UAAW;EACT,KAAK,EAAE,IAAI;;;AAEb,aAAc;EACZ,YAAY,EAAE,IAAI;;;AAEpB,cAAe;EACb,WAAW,EAAE,IAAI;;;AAEnB,QAAS;EACP,iBAAiB,EAAE,0BAA0B;EAC7C,SAAS,EAAE,0BAA0B;;;AAEvC,SAAU;EACR,iBAAiB,EAAE,4BAA4B;EAC/C,SAAS,EAAE,4BAA4B;;;AAEzC,0BASC;EARC,EAAG;IACD,iBAAiB,EAAE,YAAY;IAC/B,SAAS,EAAE,YAAY;;EAEzB,IAAK;IACH,iBAAiB,EAAE,cAAc;IACjC,SAAS,EAAE,cAAc;;;AAG7B,kBASC;EARC,EAAG;IACD,iBAAiB,EAAE,YAAY;IAC/B,SAAS,EAAE,YAAY;;EAEzB,IAAK;IACH,iBAAiB,EAAE,cAAc;IACjC,SAAS,EAAE,cAAc;;;AAG7B,aAAc;EACZ,MAAM,EAAE,wDAAwD;EAChE,iBAAiB,EAAE,aAAa;EAChC,aAAa,EAAE,aAAa;EAC5B,SAAS,EAAE,aAAa;;;AAE1B,cAAe;EACb,MAAM,EAAE,wDAAwD;EAChE,iBAAiB,EAAE,cAAc;EACjC,aAAa,EAAE,cAAc;EAC7B,SAAS,EAAE,cAAc;;;AAE3B,cAAe;EACb,MAAM,EAAE,wDAAwD;EAChE,iBAAiB,EAAE,cAAc;EACjC,aAAa,EAAE,cAAc;EAC7B,SAAS,EAAE,cAAc;;;AAE3B,mBAAoB;EAClB,MAAM,EAAE,kEAAkE;EAC1E,iBAAiB,EAAE,YAAY;EAC/B,aAAa,EAAE,YAAY;EAC3B,SAAS,EAAE,YAAY;;;AAEzB,iBAAkB;EAChB,MAAM,EAAE,kEAAkE;EAC1E,iBAAiB,EAAE,YAAY;EAC/B,aAAa,EAAE,YAAY;EAC3B,SAAS,EAAE,YAAY;;;AAEzB;;;;uBAIwB;EACtB,MAAM,EAAE,IAAI;;;AAEd,SAAU;EACR,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,YAAY;EACrB,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,GAAG;EACX,WAAW,EAAE,GAAG;EAChB,cAAc,EAAE,MAAM;;;AAExB;YACa;EACX,QAAQ,EAAE,QAAQ;EAClB,IAAI,EAAE,CAAC;EACP,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;;;AAEpB,YAAa;EACX,WAAW,EAAE,OAAO;;;AAEtB,YAAa;EACX,SAAS,EAAE,GAAG;;;AAEhB,WAAY;EACV,KAAK,EAAE,OAAO;;;;;AAIhB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,aAAc;EACZ,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB;;gBAEiB;EACf,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB;cACe;EACb,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,8BAA+B;EAC7B,OAAO,EAAE,OAAO;;;AAElB,4BAA6B;EAC3B,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB;iBACkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB;kBACmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB;;oBAEqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB;0BAC2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB;gBACiB;EACf,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,6BAA8B;EAC5B,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB;+BACgC;EAC9B,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB;oBACqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB;eACgB;EACd,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB;mBACoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,4BAA6B;EAC3B,OAAO,EAAE,OAAO;;;AAElB,6BAA8B;EAC5B,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,4BAA6B;EAC3B,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB;gBACiB;EACf,OAAO,EAAE,OAAO;;;AAElB;eACgB;EACd,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB;mBACoB;EAClB,OAAO,EAAE,OAAO;;;AAElB;kBACmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB;mBACoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB;;eAEgB;EACd,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,2BAA4B;EAC1B,OAAO,EAAE,OAAO;;;AAElB,6BAA8B;EAC5B,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB;eACgB;EACd,OAAO,EAAE,OAAO;;;AAElB;oBACqB;EACnB,OAAO,EAAE,OAAO;;;AAElB;mBACoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB;eACgB;EACd,OAAO,EAAE,OAAO;;;AAElB;gBACiB;EACf,OAAO,EAAE,OAAO;;;AAElB;qBACsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB;eACgB;EACd,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB;oBACqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,4BAA6B;EAC3B,OAAO,EAAE,OAAO;;;AAElB,6BAA8B;EAC5B,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,4BAA6B;EAC3B,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB;iBACkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB;gBACiB;EACf,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB;oBACqB;EACnB,OAAO,EAAE,OAAO;;;AAElB;;sBAEuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB;uBACwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,2BAA4B;EAC1B,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,4BAA6B;EAC3B,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,8BAA+B;EAC7B,OAAO,EAAE,OAAO;;;AAElB,+BAAgC;EAC9B,OAAO,EAAE,OAAO;;;AAElB,4BAA6B;EAC3B,OAAO,EAAE,OAAO;;;AAElB,8BAA+B;EAC7B,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,+BAAgC;EAC9B,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB;8BAC+B;EAC7B,OAAO,EAAE,OAAO;;;AAElB;4BAC6B;EAC3B,OAAO,EAAE,OAAO;;;AAElB;+BACgC;EAC9B,OAAO,EAAE,OAAO;;;AAElB;cACe;EACb,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB;cACe;EACb,OAAO,EAAE,OAAO;;;AAElB;cACe;EACb,OAAO,EAAE,OAAO;;;AAElB;;;cAGe;EACb,OAAO,EAAE,OAAO;;;AAElB;;cAEe;EACb,OAAO,EAAE,OAAO;;;AAElB;cACe;EACb,OAAO,EAAE,OAAO;;;AAElB;cACe;EACb,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,2BAA4B;EAC1B,OAAO,EAAE,OAAO;;;AAElB,2BAA4B;EAC1B,OAAO,EAAE,OAAO;;;AAElB,4BAA6B;EAC3B,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,2BAA4B;EAC1B,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,2BAA4B;EAC1B,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB;mBACoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB,aAAc;EACZ,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,+BAAgC;EAC9B,OAAO,EAAE,OAAO;;;AAElB,8BAA+B;EAC7B,OAAO,EAAE,OAAO;;;AAElB;8BAC+B;EAC7B,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB;cACe;EACb,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB;;qBAEsB;EACpB,OAAO,EAAE,OAAO;;;AAElB;yBAC0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,6BAA8B;EAC5B,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB;cACe;EACb,OAAO,EAAE,OAAO;;;AAElB;eACgB;EACd,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,4BAA6B;EAC3B,OAAO,EAAE,OAAO;;;AAElB;;uBAEwB;EACtB,OAAO,EAAE,OAAO;;;AAElB;yBAC0B;EACxB,OAAO,EAAE,OAAO;;;AAElB;uBACwB;EACtB,OAAO,EAAE,OAAO;;;AAElB;uBACwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB;;;;oBAIqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB;gBACiB;EACf,OAAO,EAAE,OAAO;;;AAElB;iBACkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,aAAc;EACZ,OAAO,EAAE,OAAO;;;AAElB;iBACkB;EAChB,OAAO,EAAE,OAAO;;;AAElB;sBACuB;EACrB,OAAO,EAAE,OAAO;;;AAElB;wBACyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB;sBACuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,2BAA4B;EAC1B,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB;mBACoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,aAAc;EACZ,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,cAAe;EACb,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,aAAc;EACZ,OAAO,EAAE,OAAO;;;AAElB;;cAEe;EACb,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,yBAA0B;EACxB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,eAAgB;EACd,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,0BAA2B;EACzB,OAAO,EAAE,OAAO;;;AAElB,uBAAwB;EACtB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,wBAAyB;EACvB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,4BAA6B;EAC3B,OAAO,EAAE,OAAO;;;AAElB,sBAAuB;EACrB,OAAO,EAAE,OAAO;;;AAElB,mBAAoB;EAClB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,oBAAqB;EACnB,OAAO,EAAE,OAAO;;;AAElB,qBAAsB;EACpB,OAAO,EAAE,OAAO;;;AAElB;cACe;EACb,OAAO,EAAE,OAAO;;;AAElB,kBAAmB;EACjB,OAAO,EAAE,OAAO;;;AAElB,gBAAiB;EACf,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;AAElB,iBAAkB;EAChB,OAAO,EAAE,OAAO;;;ACjwDlB,SAAU;EACN,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,KAAK;EACb,MAAM,EAAE,MAAM;EACd,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE,MAAM;EAChB,QAAQ,EAAE,QAAQ;EAClB,MAAM,EAAE,cAAsB;ECqV9B,kBAAkB,EDpVE,UAAU;ECqV3B,eAAe,EDrVE,UAAU;ECsVtB,UAAU,EDtVE,UAAU;EAC9B,WAAW,EAAE,+MAA+M;;AAE5N,WAAE;EACE,eAAe,EAAE,IAAI;;AAGzB,aAAI;EACA,MAAM,EAAE,IAAI;EACZ,cAAc,EAAE,MAAM;;AAG1B;;qCAE4B;EACxB,KAAK,EAAE,CAAC;EACR,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;EACV,MAAM,EAAC,IAAI;;AAGf;;;sDAGyB;ECxBzB,kBAAkB,EDyBM,IAAI;ECxBzB,eAAe,EDwBM,IAAI;ECvBxB,cAAc,EDuBM,IAAI;ECtBpB,UAAU,EDsBM,IAAI;;;;;;;;;;;AElChC,UASC;EARA,WAAW,EAAE,eAAe;EAC5B,GAAG,EAAC,yCAAyC;EAC7C,GAAG,EAAC,sQAA4E;EAIhF,WAAW,EAAE,MAAM;EACnB,UAAU,EAAE,MAAM;;AAGnB;;;;;;;;iBAQkB;EACjB,WAAW,EAAE,eAAe;EAC5B,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,MAAM;EACnB,YAAY,EAAE,MAAM;EACpB,cAAc,EAAE,IAAI;EACjB,SAAS,EAAE,OAAO;EACrB,WAAW,EAAE,CAAC;EACX,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,IAAI;EACpB,cAAc,EAAE,OAAO;EAG1B,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;;AAE/B;;;;;;;;wBAAS;EACL,OAAO,EAAE,QAAQ;;;;;;;AAQzB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,KAAK;;;AAGpB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,oBAAqB;EACjB,KAAK,EChFO,OAAU;;;AHsC1B,uBAAwB;ECqNpB,mBAAmB,EDpNE,IAAI;ECqNtB,gBAAgB,EDrNE,IAAI;ECsNrB,eAAe,EDtNE,IAAI;ECuNpB,cAAc,EDvNE,IAAI;ECwNjB,WAAW,EDxNE,IAAI;;;AAG7B,iBAAkB;EACd,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,IAAI;EAChB,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,IAAI;EACb,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,OAAO,EAAE,EAAE;EACX,aAAa,EAAE,cAAsB;;;AAGzC,2BAA4B;EACxB,OAAO,EAAE,KAAK;EACd,UAAU,EAAE,IAAI;ECmMhB,mBAAmB,EDlME,IAAI;ECmMtB,gBAAgB,EDnME,IAAI;ECoMrB,eAAe,EDpME,IAAI;ECqMpB,cAAc,EDrME,IAAI;ECsMjB,WAAW,EDtME,IAAI;;;AI9D7B,cAAe;EACX,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,IAAI;;AAEhB,mBAAK;EACD,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,SAAS;EAClB,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAE,QAAQ;;AAElB,2BAAU;EACN,OAAO,EAAE,YAAY;EACrB,WAAW,EAAE,OAAO;EACpB,MAAM,EAAE,KAAK;EACb,MAAM,EAAE,GAAG;EACX,YAAY,EAAE,cAAsB;;AAGxC,uBAAI;EACA,OAAO,EAAE,CAAC;EACV,KAAK,EDlBD,IAAI;ECmBR,OAAO,EAAE,YAAY;EACrB,SAAS,EAAE,IAAI;EACf,SAAS,EAAE,IAAI;EACf,eAAe,EAAE,IAAI;EACrB,UAAU,EAAE,MAAM;EHgP1B,qBAAqB,EG/OU,GAAG;EHgP/B,kBAAkB,EGhPU,GAAG;EHiP9B,iBAAiB,EGjPU,GAAG;EHkP7B,gBAAgB,EGlPU,GAAG;EHmP1B,aAAa,EGnPU,GAAG;EAC1B,MAAM,EAAE,cAAc;;AAEtB,6DAAkB;EACd,MAAM,EAAE,cAAsB;EAC9B,UAAU,EAAE,IAAI;EHoG5B,kBAAkB,EAAE,kBAAW;;EAC5B,eAAe,EAAE,kBAAW;;EACvB,UAAU,EAAE,kBAAW;;;AGlGvB,6BAAM;EACF,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,GAAG;;AAGhB,wCAAiB;EACb,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,YAAY;EACrB,WAAW,EAAE,IAAI;;AAIzB,iDAAgC;EAC5B,OAAO,EAAE,KAAK;;AAItB,4BAAc;EACV,WAAW,EAAE,GAAG;;;AAIxB,uBAAwB;EACpB,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,IAAI;EAChB,MAAM,EAAE,cAAsB;EAC9B,KAAK,EAAE,KAAK;EACZ,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,IAAI;EACT,IAAI,EAAE,CAAC;EACP,OAAO,EAAE,GAAG;EHkRZ,kBAAkB,EGjRE,+BAA+B;;EHkRhD,eAAe,EGlRE,+BAA+B;;EHmR/C,cAAc,EGnRE,+BAA+B;;EHoR9C,aAAa,EGpRE,+BAA+B;;EHqR3C,UAAU,EGrRE,+BAA+B;;;AAEnD,6DAAkB;EACd,KAAK,EAAE,CAAC;EACR,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;EACX,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,KAAK;EACV,IAAI,EAAE,GAAG;EACT,MAAM,EAAE,qBAAqB;;AAGjC,8BAAS;EACL,mBAAmB,EAAE,IAAI;;AAG7B,6BAAQ;EACJ,mBAAmB,EAAE,OAAO;EAC5B,GAAG,EAAE,KAAK;;AAMV,gCAAI;EACA,KAAK,ED5FD,IAAI;EC6FR,OAAO,EAAE,KAAK;EACd,eAAe,EAAE,IAAI;EACrB,OAAO,EAAE,QAAQ;;AAEjB,sCAAQ;EACJ,UAAU,EAAE,OAAO;EH+B/B,kBAAkB,EAAE,kBAAW;;EAC5B,eAAe,EAAE,kBAAW;;EACvB,UAAU,EAAE,kBAAW;;;AG3B/B,iCAAU;EACN,UAAU,EAAE,cAAsB;;;AJzC1C,mBAAoB;EAChB,MAAM,EAAE,CAAC;EACT,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,MAAM;EAChB,OAAO,EAAE,QAAQ;EACjB,QAAQ,EAAE,QAAQ;EAClB,UAAU,EAAE,IAAI;ECsRhB,kBAAkB,EDrRE,UAAU;ECsR3B,eAAe,EDtRE,UAAU;ECuRtB,UAAU,EDvRE,UAAU;;;AK3ElC,gBAAiB;EACb,KAAK,EFEO,IAAI;EEDhB,QAAQ,EAAE,KAAK;EACf,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,IAAI;EJsQb,qBAAqB,EIrQE,GAAG;EJsQvB,kBAAkB,EItQE,GAAG;EJuQtB,iBAAiB,EIvQE,GAAG;EJwQrB,gBAAgB,EIxQE,GAAG;EJyQlB,aAAa,EIzQE,GAAG;EJiV1B,kBAAkB,EIhVE,2BAA2B;;EJiV5C,eAAe,EIjVE,2BAA2B;;EJkV3C,cAAc,EIlVE,2BAA2B;;EJmV1C,aAAa,EInVE,2BAA2B;;EJoVvC,UAAU,EIpVE,2BAA2B;;EAE/C,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,IAAI;;;AAGnB,0BAA2B;EACvB,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,IAAI;EACb,WAAW,EAAE,GAAG;;AAEhB,6BAAG;EACC,SAAS,EAAE,IAAI;EACf,aAAa,EAAE,IAAI;;AAEnB,iCAAI;EACA,KAAK,EAAE,OAAO;EACd,aAAa,EAAE,GAAG;;AAGtB,mCAAM;EACF,YAAY,EAAE,GAAG;EACjB,WAAW,EAAE,MAAM;EACnB,SAAS,EAAG,IAAI;EAChB,KAAK,EAAE,IAAI;;AAInB,iCAAO;EACH,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,OAAO;EAChB,MAAM,EAAE,cAAsB;;;AAItC,sBAAuB;EACnB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,IAAI;EACT,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,IAAI;EJsFX,kBAAkB,EAAE,oBAAW;;EAC5B,eAAe,EAAE,oBAAW;;EACvB,UAAU,EAAE,oBAAW;;;AIrF/B,4BAAQ;EACJ,KAAK,EAAE,IAAI;;;AAInB,uBAAwB;EACpB,OAAO,EAAE,SAAS;EAClB,aAAa,EAAE,cAAc;EJ4E7B,kBAAkB,EAAE,yBAAW;;EAC5B,eAAe,EAAE,yBAAW;;EACvB,UAAU,EAAE,yBAAW;;;AI3E/B,6BAAQ;EACJ,UAAU,EAAE,OAAO;;;AAI3B,sBAAuB;EACnB,SAAS,EAAE,IAAI;;;AAGnB,uBAAwB;EACpB,OAAO,EAAE,UAAU;EACnB,UAAU,EAAE,KAAK;;;AAGrB,qBAAsB;EAClB,KAAK,EAAE,KAAK;;AAEZ,wBAAG;EACC,WAAW,EAAE,MAAM;;AAGvB,gDAA2B;EACvB,OAAO,EAAE,cAAc;;AAG3B,4CAAuB;EACnB,GAAG,EAAE,IAAI;EACT,KAAK,EAAE,IAAI;;;AAInB;;qBAEsB;EAClB,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;;;AAGX;wBACyB;EACrB,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,GAAG;EACZ,MAAM,EAAE,iBAAiB;;;AAG7B,cAAe;EACX,QAAQ,EAAE,KAAK;EACf,UAAU,EAAE,IAAI;EJijBhB,OAAO,EIhjBU,GAAG;;EJijBnB,MAAM,EAAE,iBAA+B;;EIhjBxC,OAAO,EAAE,KAAK;;;AAGlB;yBAC0B;EACtB,UAAU,EAAE,kDAAkD;EJ8Q9D,uBAAuB,EI7QE,SAAS;;EJ8Q/B,oBAAoB,EI9QE,SAAS;;EJ+Q7B,kBAAkB,EI/QE,SAAS;;EJgR1B,eAAe,EIhRE,SAAS;;;;AAGtC,wBAAyB;EACrB,OAAO,EAAE,EAAE;EACX,OAAO,EAAE,KAAK;EACd,gBAAgB,EAAE,IAAI;;;AAG1B,uGAAwG;EACpG;2BAC0B;IACtB,gBAAgB,EAAE,6BAA6B;;;AAIvD,uGAAwG;EACpG;2BAC0B;IACtB,gBAAgB,EAAE,6BAA6B;;;AAMnD;2CAAS;EACL,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,KAAK;EACb,aAAa,EAAE,GAAG;EAClB,QAAQ,EAAE,IAAI;EACd,MAAM,EAAE,cAAc;EACtB,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,IAAI;;;AAIpB,sBAAuB;EACnB,KAAK,EAAE,IAAI;EACX,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,WAAW;;;AC9JvB,oBAAqB;EACjB,KAAK,EAAE,GAAG;EACV,OAAO,EAAE,KAAK;EACd,MAAM,EAAE,cAAc;EACtB,eAAe,EAAE,QAAQ;;;AAG7B,wBAAyB;EACrB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,SAAS;;AAElB,0BAAE;EACE,SAAS,EAAE,KAAK;EAChB,KAAK,EAAE,EAAE;EACT,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;EAClB,OAAO,EAAE,UAAU;EACnB,cAAc,EAAE,MAAM;EACtB,MAAM,EAAE,cAAc;EACtB,eAAe,EAAE,IAAI;ELgHzB,kBAAkB,EAAE,oDAAW;;EAC5B,eAAe,EAAE,oDAAW;;EACvB,UAAU,EAAE,oDAAW;;;AK/G3B,mCAAW;EACP,KAAK,EAAE,IAAI;EACX,gBAAgB,EAAE,IAAI;;AAG1B,gCAAQ;EACJ,KAAK,EAAE,IAAI;EACX,gBAAgB,EAAE,OAAO;;;AC3BrC,kBAAmB;EACf,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,cAAc;;AAE7B,qBAAG;EACC,OAAO,EAAE,YAAY;;AAErB,uBAAE;EACE,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,YAAY;EACrB,UAAU,EAAE,MAAM;EAClB,eAAe,EAAE,IAAI;EACrB,aAAa,EAAE,IAAI;EACnB,MAAM,EAAE,cAAc;ENiQ9B,8BAA8B,EMhQU,GAAG;ENiQxC,2BAA2B,EMjQU,GAAG;ENkQvC,0BAA0B,EMlQU,GAAG;ENmQtC,yBAAyB,EMnQU,GAAG;ENoQnC,sBAAsB,EMpQU,GAAG;ENwQ3C,+BAA+B,EMvQU,GAAG;ENwQzC,4BAA4B,EMxQU,GAAG;ENyQxC,2BAA2B,EMzQU,GAAG;EN0QvC,0BAA0B,EM1QU,GAAG;EN2QpC,uBAAuB,EM3QU,GAAG;EACpC,UAAU,EAAE,OAAO;ENgH3B,kBAAkB,EAAE,kBAAW;;EAC5B,eAAe,EAAE,kBAAW;;EACvB,UAAU,EAAE,kBAAW;;;AM/GvB,6BAAQ;EACJ,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,IAAI;;AAIxB,8BAAW;EACP,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,IAAI;EAChB,mBAAmB,EAAE,IAAI;;AAIjC,0BAAQ;EACJ,WAAW,EAAE,GAAG;;;AAOxB,iBAAkB;EACd,OAAO,EAAE,MAAM;;;AC3CnB,cAAe;EACX,KAAK,ELAO,IAAI;;AKEhB,oBAAM;EACF,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,cAAc;;AAG3B,iBAAG;EACC,KAAK,EAAE,IAAI;;AAGf,qBAAO;EACH,OAAO,EAAE,IAAI;;AAGjB,0BAAY;EACR,OAAO,EAAE,CAAC;;AAGd,sEAAyC;EACrC,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,OAAO;EAChB,MAAM,EAAE,cAAsB;;AAGlC,mCAAqB;EACjB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,OAAO;;AAGpB,iCAAmB;EACf,OAAO,EAAE,YAAY;EACrB,KAAK,EAAE,KAAK;;AAGhB,uBAAS;EACL,OAAO,EAAE,YAAY;;AAErB,yBAAE;EACE,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,YAAY;EACrB,eAAe,EAAE,IAAI;EACrB,UAAU,EAAE,MAAM;;AAGtB,2BAAI;EACA,SAAS,EAAE,KAAK;;AAGpB,6BAAM;EACF,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,YAAY;EACrB,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,SAAS;EAClB,MAAM,EAAE,OAAO;;;AASvB;;;;;;8BAA4C;EACxC,KAAK,ELtEG,IAAI;EKuEZ,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,OAAO;EACf,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,QAAQ;EACjB,MAAM,EAAE,cAAc;EP4L1B,qBAAqB,EO3LM,GAAG;EP4L3B,kBAAkB,EO5LM,GAAG;EP6L1B,iBAAiB,EO7LM,GAAG;EP8LzB,gBAAgB,EO9LM,GAAG;EP+LtB,aAAa,EO/LM,GAAG;EPqD9B,kBAAkB,EAAE,yBAAW;;EAC5B,eAAe,EAAE,yBAAW;;EACvB,UAAU,EAAE,yBAAW;;;AOpD3B;;;;;;oCAAQ;EACJ,UAAU,EAAE,IAAI;;AAIxB;;qCAAc;EACV,OAAO,EAAE,aAAa;;AAG1B;;qDAA8B;EAC1B,WAAW,EAAE,GAAG;;;AAIxB,oBAAqB;EACjB,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,WAAW,EAAE,GAAG;EAChB,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,YAAY;;AAErB,uCAAmB;EACf,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;EACZ,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,OAAO;EACf,UAAU,EAAE,IAAI;EAChB,OAAO,EAAE,YAAY;EACrB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,KAAK,EAAE,CAAC;;AAER,mEAA8B;EAC1B,UAAU,EAAE,MAAM;;AAO1B,+CAA8B;EAC1B,UAAU,EAAE,IAAI;;;AC3HxB,wCAAyC;EACrC,OAAO,EAAE,YAAY;EACrB,KAAK,EAAE,GAAG;EACV,MAAM,EAAE,IAAI;EACZ,cAAc,EAAE,GAAG;ER4VnB,kBAAkB,EQ3VE,UAAU;ER4V3B,eAAe,EQ5VE,UAAU;ER6VtB,UAAU,EQ7VE,UAAU;EAC9B,MAAM,EAAE,CAAC;;;AAGb,iBAAkB;EACd,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,IAAI;EACT,KAAK,EAAE,CAAC;EACR,KAAK,EAAE,MAAM;EACb,QAAQ,EAAE,IAAI;EACd,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,IAAI;;;AAKhB,qBAAY;EACR,OAAO,EAAE,EAAE;EACX,KAAK,EAAE,IAAI;EACX,YAAY,EAAE,cAAsB;EACpC,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,sCAAsC;EACnD,WAAW,EAAE,GAAG;EAChB,UAAU,EAAE,IAAI;;AAGpB,8BAAqB;EACjB,UAAU,EAAE,OAAO;;AAGvB,kDAAyC;EACrC,UAAU,EAAE,OAAO;;AAGvB,gFAAmD;EAC/C,0BAA0B,EAAG,KAAK;;AAGtC,4BAAmB;EACf,gBAAgB,EAAE,IAAI;;AAG1B,gDAAuC;EACnC,gBAAgB,EAAE,uIAAuI;EACzJ,mBAAmB,EAAE,MAAM;EAC3B,iBAAiB,EAAE,QAAQ;;AAM3B,8CAAqB;EACjB,OAAO,EAAE,IAAI;;AAIrB,gDAAuC;EACnC,KAAK,EAAE,IAAI;;AAGf,2BAAkB;EACd,gBAAgB,EAAE,mOAAmO;EACrP,mBAAmB,EAAE,WAAW;EAChC,iBAAiB,EAAE,QAAQ;;AAG/B,iBAAQ;EACJ,UAAU,EAAE,2PAA2P;EACvQ,mBAAmB,EAAE,KAAK;EAC1B,iBAAiB,EAAE,SAAS;;;;;;;;;;;;AC1EpC,UAGC;EAFC,WAAW,EAAE,eAAe;EAC5B,GAAG,EAAE,gmEAAgmE;;AAGvmE,cAAe;EACb,oBAAoB,EAAE,IAAI;EAC1B,wBAAwB,EAAE,IAAI;EAC9B,KAAK,EAAE,IAAI;EACX,QAAQ,EAAE,MAAM;EAChB,WAAW,EAAE,oEAAoE;EACjF,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,SAAS,EAAE,UAAU;;;AAGvB,gBAAiB;EACf,UAAU,EAAE,WAAW;;;AAGzB;sBACuB;EACrB,OAAO,EAAE,CAAC;;;AAGZ,qBAAsB;EACpB,WAAW,EAAE,IAAI;;;AAGnB,iBAAkB;EAChB,SAAS,EAAE,GAAG;EACd,MAAM,EAAE,QAAQ;;;AAGlB,kBAAmB;EACjB,MAAM,EAAE,CAAC;;;AAGX,iBAAkB;EAChB,eAAe,EAAE,WAAW;EAC5B,UAAU,EAAE,WAAW;EACvB,MAAM,EAAE,CAAC;;;AAGX,kBAAmB;EACjB,QAAQ,EAAE,IAAI;;;AAGhB;;kBAEmB;EACjB,WAAW,EAAE,oBAAoB;EACjC,SAAS,EAAE,GAAG;;;AAGhB,oBAAqB;EACnB,KAAK,EAAE,OAAO;EACd,IAAI,EAAE,OAAO;EACb,MAAM,EAAE,CAAC;;;AAGX,mCAAoC;EAClC,MAAM,EAAE,OAAO;;;AAGjB,oBAAqB;EACnB,WAAW,EAAE,MAAM;;;AAGrB,qCAAsC;EACpC,eAAe,EAAE,UAAU;EAC3B,UAAU,EAAE,UAAU;EACtB,OAAO,EAAE,CAAC;;;AAGZ,oBAAqB;EACnB,eAAe,EAAE,QAAQ;EACzB,cAAc,EAAE,CAAC;;;AAGnB;iBACkB;EAChB,OAAO,EAAE,CAAC;;;AAGZ,gBAAiB;EACf,eAAe,EAAE,UAAU;EAC3B,UAAU,EAAE,UAAU;;;AAGxB,oBAAqB;EACnB,IAAI,EAAE,2FAA2F;;;AAGnG,gBAAiB;EACf,KAAK,EAAE,OAAO;EACd,eAAe,EAAE,IAAI;;;AAGvB;uBACwB;EACtB,eAAe,EAAE,SAAS;;;AAG5B,iBAAkB;EAChB,MAAM,EAAE,CAAC;EACT,MAAM,EAAE,MAAM;EACd,QAAQ,EAAE,MAAM;EAChB,UAAU,EAAE,WAAW;EACvB,MAAM,EAAE,CAAC;EACT,aAAa,EAAE,cAAc;;;AAG/B,wBAAyB;EACvB,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,EAAE;;;AAGb,uBAAwB;EACtB,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,EAAE;;;AAGb;;;;;iBAKkB;EAChB,UAAU,EAAE,IAAI;EAChB,aAAa,EAAE,IAAI;EACnB,WAAW,EAAE,GAAG;;;AAGlB,iBAAkB;EAChB,SAAS,EAAE,IAAI;;;AAGjB,iBAAkB;EAChB,SAAS,EAAE,IAAI;;;AAGjB,iBAAkB;EAChB,SAAS,EAAE,IAAI;;;AAGjB,iBAAkB;EAChB,SAAS,EAAE,IAAI;;;AAGjB,iBAAkB;EAChB,SAAS,EAAE,IAAI;;;AAGjB,iBAAkB;EAChB,SAAS,EAAE,IAAI;;;AAGjB,yBAA0B;EACxB,MAAM,EAAE,CAAC;;;AAGX;iBACkB;EAChB,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,CAAC;;;AAGlB;oBACqB;EACnB,eAAe,EAAE,WAAW;;;AAG9B;;;uBAGwB;EACtB,eAAe,EAAE,WAAW;;;AAG9B,iBAAkB;EAChB,WAAW,EAAE,CAAC;;;AAGhB,mBAAoB;EAClB,WAAW,EAAE,sDAAsD;EACnE,SAAS,EAAE,IAAI;;;AAGjB,kBAAmB;EACjB,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,CAAC;EAChB,IAAI,EAAE,2DAA2D;;;AAGnE,uBAAwB;EACtB,IAAI,EAAE,kCAAkC;EACxC,WAAW,EAAE,CAAC;EACd,OAAO,EAAE,YAAY;EACrB,eAAe,EAAE,IAAI;EACrB,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;EAClC,mBAAmB,EAAE,IAAI;EACzB,gBAAgB,EAAE,IAAI;EACtB,eAAe,EAAE,IAAI;EACrB,WAAW,EAAE,IAAI;;;AAGnB,mCAAoC;EAClC,OAAO,EAAE,OAAO;;;AAGlB,8BAA6B;EAC3B,UAAU,EAAE,YAAY;;;AAG1B,6BAA4B;EAC1B,aAAa,EAAE,YAAY;;;AAG7B,sBAAuB;EACrB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,CAAC;EACN,IAAI,EAAE,CAAC;EACP,OAAO,EAAE,KAAK;EACd,aAAa,EAAE,GAAG;EAClB,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,KAAK;;;AAGpB,4BAA6B;EAC3B,OAAO,EAAE,IAAI;;;AAGf;;;;;iBAKkB;EAChB,QAAQ,EAAE,QAAQ;EAClB,UAAU,EAAE,GAAG;EACf,aAAa,EAAE,IAAI;EACnB,WAAW,EAAE,IAAI;EACjB,WAAW,EAAE,GAAG;;;AAGlB;;;;;+BAKgC;EAC9B,OAAO,EAAE,IAAI;EACb,KAAK,EAAE,IAAI;EACX,cAAc,EAAE,MAAM;;;AAGxB;;;;;+BAKgC;EAC9B,YAAY,EAAE,GAAG;EACjB,WAAW,EAAE,KAAK;EAClB,eAAe,EAAE,IAAI;;;AAGvB;;;;;6CAK8C;EAC5C,OAAO,EAAE,YAAY;;;AAGvB,iBAAkB;EAChB,cAAc,EAAE,KAAK;EACrB,SAAS,EAAE,MAAM;EACjB,WAAW,EAAE,GAAG;EAChB,aAAa,EAAE,cAAc;;;AAG/B,yBAA0B;EACxB,WAAW,EAAE,CAAC;;;AAGhB,iBAAkB;EAChB,cAAc,EAAE,KAAK;EACrB,SAAS,EAAE,MAAM;EACjB,WAAW,EAAE,KAAK;EAClB,aAAa,EAAE,cAAc;;;AAG/B,yBAA0B;EACxB,WAAW,EAAE,CAAC;;;AAGhB,iBAAkB;EAChB,SAAS,EAAE,KAAK;EAChB,WAAW,EAAE,IAAI;;;AAGnB,yBAA0B;EACxB,WAAW,EAAE,GAAG;;;AAGlB,iBAAkB;EAChB,SAAS,EAAE,MAAM;;;AAGnB,yBAA0B;EACxB,WAAW,EAAE,GAAG;;;AAGlB,iBAAkB;EAChB,SAAS,EAAE,GAAG;;;AAGhB,yBAA0B;EACxB,WAAW,EAAE,GAAG;;;AAGlB,iBAAkB;EAChB,SAAS,EAAE,GAAG;EACd,KAAK,EAAE,IAAI;;;AAGb,yBAA0B;EACxB,WAAW,EAAE,GAAG;;;AAGlB;;;;;;kBAMmB;EACjB,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,IAAI;;;;;;;;;;;AAWrB;iBACkB;EAChB,YAAY,EAAE,GAAG;;;AAGnB;;;oBAGqB;EACnB,UAAU,EAAE,CAAC;EACb,aAAa,EAAE,CAAC;;;AAGlB,qBAAoB;EAClB,UAAU,EAAE,IAAI;;;AAGlB,iBAAkB;EAChB,OAAO,EAAE,CAAC;;;AAGZ,oBAAqB;EACnB,OAAO,EAAE,CAAC;EACV,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,GAAG;EACd,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,IAAI;;;AAGnB,oBAAqB;EACnB,OAAO,EAAE,MAAM;EACf,aAAa,EAAE,IAAI;;;AAGrB,yBAA0B;EACxB,OAAO,EAAE,MAAM;EACf,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,cAAc;;;AAG7B,wCAAuC;EACrC,UAAU,EAAE,CAAC;;;AAGf,uCAAsC;EACpC,aAAa,EAAE,CAAC;;;AAGlB,oBAAqB;EACnB,OAAO,EAAE,KAAK;EACd,KAAK,EAAE,IAAI;EACX,QAAQ,EAAE,IAAI;EACd,UAAU,EAAE,MAAM;EAClB,UAAU,EAAE,QAAQ;;;AAGtB,uBAAwB;EACtB,WAAW,EAAE,IAAI;;;AAGnB;uBACwB;EACtB,OAAO,EAAE,QAAQ;EACjB,MAAM,EAAE,cAAc;;;AAGxB,uBAAwB;EACtB,gBAAgB,EAAE,IAAI;EACtB,UAAU,EAAE,cAAc;;;AAG5B,qCAAsC;EACpC,gBAAgB,EAAE,OAAO;;;AAG3B,kBAAmB;EACjB,SAAS,EAAE,IAAI;EACf,eAAe,EAAE,UAAU;EAC3B,UAAU,EAAE,UAAU;;;AAGxB,mBAAoB;EAClB,OAAO,EAAE,CAAC;EACV,WAAW,EAAE,KAAK;EAClB,cAAc,EAAE,KAAK;EACrB,MAAM,EAAE,CAAC;EACT,SAAS,EAAE,GAAG;EACd,gBAAgB,EAAE,mBAAgB;EAClC,aAAa,EAAE,GAAG;;;AAGpB;yBAC0B;EACxB,cAAc,EAAE,MAAM;EACtB,OAAO,EAAE,OAAO;;;AAGlB,yBAAwB;EACtB,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;EACT,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,GAAG;EAChB,UAAU,EAAE,WAAW;EACvB,MAAM,EAAE,CAAC;;;AAGX,yBAA0B;EACxB,aAAa,EAAE,IAAI;;;AAGrB;kBACmB;EACjB,OAAO,EAAE,IAAI;EACb,QAAQ,EAAE,IAAI;EACd,SAAS,EAAE,GAAG;EACd,WAAW,EAAE,IAAI;EACjB,gBAAgB,EAAE,OAAO;EACzB,aAAa,EAAE,GAAG;;;AAGpB,6BAA8B;EAC5B,aAAa,EAAE,CAAC;EAChB,UAAU,EAAE,MAAM;;;AAGpB,kBAAmB;EACjB,SAAS,EAAE,MAAM;;;AAGnB,uBAAwB;EACtB,OAAO,EAAE,MAAM;EACf,SAAS,EAAE,OAAO;EAClB,OAAO,EAAE,CAAC;EACV,MAAM,EAAE,CAAC;EACT,QAAQ,EAAE,OAAO;EACjB,WAAW,EAAE,OAAO;EACpB,SAAS,EAAE,MAAM;EACjB,gBAAgB,EAAE,WAAW;EAC7B,MAAM,EAAE,CAAC;;;AAGX;6BAC8B;EAC5B,OAAO,EAAE,MAAM;;;AAGjB,kBAAmB;EACjB,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,OAAO;EAChB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,IAAI;EACjB,KAAK,EAAE,IAAI;EACX,cAAc,EAAE,MAAM;EACtB,gBAAgB,EAAE,OAAO;EACzB,MAAM,EAAE,cAAc;EACtB,mBAAmB,EAAE,IAAI;EACzB,aAAa,EAAE,GAAG;EAClB,UAAU,EAAE,mBAAmB;;;AAGjC,oBAAqB;EACnB,KAAK,EAAE,OAAO;;;AAGhB;;;;;;;;qBAQsB;EACpB,KAAK,EAAE,OAAO;;;AAGhB;qBACsB;EACpB,KAAK,EAAE,OAAO;;;AAGhB;;;;;sBAKuB;EACrB,KAAK,EAAE,IAAI;;;AAGb,sBAAuB;EACrB,KAAK,EAAE,OAAO;;;AAGhB;;qBAEsB;EACpB,KAAK,EAAE,OAAO;;;AAGhB;;;;;;;sBAOuB;EACrB,KAAK,EAAE,OAAO;;;AAGhB;oBACqB;EACnB,KAAK,EAAE,OAAO;;;AAGhB,qBAAsB;EACpB,KAAK,EAAE,OAAO;;;AAGhB,qBAAsB;EACpB,gBAAgB,EAAE,OAAO;EACzB,KAAK,EAAE,OAAO;;;AAGhB,6BAA8B;EAC5B,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,IAAI;;;AAGnB,qBAAsB;EACpB,KAAK,EAAE,OAAO;;;AAGhB;;qBAEsB;EACpB,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,IAAI;;;AAGnB,qBAAsB;EACpB,KAAK,EAAE,OAAO;;;AAGhB,qBAAsB;EACpB,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;;;AAGpB,qBAAsB;EACpB,KAAK,EAAE,IAAI;EACX,WAAW,EAAE,IAAI;;;AAGnB;uBACwB;EACtB,gBAAgB,EAAE,OAAO;EACzB,KAAK,EAAE,OAAO;;;AAGhB;sBACuB;EACrB,gBAAgB,EAAE,OAAO;EACzB,KAAK,EAAE,OAAO;;;AAGhB,sBAAuB;EACrB,KAAK,EAAE,OAAO;EACd,WAAW,EAAE,IAAI;;;AAGnB,kBAAmB;EACjB,OAAO,EAAE,YAAY;EACrB,OAAO,EAAE,OAAO;EAChB,IAAI,EAAE,2DAA2D;EACjE,WAAW,EAAE,IAAI;EACjB,KAAK,EAAE,IAAI;EACX,cAAc,EAAE,MAAM;EACtB,gBAAgB,EAAE,OAAO;EACzB,MAAM,EAAE,cAAc;EACtB,mBAAmB,EAAE,IAAI;EACzB,aAAa,EAAE,GAAG;EAClB,UAAU,EAAE,mBAAmB;;;AAGjC,8BAA+B;EAC7B,eAAe,EAAE,IAAI;;;AAGvB,gDAA+C;EAC7C,UAAU,EAAE,GAAG;;;AAGjB,oCAAqC;EACnC,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,qBAAqB;EAC7B,cAAc,EAAE,MAAM;;;AAGxB,sCAAqC;EACnC,OAAO,EAAE,CAAC;EACV,QAAQ,EAAE,QAAQ;EAClB,YAAY,EAAE,OAAO;;;AC9oBvB,mDAAoD;EAChD,UAAU,EAAE,IAAI;EAChB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,GAAG;EAChB,OAAO,EAAE,IAAI;;AAEb,yEAAW;EACP,KAAK,ERVG,IAAI;EQWZ,WAAW,EAAE,cAAsB;EACnC,YAAY,EAAE,IAAI;EAClB,WAAW,EAAE,CAAC;EACd,SAAS,EAAE,IAAI;EACf,UAAU,EAAE,MAAM;;AAGtB,qEAAS;EACL,WAAW,EAAE,GAAG;;AAGpB,6DAAK;EACD,UAAU,EAAE,OAAO;;AAGvB,yDAAG;EACC,MAAM,EAAE,GAAG;EACX,MAAM,EAAE,IAAI;EACZ,UAAU,EAAE,cAAsB;EAClC,UAAU,EAAE,IAAI;;AAGpB,6DAAK;EACD,MAAM,EAAE,cAAsB;EAC9B,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,GAAG;EACZ,aAAa,EAAE,GAAG;EAClB,SAAS,EAAE,IAAI;EACf,WAAW,EAAE,sCAAsC;;AAGvD,2DAAI;EACA,MAAM,EAAE,cAAsB;EAC9B,UAAU,EAAE,OAAO;EACnB,OAAO,EAAE,IAAI;EV0NjB,qBAAqB,EUzNM,GAAG;EV0N3B,kBAAkB,EU1NM,GAAG;EV2N1B,iBAAiB,EU3NM,GAAG;EV4NzB,gBAAgB,EU5NM,GAAG;EV6NtB,aAAa,EU7NM,GAAG;;AAE1B,qEAAK;EACD,OAAO,EAAE,CAAC;;AAIlB,iFAAe;EACX,gBAAgB,EAAE,OAAO;;AAS7B,iFAAe;EACX,UAAU,EAAE,MAAM;;AAGtB,uFAAkB;EACd,MAAM,EAAE,KAAK;;AAGjB,iEAAO;EACH,KAAK,EAAE,IAAI;EACX,MAAM,EAAE,IAAI;;AAGhB,kKAA8B;EAC1B,UAAU,EAAE,MAAM;;AAGtB,sLAAwC;EACpC,SAAS,EAAI,eAAe;EAC5B,WAAW,EAAE,gBAAgB;;;;;ACnFrC,IAAK;EAAE,KAAK,EAAE,IAAI;;;;AAElB,aAAc;EACZ,IAAK;IAAE,KAAK,EAAE,IAAI;;;;EAClB,IAAK;IAAE,KAAK,EAAE,IAAI;;;;EAClB,IAAK;IAAE,KAAK,EAAE,IAAI;;;;EAClB,IAAK;IAAE,KAAK,EAAE,IAAI;;;;EAClB,IAAK;IAAE,KAAK,EAAE,IAAI;;;;;EAElB,gBAAiB;IAAE,KAAK,EAAE,IAAI;;;EAC9B,IAAK;IAAE,KAAK,EAAE,IAAI;;;;EAClB,IAAK;IAAE,KAAK,EAAE,IAAI;;;;EAClB,IAAK;IAAE,KAAK,EAAE,IAAI;;;;EAClB,UAAW;IAAE,KAAK,EAAE,IAAI;;;;EACxB,IAAK;IAAE,KAAK,EAAE,GAAG;;;;;;AAInB,wBAAyB;EACvB,IAAK;IAAE,KAAK,EAAE,IAAI;;;EAClB,IAAK;IAAE,KAAK,EAAE,IAAI;IAAE,WAAW,EAAE,IAAI;;;EACrC,IAAK;IAAE,KAAK,EAAE,IAAI;IAAE,UAAU,EAAE,MAAM;;;EACtC,IAAK;IAAE,KAAK,EAAE,IAAI;IAAE,WAAW,EAAE,IAAI;;;EACrC,IAAK;IAAE,KAAK,EAAE,IAAI;;;EAClB,gBAAiB;IAAE,KAAK,EAAE,IAAI;;;EAC9B,IAAK;IAAE,KAAK,EAAE,IAAI;IAAE,WAAW,EAAE,IAAI;;;EACrC,IAAK;IAAE,KAAK,EAAE,IAAI;;;EAClB,IAAK;IAAE,KAAK,EAAE,IAAI;;;;AAIpB,eAAgB;EAAE,OAAO,EAAE,GAAG;EAAE,MAAM,EAAE,cAAe;;;;AAGvD,WAAY;EAAE,UAAU,EAAE,CAAC;EAAE,aAAa,EAAE,CAAC;;;;AAC7C;;;;;;;KAOM;EAAE,eAAe,EAAE,IAAI;;;;AAE7B;;;;KAIM;EAAE,UAAU,EAAE,IAAI;;;AD4CpB,mFAAgB;EACZ,OAAO,EAAE,IAAI;EACb,MAAM,EAAE,cAAsB;;AAGlC,2EAAY;EACR,KAAK,EAAE,IAAI;EACX,YAAY,EAAE,KAAK;;AAEnB,qFAAK;EACD,MAAM,EAAE,IAAI;EACZ,UAAU,EAAC,IAAI;EACf,OAAO,EAAE,CAAC;;AAIlB,sgBAAuD;EACnD,eAAe,EAAE,OAAO;;;AAK5B,+BAAS;EACL,OAAO,EAAG,IAAI;;;AXhCtB,2BAA4B;EACxB,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,OAAO;EAChB,SAAS,EAAE,IAAI;ECkLf,qBAAqB,EDjLE,KAAK;ECkLzB,kBAAkB,EDlLE,KAAK;ECmLxB,iBAAiB,EDnLE,KAAK;ECoLvB,gBAAgB,EDpLE,KAAK;ECqLpB,aAAa,EDrLE,KAAK;EAC5B,OAAO,EAAE,IAAI;EACb,gBAAgB,EAAE,IAAI;EACtB,QAAQ,EAAE,QAAQ;EAClB,GAAG,EAAE,IAAI;EACT,KAAK,EAAE,IAAI;EACX,OAAO,EAAE,EAAE;ECqCX,kBAAkB,EAAE,+BAAW;;EAC5B,eAAe,EAAE,+BAAW;;EACvB,UAAU,EAAE,+BAAW;;;;ADnCnC,iCAAkC;EAC9B,gBAAgB,EAAE,IAAI;;;AAItB,oCAAkB;EACd,OAAO,EAAE,IAAI;;AAGjB,8BAAY;EACR,UAAU,EAAE,CAAC;;AAGjB,oCAAkB;EACd,GAAG,EAAE,CAAC","sources"["file:///D:/APMServ/www/htdocs/editor.md/scss/font-awesome.scss","../editormd.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/lib/prefixes.scss","../editormd.logo.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/lib/variables.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.menu.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.dialog.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.grid.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.tab.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.form.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.codemirror.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/github-markdown.scss","../editormd.preview.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/prettify.scss"],"names"[],"file":"editormd.css"} \ No newline at end of file +/*! Editor.md v1.3.0 | editormd.css.min.map | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-12 */ +{"version":3,"mappings":"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","sources"["file:///D:/APMServ/www/htdocs/editor.md/scss/font-awesome.scss","../editormd.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/lib/prefixes.scss","../editormd.logo.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/lib/variables.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.menu.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.dialog.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.grid.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.tab.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.form.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/editormd.codemirror.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/github-markdown.scss","../editormd.preview.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/prettify.scss"],"names"[],"file":"editormd.css"} \ No newline at end of file diff --git a/css/editormd.logo.css b/css/editormd.logo.css index 4b83271..50c659c 100644 --- a/css/editormd.logo.css +++ b/css/editormd.logo.css @@ -2,12 +2,12 @@ * Editor.md * * @file editormd.logo.css - * @version v1.2.0 + * @version v1.3.0 * @description A simple online markdown editor. * @license MIT License * @author Pandao * {@link https://github.com/pandao/editor.md} - * @updateTime 2015-03-10 + * @updateTime 2015-03-12 */ /*! diff --git a/css/editormd.logo.css.map b/css/editormd.logo.css.map index 18ddd96..de9574f 100644 --- a/css/editormd.logo.css.map +++ b/css/editormd.logo.css.map @@ -2,12 +2,12 @@ * Editor.md * * @file editormd.logo.css.map - * @version v1.2.0 + * @version v1.3.0 * @description A simple online markdown editor. * @license MIT License * @author Pandao * {@link https://github.com/pandao/editor.md} - * @updateTime 2015-03-10 + * @updateTime 2015-03-12 */ { diff --git a/css/editormd.logo.css.min.map b/css/editormd.logo.css.min.map index 16f5020..14fe039 100644 --- a/css/editormd.logo.css.min.map +++ b/css/editormd.logo.css.min.map @@ -1,2 +1,2 @@ -/*! Editor.md v1.2.0 | editormd.logo.css.min.map | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-10 */ +/*! Editor.md v1.3.0 | editormd.logo.css.min.map | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-12 */ {"version":3,"mappings":";;;;;;;;AAKA,UASC;EARA,WAAW,EAAE,eAAe;EAC5B,GAAG,EAAC,yCAAyC;EAC7C,GAAG,EAAC,sQAA4E;EAIhF,WAAW,EAAE,MAAM;EACnB,UAAU,EAAE,MAAM;;AAGnB;;;;;;;;iBAQkB;EACjB,WAAW,EAAE,eAAe;EAC5B,KAAK,EAAE,IAAI;EACX,UAAU,EAAE,MAAM;EAClB,WAAW,EAAE,MAAM;EACnB,YAAY,EAAE,MAAM;EACpB,cAAc,EAAE,IAAI;EACjB,SAAS,EAAE,OAAO;EACrB,WAAW,EAAE,CAAC;EACX,OAAO,EAAE,YAAY;EACrB,cAAc,EAAE,IAAI;EACpB,cAAc,EAAE,OAAO;EAG1B,sBAAsB,EAAE,WAAW;EACnC,uBAAuB,EAAE,SAAS;;AAE/B;;;;;;;;wBAAS;EACL,OAAO,EAAE,QAAQ;;;;;;;AAQzB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,KAAK;;;AAGpB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,iBAAkB;EACd,SAAS,EAAE,GAAG;;;AAGlB,oBAAqB;EACjB,KAAK,EChFO,OAAU","sources"["../editormd.logo.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/lib/variables.scss"],"names"[],"file":"editormd.logo.css"} \ No newline at end of file diff --git a/css/editormd.logo.min.css b/css/editormd.logo.min.css index dd8ef7d..79918e0 100644 --- a/css/editormd.logo.min.css +++ b/css/editormd.logo.min.css @@ -1,4 +1,4 @@ -/*! Editor.md v1.2.0 | editormd.logo.min.css | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-10 */ +/*! Editor.md v1.3.0 | editormd.logo.min.css | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-12 */ /*! * prefixes.scss * @author Pandao diff --git a/css/editormd.min.css b/css/editormd.min.css index 76f854a..5d873ee 100644 --- a/css/editormd.min.css +++ b/css/editormd.min.css @@ -1,4 +1,4 @@ -/*! Editor.md v1.2.0 | editormd.min.css | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-10 */ +/*! Editor.md v1.3.0 | editormd.min.css | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-12 */ @charset "UTF-8";/*! * prefixes.scss * @author Pandao @@ -9,7 +9,7 @@ *//*! * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.3.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0) format("embedded-opentype"),url(../fonts/fontawesome-webfont.woff2?v=4.3.0) format("woff2"),url(../fonts/fontawesome-webfont.woff?v=4.3.0) format("woff"),url(../fonts/fontawesome-webfont.ttf?v=4.3.0) format("truetype"),url(../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0,0)}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before,.fa-genderless:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.editormd{width:90%;height:640px;margin:0 auto;text-align:left;overflow:hidden;position:relative;border:1px solid #ddd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:"Microsoft YaHei","微软雅黑",Helvetica,Tahoma,STXihei,"华文细黑",STHeiti,"Helvetica Neue",Helvetica,Tahoma,"Droid Sans","wenquanyi micro hei",FreeSans,Arimo,Arial,SimSun,"宋体",Heiti,"黑体",sans-serif}.editormd a{text-decoration:none}.editormd img{border:none;vertical-align:middle}.editormd .editormd-html-textarea,.editormd .editormd-markdown-textarea,.editormd>textarea{width:0;height:0;outline:0;resize:none}.editormd button,.editormd input[type=text],.editormd input[type=button],.editormd input[type=submit],.editormd select,.editormd textarea{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none}/*! + */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.3.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0) format("embedded-opentype"),url(../fonts/fontawesome-webfont.woff2?v=4.3.0) format("woff2"),url(../fonts/fontawesome-webfont.woff?v=4.3.0) format("woff"),url(../fonts/fontawesome-webfont.ttf?v=4.3.0) format("truetype"),url(../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0,0)}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before,.fa-genderless:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.editormd{width:90%;height:640px;margin:0 auto 15px;text-align:left;overflow:hidden;position:relative;border:1px solid #ddd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:"Microsoft YaHei","微软雅黑",Helvetica,Tahoma,STXihei,"华文细黑",STHeiti,"Helvetica Neue",Helvetica,Tahoma,"Droid Sans","wenquanyi micro hei",FreeSans,Arimo,Arial,SimSun,"宋体",Heiti,"黑体",sans-serif}.editormd a{text-decoration:none}.editormd img{border:none;vertical-align:middle}.editormd .editormd-html-textarea,.editormd .editormd-markdown-textarea,.editormd>textarea{width:0;height:0;outline:0;resize:none}.editormd button,.editormd input[type=text],.editormd input[type=button],.editormd input[type=submit],.editormd select,.editormd textarea{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none}/*! * prefixes.scss * @author Pandao * @version 0.1.0 diff --git a/css/editormd.preview.css b/css/editormd.preview.css index a366340..b703628 100644 --- a/css/editormd.preview.css +++ b/css/editormd.preview.css @@ -2,12 +2,12 @@ * Editor.md * * @file editormd.preview.css - * @version v1.2.0 + * @version v1.3.0 * @description A simple online markdown editor. * @license MIT License * @author Pandao * {@link https://github.com/pandao/editor.md} - * @updateTime 2015-03-10 + * @updateTime 2015-03-12 */ /*! diff --git a/css/editormd.preview.css.map b/css/editormd.preview.css.map index f8a1261..dd95f0d 100644 --- a/css/editormd.preview.css.map +++ b/css/editormd.preview.css.map @@ -2,12 +2,12 @@ * Editor.md * * @file editormd.preview.css.map - * @version v1.2.0 + * @version v1.3.0 * @description A simple online markdown editor. * @license MIT License * @author Pandao * {@link https://github.com/pandao/editor.md} - * @updateTime 2015-03-10 + * @updateTime 2015-03-12 */ { diff --git a/css/editormd.preview.css.min.map b/css/editormd.preview.css.min.map index 7037f2d..fcfa6a3 100644 --- a/css/editormd.preview.css.min.map +++ b/css/editormd.preview.css.min.map @@ -1,2 +1,2 @@ -/*! Editor.md v1.2.0 | editormd.preview.css.min.map | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-10 */ +/*! Editor.md v1.3.0 | editormd.preview.css.min.map | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-12 */ {"version":3,"mappings":"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","sources"["file:///D:/APMServ/www/htdocs/editor.md/scss/github-markdown.scss","../editormd.preview.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/lib/variables.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/lib/prefixes.scss","file:///D:/APMServ/www/htdocs/editor.md/scss/prettify.scss"],"names"[],"file":"editormd.preview.css"} \ No newline at end of file diff --git a/css/editormd.preview.min.css b/css/editormd.preview.min.css index bdbbd33..cdeb57d 100644 --- a/css/editormd.preview.min.css +++ b/css/editormd.preview.min.css @@ -1,4 +1,4 @@ -/*! Editor.md v1.2.0 | editormd.preview.min.css | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-10 */ +/*! Editor.md v1.3.0 | editormd.preview.min.css | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-12 */ /*! * prefixes.scss * @author Pandao diff --git a/editormd.amd.js b/editormd.amd.js index 281a9dd..b26e340 100644 --- a/editormd.amd.js +++ b/editormd.amd.js @@ -2,12 +2,12 @@ * Editor.md * * @file editormd.amd.js - * @version v1.2.0 + * @version v1.3.0 * @description A simple online markdown editor. * @license MIT License * @author Pandao * {@link https://github.com/pandao/editor.md} - * @updateTime 2015-03-10 + * @updateTime 2015-03-12 */ ;(function(factory) { @@ -136,7 +136,7 @@ editormd.toolbarModes = { full : [ "undo", "redo", "|", - "bold", "del", "italic", "quote", "|", + "bold", "del", "italic", "quote", "ucwords", "uppercase", "lowercase", "|", "h1", "h2", "h3", "h4", "h5", "h6", "|", "list-ul", "list-ol", "hr", "|", "link", "anchor", "image", "code", "preformatted-text", "code-block", "table", "datetime", "emoji", "htmlEntities", "|", @@ -145,7 +145,7 @@ ], simple : [ "undo", "redo", "|", - "bold", "del", "italic", "quote", "|", + "bold", "del", "italic", "quote", "uppercase", "lowercase", "|", "h1", "h2", "h3", "h4", "h5", "h6", "|", "list-ul", "list-ol", "hr", "|", "watch", "preview", "fullscreen", "|", @@ -165,11 +165,13 @@ markdown : "", width : "100%", height : "100%", - path : "./lib/", // Dependents module file directory - autoLoadModules : true, // Automatic load dependent module files + path : "../lib/", // Dependents module file directory + pluginPath : "", // If this empty, default use settings.path + "../plugins/" + autoLoadModules : true, // Automatic load dependent module files watch : true, placeholder : "now coding markdown...", codeFold : false, + autoHeight : false, autoCloseTags : true, searchReplace : false, readOnly : false, @@ -183,6 +185,7 @@ dialogMaskOpacity : 0.1, fontSize : "13px", saveHTMLToTextarea : false, + disabledKeyMaps : [], onload : function() {}, onresize : function() {}, @@ -205,6 +208,8 @@ toc : true, // Table of contents tocStartLevel : 1, // Said from H1 to create ToC htmlDecode : false, // Open the HTML tag identification + atLink : true, // for @link + emailLink : true, // for email address auto link taskList : false, // Enable Github Flavored Markdown task lists emoji : false, // :emoji: , Support Github emoji, Twitter Emoji (Twemoji); // Support FontAwesome icon emoji :fa-xxx: > Using fontAwesome icon web fonts; @@ -213,16 +218,25 @@ flowChart : false, // flowChart.js only support IE9+ sequenceDiagram : false, // sequenceDiagram.js only support IE9+ previewCodeHighlight : true, - - inRequirejs : false, // if using Require.js, you must set true value. - + toolbar : true, // show/hide toolbar + toolbarAutoFixed : true, // on window scroll auto fixed position toolbarIcons : function() { return editormd.toolbarModes.full; // return array }, toolbarTitles : {}, - toolbarHandlers : {}, - toolbarCustomIcons : {}, // using html tag create toolbar icon, unused default tag. + toolbarHandlers : { + ucwords : function() { + return editormd.toolbarHandlers.ucwords; + }, + lowercase : function() { + return editormd.toolbarHandlers.lowercase; + } + }, + toolbarCustomIcons : { // using html tag create toolbar icon, unused default tag. + lowercase : "a", + "ucwords" : "Aa" + }, toolbarIconsClass : { undo : "fa-undo", redo : "fa-repeat", @@ -230,6 +244,7 @@ del : "fa-strikethrough", italic : "fa-italic", quote : "fa-quote-left", + uppercase : "fa-font", h1 : editormd.classPrefix + "bold", h2 : editormd.classPrefix + "bold", h3 : editormd.classPrefix + "bold", @@ -269,6 +284,9 @@ del : "删除线", italic : "斜体", quote : "引用", + ucwords : "将每个单词首字母转成大写", + uppercase : "将所选转换成大写", + lowercase : "将所选转换成小写", h1 : "标题1", h2 : "标题2", h3 : "标题3", @@ -396,6 +414,8 @@ } }; + settings.pluginPath = (settings.pluginPath === "") ? this.settings.path + "../plugins/" : settings.pluginPath; + this.state.watching = (settings.watch) ? true : false; if (!editor.hasClass("editormd")) { @@ -406,6 +426,11 @@ width : (typeof settings.width === "number") ? settings.width + "px" : settings.width, height : (typeof settings.height === "number") ? settings.height + "px" : settings.height }); + + if (settings.autoHeight) + { + editor.css("height", "auto"); + } var markdownTextarea = this.markdownTextarea = editor.children("textarea"); @@ -452,7 +477,7 @@ } } - if (typeof define === "function" || !settings.autoLoadModules) + if ((typeof define === "function" && define.amd) || !settings.autoLoadModules) { if (typeof CodeMirror !== "undefined") editormd.$CodeMirror = CodeMirror; if (typeof marked !== "undefined") editormd.$marked = marked; @@ -543,8 +568,7 @@ editormd.loadCSS(loadPath + "codemirror/addon/fold/foldgutter"); } - editormd.loadScript(loadPath + "codemirror/codemirror.min", function() { - + editormd.loadScript(loadPath + "codemirror/codemirror.min", function() { editormd.$CodeMirror = CodeMirror; editormd.loadScript(loadPath + "codemirror/modes.min", function() { @@ -659,6 +683,12 @@ fontSize : settings.fontSize, width : (!settings.watch) ? "100%" : "50%" }); + + if (settings.autoHeight) + { + this.codeMirror.css("height", "auto"); + this.cm.setOption("viewportMargin", Infinity); + } return this; }, @@ -862,6 +892,64 @@ return this; }, + /** + * 页面滚动时工具栏的固定定位 + * Set toolbar in window scroll auto fixed position + * + * @returns {editormd} 返回editormd的实例对象 + */ + + setToolbarAutoFixed : function(fixed) { + + var state = this.state; + var editor = this.editor; + var toolbar = this.toolbar; + var settings = this.settings; + + if (typeof fixed !== "undefined") + { + settings.toolbarAutoFixed = fixed; + } + + var autoFixedHandle = function(){ + var top = $(window).scrollTop(); + + if (!settings.toolbarAutoFixed) + { + return false; + } + + if (top - editor.offset().top > 10) + { + toolbar.css({ + position : "fixed", + width : editor.width() + "px", + left : ($(window).width() - editor.width()) / 2 + "px" + }); + } + else + { + toolbar.css({ + position : "absolute", + width : "100%", + left : 0 + }); + } + }; + + if (!state.fullscreen && !state.preview && settings.toolbar && settings.toolbarAutoFixed) + { + $(window).bind("scroll", autoFixedHandle); + } + + if (!settings.toolbarAutoFixed) + { + $(window).unbind("scroll", autoFixedHandle); + } + + return this; + }, + /** * 配置和初始化工具栏 * Set toolbar and Initialization @@ -892,10 +980,8 @@ return ; } - //else - //{ + toolbar.show(); - //} var icons = (typeof settings.toolbarIcons === "function") ? settings.toolbarIcons() : ((typeof settings.toolbarIcons === "string") ? editormd.toolbarModes[settings.toolbarIcons] : settings.toolbarIcons); @@ -946,7 +1032,11 @@ toolbarMenu.html(menu); + toolbarMenu.find("[title=\"Lowercase\"]").attr("title", settings.lang.toolbar.lowercase); + toolbarMenu.find("[title=\"ucwords\"]").attr("title", settings.lang.toolbar.ucwords); + this.setToolbarHandler(); + this.setToolbarAutoFixed(); return this; }, @@ -1000,7 +1090,7 @@ var codeMirror = this.codeMirror; var classPrefix = this.classPrefix; var previewContainer = this.previewContainer; - var toolbarIcons = this.toolbarIcons = toolbar.find("." + classPrefix + "menu a"); + var toolbarIcons = this.toolbarIcons = toolbar.find("." + classPrefix + "menu > li > a"); var toolbarIconHandlers = this.getToolbarHandles(); toolbarIcons.bind(editormd.mouseOrTouch("click", "touchend"), function(event) { @@ -1222,6 +1312,7 @@ this.saveToTextareas(); this.resize(); + this.registerKeyMaps(); return this; }, @@ -1294,6 +1385,86 @@ return this; }, + /** + * 注册键盘快捷键处理 + * Register CodeMirror keyMaps (keyboard shortcuts). + * + * @param {Object} keyMap KeyMap key/value {"(Ctrl/Shift/Alt)-Key" : function(){}} + * @returns {editormd} return this + */ + + registerKeyMaps : function(keyMap) { + keyMap = keyMap || null; + + var _this = this; + var cm = this.cm; + var settings = this.settings; + + if (keyMap) + { + for (var i in keyMap) + { + if ($.inArray(i, settings.disabledKeyMaps) < 0) + { + var map = {}; + map[i] = keyMap[i]; + + cm.addKeyMap(keyMap); + } + } + } + else + { + for (var i in editormd.keyMaps) + { + var keyMap = editormd.keyMaps[i]; + var handle = (typeof keyMap === "string") ? $.proxy(editormd.toolbarHandlers[keyMap], _this) : $.proxy(keyMap, _this); + + if ($.inArray(i, ["F9", "F10", "F11"]) < 0 && $.inArray(i, settings.disabledKeyMaps) < 0) + { + var map = {}; + map[i] = handle; + + cm.addKeyMap(map); + } + } + + $(window).keydown(function(event) { + + var keymaps = { + "120" : "F9", + "121" : "F10", + "122" : "F11" + }; + + if ( $.inArray(keymaps[event.keyCode], settings.disabledKeyMaps) < 0 ) + { + switch (event.keyCode) + { + case 120: + $.proxy(editormd.toolbarHandlers["watch"], _this)(); + return false; + break; + + case 121: + $.proxy(editormd.toolbarHandlers["preview"], _this)(); + return false; + break; + + case 122: + $.proxy(editormd.toolbarHandlers["fullscreen"], _this)(); + break; + + default: + break; + } + } + }); + } + + return this; + }, + /** * 加载队列完成之后的显示处理 * Display handle of the module queues loaded after. @@ -1323,6 +1494,7 @@ editor.data("oldWidth", editor.width()).data("oldHeight", editor.height()); // 为了兼容Zepto this.resize(); + this.registerKeyMaps(); $(window).resize(function(){ _this.resize(); @@ -1397,7 +1569,8 @@ touchend : previewUnbindScroll }); - codeEditor.on("change", function(cm, changeObj) { + codeEditor.on("change", function(cm, changeObj) { + _this.previewContainer.css("padding-left", settings.autoHeight && $("body").height() > $(window).height() ? "30px" : "20px"); _this.saveToTextareas(); }); @@ -1453,26 +1626,46 @@ width = width || null; height = height || null; - - var editor = this.editor; - var preview = this.preview; - var toolbar = this.toolbar; - var settings = this.settings; - var codeEditor = this.codeEditor; - var codeMirror = this.codeMirror; - if(width && height) + var state = this.state; + var editor = this.editor; + var preview = this.preview; + var toolbar = this.toolbar; + var settings = this.settings; + var codeEditor = this.codeEditor; + var codeMirror = this.codeMirror; + + if(width) { editor.css({ - width : (typeof width === "number") ? width + "px" : width, - height : (typeof height === "number") ? height + "px" : height + width : (typeof width === "number") ? width + "px" : width }); } - - if (settings.toolbar && !settings.readOnly) { - codeMirror.css("margin-top", toolbar.height() + 1).height(editor.height() - toolbar.height()); - } else { - codeMirror.css("margin-top", 0).height(editor.height()); + + if (settings.autoHeight && !state.fullscreen && !state.preview) + { + editor.css("height", "auto"); + codeMirror.css("height", "auto"); + } + else + { + if(height) + { + editor.css({ + height : (typeof height === "number") ? height + "px" : height + }); + } + + if (state.fullscreen) + { + editor.height($(window).height()); + } + + if (settings.toolbar && !settings.readOnly) { + codeMirror.css("margin-top", toolbar.height() + 1).height(editor.height() - toolbar.height()); + } else { + codeMirror.css("margin-top", 0).height(editor.height()); + } } codeMirror.find(".CodeMirror-gutters").height(codeMirror.height()); @@ -1480,12 +1673,31 @@ if(settings.watch) { codeMirror.width(editor.width() / 2); - preview.width((!this.state.preview) ? editor.width() / 2 : editor.width()); + preview.width((!state.preview) ? editor.width() / 2 : editor.width()); - if (settings.toolbar && !settings.readOnly) { - preview.css("top", toolbar.height()).height(editor.height() - toolbar.height()); - } else { - preview.css("top", 0).height(editor.height()); + if (settings.toolbar && !settings.readOnly) + { + preview.css("top", toolbar.height()); + } + else + { + preview.css("top", 0); + } + + if (settings.autoHeight && !state.fullscreen && !state.preview) + { + preview.height("auto"); + } + else + { + if (settings.toolbar && !settings.readOnly) + { + preview.height(editor.height() - toolbar.height()); + } + else + { + preview.height(editor.height()); + } } } else @@ -1494,7 +1706,7 @@ preview.hide(); } - if (this.state.loaded) + if (state.loaded) { $.proxy(settings.onresize, this)(); } @@ -1533,6 +1745,8 @@ taskList : settings.taskList, emoji : settings.emoji, tex : settings.tex, + atLink : settings.atLink, // for @link + emailLink : settings.emailLink, // for mail address auto link flowChart : settings.flowChart, sequenceDiagram : settings.sequenceDiagram, previewCodeHighlight : settings.previewCodeHighlight, @@ -1576,13 +1790,17 @@ if (settings.tex) { - if (!settings.inRequirejs && !editormd.kaTeXLoaded) { - editormd.loadKaTeX(function(){ + if (!editormd.kaTeXLoaded && settings.autoLoadModules) + { + editormd.loadKaTeX(function() { editormd.$katex = katex; editormd.kaTeXLoaded = true; _this.katexRender(); }); - } else { + } + else + { + editormd.$katex = katex; this.katexRender(); } } @@ -1669,6 +1887,31 @@ return this.codeEditor.getSelection(); }, + /** + * 设置光标选中的文本范围 + * Set the cursor selection ranges + * + * @param {Array} ranges cursor selection ranges array + * @returns {Array} return this + */ + + setSelections : function(ranges) { + this.cm.setSelections(ranges); + + return this; + }, + + /** + * 获取光标选中的文本范围 + * Get the cursor selection ranges + * + * @returns {Array} return selection ranges array + */ + + getSelections : function() { + return this.cm.getSelections(); + }, + /** * 替换当前光标选中的文本或在当前光标处插入新字符 * Replace the text at the current cursor selected or insert a new character at the current cursor position @@ -1892,7 +2135,7 @@ callback = callback || function() {}; var _this = this; - this.editor.show(function(){ + this.editor.show(0, function() { $.proxy(callback, _this)(); }); @@ -1911,7 +2154,7 @@ callback = callback || function() {}; var _this = this; - this.editor.hide(function(){ + this.editor.hide(0, function() { $.proxy(callback, _this)(); }); @@ -1940,6 +2183,12 @@ } codeMirror.toggle(); + + var escHandle = function(event) { + if (event.shiftKey && event.keyCode === 27) { + _this.previewed(); + } + }; if(codeMirror.css("display") === "none") // 为了兼容Zepto,而不使用codeMirror.is(":hidden") { @@ -1962,24 +2211,21 @@ position : "static", top : 0, width : editor.width(), - height : editor.height() + height : (settings.autoHeight && !this.state.fullscreen) ? "auto" : editor.height() }); if (this.state.loaded) { $.proxy(settings.onpreviewing, this)(); } + + $(window).bind("keyup", escHandle); } else { + $(window).unbind("keyup", escHandle); this.previewed(); } - - $(window).keyup(function(event) { - if (event.keyCode === 27) { - _this.previewed(); - } - }); }, /** @@ -2012,14 +2258,14 @@ preview.hide(); } - previewCloseBtn.hide().bind(editormd.mouseOrTouch("click", "touchend")); + previewCloseBtn.hide().unbind(editormd.mouseOrTouch("click", "touchend")); preview.css({ background : null, position : "absolute", width : editor.width() / 2, - height : editor.height() - toolbar.height(), - top : (settings.toolbar) ? toolbar.height() : 0 + height : (settings.autoHeight && !this.state.fullscreen) ? "auto" : editor.height() - toolbar.height(), + top : (settings.toolbar) ? toolbar.height() : 0 }); if (this.state.loaded) @@ -2048,9 +2294,19 @@ if (toolbar) { toolbar.find(".fa[name=fullscreen]").parent().toggleClass("active"); } + + var escHandle = function(event) { + if (!event.shiftKey && event.keyCode === 27) + { + if (_this.state.fullscreen) + { + _this.fullscreenExit(); + } + } + }; if (!editor.hasClass(fullscreenClass)) - { + { this.state.fullscreen = true; $("html,body").css("overflow", "hidden"); @@ -2063,27 +2319,20 @@ border : "none", width : $(window).width(), height : $(window).height() - }).addClass(fullscreenClass); + }).addClass(fullscreenClass); this.resize(); - $.proxy(this.settings.onfullscreen, this)(); + $.proxy(this.settings.onfullscreen, this)(); + + $(window).bind("keyup", escHandle); } else - { - this.fullscreenExit(); + { + $(window).unbind("keyup", escHandle); + this.fullscreenExit(); } - $(window).keyup(function(event) { - if (_this.state.preview) { - return ; - } - - if (event.keyCode === 27) { - _this.fullscreenExit(); - } - }); - return this; }, @@ -2098,8 +2347,8 @@ var editor = this.editor; var toolbar = this.toolbar; - var fullscreenClass = this.classPrefix + "fullscreen"; - this.state.fullscreen = false; + var fullscreenClass = this.classPrefix + "fullscreen"; + this.state.fullscreen = true; if (toolbar) { toolbar.find(".fa[name=fullscreen]").parent().removeClass("active"); @@ -2111,14 +2360,13 @@ position : "", top : "", left : "", - margin : "0 auto", + margin : "0 auto 15px", width : editor.data("oldWidth"), height : editor.data("oldHeight"), border : "1px solid #ddd" }).removeClass(fullscreenClass); this.resize(); - $.proxy(this.settings.onfullscreenExit, this)(); @@ -2127,8 +2375,9 @@ executePlugin : function(name, path) { - var _this = this; - var cm = this.cm; + var _this = this; + var cm = this.cm; + var settings = this.settings; if (typeof define == "function") { @@ -2137,7 +2386,7 @@ return ; } - path = this.settings.path + "../plugins/" + path; + path = settings.pluginPath + path; if ($.inArray(path, editormd.loadFiles.plugin) < 0) { @@ -2196,7 +2445,7 @@ if(selection === "") { cm.setCursor(cursor.line, cursor.ch + 2); - } + } }, del : function() { @@ -2231,6 +2480,43 @@ cm.replaceSelection("> " + selection); cm.setCursor(cursor.line, (selection === "") ? cursor.ch + 2 : cursor.ch + selection.length + 2); }, + + ucfirst : function() { + var cm = this.cm; + var selection = cm.getSelection(); + var selections = cm.listSelections(); + + cm.replaceSelection(editormd.firstUpperCase(selection)); + cm.setSelections(selections); + }, + + ucwords : function() { + var cm = this.cm; + var selection = cm.getSelection(); + var selections = cm.listSelections(); + + cm.replaceSelection(editormd.wordsFirstUpperCase(selection)); + cm.setSelections(selections); + }, + + uppercase : function() { + var cm = this.cm; + var selection = cm.getSelection(); + var selections = cm.listSelections(); + + cm.replaceSelection(selection.toUpperCase()); + cm.setSelections(selections); + }, + + lowercase : function() { + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + var selections = cm.listSelections(); + + cm.replaceSelection(selection.toLowerCase()); + cm.setSelections(selections); + }, h1 : function() { var cm = this.cm; @@ -2405,6 +2691,106 @@ } }; + editormd.keyMaps = { + "Ctrl-B" : "bold", // if this is string == editormd.toolbarHandlers.xxxx + "Ctrl-I" : "italic", + "Ctrl-K" : "code", + "Shift-Ctrl-C" : "code", + "Shift-Ctrl-Q" : "quote", + "Shift-Ctrl-S" : "del", + "Ctrl-H" : "hr", + "Ctrl-1" : "h1", + "Ctrl-2" : "h2", + "Ctrl-3" : "h3", + "Ctrl-4" : "h4", + "Ctrl-5" : "h5", + "Ctrl-6" : "h6", + "Ctrl-D" : "datetime", + + "Ctrl-E" : function() { // emoji + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + + cm.replaceSelection(":" + selection + ":"); + + if (selection === "") { + cm.setCursor(cursor.line, cursor.ch + 1); + } + }, + + "Ctrl-L" : function() { + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + + var title = (selection === "") ? "" : " \""+selection+"\""; + + cm.replaceSelection("[" + selection + "]("+title+")"); + + if (selection === "") { + cm.setCursor(cursor.line, cursor.ch + 1); + } + }, + "Ctrl-U" : "list-ul", + + "Shift-Ctrl-A" : function() { + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + + cm.replaceSelection("@" + selection); + + if (selection === "") { + cm.setCursor(cursor.line, cursor.ch + 1); + } + }, + + "Shift-Alt-C" : function() { + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + + cm.replaceSelection(["```", selection, "```"].join("\n")); + + if (selection === "") { + cm.setCursor(cursor.line, cursor.ch + 3); + } + }, + + "Shift-Ctrl-Alt-C" : "code-block", + "Shift-Ctrl-H" : "htmlEntities", + "Shift-Alt-H" : "help", + "Shift-Ctrl-E" : "emoji", + "Shift-Ctrl-U" : "uppercase", + "Shift-Alt-U" : "ucwords", + "Shift-Ctrl-Alt-U" : "ucfirst", + "Shift-Alt-L" : "lowercase", + + "Shift-Ctrl-I" : function() { + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + + var title = (selection === "") ? "" : " \""+selection+"\""; + + cm.replaceSelection("![" + selection + "]("+title+")"); + + if (selection === "") { + cm.setCursor(cursor.line, cursor.ch + 4); + } + }, + + "Shift-Ctrl-Alt-I" : "image", + "Shift-Ctrl-L" : "link", + "Shift-Ctrl-O" : "list-ol", + "Shift-Ctrl-P" : "preformatted-text", + "Shift-Ctrl-T" : "table", + "F9" : "watch", + "F10" : "preview", + "F11" : "fullscreen", + }; + /** * 清除字符串两边的空格 * Clear the space of strings both sides. @@ -2413,21 +2799,57 @@ * @returns {String} trimed string */ - editormd.trim = function(str) { + var trim = function(str) { return (!String.prototype.trim) ? str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '') : str.trim(); }; - var trim = editormd.trim; + editormd.trim = trim; + + /** + * 所有单词首字母大写 + * Words first to uppercase + * + * @param {String} str string + * @returns {String} string + */ + + var ucwords = function (str) { + return str.toLowerCase().replace(/\b(\w)|\s(\w)/g, function($1) { + return $1.toUpperCase(); + }); + }; + + editormd.ucwords = editormd.wordsFirstUpperCase = ucwords; + + /** + * 字符串首字母大写 + * Only string first char to uppercase + * + * @param {String} str string + * @returns {String} string + */ + + var firstUpperCase = function(str) { + return str.toLowerCase().replace(/\b(\w)/, function($1){ + return $1.toUpperCase(); + }); + }; + + var ucfirst = firstUpperCase; + + editormd.firstUpperCase = editormd.ucfirst = firstUpperCase; editormd.urls = { atLinkBase : "https://github.com/" }; - editormd.regex = { + editormd.regexs = { atLink : /@(\w+)/g, + email : /(\w+)@(\w+)\.(\w+)\.?(\w+)?/g, + emailLink : /(mailto:)?([\w\.\_]+)@(\w+)\.(\w+)\.?(\w+)?/g, emoji : /:([\-\w]+):/g, twemoji : /:(tw-([\w]+)-?(\w+)?):/g, - fontAwesome : /:(fa-([\w]+)-?(\w+)?):/g, + fontAwesome : /:(fa-([\w]+)(-(\w+)){0,}):/g, editormdLogo : /:(editormd-logo-?(\w+)?):/g }; @@ -2455,24 +2877,27 @@ var defaults = { toc : true, // Table of contents tocStartLevel : 1, // Said from H1 to create ToC + atLink : true, // for @link + emailLink : true, // for mail address auto link taskList : false, // Enable Github Flavored Markdown task lists emoji : false, // :emoji: , Support Twemoji, fontAwesome, Editor.md logo emojis. tex : false, // TeX(LaTeX), based on KaTeX flowChart : false, // flowChart.js only support IE9+ sequenceDiagram : false, // sequenceDiagram.js only support IE9+ }; - - var atLinkReg = editormd.regex.atLink; var settings = $.extend(defaults, options || {}); var marked = editormd.$marked; var markedRenderer = new marked.Renderer(); - markdownToC = markdownToC || []; - - var emojiReg = editormd.regex.emoji; - var twemojiReg = editormd.regex.twemoji; - var faIconReg = editormd.regex.fontAwesome; - var editormdLogoReg = editormd.regex.editormdLogo; + markdownToC = markdownToC || []; + + var atLinkReg = editormd.regexs.atLink; + var emojiReg = editormd.regexs.emoji; + var emailReg = editormd.regexs.email; + var emailLinkReg = editormd.regexs.emailLink; + var twemojiReg = editormd.regexs.twemoji; + var faIconReg = editormd.regexs.fontAwesome; + var editormdLogoReg = editormd.regexs.editormdLogo; markedRenderer.emoji = function(text) { var matchs = text.match(emojiReg); @@ -2531,10 +2956,26 @@ markedRenderer.atLink = function(text) { if (atLinkReg.test(text)) - { - text = text.replace(atLinkReg, function($1, $2) { - return "" + $1 + ""; - }); + { + if (settings.atLink) + { + text = text.replace(emailReg, function($1, $2, $3, $4) { + return $1.replace(/@/g, "_#_@_#_"); + }); + + text = text.replace(atLinkReg, function($1, $2) { + return "" + $1 + ""; + }).replace(/_#_@_#_/g, "@"); + } + + if (settings.emailLink) + { + text = text.replace(emailLinkReg, function($1, $2) { + return (!$2) ? ""+$1+"" : $1; + }); + } + + return text; } return text; @@ -2772,7 +3213,9 @@ tocStartLevel : 1, markdown : "", htmlDecode : false, - inRequirejs : false, + autoLoadKaTeX : true, + atLink : true, // for @link + emailLink : true, // for mail address auto link tex : false, taskList : false, // Github Flavored Markdown task lists emoji : false, @@ -2795,6 +3238,8 @@ taskList : settings.taskList, emoji : settings.emoji, tex : settings.tex, + atLink : settings.atLink, // for @link + emailLink : settings.emailLink, // for mail address auto link flowChart : settings.flowChart, sequenceDiagram : settings.sequenceDiagram, previewCodeHighlight : settings.previewCodeHighlight, @@ -2852,16 +3297,20 @@ var katexHandle = function() { div.find("." + editormd.classNames.tex).each(function(){ var tex = $(this); - editormd.$katex.render(tex.html(), tex[0]); + katex.render(tex.html(), tex[0]); }); }; - if (!settings.inRequirejs) { - this.loadKaTeX(function(){ - editormd.$katex = katex; + if (settings.autoLoadKaTeX && !editormd.$katex && !editormd.kaTeXLoaded) + { + this.loadKaTeX(function() { + editormd.$katex = katex; + editormd.kaTeXLoaded = true; katexHandle(); }); - } else { + } + else + { katexHandle(); } } diff --git a/editormd.amd.min.js b/editormd.amd.min.js index 17d6154..6b92527 100644 --- a/editormd.amd.min.js +++ b/editormd.amd.min.js @@ -1,3 +1,5 @@ -/*! Editor.md v1.2.0 | editormd.amd.min.js | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-10 */ -!function(e){"use strict";if("function"==typeof require&&"object"==typeof exports&&"object"==typeof module)module.exports=e;else if("function"==typeof define)if(define.amd){var t="codemirror/mode/",i="codemirror/addon/",o=["jquery","marked","prettify","katex","raphael","underscore","flowchart","jqueryflowchart","sequenceDiagram","codemirror/lib/codemirror",t+"css/css",t+"sass/sass",t+"shell/shell",t+"sql/sql",t+"clike/clike",t+"php/php",t+"xml/xml",t+"markdown/markdown",t+"javascript/javascript",t+"htmlmixed/htmlmixed",t+"gfm/gfm",t+"http/http",t+"go/go",t+"dart/dart",t+"coffeescript/coffeescript",t+"nginx/nginx",t+"python/python",t+"perl/perl",t+"lua/lua",t+"r/r",t+"ruby/ruby",t+"rst/rst",t+"smartymixed/smartymixed",t+"vb/vb",t+"vbscript/vbscript",t+"velocity/velocity",t+"xquery/xquery",t+"yaml/yaml",t+"erlang/erlang",t+"jade/jade",i+"edit/trailingspace",i+"dialog/dialog",i+"search/searchcursor",i+"search/search",i+"scroll/annotatescrollbar",i+"search/matchesonscrollbar",i+"display/placeholder",i+"edit/closetag",i+"fold/foldcode",i+"fold/foldgutter",i+"fold/indent-fold",i+"fold/brace-fold",i+"fold/xml-fold",i+"fold/markdown-fold",i+"fold/comment-fold",i+"mode/overlay",i+"selection/active-line",i+"edit/closebrackets",i+"display/fullscreen",i+"search/match-highlighter"];define(o,e)}else define(["jquery"],e);else window.editormd=e()}(function(){"function"==typeof define&&define.amd&&(e=arguments[0],marked=arguments[1],prettify=arguments[2],katex=arguments[3],Raphael=arguments[4],_=arguments[5],flowchart=arguments[6],CodeMirror=arguments[9]);var e="undefined"!=typeof jQuery?jQuery:Zepto;if("undefined"!=typeof e){var t=function(e,i){return new t.fn.init(e,i)};t.title=t.$name="Editor.md",t.version="1.2.0",t.homePage="https://pandao.github.io/editor.md/",t.classPrefix="editormd-",t.toolbarModes={full:["undo","redo","|","bold","del","italic","quote","|","h1","h2","h3","h4","h5","h6","|","list-ul","list-ol","hr","|","link","anchor","image","code","preformatted-text","code-block","table","datetime","emoji","htmlEntities","|","watch","preview","fullscreen","clear","|","help","info"],simple:["undo","redo","|","bold","del","italic","quote","|","h1","h2","h3","h4","h5","h6","|","list-ul","list-ol","hr","|","watch","preview","fullscreen","|","help","info"],mini:["undo","redo","|","watch","preview","|","help","info"]},t.defaults={mode:"gfm",theme:"default",value:"",markdown:"",width:"100%",height:"100%",path:"./lib/",autoLoadModules:!0,watch:!0,placeholder:"now coding markdown...",codeFold:!1,autoCloseTags:!0,searchReplace:!1,readOnly:!1,lineNumbers:!0,matchWordHighlight:!0,styleActiveLine:!0,dialogLockScreen:!0,dialogShowMask:!0,dialogDraggable:!0,dialogMaskBgColor:"#fff",dialogMaskOpacity:.1,fontSize:"13px",saveHTMLToTextarea:!1,onload:function(){},onresize:function(){},onchange:function(){},onwatch:null,onunwatch:null,onpreviewing:function(){},onpreviewed:function(){},onfullscreen:function(){},onfullscreenExit:function(){},onscroll:function(){},onpreviewscroll:function(){},imageUpload:!1,imageFormats:["jpg","jpeg","gif","png","bmp","webp"],imageUploadURL:"",crossDomainUpload:!1,uploadCallbackURL:"",toc:!0,tocStartLevel:1,htmlDecode:!1,taskList:!1,emoji:!1,tex:!1,flowChart:!1,sequenceDiagram:!1,previewCodeHighlight:!0,inRequirejs:!1,toolbar:!0,toolbarIcons:function(){return t.toolbarModes.full},toolbarTitles:{},toolbarHandlers:{},toolbarCustomIcons:{},toolbarIconsClass:{undo:"fa-undo",redo:"fa-repeat",bold:"fa-bold",del:"fa-strikethrough",italic:"fa-italic",quote:"fa-quote-left",h1:t.classPrefix+"bold",h2:t.classPrefix+"bold",h3:t.classPrefix+"bold",h4:t.classPrefix+"bold",h5:t.classPrefix+"bold",h6:t.classPrefix+"bold","list-ul":"fa-list-ul","list-ol":"fa-list-ol",hr:"fa-minus",link:"fa-link",anchor:"fa-anchor",image:"fa-picture-o",code:"fa-code","preformatted-text":"fa-file-code-o","code-block":"fa-file-code-o",table:"fa-table",datetime:"fa-clock-o",emoji:"fa-smile-o",htmlEntities:"fa-copyright",watch:"fa-eye-slash",unwatch:"fa-eye",preview:"fa-search",fullscreen:"fa-arrows-alt",clear:"fa-eraser",help:"fa-question-circle",info:"fa-info-circle"},toolbarIconTexts:{},lang:{name:"zh-cn",description:"开源在线Markdown编辑器
A simple markdown doucment online editor.",toolbar:{undo:"撤销(Ctrl+Z)",redo:"重做(Ctrl+Y)",bold:"粗体",del:"删除线",italic:"斜体",quote:"引用",h1:"标题1",h2:"标题2",h3:"标题3",h4:"标题4",h5:"标题5",h6:"标题6","list-ul":"无序列表","list-ol":"有序列表",hr:"横线",link:"链接",anchor:"锚点",image:"添加图片",code:"行内代码","preformatted-text":"预格式文本 / 代码块(缩进风格)","code-block":"代码块(多语言风格)",table:"添加表格",datetime:"日期时间",emoji:"Emoji表情",htmlEntities:"HTML实体字符",watch:"关闭实时预览",unwatch:"开启实时预览",preview:"全窗口预览HTML(可按ESC还原)",fullscreen:"全屏(按ESC还原)",clear:"清空",help:"使用帮助",info:"关于"+t.title},buttons:{enter:"确定",cancel:"取消",close:"关闭"},dialog:{link:{title:"添加链接",url:"链接地址",urlTitle:"链接标题",urlEmpty:"错误:请填写链接地址。"},anchor:{title:"添加锚点链接",name:"锚点名称",url:"链接地址",urlTitle:"链接标题",nameEmpty:"错误:锚点名称不能为空。",titleEmpty:"错误:请填写锚点链接标题。",urlEmpty:"错误:请填写锚点链接地址。"},image:{title:"添加图片",url:"图片地址",link:"图片链接",alt:"图片描述",uploadButton:"本地上传",imageURLEmpty:"错误:图片地址不能为空。",uploadFileEmpty:"错误:上传的图片不能为空。",formatNotAllowed:"错误:只允许上传图片文件,允许上传的图片文件格式有:"},preformattedText:{title:"添加预格式文本或代码块",emptyAlert:"错误:请填写预格式文本或代码的内容。"},codeBlock:{title:"添加代码块",selectLabel:"代码语言:",selectDefaultText:"请选择代码语言",otherLanguage:"其他语言",unselectedLanguageAlert:"错误:请选择代码所属的语言类型。",codeEmptyAlert:"错误:请填写代码内容。"},htmlEntities:{title:"HTML 实体字符"},help:{title:"使用帮助"}}}},t.classNames={tex:t.classPrefix+"tex"},t.dialogZindex=99999,t.$katex=null,t.$marked=null,t.$CodeMirror=null,t.$prettyPrint=null,t.prototype=t.fn={state:{watching:!1,loaded:!1,preview:!1,fullscreen:!1},init:function(i,o){o=o||{};var r=this,a=this.classPrefix=t.classPrefix,n=this.editor=e("#"+i),s=this.settings=e.extend(!0,t.defaults,o);this.id=i,this.lang=s.lang;var l=this.classNames={textarea:{html:this.classPrefix+"html-textarea",markdown:this.classPrefix+"markdown-textarea"}};this.state.watching=s.watch?!0:!1,n.hasClass("editormd")||n.addClass("editormd"),n.css({width:"number"==typeof s.width?s.width+"px":s.width,height:"number"==typeof s.height?s.height+"px":s.height});var c=this.markdownTextarea=n.children("textarea");c.length<1&&(n.append(""),c=this.markdownTextarea=n.children("textarea")),c.addClass(l.textarea.markdown).attr("name",i+"-markdown-doc").attr("placeholder",s.placeholder);var d=[s.readOnly?"":'',s.saveHTMLToTextarea?'':"",'
','
','
'].join("\n");return n.append(d).addClass(a+"vertical"),this.mask=n.children("."+a+"mask"),""!==s.markdown&&c.val(s.markdown),this.htmlTextarea=n.children("."+l.textarea.html),this.preview=n.children("."+a+"preview"),this.previewContainer=this.preview.children("."+a+"preview-container"),"function"==typeof define&&define.amd&&("undefined"!=typeof katex&&(t.$katex=katex),s.searchReplace&&(t.loadCSS(s.path+"codemirror/addon/dialog/dialog"),t.loadCSS(s.path+"codemirror/addon/search/matchesonscrollbar"))),"function"!=typeof define&&s.autoLoadModules?this.loadQueues():("undefined"!=typeof CodeMirror&&(t.$CodeMirror=CodeMirror),"undefined"!=typeof marked&&(t.$marked=marked),r.setCodeMirror(),r.setToolbar(),r.loadedDisplay()),this},loadQueues:function(){var e=this,i=this.settings,o=i.path,r=function(){return t.isIE8?void e.loadedDisplay():void(i.flowChart||i.sequenceDiagram?t.loadScript(o+"raphael.min",function(){t.loadScript(o+"underscore.min",function(){!i.flowChart&&i.sequenceDiagram?t.loadScript(o+"sequence-diagram.min",function(){e.loadedDisplay()}):i.flowChart&&!i.sequenceDiagram?t.loadScript(o+"flowchart.min",function(){t.loadScript(o+"jquery.flowchart.min",function(){e.loadedDisplay()})}):i.flowChart&&i.sequenceDiagram&&t.loadScript(o+"flowchart.min",function(){t.loadScript(o+"jquery.flowchart.min",function(){t.loadScript(o+"sequence-diagram.min",function(){e.loadedDisplay()})})})})}):e.loadedDisplay())};return t.loadCSS(o+"codemirror/codemirror.min"),i.searchReplace&&(t.loadCSS(o+"codemirror/addon/dialog/dialog"),t.loadCSS(o+"codemirror/addon/search/matchesonscrollbar")),i.codeFold&&t.loadCSS(o+"codemirror/addon/fold/foldgutter"),t.loadScript(o+"codemirror/codemirror.min",function(){t.$CodeMirror=CodeMirror,t.loadScript(o+"codemirror/modes.min",function(){t.loadScript(o+"codemirror/addons.min",function(){return e.setCodeMirror(),"gfm"!==i.mode&&"markdown"!==i.mode?(e.loadedDisplay(),!1):(e.setToolbar(),void t.loadScript(o+"marked.min",function(){t.$marked=marked,i.previewCodeHighlight?t.loadScript(o+"prettify.min",function(){r()}):r()}))})})}),this},setTheme:function(e){var i=this.settings;return i.theme=e,"default"!==e&&t.loadCSS(i.path+"codemirror/theme/"+i.theme),this.cm.setOption("theme",e),this},setCodeMirror:function(){var e=this.settings,i=this.editor;"default"!==e.theme&&t.loadCSS(e.path+"codemirror/theme/"+e.theme);var o={mode:e.mode,theme:e.theme,tabSize:4,dragDrop:!1,autofocus:!0,autoCloseTags:e.autoCloseTags,readOnly:e.readOnly?"nocursor":!1,indentUnit:4,lineNumbers:e.lineNumbers,lineWrapping:!0,extraKeys:{"Ctrl-Q":function(e){e.foldCode(e.getCursor())}},foldGutter:e.codeFold,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,indentWithTabs:!0,styleActiveLine:e.styleActiveLine,styleSelectedText:!0,autoCloseBrackets:!0,showTrailingSpace:!0,highlightSelectionMatches:e.matchWordHighlight?{showToken:"onselected"==e.matchWordHighlight?!1:/\w/}:!1};return this.codeEditor=this.cm=t.$CodeMirror.fromTextArea(this.markdownTextarea[0],o),this.codeMirror=this.cmElement=i.children(".CodeMirror"),""!==e.value&&this.cm.setValue(e.value),this.codeMirror.css({fontSize:e.fontSize,width:e.watch?"50%":"100%"}),this},getCodeMirrorOption:function(e){return this.cm.getOption(e)},setCodeMirrorOption:function(e,t){return this.cm.setOption(e,t),this},addKeyMap:function(e,t){return this.cm.addKeyMap(e,t),this},removeKeyMap:function(e){return this.cm.removeKeyMap(e),this},"extends":function(){return"undefined"!=typeof arguments[1]&&("function"==typeof arguments[1]&&(arguments[1]=e.proxy(arguments[1],this)),this[arguments[0]]=arguments[1]),"object"==typeof arguments[0]&&"undefined"==typeof arguments[0].length&&e.extend(!0,this,arguments[0]),this},set:function(t,i){return"undefined"!=typeof i&&"function"==typeof i&&(i=e.proxy(i,this)),this[t]=i,this},config:function(t,i){var o=this.settings;return"object"==typeof t&&(o=e.extend(!0,o,t)),"string"==typeof t&&(o[t]=i),this.settings=o,this.recreate(),this},on:function(t,i){var o=this.settings;return"undefined"!=typeof o["on"+t]&&(o["on"+t]=e.proxy(i,this)),this},off:function(e){var t=this.settings;return"undefined"!=typeof t["on"+e]&&(t["on"+e]=function(){}),this},showToolbar:function(t){var i=this.settings;if(!i.readOnly)return i.toolbar&&(this.toolbar.length<1||""===this.toolbar.find("."+this.classPrefix+"menu").html())&&this.setToolbar(),i.toolbar=!0,this.toolbar.show(),this.resize(),e.proxy(t||function(){},this)(),this},hideToolbar:function(t){var i=this.settings;return i.toolbar=!1,this.toolbar.hide(),this.resize(),e.proxy(t||function(){},this)(),this},setToolbar:function(){var e=this.settings;if(!e.readOnly){var i=this.editor,o=(this.preview,this.classPrefix),r=this.toolbar=i.children("."+o+"toolbar");if(e.toolbar&&r.length<1&&(i.append('
    '),r=this.toolbar=i.children("."+o+"toolbar")),!e.toolbar)return void r.hide();r.show();for(var a="function"==typeof e.toolbarIcons?e.toolbarIcons():"string"==typeof e.toolbarIcons?t.toolbarModes[e.toolbarIcons]:e.toolbarIcons,n=r.find("."+this.classPrefix+"menu"),s="",l=0,c=a.length;c>l;l++){var d=a[l];if("|"!==d){var h=/h(\d)/.test(d),u=d;"watch"!==d||e.watch||(u="unwatch");var f=e.lang.toolbar[u],m=e.toolbarIconTexts[u],g=e.toolbarIconsClass[u];f="undefined"==typeof f?"":f,m="undefined"==typeof m?"":m,g="undefined"==typeof g?"":g,s+="
  • ",s+="undefined"!=typeof e.toolbarCustomIcons[d]?e.toolbarCustomIcons[d]:''+(h?d:""===g?m:"")+"",s+="
  • "}else s+='
  • |
  • '}return n.html(s),this.setToolbarHandler(),this}},dialogLockScreen:function(){return e.proxy(t.dialogLockScreen,this)(),this},dialogShowMask:function(i){return e.proxy(t.dialogShowMask,this)(i),this},getToolbarHandles:function(e){var i=this.toolbarHandlers=t.toolbarHandlers;return e&&"undefined"!=typeof toolbarIconHandlers[e]?i[e]:i},setToolbarHandler:function(){var i=this,o=this.settings;if(o.toolbar&&!o.readOnly){var r=(this.editor,this.preview,this.toolbar),a=this.codeEditor,n=(this.codeMirror,this.classPrefix),s=(this.previewContainer,this.toolbarIcons=r.find("."+n+"menu a")),l=this.getToolbarHandles();return s.bind(t.mouseOrTouch("click","touchend"),function(){var t=e(this).children(".fa"),r=t.attr("name"),n=a.getCursor(),s=a.getSelection();return""!==r?(i.activeIcon=t,"undefined"!=typeof l[r]?e.proxy(l[r],i)(a):"undefined"!=typeof o.toolbarHandlers[r]&&e.proxy(o.toolbarHandlers[r],i)(a,t,n,s),"link"!==r&&"anchor"!==r&&"image"!==r&&"code-block"!==r&&"preformatted-text"!==r&&"watch"!==r&&"preview"!==r&&"fullscreen"!==r&&"info"!==r&&a.focus(),!1):void 0}),this}},createDialog:function(i){return e.proxy(t.createDialog,this)(i)},createInfoDialog:function(){var e=this,i=this.editor,o=this.classPrefix,r=['
    ','
    ','

    '+t.title+"v"+t.version+"

    ","

    "+this.lang.description+"

    ",'

    Home page: '+t.homePage+"

    ","

    License: MIT

    ","
    ",'',"
    "].join("\n");i.append(r);var a=this.infoDialog=i.children("."+o+"dialog-info");return a.find("."+o+"dialog-close").bind(t.mouseOrTouch("click","touchend"),function(){e.hideInfoDialog()}),a.css("border",t.isIE8?"1px solid #ddd":"").css("z-index",t.dialogZindex).show(),this.infoDialogPosition(),this},infoDialogPosition:function(){var t=this.infoDialog,i=function(){t.css({top:(e(window).height()-t.height())/2+"px",left:(e(window).width()-t.width())/2+"px"})};return i(),e(window).resize(i),this},showInfoDialog:function(){e("html,body").css("overflow-x","hidden");var i=this.editor,o=this.settings,r=this.classPrefix,a=this.infoDialog=i.children("."+r+"dialog-info");return a.length<1&&this.createInfoDialog(),this.lockScreen(!0),this.mask.css({opacity:o.dialogMaskOpacity,backgroundColor:o.dialogMaskBgColor}).show(),a.css("z-index",t.dialogZindex).show(),this.infoDialogPosition(),this},hideInfoDialog:function(){return e("html,body").css("overflow-x",""),this.infoDialog.hide(),this.mask.hide(),this.lockScreen(!1),this},lockScreen:function(e){return t.lockScreen(e),this},recreate:function(){var e=this.editor,t=this.settings,i=t.toolbarIcons();return this.codeMirror.remove(),this.setCodeMirror(),"undefined"!=typeof this.infoDialog&&this.infoDialog.remove(),"undefined"!=typeof i.info&&createInfoDialog(),t.readOnly||(e.find(".editormd-dialog").length>0&&e.find(".editormd-dialog").remove(),t.toolbar&&(this.getToolbarHandles(),this.setToolbar())),this.saveToTextareas(),this.resize(),this},previewCodeHighlight:function(){var e=this.settings,t=this.previewContainer;return e.previewCodeHighlight&&(t.find("pre").addClass("prettyprint linenums"),"undefined"!=typeof prettyPrint&&prettyPrint()),this},katexRender:function(){var i=this.previewContainer;return i.find("."+t.classNames.tex).each(function(){var i=e(this);t.$katex.render(i.html(),i[0])}),this},flowChartAndSequenceDiagramRender:function(){var e=this.settings,i=this.previewContainer;return t.isIE8?void 0:(e.flowChart&&i.find(".flowchart").flowChart(),e.sequenceDiagram&&i.find(".sequence-diagram").sequenceDiagram({theme:"simple"}),this)},loadedDisplay:function(){var i=this,o=this.editor,r=this.preview,a=this.settings,n=this.codeEditor,s=this.codeMirror,l=(this.previewContainer,t.mouseOrTouch);o.children("."+this.classPrefix+"container-mask").hide(),this.saveToTextareas(),a.watch&&r.show(),o.data("oldWidth",o.width()).data("oldHeight",o.height()),this.resize(),e(window).resize(function(){i.resize()});var c=function(){s.find(".CodeMirror-scroll").bind(l("scroll","touchmove"),function(t){var i=e(this).height(),o=e(this).scrollTop(),n=o/e(this)[0].scrollHeight;r.scrollTop(0===o?0:o+i>=e(this)[0].scrollHeight?r[0].scrollHeight:r[0].scrollHeight*n),e.proxy(a.onscroll,this)(t)})},d=function(){s.find(".CodeMirror-scroll").unbind(l("scroll","touchmove"))},h=function(){r.bind(l("scroll","touchmove"),function(){var t=e(this).height(),i=e(this).scrollTop(),o=i/e(this)[0].scrollHeight,r=s.find(".CodeMirror-scroll");r.scrollTop(0===i?0:i+t>=e(this)[0].scrollHeight?r[0].scrollHeight:r[0].scrollHeight*o),e.proxy(a.onpreviewscroll,this)(event)})},u=function(){r.unbind(l("scroll","touchmove"))};return s.bind({mouseover:c,mouseout:d,touchstart:c,touchend:d}),r.bind({mouseover:h,mouseout:u,touchstart:h,touchend:u}),n.on("change",function(){i.saveToTextareas()}),e.proxy(a.onload,this)(),this.state.loaded=!0,this},width:function(e){return this.editor.css("width","number"==typeof e?e+"px":e),this.resize(),this},height:function(e){return this.editor.css("height","number"==typeof e?e+"px":e),this.resize(),this},resize:function(t,i){t=t||null,i=i||null;var o=this.editor,r=this.preview,a=this.toolbar,n=this.settings,s=(this.codeEditor,this.codeMirror);return t&&i&&o.css({width:"number"==typeof t?t+"px":t,height:"number"==typeof i?i+"px":i}),n.toolbar&&!n.readOnly?s.css("margin-top",a.height()+1).height(o.height()-a.height()):s.css("margin-top",0).height(o.height()),s.find(".CodeMirror-gutters").height(s.height()),n.watch?(s.width(o.width()/2),r.width(this.state.preview?o.width():o.width()/2),n.toolbar&&!n.readOnly?r.css("top",a.height()).height(o.height()-a.height()):r.css("top",0).height(o.height())):(s.width(o.width()),r.hide()),this.state.loaded&&e.proxy(n.onresize,this)(),this},saveToTextareas:function(){var i=this,o=this.state,r=this.settings,a=this.codeEditor,n=this.previewContainer,s=a.getValue();if("gfm"!==r.mode&&"markdown"!==r.mode)return this.markdownTextarea[0].innerText=s,this;var l=t.$marked,c=this.markdownToC=[],d=this.markedRendererOptions={toc:r.toc,tocStartLevel:r.tocStartLevel,taskList:r.taskList,emoji:r.emoji,tex:r.tex,flowChart:r.flowChart,sequenceDiagram:r.sequenceDiagram,previewCodeHighlight:r.previewCodeHighlight},h=this.markedOptions={renderer:t.markedRenderer(c,d),gfm:!0,tables:!0,breaks:!0,pedantic:!1,sanitize:r.htmlDecode?!1:!0,smartLists:!0,smartypants:!0};l.setOptions(h),s=t.filterHTMLTags(s,r.htmlDecode);var u=t.$marked(s,h);if(this.markdownTextarea[0].innerText=s,a.save(),r.saveHTMLToTextarea&&this.htmlTextarea.html(u),r.watch||!r.watch&&o.preview){if(n.html(u),this.previewCodeHighlight(),r.toc&&t.markdownToCRenderer(c,n,r.tocStartLevel),r.tex&&(r.inRequirejs||t.kaTeXLoaded?this.katexRender():t.loadKaTeX(function(){t.$katex=katex,t.kaTeXLoaded=!0,i.katexRender()})),r.flowChart||r.sequenceDiagram)var f=setTimeout(function(){clearTimeout(f),i.flowChartAndSequenceDiagramRender()},10);o.loaded&&e.proxy(r.onchange,this)()}return this},focus:function(){return this.codeEditor.focus(),this},setCursor:function(e){return this.codeEditor.setCursor(e),this},getCursor:function(){return this.codeEditor.getCursor()},setSelection:function(e,t){return this.codeEditor.setSelection(e,t),this},getSelection:function(){return this.codeEditor.getSelection()},replaceSelection:function(e){return this.codeEditor.replaceSelection(e),this},insertValue:function(e){return this.replaceSelection(e),this},setMarkdown:function(e){var t=this.settings;return this.codeEditor.setValue(e||t.markdown),this},getMarkdown:function(){return this.codeEditor.getValue()},getValue:function(){return this.codeEditor.getValue()},setValue:function(e){return this.codeEditor.setValue(e),this},clear:function(){return this.codeEditor.setValue(""),this},getHTML:function(){return this.settings.saveHTMLToTextarea?this.htmlTextarea.html():(alert("Error: settings.saveHTMLToTextarea == false"),!1)},getTextareaSavedHTML:function(){return this.getHTML()},getPreviewedHTML:function(){return this.settings.watch?this.previewContainer.html():(alert("Error: settings.watch == false"),!1)},watch:function(t){var i=this.settings;this.state.watching=i.watch=!0,this.preview.show();var o=i.toolbarIconsClass.watch,r=i.toolbarIconsClass.unwatch,a=this.toolbar.find(".fa[name=watch]");return a.parent().attr("title",i.lang.toolbar.watch),a.removeClass(r).addClass(o),this.codeMirror.css("border-right","1px solid #ddd").width(this.editor.width()/2),this.saveToTextareas().resize(),i.onwatch||(i.onwatch=t||function(){}),e.proxy(i.onwatch,this)(),this},unwatch:function(t){var i=this.settings;this.state.watching=i.watch=!1,this.preview.hide();var o=i.toolbarIconsClass.watch,r=i.toolbarIconsClass.unwatch;if(this.toolbar){var a=this.toolbar.find(".fa[name=watch]");a.parent().attr("title",i.lang.toolbar.unwatch),a.removeClass(o).addClass(r)}return this.codeMirror.css("border-right","none").width(this.editor.width()),this.resize(),i.onunwatch||(i.onunwatch=t||function(){}),e.proxy(i.onunwatch,this)(),this},show:function(t){t=t||function(){};var i=this;return this.editor.show(function(){e.proxy(t,i)()}),this},hide:function(t){t=t||function(){};var i=this;return this.editor.hide(function(){e.proxy(t,i)()}),this},previewing:function(){var i=this,o=this.editor,r=this.preview,a=this.toolbar,n=this.settings,s=this.codeMirror;n.toolbar&&(a.toggle(),a.find(".fa[name=preview]").toggleClass("active")),s.toggle(),"none"===s.css("display")?(this.state.preview=!0,this.state.fullscreen&&r.css("background","#fff"),o.find("."+this.classPrefix+"preview-close-btn").show().bind(t.mouseOrTouch("click","touchend"),function(){i.previewed()}),n.watch||this.saveToTextareas(),r.show().css({position:"static",top:0,width:o.width(),height:o.height()}),this.state.loaded&&e.proxy(n.onpreviewing,this)()):this.previewed(),e(window).keyup(function(e){27===e.keyCode&&i.previewed()})},previewed:function(){var i=this.editor,o=this.preview,r=this.toolbar,a=this.settings,n=this.codeMirror,s=i.find("."+this.classPrefix+"preview-close-btn");return this.state.preview=!1,n.show(),a.toolbar&&r.show(),this.settings.watch?o.show():o.hide(),s.hide().bind(t.mouseOrTouch("click","touchend")),o.css({background:null,position:"absolute",width:i.width()/2,height:i.height()-r.height(),top:a.toolbar?r.height():0}),this.state.loaded&&e.proxy(a.onpreviewed,this)(),this},fullscreen:function(){var t=this,i=this.editor,o=(this.preview,this.toolbar),r=this.classPrefix+"fullscreen";return o&&o.find(".fa[name=fullscreen]").parent().toggleClass("active"),i.hasClass(r)?this.fullscreenExit():(this.state.fullscreen=!0,e("html,body").css("overflow","hidden"),i.css({position:"fixed",top:0,left:0,margin:0,border:"none",width:e(window).width(),height:e(window).height()}).addClass(r),this.resize(),e.proxy(this.settings.onfullscreen,this)()),e(window).keyup(function(e){t.state.preview||27===e.keyCode&&t.fullscreenExit()}),this},fullscreenExit:function(){var t=this.editor,i=this.toolbar,o=this.classPrefix+"fullscreen";return this.state.fullscreen=!1,i&&i.find(".fa[name=fullscreen]").parent().removeClass("active"),e("html,body").css("overflow",""),t.css({position:"",top:"",left:"",margin:"0 auto",width:t.data("oldWidth"),height:t.data("oldHeight"),border:"1px solid #ddd"}).removeClass(o),this.resize(),e.proxy(this.settings.onfullscreenExit,this)(),this},executePlugin:function(i,o){var r=this,a=this.cm;return"function"==typeof define?void this[i](a):(o=this.settings.path+"../plugins/"+o,void(e.inArray(o,t.loadFiles.plugin)<0?t.loadPlugin(o,function(){t.loadPlugins[i]=r[i],r[i](a)}):e.proxy(t.loadPlugins[i],this)(a)))}},t.fn.init.prototype=t.fn,t.dialogLockScreen=function(){var t=this.settings;t.dialogLockScreen&&e("html,body").css("overflow","hidden")},t.dialogShowMask=function(t){var i=this.editor,o=this.settings;t.css({top:(e(window).height()-t.height())/2+"px",left:(e(window).width()-t.width())/2+"px"}),o.dialogShowMask&&i.children("."+this.classPrefix+"mask").css("z-index",parseInt(t.css("z-index"))-1).show()},t.toolbarHandlers={undo:function(){this.cm.undo()},redo:function(){this.cm.redo()},bold:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("**"+i+"**"),""===i&&e.setCursor(t.line,t.ch+2)},del:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("~~"+i+"~~"),""===i&&e.setCursor(t.line,t.ch+2)},italic:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("*"+i+"*"),""===i&&e.setCursor(t.line,t.ch+1)},quote:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("> "+i),e.setCursor(t.line,""===i?t.ch+2:t.ch+i.length+2)},h1:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("# "+t)},h2:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("## "+t)},h3:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("### "+t)},h4:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("#### "+t)},h5:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("##### "+t)},h6:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("###### "+t)},"list-ul":function(){var e=this.cm,t=(e.getCursor(),e.getSelection());if(""===t)e.replaceSelection("- "+t);else{for(var i=t.split("\n"),o=0,r=i.length;r>o;o++)i[o]=""===i[o]?"":"- "+i[o];e.replaceSelection(i.join("\n"))}},"list-ol":function(){var e=this.cm,t=(e.getCursor(),e.getSelection());if(""===t)e.replaceSelection("1. "+t);else{for(var i=t.split("\n"),o=0,r=i.length;r>o;o++)i[o]=""===i[o]?"":o+1+". "+i[o];e.replaceSelection(i.join("\n"))}},hr:function(){{var e=this.cm;e.getCursor(),e.getSelection()}e.replaceSelection("------------")},link:function(){this.executePlugin("linkDialog","link-dialog/link-dialog")},anchor:function(){this.executePlugin("anchorLinkDialog","anchor-link-dialog/anchor-link-dialog")},image:function(){this.executePlugin("imageDialog","image-dialog/image-dialog")},code:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("`"+i+"`"),""===i&&e.setCursor(t.line,t.ch+1)},"code-block":function(){this.executePlugin("codeBlockDialog","code-block-dialog/code-block-dialog")},"preformatted-text":function(){this.executePlugin("preformattedTextDialog","preformatted-text-dialog/preformatted-text-dialog")},table:function(){this.executePlugin("tableDialog","table-dialog/table-dialog")},datetime:function(){var e=this.cm,i=(e.getSelection(),new Date,this.settings.lang.name),o=t.dateFormat()+" "+t.dateFormat("zh-cn"===i||"zh-tw"===i?"cn-week-day":"week-day");e.replaceSelection(o)},emoji:function(){this.executePlugin("emojiDialog","emoji-dialog/emoji-dialog")},htmlEntities:function(){this.executePlugin("htmlEntitiesDialog","html-entities-dialog/html-entities-dialog")},watch:function(){this[this.settings.watch?"unwatch":"watch"]()},preview:function(){this.previewing()},fullscreen:function(){this.fullscreen()},clear:function(){this.clear()},help:function(){this.executePlugin("helpDialog","help-dialog/help-dialog")},info:function(){this.showInfoDialog()}},t.trim=function(e){return String.prototype.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};var i=t.trim;return t.urls={atLinkBase:"https://github.com/"},t.regex={atLink:/@(\w+)/g,emoji:/:([\-\w]+):/g,twemoji:/:(tw-([\w]+)-?(\w+)?):/g,fontAwesome:/:(fa-([\w]+)-?(\w+)?):/g,editormdLogo:/:(editormd-logo-?(\w+)?):/g},t.emoji={path:"http://www.emoji-cheat-sheet.com/graphics/emojis/",ext:".png"},t.twemoji={path:"http://twemoji.maxcdn.com/36x36/",ext:".png"},t.markedRenderer=function(o,r){var a={toc:!0,tocStartLevel:1,taskList:!1,emoji:!1,tex:!1,flowChart:!1,sequenceDiagram:!1},n=t.regex.atLink,s=e.extend(a,r||{}),l=t.$marked,c=new l.Renderer;o=o||[];var d=t.regex.emoji,h=t.regex.twemoji,u=t.regex.fontAwesome,f=t.regex.editormdLogo;return c.emoji=function(e){var i=e.match(d);if(!i||!s.emoji)return e;for(var o=0,r=i.length;r>o;o++)e=e.replace(new RegExp(i[o]),function(e){var i=e.match(u),o=e.replace(/:/g,"");if(i)for(var r=0,a=i.length;a>r;r++){var n=i[r].replace(/:/g,"");return''}else{var s=e.match(f),l=e.match(h);if(s)for(var c=0,d=s.length;d>c;c++){var m=s[c].replace(/:/g,"");return''}else{if(!l)return':'+o+':';for(var g=0,p=l.length;p>g;g++){var w=l[g].replace(/:/g,"").replace("tw-","");return'twemoji-'+w+''}}}});return e},c.atLink=function(e){return n.test(e)&&(e=e.replace(n,function(e,i){return''+e+""})),e},c.link=function(e,t,i){if(this.options.sanitize){try{var o=decodeURIComponent(unescape(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(r){return""}if(0===o.indexOf("javascript:"))return""}var a=''+i.replace(/@/g,"@")+""):(t&&(a+=' title="'+t+'"'),a+=">"+i+"")},c.heading=function(e,t){var r=e,a=/\s*\]*)\>(.*)\<\/a\>\s*/;if(a.test(e)){var n=[];e=e.split(/\]+)\>([^\>]*)\<\/a\>/);for(var s=0,l=e.length;l>s;s++)n.push(e[s].replace(/\s*href\=\"(.*)\"\s*/g,""));e=n.join(" ")}e=i(e);var c=e.toLowerCase().replace(/[^\w]+/g,"-"),d={text:e,level:t,slug:c},h=/^[\u4e00-\u9fa5]+$/.test(e),u=h?escape(e).replace(/\%/g,""):e.toLowerCase().replace(/[^\w]+/g,"-");o.push(d);var f="';return f+='',f+='',f+=this.atLink(a?this.emoji(r):this.emoji(e)),f+=""},c.paragraph=function(e){var i=/\$\$(.*)\$\$/g.test(e),o=/^\$\$(.*)\$\$$/.test(e),r=o?' class="'+t.classNames.tex+'"':"",a=/^\[TOC\]$/.test(e);return e=!o&&i?e.replace(/(\$\$([^\$]*)\$\$)+/g,function(e,i){return''+i.replace(/\$/g,"")+""}):o?e.replace(/\$/g,""):e,a?'
      '+e+"
    ":""+this.atLink(this.emoji(e))+"

    \n"},c.code=function(e,t){return"seq"===t||"sequence"===t?'
    '+e+"
    ":"flow"===t?'
    '+e+"
    ":l.Renderer.prototype.code.apply(this,arguments)},c.tablecell=function(e,t){var i=t.header?"th":"td",o=t.align?"<"+i+' style="text-align:'+t.align+'">':"<"+i+">";return o+this.atLink(this.emoji(e))+"\n"},c.listitem=function(e){return s.taskList&&/^\s*\[[x\s]\]\s*/.test(e)?(e=e.replace(/^\s*\[\s\]\s*/,' ').replace(/^\s*\[x\]\s*/,' '),'
  • '+this.atLink(this.emoji(e))+"
  • "):"
  • "+this.atLink(this.emoji(e))+"
  • "},c},t.markdownToCRenderer=function(e,t,i){var o="",r=0;i=i||1;for(var a=0,n=e.length;n>a;a++){var s=e[a].text,l=e[a].level;i>l||(o+=l>r?"":r>l?new Array(r-l+2).join(""):"",o+='
  • '+s+"
      ",r=l)}var c=t.find(".markdown-toc");return c.children(".markdown-toc-list").html("").html(o),c},t.filterHTMLTags=function(e,t){if("string"==typeof t)for(var i=t.split(","),o=0,r=i.length;r>o;o++){var a=i[o]; -e=e.replace(new RegExp("]*)>","igm"),"").replace(new RegExp("","igm"),"")}return e},t.markdownToHTML=function(i,o){var r={gfm:!0,toc:!0,tocStartLevel:1,markdown:"",htmlDecode:!1,inRequirejs:!1,tex:!1,taskList:!1,emoji:!1,flowChart:!1,sequenceDiagram:!1,previewCodeHighlight:!0};t.$marked=marked;var a=e("#"+i),n=a.settings=e.extend(!0,r,o||{}),s=a.find("textarea"),l=""===n.markdown?s.val():n.markdown,c=[],d={toc:n.toc,tocStartLevel:n.tocStartLevel,taskList:n.taskList,emoji:n.emoji,tex:n.tex,flowChart:n.flowChart,sequenceDiagram:n.sequenceDiagram,previewCodeHighlight:n.previewCodeHighlight},h={renderer:t.markedRenderer(c,d),gfm:n.gfm,tables:!0,breaks:!0,pedantic:!1,sanitize:n.htmlDecode?!1:!0,smartLists:!0,smartypants:!0};l=t.filterHTMLTags(l,n.htmlDecode);var u=marked(l,h);if(t.isIE8?s.val(l):s.html(l),a.addClass("markdown-body "+this.classPrefix+"html-preview").append(u),n.toc&&(a.tocContainer=this.markdownToCRenderer(c,a,n.tocStartLevel)),n.previewCodeHighlight&&(a.find("pre").addClass("prettyprint linenums"),prettyPrint()),t.isIE8||(n.flowChart&&a.find(".flowchart").flowChart(),n.sequenceDiagram&&a.find(".sequence-diagram").sequenceDiagram({theme:"simple"})),n.tex){var f=function(){a.find("."+t.classNames.tex).each(function(){var i=e(this);t.$katex.render(i.html(),i[0])})};n.inRequirejs?f():this.loadKaTeX(function(){t.$katex=katex,f()})}return a.getMarkdown=function(){return t.isIE8?s.val():s.html()},a},t.themes=["default","3024-day","3024-night","ambiance","ambiance-mobile","base16-dark","base16-light","blackboard","cobalt","eclipse","elegant","erlang-dark","lesser-dark","mbo","mdn-like","midnight","monokai","neat","neo","night","paraiso-dark","paraiso-light","pastel-on-dark","rubyblue","solarized","the-matrix","tomorrow-night-eighties","twilight","vibrant-ink","xq-dark","xq-light"],t.loadPlugins={},t.loadFiles={js:[],css:[],plugin:[]},t.loadPlugin=function(e,i,o){i=i||function(){},this.loadScript(e,function(){t.loadFiles.plugin.push(e),i()},o)},t.loadCSS=function(e,i,o){o=o||"head",i=i||function(){};var r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.onload=r.onreadystatechange=function(){t.loadFiles.css.push(e),i()},r.href=e+".css","head"===o?document.getElementsByTagName("head")[0].appendChild(r):document.body.appendChild(r)},t.isIE="Microsoft Internet Explorer"==navigator.appName,t.isIE8=t.isIE&&"8."==navigator.appVersion.match(/8./i),t.loadScript=function(e,i,o){o=o||"head",i=i||function(){};var r=null;r=document.createElement("script"),r.id=e.replace(/[\./]+/g,"-"),r.type="text/javascript",r.src=e+".js",t.isIE8?r.onreadystatechange=function(){r.readyState&&("loaded"===r.readyState||"complete"===r.readyState)&&(r.onreadystatechange=null,t.loadFiles.js.push(e),i())}:r.onload=function(){t.loadFiles.js.push(e),i()},"head"===o?document.getElementsByTagName("head")[0].appendChild(r):document.body.appendChild(r)},t.katexURL={css:"http://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.1.1/katex.min",js:"http://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.1.1/katex.min"},t.kaTeXLoaded=!1,t.loadKaTeX=function(e){t.loadCSS(t.katexURL.css,function(){t.loadScript(t.katexURL.js,e||function(){})})},t.lockScreen=function(t){e("html,body").css("overflow",t?"hidden":"")},t.createDialog=function(i){var o={name:"",width:420,height:240,title:"",drag:!0,closed:!0,content:"",mask:!0,maskStyle:{backgroundColor:"#fff",opacity:.1},lockScreen:!0,footer:!0,buttons:!1};i=e.extend(!0,o,i);var r=this.editor,a=t.classPrefix,n=(new Date).getTime(),s=""===i.name?a+"dialog-"+n:i.name,l=t.mouseOrTouch,c='
      ';""!==i.title&&(c+='
      ",c+=''+i.title+"",c+="
      "),i.closed&&(c+=''),c+='
      '+i.content,(i.footer||"string"==typeof i.footer)&&(c+='"),c+="
      ",c+='
      ',c+='
      ',c+="
      ",r.append(c);var d=r.find("."+s);d.lockScreen=function(t){return i.lockScreen&&e("html,body").css("overflow",t?"hidden":""),d},d.showMask=function(){return i.mask&&r.find("."+a+"mask").css(i.maskStyle).css("z-index",t.dialogZindex-1).show(),d},d.hideMask=function(){return i.mask&&r.find("."+a+"mask").hide(),d},d.loading=function(e){var t=d.find("."+a+"dialog-mask");return t[e?"show":"hide"](),d},d.lockScreen(!0).showMask(),d.show().css({zIndex:t.dialogZindex,border:t.isIE8?"1px solid #ddd":"",width:"number"==typeof i.width?i.width+"px":i.width,height:"number"==typeof i.height?i.height+"px":i.height});var h=function(){d.css({top:(e(window).height()-d.height())/2+"px",left:(e(window).width()-d.width())/2+"px"})};if(h(),e(window).resize(h),d.children("."+a+"dialog-close").bind(l("click","touchend"),function(){d.hide().lockScreen(!1).hideMask()}),"object"==typeof i.buttons){var u=d.footer=d.find("."+a+"dialog-footer");for(var f in i.buttons){var m=i.buttons[f],g=a+f+"-btn";u.append('"),m[1]=e.proxy(m[1],d),u.children("."+g).bind(l("click","touchend"),m[1])}}if(""!==i.title&&i.drag){var p,w,v=d.children("."+a+"dialog-header");i.mask||v.bind(l("click","touchend"),function(){t.dialogZindex+=2,d.css("z-index",t.dialogZindex)}),v.mousedown(function(e){e=e||window.event,p=e.clientX-parseInt(d[0].style.left),w=e.clientY-parseInt(d[0].style.top),document.onmousemove=k});var x=function(e){e.removeClass(a+"user-unselect").off("selectstart")},b=function(e){e.addClass(a+"user-unselect").on("selectstart",function(){return!1})},k=function(t){t=t||window.event;var i,o,r=parseInt(d[0].style.left),a=parseInt(d[0].style.top);r>=0?r+d.width()<=e(window).width()?i=t.clientX-p:(i=e(window).width()-d.width(),document.onmousemove=null):(i=0,document.onmousemove=null),a>=0?o=t.clientY-w:(o=0,document.onmousemove=null),document.onselectstart=function(){return!1},b(e("body")),b(d),d[0].style.left=i+"px",d[0].style.top=o+"px"};document.onmouseup=function(){x(e("body")),x(d),document.onselectstart=null,document.onmousemove=null},v.touchDraggable=function(){var t=null,i=function(i){var o=i.originalEvent,r=e(this).parent().position();t={x:o.changedTouches[0].pageX-r.left,y:o.changedTouches[0].pageY-r.top}},o=function(i){i.preventDefault();var o=i.originalEvent;e(this).parent().css({top:o.changedTouches[0].pageY-t.y,left:o.changedTouches[0].pageX-t.x})};this.bind("touchstart",i).bind("touchmove",o)},v.touchDraggable()}return t.dialogZindex+=2,d},t.mouseOrTouch=function(e,t){e=e||"click",t=t||"touchend";var i=e;try{document.createEvent("TouchEvent"),i=t}catch(o){}return i},t.dateFormat=function(e){e=e||"";var t=function(e){return 10>e?"0"+e:e},i=new Date,o=i.getFullYear(),r=o.toString().slice(2,4),a=t(i.getMonth()+1),n=t(i.getDate()),s=i.getDay(),l=t(i.getHours()),c=t(i.getMinutes()),d=t(i.getSeconds()),h=t(i.getMilliseconds()),u="",f=r+"-"+a+"-"+n,m=o+"-"+a+"-"+n,g=l+":"+c+":"+d;switch(e){case"UNIX Time":u=i.getTime();break;case"UTC":u=i.toUTCString();break;case"yy":u=r;break;case"year":case"yyyy":u=o;break;case"month":case"mm":u=a;break;case"cn-week-day":case"cn-wd":var p=["日","一","二","三","四","五","六"];u="星期"+p[s];break;case"week-day":case"wd":var w=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];u=w[s];break;case"day":case"dd":u=n;break;case"hour":case"hh":u=l;break;case"min":case"ii":u=c;break;case"second":case"ss":u=d;break;case"ms":u=h;break;case"yy-mm-dd":u=f;break;case"yyyy-mm-dd":u=m;break;case"yyyy-mm-dd h:i:s ms":case"full + ms":u=m+" "+g+" "+h;break;case"full":case"yyyy-mm-dd h:i:s":default:u=m+" "+g}return u},t}}); \ No newline at end of file +/*! Editor.md v1.3.0 | editormd.amd.min.js | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-12 */ +!function(e){"use strict";if("function"==typeof require&&"object"==typeof exports&&"object"==typeof module)module.exports=e;else if("function"==typeof define)if(define.amd){var t="codemirror/mode/",i="codemirror/addon/",o=["jquery","marked","prettify","katex","raphael","underscore","flowchart","jqueryflowchart","sequenceDiagram","codemirror/lib/codemirror",t+"css/css",t+"sass/sass",t+"shell/shell",t+"sql/sql",t+"clike/clike",t+"php/php",t+"xml/xml",t+"markdown/markdown",t+"javascript/javascript",t+"htmlmixed/htmlmixed",t+"gfm/gfm",t+"http/http",t+"go/go",t+"dart/dart",t+"coffeescript/coffeescript",t+"nginx/nginx",t+"python/python",t+"perl/perl",t+"lua/lua",t+"r/r",t+"ruby/ruby",t+"rst/rst",t+"smartymixed/smartymixed",t+"vb/vb",t+"vbscript/vbscript",t+"velocity/velocity",t+"xquery/xquery",t+"yaml/yaml",t+"erlang/erlang",t+"jade/jade",i+"edit/trailingspace",i+"dialog/dialog",i+"search/searchcursor",i+"search/search",i+"scroll/annotatescrollbar",i+"search/matchesonscrollbar",i+"display/placeholder",i+"edit/closetag",i+"fold/foldcode",i+"fold/foldgutter",i+"fold/indent-fold",i+"fold/brace-fold",i+"fold/xml-fold",i+"fold/markdown-fold",i+"fold/comment-fold",i+"mode/overlay",i+"selection/active-line",i+"edit/closebrackets",i+"display/fullscreen",i+"search/match-highlighter"];define(o,e)}else define(["jquery"],e);else window.editormd=e()}(function(){"function"==typeof define&&define.amd&&(e=arguments[0],marked=arguments[1],prettify=arguments[2],katex=arguments[3],Raphael=arguments[4],_=arguments[5],flowchart=arguments[6],CodeMirror=arguments[9]);var e="undefined"!=typeof jQuery?jQuery:Zepto;if("undefined"!=typeof e){var t=function(e,i){return new t.fn.init(e,i)};t.title=t.$name="Editor.md",t.version="1.2.0",t.homePage="https://pandao.github.io/editor.md/",t.classPrefix="editormd-",t.toolbarModes={full:["undo","redo","|","bold","del","italic","quote","ucwords","uppercase","lowercase","|","h1","h2","h3","h4","h5","h6","|","list-ul","list-ol","hr","|","link","anchor","image","code","preformatted-text","code-block","table","datetime","emoji","htmlEntities","|","watch","preview","fullscreen","clear","|","help","info"],simple:["undo","redo","|","bold","del","italic","quote","uppercase","lowercase","|","h1","h2","h3","h4","h5","h6","|","list-ul","list-ol","hr","|","watch","preview","fullscreen","|","help","info"],mini:["undo","redo","|","watch","preview","|","help","info"]},t.defaults={mode:"gfm",theme:"default",value:"",markdown:"",width:"100%",height:"100%",path:"../lib/",pluginPath:"",autoLoadModules:!0,watch:!0,placeholder:"now coding markdown...",codeFold:!1,autoHeight:!1,autoCloseTags:!0,searchReplace:!1,readOnly:!1,lineNumbers:!0,matchWordHighlight:!0,styleActiveLine:!0,dialogLockScreen:!0,dialogShowMask:!0,dialogDraggable:!0,dialogMaskBgColor:"#fff",dialogMaskOpacity:.1,fontSize:"13px",saveHTMLToTextarea:!1,disabledKeyMaps:[],onload:function(){},onresize:function(){},onchange:function(){},onwatch:null,onunwatch:null,onpreviewing:function(){},onpreviewed:function(){},onfullscreen:function(){},onfullscreenExit:function(){},onscroll:function(){},onpreviewscroll:function(){},imageUpload:!1,imageFormats:["jpg","jpeg","gif","png","bmp","webp"],imageUploadURL:"",crossDomainUpload:!1,uploadCallbackURL:"",toc:!0,tocStartLevel:1,htmlDecode:!1,atLink:!0,emailLink:!0,taskList:!1,emoji:!1,tex:!1,flowChart:!1,sequenceDiagram:!1,previewCodeHighlight:!0,toolbar:!0,toolbarAutoFixed:!0,toolbarIcons:function(){return t.toolbarModes.full},toolbarTitles:{},toolbarHandlers:{ucwords:function(){return t.toolbarHandlers.ucwords},lowercase:function(){return t.toolbarHandlers.lowercase}},toolbarCustomIcons:{lowercase:'a',ucwords:'Aa'},toolbarIconsClass:{undo:"fa-undo",redo:"fa-repeat",bold:"fa-bold",del:"fa-strikethrough",italic:"fa-italic",quote:"fa-quote-left",uppercase:"fa-font",h1:t.classPrefix+"bold",h2:t.classPrefix+"bold",h3:t.classPrefix+"bold",h4:t.classPrefix+"bold",h5:t.classPrefix+"bold",h6:t.classPrefix+"bold","list-ul":"fa-list-ul","list-ol":"fa-list-ol",hr:"fa-minus",link:"fa-link",anchor:"fa-anchor",image:"fa-picture-o",code:"fa-code","preformatted-text":"fa-file-code-o","code-block":"fa-file-code-o",table:"fa-table",datetime:"fa-clock-o",emoji:"fa-smile-o",htmlEntities:"fa-copyright",watch:"fa-eye-slash",unwatch:"fa-eye",preview:"fa-search",fullscreen:"fa-arrows-alt",clear:"fa-eraser",help:"fa-question-circle",info:"fa-info-circle"},toolbarIconTexts:{},lang:{name:"zh-cn",description:"开源在线Markdown编辑器
      A simple markdown doucment online editor.",toolbar:{undo:"撤销(Ctrl+Z)",redo:"重做(Ctrl+Y)",bold:"粗体",del:"删除线",italic:"斜体",quote:"引用",ucwords:"将每个单词首字母转成大写",uppercase:"将所选转换成大写",lowercase:"将所选转换成小写",h1:"标题1",h2:"标题2",h3:"标题3",h4:"标题4",h5:"标题5",h6:"标题6","list-ul":"无序列表","list-ol":"有序列表",hr:"横线",link:"链接",anchor:"锚点",image:"添加图片",code:"行内代码","preformatted-text":"预格式文本 / 代码块(缩进风格)","code-block":"代码块(多语言风格)",table:"添加表格",datetime:"日期时间",emoji:"Emoji表情",htmlEntities:"HTML实体字符",watch:"关闭实时预览",unwatch:"开启实时预览",preview:"全窗口预览HTML(可按ESC还原)",fullscreen:"全屏(按ESC还原)",clear:"清空",help:"使用帮助",info:"关于"+t.title},buttons:{enter:"确定",cancel:"取消",close:"关闭"},dialog:{link:{title:"添加链接",url:"链接地址",urlTitle:"链接标题",urlEmpty:"错误:请填写链接地址。"},anchor:{title:"添加锚点链接",name:"锚点名称",url:"链接地址",urlTitle:"链接标题",nameEmpty:"错误:锚点名称不能为空。",titleEmpty:"错误:请填写锚点链接标题。",urlEmpty:"错误:请填写锚点链接地址。"},image:{title:"添加图片",url:"图片地址",link:"图片链接",alt:"图片描述",uploadButton:"本地上传",imageURLEmpty:"错误:图片地址不能为空。",uploadFileEmpty:"错误:上传的图片不能为空。",formatNotAllowed:"错误:只允许上传图片文件,允许上传的图片文件格式有:"},preformattedText:{title:"添加预格式文本或代码块",emptyAlert:"错误:请填写预格式文本或代码的内容。"},codeBlock:{title:"添加代码块",selectLabel:"代码语言:",selectDefaultText:"请选择代码语言",otherLanguage:"其他语言",unselectedLanguageAlert:"错误:请选择代码所属的语言类型。",codeEmptyAlert:"错误:请填写代码内容。"},htmlEntities:{title:"HTML 实体字符"},help:{title:"使用帮助"}}}},t.classNames={tex:t.classPrefix+"tex"},t.dialogZindex=99999,t.$katex=null,t.$marked=null,t.$CodeMirror=null,t.$prettyPrint=null,t.prototype=t.fn={state:{watching:!1,loaded:!1,preview:!1,fullscreen:!1},init:function(i,o){o=o||{};var r=this,a=this.classPrefix=t.classPrefix,n=this.editor=e("#"+i),s=this.settings=e.extend(!0,t.defaults,o);this.id=i,this.lang=s.lang;var l=this.classNames={textarea:{html:this.classPrefix+"html-textarea",markdown:this.classPrefix+"markdown-textarea"}};s.pluginPath=""===s.pluginPath?this.settings.path+"../plugins/":s.pluginPath,this.state.watching=s.watch?!0:!1,n.hasClass("editormd")||n.addClass("editormd"),n.css({width:"number"==typeof s.width?s.width+"px":s.width,height:"number"==typeof s.height?s.height+"px":s.height}),s.autoHeight&&n.css("height","auto");var c=this.markdownTextarea=n.children("textarea");c.length<1&&(n.append(""),c=this.markdownTextarea=n.children("textarea")),c.addClass(l.textarea.markdown).attr("name",i+"-markdown-doc").attr("placeholder",s.placeholder);var d=[s.readOnly?"":'',s.saveHTMLToTextarea?'':"",'
      ','
      ','
      '].join("\n");return n.append(d).addClass(a+"vertical"),this.mask=n.children("."+a+"mask"),""!==s.markdown&&c.val(s.markdown),this.htmlTextarea=n.children("."+l.textarea.html),this.preview=n.children("."+a+"preview"),this.previewContainer=this.preview.children("."+a+"preview-container"),"function"==typeof define&&define.amd&&("undefined"!=typeof katex&&(t.$katex=katex),s.searchReplace&&(t.loadCSS(s.path+"codemirror/addon/dialog/dialog"),t.loadCSS(s.path+"codemirror/addon/search/matchesonscrollbar"))),"function"==typeof define&&define.amd||!s.autoLoadModules?("undefined"!=typeof CodeMirror&&(t.$CodeMirror=CodeMirror),"undefined"!=typeof marked&&(t.$marked=marked),r.setCodeMirror(),r.setToolbar(),r.loadedDisplay()):this.loadQueues(),this},loadQueues:function(){var e=this,i=this.settings,o=i.path,r=function(){return t.isIE8?void e.loadedDisplay():void(i.flowChart||i.sequenceDiagram?t.loadScript(o+"raphael.min",function(){t.loadScript(o+"underscore.min",function(){!i.flowChart&&i.sequenceDiagram?t.loadScript(o+"sequence-diagram.min",function(){e.loadedDisplay()}):i.flowChart&&!i.sequenceDiagram?t.loadScript(o+"flowchart.min",function(){t.loadScript(o+"jquery.flowchart.min",function(){e.loadedDisplay()})}):i.flowChart&&i.sequenceDiagram&&t.loadScript(o+"flowchart.min",function(){t.loadScript(o+"jquery.flowchart.min",function(){t.loadScript(o+"sequence-diagram.min",function(){e.loadedDisplay()})})})})}):e.loadedDisplay())};return t.loadCSS(o+"codemirror/codemirror.min"),i.searchReplace&&(t.loadCSS(o+"codemirror/addon/dialog/dialog"),t.loadCSS(o+"codemirror/addon/search/matchesonscrollbar")),i.codeFold&&t.loadCSS(o+"codemirror/addon/fold/foldgutter"),t.loadScript(o+"codemirror/codemirror.min",function(){t.$CodeMirror=CodeMirror,t.loadScript(o+"codemirror/modes.min",function(){t.loadScript(o+"codemirror/addons.min",function(){return e.setCodeMirror(),"gfm"!==i.mode&&"markdown"!==i.mode?(e.loadedDisplay(),!1):(e.setToolbar(),void t.loadScript(o+"marked.min",function(){t.$marked=marked,i.previewCodeHighlight?t.loadScript(o+"prettify.min",function(){r()}):r()}))})})}),this},setTheme:function(e){var i=this.settings;return i.theme=e,"default"!==e&&t.loadCSS(i.path+"codemirror/theme/"+i.theme),this.cm.setOption("theme",e),this},setCodeMirror:function(){var e=this.settings,i=this.editor;"default"!==e.theme&&t.loadCSS(e.path+"codemirror/theme/"+e.theme);var o={mode:e.mode,theme:e.theme,tabSize:4,dragDrop:!1,autofocus:!0,autoCloseTags:e.autoCloseTags,readOnly:e.readOnly?"nocursor":!1,indentUnit:4,lineNumbers:e.lineNumbers,lineWrapping:!0,extraKeys:{"Ctrl-Q":function(e){e.foldCode(e.getCursor())}},foldGutter:e.codeFold,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,indentWithTabs:!0,styleActiveLine:e.styleActiveLine,styleSelectedText:!0,autoCloseBrackets:!0,showTrailingSpace:!0,highlightSelectionMatches:e.matchWordHighlight?{showToken:"onselected"==e.matchWordHighlight?!1:/\w/}:!1};return this.codeEditor=this.cm=t.$CodeMirror.fromTextArea(this.markdownTextarea[0],o),this.codeMirror=this.cmElement=i.children(".CodeMirror"),""!==e.value&&this.cm.setValue(e.value),this.codeMirror.css({fontSize:e.fontSize,width:e.watch?"50%":"100%"}),e.autoHeight&&(this.codeMirror.css("height","auto"),this.cm.setOption("viewportMargin",1/0)),this},getCodeMirrorOption:function(e){return this.cm.getOption(e)},setCodeMirrorOption:function(e,t){return this.cm.setOption(e,t),this},addKeyMap:function(e,t){return this.cm.addKeyMap(e,t),this},removeKeyMap:function(e){return this.cm.removeKeyMap(e),this},"extends":function(){return"undefined"!=typeof arguments[1]&&("function"==typeof arguments[1]&&(arguments[1]=e.proxy(arguments[1],this)),this[arguments[0]]=arguments[1]),"object"==typeof arguments[0]&&"undefined"==typeof arguments[0].length&&e.extend(!0,this,arguments[0]),this},set:function(t,i){return"undefined"!=typeof i&&"function"==typeof i&&(i=e.proxy(i,this)),this[t]=i,this},config:function(t,i){var o=this.settings;return"object"==typeof t&&(o=e.extend(!0,o,t)),"string"==typeof t&&(o[t]=i),this.settings=o,this.recreate(),this},on:function(t,i){var o=this.settings;return"undefined"!=typeof o["on"+t]&&(o["on"+t]=e.proxy(i,this)),this},off:function(e){var t=this.settings;return"undefined"!=typeof t["on"+e]&&(t["on"+e]=function(){}),this},showToolbar:function(t){var i=this.settings;if(!i.readOnly)return i.toolbar&&(this.toolbar.length<1||""===this.toolbar.find("."+this.classPrefix+"menu").html())&&this.setToolbar(),i.toolbar=!0,this.toolbar.show(),this.resize(),e.proxy(t||function(){},this)(),this},hideToolbar:function(t){var i=this.settings;return i.toolbar=!1,this.toolbar.hide(),this.resize(),e.proxy(t||function(){},this)(),this},setToolbarAutoFixed:function(t){var i=this.state,o=this.editor,r=this.toolbar,a=this.settings;"undefined"!=typeof t&&(a.toolbarAutoFixed=t);var n=function(){var t=e(window).scrollTop();return a.toolbarAutoFixed?void r.css(t-o.offset().top>10?{position:"fixed",width:o.width()+"px",left:(e(window).width()-o.width())/2+"px"}:{position:"absolute",width:"100%",left:0}):!1};return!i.fullscreen&&!i.preview&&a.toolbar&&a.toolbarAutoFixed&&e(window).bind("scroll",n),a.toolbarAutoFixed||e(window).unbind("scroll",n),this},setToolbar:function(){var e=this.settings;if(!e.readOnly){var i=this.editor,o=(this.preview,this.classPrefix),r=this.toolbar=i.children("."+o+"toolbar");if(e.toolbar&&r.length<1&&(i.append('
        '),r=this.toolbar=i.children("."+o+"toolbar")),!e.toolbar)return void r.hide();r.show();for(var a="function"==typeof e.toolbarIcons?e.toolbarIcons():"string"==typeof e.toolbarIcons?t.toolbarModes[e.toolbarIcons]:e.toolbarIcons,n=r.find("."+this.classPrefix+"menu"),s="",l=0,c=a.length;c>l;l++){var d=a[l];if("|"!==d){var h=/h(\d)/.test(d),u=d;"watch"!==d||e.watch||(u="unwatch");var f=e.lang.toolbar[u],g=e.toolbarIconTexts[u],p=e.toolbarIconsClass[u];f="undefined"==typeof f?"":f,g="undefined"==typeof g?"":g,p="undefined"==typeof p?"":p,s+="
      • ",s+="undefined"!=typeof e.toolbarCustomIcons[d]?e.toolbarCustomIcons[d]:''+(h?d:""===p?g:"")+"",s+="
      • "}else s+='
      • |
      • '}return n.html(s),n.find('[title="Lowercase"]').attr("title",e.lang.toolbar.lowercase),n.find('[title="ucwords"]').attr("title",e.lang.toolbar.ucwords),this.setToolbarHandler(),this.setToolbarAutoFixed(),this}},dialogLockScreen:function(){return e.proxy(t.dialogLockScreen,this)(),this},dialogShowMask:function(i){return e.proxy(t.dialogShowMask,this)(i),this},getToolbarHandles:function(e){var i=this.toolbarHandlers=t.toolbarHandlers;return e&&"undefined"!=typeof toolbarIconHandlers[e]?i[e]:i},setToolbarHandler:function(){var i=this,o=this.settings;if(o.toolbar&&!o.readOnly){var r=(this.editor,this.preview,this.toolbar),a=this.codeEditor,n=(this.codeMirror,this.classPrefix),s=(this.previewContainer,this.toolbarIcons=r.find("."+n+"menu > li > a")),l=this.getToolbarHandles();return s.bind(t.mouseOrTouch("click","touchend"),function(){var t=e(this).children(".fa"),r=t.attr("name"),n=a.getCursor(),s=a.getSelection();return""!==r?(i.activeIcon=t,"undefined"!=typeof l[r]?e.proxy(l[r],i)(a):"undefined"!=typeof o.toolbarHandlers[r]&&e.proxy(o.toolbarHandlers[r],i)(a,t,n,s),"link"!==r&&"anchor"!==r&&"image"!==r&&"code-block"!==r&&"preformatted-text"!==r&&"watch"!==r&&"preview"!==r&&"fullscreen"!==r&&"info"!==r&&a.focus(),!1):void 0}),this}},createDialog:function(i){return e.proxy(t.createDialog,this)(i)},createInfoDialog:function(){var e=this,i=this.editor,o=this.classPrefix,r=['
        ','
        ','

        '+t.title+"v"+t.version+"

        ","

        "+this.lang.description+"

        ",'

        Home page: '+t.homePage+"

        ","

        License: MIT

        ","
        ",'',"
        "].join("\n");i.append(r);var a=this.infoDialog=i.children("."+o+"dialog-info");return a.find("."+o+"dialog-close").bind(t.mouseOrTouch("click","touchend"),function(){e.hideInfoDialog()}),a.css("border",t.isIE8?"1px solid #ddd":"").css("z-index",t.dialogZindex).show(),this.infoDialogPosition(),this},infoDialogPosition:function(){var t=this.infoDialog,i=function(){t.css({top:(e(window).height()-t.height())/2+"px",left:(e(window).width()-t.width())/2+"px"})};return i(),e(window).resize(i),this},showInfoDialog:function(){e("html,body").css("overflow-x","hidden");var i=this.editor,o=this.settings,r=this.classPrefix,a=this.infoDialog=i.children("."+r+"dialog-info");return a.length<1&&this.createInfoDialog(),this.lockScreen(!0),this.mask.css({opacity:o.dialogMaskOpacity,backgroundColor:o.dialogMaskBgColor}).show(),a.css("z-index",t.dialogZindex).show(),this.infoDialogPosition(),this},hideInfoDialog:function(){return e("html,body").css("overflow-x",""),this.infoDialog.hide(),this.mask.hide(),this.lockScreen(!1),this},lockScreen:function(e){return t.lockScreen(e),this},recreate:function(){var e=this.editor,t=this.settings,i=t.toolbarIcons();return this.codeMirror.remove(),this.setCodeMirror(),"undefined"!=typeof this.infoDialog&&this.infoDialog.remove(),"undefined"!=typeof i.info&&createInfoDialog(),t.readOnly||(e.find(".editormd-dialog").length>0&&e.find(".editormd-dialog").remove(),t.toolbar&&(this.getToolbarHandles(),this.setToolbar())),this.saveToTextareas(),this.resize(),this.registerKeyMaps(),this},previewCodeHighlight:function(){var e=this.settings,t=this.previewContainer;return e.previewCodeHighlight&&(t.find("pre").addClass("prettyprint linenums"),"undefined"!=typeof prettyPrint&&prettyPrint()),this},katexRender:function(){var i=this.previewContainer;return i.find("."+t.classNames.tex).each(function(){var i=e(this);t.$katex.render(i.html(),i[0])}),this},flowChartAndSequenceDiagramRender:function(){var e=this.settings,i=this.previewContainer;return t.isIE8?void 0:(e.flowChart&&i.find(".flowchart").flowChart(),e.sequenceDiagram&&i.find(".sequence-diagram").sequenceDiagram({theme:"simple"}),this)},registerKeyMaps:function(i){i=i||null;var o=this,r=this.cm,a=this.settings;if(i){for(var n in i)if(e.inArray(n,a.disabledKeyMaps)<0){var s={};s[n]=i[n],r.addKeyMap(i)}}else{for(var n in t.keyMaps){var i=t.keyMaps[n],l="string"==typeof i?e.proxy(t.toolbarHandlers[i],o):e.proxy(i,o);if(e.inArray(n,["F9","F10","F11"])<0&&e.inArray(n,a.disabledKeyMaps)<0){var s={};s[n]=l,r.addKeyMap(s)}}e(window).keydown(function(i){var r={120:"F9",121:"F10",122:"F11"};if(e.inArray(r[i.keyCode],a.disabledKeyMaps)<0)switch(i.keyCode){case 120:return e.proxy(t.toolbarHandlers.watch,o)(),!1;case 121:return e.proxy(t.toolbarHandlers.preview,o)(),!1;case 122:e.proxy(t.toolbarHandlers.fullscreen,o)()}})}return this},loadedDisplay:function(){var i=this,o=this.editor,r=this.preview,a=this.settings,n=this.codeEditor,s=this.codeMirror,l=(this.previewContainer,t.mouseOrTouch);o.children("."+this.classPrefix+"container-mask").hide(),this.saveToTextareas(),a.watch&&r.show(),o.data("oldWidth",o.width()).data("oldHeight",o.height()),this.resize(),this.registerKeyMaps(),e(window).resize(function(){i.resize()});var c=function(){s.find(".CodeMirror-scroll").bind(l("scroll","touchmove"),function(t){var i=e(this).height(),o=e(this).scrollTop(),n=o/e(this)[0].scrollHeight;r.scrollTop(0===o?0:o+i>=e(this)[0].scrollHeight?r[0].scrollHeight:r[0].scrollHeight*n),e.proxy(a.onscroll,this)(t)})},d=function(){s.find(".CodeMirror-scroll").unbind(l("scroll","touchmove"))},h=function(){r.bind(l("scroll","touchmove"),function(){var t=e(this).height(),i=e(this).scrollTop(),o=i/e(this)[0].scrollHeight,r=s.find(".CodeMirror-scroll");r.scrollTop(0===i?0:i+t>=e(this)[0].scrollHeight?r[0].scrollHeight:r[0].scrollHeight*o),e.proxy(a.onpreviewscroll,this)(event)})},u=function(){r.unbind(l("scroll","touchmove"))};return s.bind({mouseover:c,mouseout:d,touchstart:c,touchend:d}),r.bind({mouseover:h,mouseout:u,touchstart:h,touchend:u}),n.on("change",function(){i.previewContainer.css("padding-left",a.autoHeight&&e("body").height()>e(window).height()?"30px":"20px"),i.saveToTextareas()}),e.proxy(a.onload,this)(),this.state.loaded=!0,this},width:function(e){return this.editor.css("width","number"==typeof e?e+"px":e),this.resize(),this},height:function(e){return this.editor.css("height","number"==typeof e?e+"px":e),this.resize(),this},resize:function(t,i){t=t||null,i=i||null;var o=this.state,r=this.editor,a=this.preview,n=this.toolbar,s=this.settings,l=(this.codeEditor,this.codeMirror);return t&&r.css({width:"number"==typeof t?t+"px":t}),!s.autoHeight||o.fullscreen||o.preview?(i&&r.css({height:"number"==typeof i?i+"px":i}),o.fullscreen&&r.height(e(window).height()),s.toolbar&&!s.readOnly?l.css("margin-top",n.height()+1).height(r.height()-n.height()):l.css("margin-top",0).height(r.height())):(r.css("height","auto"),l.css("height","auto")),l.find(".CodeMirror-gutters").height(l.height()),s.watch?(l.width(r.width()/2),a.width(o.preview?r.width():r.width()/2),s.toolbar&&!s.readOnly?a.css("top",n.height()):a.css("top",0),a.height(!s.autoHeight||o.fullscreen||o.preview?s.toolbar&&!s.readOnly?r.height()-n.height():r.height():"auto")):(l.width(r.width()),a.hide()),o.loaded&&e.proxy(s.onresize,this)(),this},saveToTextareas:function(){var i=this,o=this.state,r=this.settings,a=this.codeEditor,n=this.previewContainer,s=a.getValue();if("gfm"!==r.mode&&"markdown"!==r.mode)return this.markdownTextarea[0].innerText=s,this;var l=t.$marked,c=this.markdownToC=[],d=this.markedRendererOptions={toc:r.toc,tocStartLevel:r.tocStartLevel,taskList:r.taskList,emoji:r.emoji,tex:r.tex,atLink:r.atLink,emailLink:r.emailLink,flowChart:r.flowChart,sequenceDiagram:r.sequenceDiagram,previewCodeHighlight:r.previewCodeHighlight},h=this.markedOptions={renderer:t.markedRenderer(c,d),gfm:!0,tables:!0,breaks:!0,pedantic:!1,sanitize:r.htmlDecode?!1:!0,smartLists:!0,smartypants:!0};l.setOptions(h),s=t.filterHTMLTags(s,r.htmlDecode);var u=t.$marked(s,h);if(this.markdownTextarea[0].innerText=s,a.save(),r.saveHTMLToTextarea&&this.htmlTextarea.html(u),r.watch||!r.watch&&o.preview){if(n.html(u),this.previewCodeHighlight(),r.toc&&t.markdownToCRenderer(c,n,r.tocStartLevel),r.tex&&(!t.kaTeXLoaded&&r.autoLoadModules?t.loadKaTeX(function(){t.$katex=katex,t.kaTeXLoaded=!0,i.katexRender()}):(t.$katex=katex,this.katexRender())),r.flowChart||r.sequenceDiagram)var f=setTimeout(function(){clearTimeout(f),i.flowChartAndSequenceDiagramRender()},10);o.loaded&&e.proxy(r.onchange,this)()}return this},focus:function(){return this.codeEditor.focus(),this},setCursor:function(e){return this.codeEditor.setCursor(e),this},getCursor:function(){return this.codeEditor.getCursor()},setSelection:function(e,t){return this.codeEditor.setSelection(e,t),this},getSelection:function(){return this.codeEditor.getSelection()},setSelections:function(e){return this.cm.setSelections(e),this},getSelections:function(){return this.cm.getSelections()},replaceSelection:function(e){return this.codeEditor.replaceSelection(e),this},insertValue:function(e){return this.replaceSelection(e),this},setMarkdown:function(e){var t=this.settings;return this.codeEditor.setValue(e||t.markdown),this},getMarkdown:function(){return this.codeEditor.getValue()},getValue:function(){return this.codeEditor.getValue()},setValue:function(e){return this.codeEditor.setValue(e),this},clear:function(){return this.codeEditor.setValue(""),this},getHTML:function(){return this.settings.saveHTMLToTextarea?this.htmlTextarea.html():(alert("Error: settings.saveHTMLToTextarea == false"),!1)},getTextareaSavedHTML:function(){return this.getHTML()},getPreviewedHTML:function(){return this.settings.watch?this.previewContainer.html():(alert("Error: settings.watch == false"),!1)},watch:function(t){var i=this.settings;this.state.watching=i.watch=!0,this.preview.show();var o=i.toolbarIconsClass.watch,r=i.toolbarIconsClass.unwatch,a=this.toolbar.find(".fa[name=watch]");return a.parent().attr("title",i.lang.toolbar.watch),a.removeClass(r).addClass(o),this.codeMirror.css("border-right","1px solid #ddd").width(this.editor.width()/2),this.saveToTextareas().resize(),i.onwatch||(i.onwatch=t||function(){}),e.proxy(i.onwatch,this)(),this},unwatch:function(t){var i=this.settings;this.state.watching=i.watch=!1,this.preview.hide();var o=i.toolbarIconsClass.watch,r=i.toolbarIconsClass.unwatch;if(this.toolbar){var a=this.toolbar.find(".fa[name=watch]");a.parent().attr("title",i.lang.toolbar.unwatch),a.removeClass(o).addClass(r)}return this.codeMirror.css("border-right","none").width(this.editor.width()),this.resize(),i.onunwatch||(i.onunwatch=t||function(){}),e.proxy(i.onunwatch,this)(),this},show:function(t){t=t||function(){};var i=this;return this.editor.show(0,function(){e.proxy(t,i)()}),this},hide:function(t){t=t||function(){};var i=this;return this.editor.hide(0,function(){e.proxy(t,i)()}),this},previewing:function(){var i=this,o=this.editor,r=this.preview,a=this.toolbar,n=this.settings,s=this.codeMirror;n.toolbar&&(a.toggle(),a.find(".fa[name=preview]").toggleClass("active")),s.toggle();var l=function(e){e.shiftKey&&27===e.keyCode&&i.previewed()};"none"===s.css("display")?(this.state.preview=!0,this.state.fullscreen&&r.css("background","#fff"),o.find("."+this.classPrefix+"preview-close-btn").show().bind(t.mouseOrTouch("click","touchend"),function(){i.previewed()}),n.watch||this.saveToTextareas(),r.show().css({position:"static",top:0,width:o.width(),height:n.autoHeight&&!this.state.fullscreen?"auto":o.height()}),this.state.loaded&&e.proxy(n.onpreviewing,this)(),e(window).bind("keyup",l)):(e(window).unbind("keyup",l),this.previewed())},previewed:function(){var i=this.editor,o=this.preview,r=this.toolbar,a=this.settings,n=this.codeMirror,s=i.find("."+this.classPrefix+"preview-close-btn");return this.state.preview=!1,n.show(),a.toolbar&&r.show(),this.settings.watch?o.show():o.hide(),s.hide().unbind(t.mouseOrTouch("click","touchend")),o.css({background:null,position:"absolute",width:i.width()/2,height:a.autoHeight&&!this.state.fullscreen?"auto":i.height()-r.height(),top:a.toolbar?r.height():0}),this.state.loaded&&e.proxy(a.onpreviewed,this)(),this},fullscreen:function(){var t=this,i=this.editor,o=(this.preview,this.toolbar),r=this.classPrefix+"fullscreen";o&&o.find(".fa[name=fullscreen]").parent().toggleClass("active");var a=function(e){e.shiftKey||27!==e.keyCode||t.state.fullscreen&&t.fullscreenExit()};return i.hasClass(r)?(e(window).unbind("keyup",a),this.fullscreenExit()):(this.state.fullscreen=!0,e("html,body").css("overflow","hidden"),i.css({position:"fixed",top:0,left:0,margin:0,border:"none",width:e(window).width(),height:e(window).height()}).addClass(r),this.resize(),e.proxy(this.settings.onfullscreen,this)(),e(window).bind("keyup",a)),this},fullscreenExit:function(){var t=this.editor,i=this.toolbar,o=this.classPrefix+"fullscreen";return this.state.fullscreen=!0,i&&i.find(".fa[name=fullscreen]").parent().removeClass("active"),e("html,body").css("overflow",""),t.css({position:"",top:"",left:"",margin:"0 auto 15px",width:t.data("oldWidth"),height:t.data("oldHeight"),border:"1px solid #ddd"}).removeClass(o),this.resize(),e.proxy(this.settings.onfullscreenExit,this)(),this},executePlugin:function(i,o){var r=this,a=this.cm,n=this.settings;return"function"==typeof define?void this[i](a):(o=n.pluginPath+o,void(e.inArray(o,t.loadFiles.plugin)<0?t.loadPlugin(o,function(){t.loadPlugins[i]=r[i],r[i](a)}):e.proxy(t.loadPlugins[i],this)(a)))}},t.fn.init.prototype=t.fn,t.dialogLockScreen=function(){var t=this.settings;t.dialogLockScreen&&e("html,body").css("overflow","hidden")},t.dialogShowMask=function(t){var i=this.editor,o=this.settings;t.css({top:(e(window).height()-t.height())/2+"px",left:(e(window).width()-t.width())/2+"px"}),o.dialogShowMask&&i.children("."+this.classPrefix+"mask").css("z-index",parseInt(t.css("z-index"))-1).show()},t.toolbarHandlers={undo:function(){this.cm.undo()},redo:function(){this.cm.redo()},bold:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("**"+i+"**"),""===i&&e.setCursor(t.line,t.ch+2)},del:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("~~"+i+"~~"),""===i&&e.setCursor(t.line,t.ch+2)},italic:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("*"+i+"*"),""===i&&e.setCursor(t.line,t.ch+1)},quote:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("> "+i),e.setCursor(t.line,""===i?t.ch+2:t.ch+i.length+2)},ucfirst:function(){var e=this.cm,i=e.getSelection(),o=e.listSelections();e.replaceSelection(t.firstUpperCase(i)),e.setSelections(o)},ucwords:function(){var e=this.cm,i=e.getSelection(),o=e.listSelections();e.replaceSelection(t.wordsFirstUpperCase(i)),e.setSelections(o)},uppercase:function(){var e=this.cm,t=e.getSelection(),i=e.listSelections();e.replaceSelection(t.toUpperCase()),e.setSelections(i)},lowercase:function(){var e=this.cm,t=(e.getCursor(),e.getSelection()),i=e.listSelections();e.replaceSelection(t.toLowerCase()),e.setSelections(i)},h1:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("# "+t)},h2:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("## "+t)},h3:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("### "+t)},h4:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("#### "+t)},h5:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("##### "+t)},h6:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("###### "+t)},"list-ul":function(){var e=this.cm,t=(e.getCursor(),e.getSelection());if(""===t)e.replaceSelection("- "+t);else{for(var i=t.split("\n"),o=0,r=i.length;r>o;o++)i[o]=""===i[o]?"":"- "+i[o];e.replaceSelection(i.join("\n"))}},"list-ol":function(){var e=this.cm,t=(e.getCursor(),e.getSelection());if(""===t)e.replaceSelection("1. "+t);else{for(var i=t.split("\n"),o=0,r=i.length;r>o;o++)i[o]=""===i[o]?"":o+1+". "+i[o];e.replaceSelection(i.join("\n"))}},hr:function(){{var e=this.cm;e.getCursor(),e.getSelection()}e.replaceSelection("------------")},link:function(){this.executePlugin("linkDialog","link-dialog/link-dialog")},anchor:function(){this.executePlugin("anchorLinkDialog","anchor-link-dialog/anchor-link-dialog")},image:function(){this.executePlugin("imageDialog","image-dialog/image-dialog")},code:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("`"+i+"`"),""===i&&e.setCursor(t.line,t.ch+1)},"code-block":function(){this.executePlugin("codeBlockDialog","code-block-dialog/code-block-dialog")},"preformatted-text":function(){this.executePlugin("preformattedTextDialog","preformatted-text-dialog/preformatted-text-dialog")},table:function(){this.executePlugin("tableDialog","table-dialog/table-dialog")},datetime:function(){var e=this.cm,i=(e.getSelection(),new Date,this.settings.lang.name),o=t.dateFormat()+" "+t.dateFormat("zh-cn"===i||"zh-tw"===i?"cn-week-day":"week-day");e.replaceSelection(o)},emoji:function(){this.executePlugin("emojiDialog","emoji-dialog/emoji-dialog")},htmlEntities:function(){this.executePlugin("htmlEntitiesDialog","html-entities-dialog/html-entities-dialog")},watch:function(){this[this.settings.watch?"unwatch":"watch"]()},preview:function(){this.previewing()},fullscreen:function(){this.fullscreen()},clear:function(){this.clear()},help:function(){this.executePlugin("helpDialog","help-dialog/help-dialog")},info:function(){this.showInfoDialog()}},t.keyMaps={"Ctrl-B":"bold","Ctrl-I":"italic","Ctrl-K":"code","Shift-Ctrl-C":"code","Shift-Ctrl-Q":"quote","Shift-Ctrl-S":"del","Ctrl-H":"hr","Ctrl-1":"h1","Ctrl-2":"h2","Ctrl-3":"h3","Ctrl-4":"h4","Ctrl-5":"h5","Ctrl-6":"h6","Ctrl-D":"datetime","Ctrl-E":function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection(":"+i+":"),""===i&&e.setCursor(t.line,t.ch+1)},"Ctrl-L":function(){var e=this.cm,t=e.getCursor(),i=e.getSelection(),o=""===i?"":' "'+i+'"';e.replaceSelection("["+i+"]("+o+")"),""===i&&e.setCursor(t.line,t.ch+1)},"Ctrl-U":"list-ul","Shift-Ctrl-A":function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("@"+i),""===i&&e.setCursor(t.line,t.ch+1)},"Shift-Alt-C":function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection(["```",i,"```"].join("\n")),""===i&&e.setCursor(t.line,t.ch+3); + +},"Shift-Ctrl-Alt-C":"code-block","Shift-Ctrl-H":"htmlEntities","Shift-Alt-H":"help","Shift-Ctrl-E":"emoji","Shift-Ctrl-U":"uppercase","Shift-Alt-U":"ucwords","Shift-Ctrl-Alt-U":"ucfirst","Shift-Alt-L":"lowercase","Shift-Ctrl-I":function(){var e=this.cm,t=e.getCursor(),i=e.getSelection(),o=""===i?"":' "'+i+'"';e.replaceSelection("!["+i+"]("+o+")"),""===i&&e.setCursor(t.line,t.ch+4)},"Shift-Ctrl-Alt-I":"image","Shift-Ctrl-L":"link","Shift-Ctrl-O":"list-ol","Shift-Ctrl-P":"preformatted-text","Shift-Ctrl-T":"table",F9:"watch",F10:"preview",F11:"fullscreen"};var i=function(e){return String.prototype.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};t.trim=i;var o=function(e){return e.toLowerCase().replace(/\b(\w)|\s(\w)/g,function(e){return e.toUpperCase()})};t.ucwords=t.wordsFirstUpperCase=o;var r=function(e){return e.toLowerCase().replace(/\b(\w)/,function(e){return e.toUpperCase()})};return t.firstUpperCase=t.ucfirst=r,t.urls={atLinkBase:"https://github.com/"},t.regexs={atLink:/@(\w+)/g,email:/(\w+)@(\w+)\.(\w+)\.?(\w+)?/g,emailLink:/(mailto:)?([\w\.\_]+)@(\w+)\.(\w+)\.?(\w+)?/g,emoji:/:([\-\w]+):/g,twemoji:/:(tw-([\w]+)-?(\w+)?):/g,fontAwesome:/:(fa-([\w]+)(-(\w+)){0,}):/g,editormdLogo:/:(editormd-logo-?(\w+)?):/g},t.emoji={path:"http://www.emoji-cheat-sheet.com/graphics/emojis/",ext:".png"},t.twemoji={path:"http://twemoji.maxcdn.com/36x36/",ext:".png"},t.markedRenderer=function(o,r){var a={toc:!0,tocStartLevel:1,atLink:!0,emailLink:!0,taskList:!1,emoji:!1,tex:!1,flowChart:!1,sequenceDiagram:!1},n=e.extend(a,r||{}),s=t.$marked,l=new s.Renderer;o=o||[];var c=t.regexs.atLink,d=t.regexs.emoji,h=t.regexs.email,u=t.regexs.emailLink,f=t.regexs.twemoji,g=t.regexs.fontAwesome,p=t.regexs.editormdLogo;return l.emoji=function(e){var i=e.match(d);if(!i||!n.emoji)return e;for(var o=0,r=i.length;r>o;o++)e=e.replace(new RegExp(i[o]),function(e){var i=e.match(g),o=e.replace(/:/g,"");if(i)for(var r=0,a=i.length;a>r;r++){var n=i[r].replace(/:/g,"");return''}else{var s=e.match(p),l=e.match(f);if(s)for(var c=0,d=s.length;d>c;c++){var h=s[c].replace(/:/g,"");return''}else{if(!l)return':'+o+':';for(var u=0,m=l.length;m>u;u++){var w=l[u].replace(/:/g,"").replace("tw-","");return'twemoji-'+w+''}}}});return e},l.atLink=function(e){return c.test(e)?(n.atLink&&(e=e.replace(h,function(e){return e.replace(/@/g,"_#_@_#_")}),e=e.replace(c,function(e,i){return''+e+""}).replace(/_#_@_#_/g,"@")),n.emailLink&&(e=e.replace(u,function(e,t){return t?e:''+e+""})),e):e},l.link=function(e,t,i){if(this.options.sanitize){try{var o=decodeURIComponent(unescape(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(r){return""}if(0===o.indexOf("javascript:"))return""}var a=''+i.replace(/@/g,"@")+""):(t&&(a+=' title="'+t+'"'),a+=">"+i+"")},l.heading=function(e,t){var r=e,a=/\s*\]*)\>(.*)\<\/a\>\s*/;if(a.test(e)){var n=[];e=e.split(/\]+)\>([^\>]*)\<\/a\>/);for(var s=0,l=e.length;l>s;s++)n.push(e[s].replace(/\s*href\=\"(.*)\"\s*/g,""));e=n.join(" ")}e=i(e);var c=e.toLowerCase().replace(/[^\w]+/g,"-"),d={text:e,level:t,slug:c},h=/^[\u4e00-\u9fa5]+$/.test(e),u=h?escape(e).replace(/\%/g,""):e.toLowerCase().replace(/[^\w]+/g,"-");o.push(d);var f="';return f+='',f+='',f+=this.atLink(a?this.emoji(r):this.emoji(e)),f+=""},l.paragraph=function(e){var i=/\$\$(.*)\$\$/g.test(e),o=/^\$\$(.*)\$\$$/.test(e),r=o?' class="'+t.classNames.tex+'"':"",a=/^\[TOC\]$/.test(e);return e=!o&&i?e.replace(/(\$\$([^\$]*)\$\$)+/g,function(e,i){return''+i.replace(/\$/g,"")+""}):o?e.replace(/\$/g,""):e,a?'
          '+e+"
        ":""+this.atLink(this.emoji(e))+"

        \n"},l.code=function(e,t){return"seq"===t||"sequence"===t?'
        '+e+"
        ":"flow"===t?'
        '+e+"
        ":s.Renderer.prototype.code.apply(this,arguments)},l.tablecell=function(e,t){var i=t.header?"th":"td",o=t.align?"<"+i+' style="text-align:'+t.align+'">':"<"+i+">";return o+this.atLink(this.emoji(e))+"\n"},l.listitem=function(e){return n.taskList&&/^\s*\[[x\s]\]\s*/.test(e)?(e=e.replace(/^\s*\[\s\]\s*/,' ').replace(/^\s*\[x\]\s*/,' '),'
      • '+this.atLink(this.emoji(e))+"
      • "):"
      • "+this.atLink(this.emoji(e))+"
      • "},l},t.markdownToCRenderer=function(e,t,i){var o="",r=0;i=i||1;for(var a=0,n=e.length;n>a;a++){var s=e[a].text,l=e[a].level;i>l||(o+=l>r?"":r>l?new Array(r-l+2).join("
    • "):"",o+='
    • '+s+"
        ",r=l)}var c=t.find(".markdown-toc");return c.children(".markdown-toc-list").html("").html(o),c},t.filterHTMLTags=function(e,t){if("string"==typeof t)for(var i=t.split(","),o=0,r=i.length;r>o;o++){var a=i[o];e=e.replace(new RegExp("]*)>","igm"),"").replace(new RegExp("","igm"),"")}return e},t.markdownToHTML=function(i,o){var r={gfm:!0,toc:!0,tocStartLevel:1,markdown:"",htmlDecode:!1,autoLoadKaTeX:!0,atLink:!0,emailLink:!0,tex:!1,taskList:!1,emoji:!1,flowChart:!1,sequenceDiagram:!1,previewCodeHighlight:!0};t.$marked=marked;var a=e("#"+i),n=a.settings=e.extend(!0,r,o||{}),s=a.find("textarea"),l=""===n.markdown?s.val():n.markdown,c=[],d={toc:n.toc,tocStartLevel:n.tocStartLevel,taskList:n.taskList,emoji:n.emoji,tex:n.tex,atLink:n.atLink,emailLink:n.emailLink,flowChart:n.flowChart,sequenceDiagram:n.sequenceDiagram,previewCodeHighlight:n.previewCodeHighlight},h={renderer:t.markedRenderer(c,d),gfm:n.gfm,tables:!0,breaks:!0,pedantic:!1,sanitize:n.htmlDecode?!1:!0,smartLists:!0,smartypants:!0};l=t.filterHTMLTags(l,n.htmlDecode);var u=marked(l,h);if(t.isIE8?s.val(l):s.html(l),a.addClass("markdown-body "+this.classPrefix+"html-preview").append(u),n.toc&&(a.tocContainer=this.markdownToCRenderer(c,a,n.tocStartLevel)),n.previewCodeHighlight&&(a.find("pre").addClass("prettyprint linenums"),prettyPrint()),t.isIE8||(n.flowChart&&a.find(".flowchart").flowChart(),n.sequenceDiagram&&a.find(".sequence-diagram").sequenceDiagram({theme:"simple"})),n.tex){var f=function(){a.find("."+t.classNames.tex).each(function(){var t=e(this);katex.render(t.html(),t[0])})};!n.autoLoadKaTeX||t.$katex||t.kaTeXLoaded?f():this.loadKaTeX(function(){t.$katex=katex,t.kaTeXLoaded=!0,f()})}return a.getMarkdown=function(){return t.isIE8?s.val():s.html()},a},t.themes=["default","3024-day","3024-night","ambiance","ambiance-mobile","base16-dark","base16-light","blackboard","cobalt","eclipse","elegant","erlang-dark","lesser-dark","mbo","mdn-like","midnight","monokai","neat","neo","night","paraiso-dark","paraiso-light","pastel-on-dark","rubyblue","solarized","the-matrix","tomorrow-night-eighties","twilight","vibrant-ink","xq-dark","xq-light"],t.loadPlugins={},t.loadFiles={js:[],css:[],plugin:[]},t.loadPlugin=function(e,i,o){i=i||function(){},this.loadScript(e,function(){t.loadFiles.plugin.push(e),i()},o)},t.loadCSS=function(e,i,o){o=o||"head",i=i||function(){};var r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.onload=r.onreadystatechange=function(){t.loadFiles.css.push(e),i()},r.href=e+".css","head"===o?document.getElementsByTagName("head")[0].appendChild(r):document.body.appendChild(r)},t.isIE="Microsoft Internet Explorer"==navigator.appName,t.isIE8=t.isIE&&"8."==navigator.appVersion.match(/8./i),t.loadScript=function(e,i,o){o=o||"head",i=i||function(){};var r=null;r=document.createElement("script"),r.id=e.replace(/[\./]+/g,"-"),r.type="text/javascript",r.src=e+".js",t.isIE8?r.onreadystatechange=function(){r.readyState&&("loaded"===r.readyState||"complete"===r.readyState)&&(r.onreadystatechange=null,t.loadFiles.js.push(e),i())}:r.onload=function(){t.loadFiles.js.push(e),i()},"head"===o?document.getElementsByTagName("head")[0].appendChild(r):document.body.appendChild(r)},t.katexURL={css:"http://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.1.1/katex.min",js:"http://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.1.1/katex.min"},t.kaTeXLoaded=!1,t.loadKaTeX=function(e){t.loadCSS(t.katexURL.css,function(){t.loadScript(t.katexURL.js,e||function(){})})},t.lockScreen=function(t){e("html,body").css("overflow",t?"hidden":"")},t.createDialog=function(i){var o={name:"",width:420,height:240,title:"",drag:!0,closed:!0,content:"",mask:!0,maskStyle:{backgroundColor:"#fff",opacity:.1},lockScreen:!0,footer:!0,buttons:!1};i=e.extend(!0,o,i);var r=this.editor,a=t.classPrefix,n=(new Date).getTime(),s=""===i.name?a+"dialog-"+n:i.name,l=t.mouseOrTouch,c='
        ';""!==i.title&&(c+='
        ",c+=''+i.title+"",c+="
        "),i.closed&&(c+=''),c+='
        '+i.content,(i.footer||"string"==typeof i.footer)&&(c+='"),c+="
        ",c+='
        ',c+='
        ',c+="
        ",r.append(c);var d=r.find("."+s);d.lockScreen=function(t){return i.lockScreen&&e("html,body").css("overflow",t?"hidden":""),d},d.showMask=function(){return i.mask&&r.find("."+a+"mask").css(i.maskStyle).css("z-index",t.dialogZindex-1).show(),d},d.hideMask=function(){return i.mask&&r.find("."+a+"mask").hide(),d},d.loading=function(e){var t=d.find("."+a+"dialog-mask");return t[e?"show":"hide"](),d},d.lockScreen(!0).showMask(),d.show().css({zIndex:t.dialogZindex,border:t.isIE8?"1px solid #ddd":"",width:"number"==typeof i.width?i.width+"px":i.width,height:"number"==typeof i.height?i.height+"px":i.height});var h=function(){d.css({top:(e(window).height()-d.height())/2+"px",left:(e(window).width()-d.width())/2+"px"})};if(h(),e(window).resize(h),d.children("."+a+"dialog-close").bind(l("click","touchend"),function(){d.hide().lockScreen(!1).hideMask()}),"object"==typeof i.buttons){var u=d.footer=d.find("."+a+"dialog-footer");for(var f in i.buttons){var g=i.buttons[f],p=a+f+"-btn";u.append('"),g[1]=e.proxy(g[1],d),u.children("."+p).bind(l("click","touchend"),g[1])}}if(""!==i.title&&i.drag){var m,w,v=d.children("."+a+"dialog-header");i.mask||v.bind(l("click","touchend"),function(){t.dialogZindex+=2,d.css("z-index",t.dialogZindex)}),v.mousedown(function(e){e=e||window.event,m=e.clientX-parseInt(d[0].style.left),w=e.clientY-parseInt(d[0].style.top),document.onmousemove=k});var b=function(e){e.removeClass(a+"user-unselect").off("selectstart")},x=function(e){e.addClass(a+"user-unselect").on("selectstart",function(){return!1})},k=function(t){t=t||window.event;var i,o,r=parseInt(d[0].style.left),a=parseInt(d[0].style.top);r>=0?r+d.width()<=e(window).width()?i=t.clientX-m:(i=e(window).width()-d.width(),document.onmousemove=null):(i=0,document.onmousemove=null),a>=0?o=t.clientY-w:(o=0,document.onmousemove=null),document.onselectstart=function(){return!1},x(e("body")),x(d),d[0].style.left=i+"px",d[0].style.top=o+"px"};document.onmouseup=function(){b(e("body")),b(d),document.onselectstart=null,document.onmousemove=null},v.touchDraggable=function(){var t=null,i=function(i){var o=i.originalEvent,r=e(this).parent().position();t={x:o.changedTouches[0].pageX-r.left,y:o.changedTouches[0].pageY-r.top}},o=function(i){i.preventDefault();var o=i.originalEvent;e(this).parent().css({top:o.changedTouches[0].pageY-t.y,left:o.changedTouches[0].pageX-t.x})};this.bind("touchstart",i).bind("touchmove",o)},v.touchDraggable()}return t.dialogZindex+=2,d},t.mouseOrTouch=function(e,t){e=e||"click",t=t||"touchend";var i=e;try{document.createEvent("TouchEvent"),i=t}catch(o){}return i},t.dateFormat=function(e){e=e||"";var t=function(e){return 10>e?"0"+e:e},i=new Date,o=i.getFullYear(),r=o.toString().slice(2,4),a=t(i.getMonth()+1),n=t(i.getDate()),s=i.getDay(),l=t(i.getHours()),c=t(i.getMinutes()),d=t(i.getSeconds()),h=t(i.getMilliseconds()),u="",f=r+"-"+a+"-"+n,g=o+"-"+a+"-"+n,p=l+":"+c+":"+d;switch(e){case"UNIX Time":u=i.getTime();break;case"UTC":u=i.toUTCString();break;case"yy":u=r;break;case"year":case"yyyy":u=o;break;case"month":case"mm":u=a;break;case"cn-week-day":case"cn-wd":var m=["日","一","二","三","四","五","六"];u="星期"+m[s];break;case"week-day":case"wd":var w=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];u=w[s];break;case"day":case"dd":u=n;break;case"hour":case"hh":u=l;break;case"min":case"ii":u=c;break;case"second":case"ss":u=d;break;case"ms":u=h;break;case"yy-mm-dd":u=f;break;case"yyyy-mm-dd":u=g;break;case"yyyy-mm-dd h:i:s ms":case"full + ms":u=g+" "+p+" "+h;break;case"full":case"yyyy-mm-dd h:i:s":default:u=g+" "+p}return u},t}}); +//# sourceMappingURL=editormd.amd.min.js.map \ No newline at end of file diff --git a/editormd.amd.min.js.map b/editormd.amd.min.js.map new file mode 100644 index 0000000..eed11e8 --- /dev/null +++ b/editormd.amd.min.js.map @@ -0,0 +1,2 @@ +/*! Editor.md v1.3.0 | editormd.amd.min.js.map | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-12 */ +{"version":3,"file":"editormd.amd.min.js","sources":["editormd.amd.min.js"],"names":["factory","require","exports","module","define","amd","cmModePath","cmAddonPath","codeMirrorModules","window","editormd","$","arguments","marked","prettify","katex","Raphael","_","flowchart","CodeMirror","jQuery","Zepto","id","options","fn","init","title","$name","version","homePage","classPrefix","toolbarModes","full","simple","mini","defaults","mode","theme","value","markdown","width","height","path","pluginPath","autoLoadModules","watch","placeholder","codeFold","autoHeight","autoCloseTags","searchReplace","readOnly","lineNumbers","matchWordHighlight","styleActiveLine","dialogLockScreen","dialogShowMask","dialogDraggable","dialogMaskBgColor","dialogMaskOpacity","fontSize","saveHTMLToTextarea","disabledKeyMaps","onload","onresize","onchange","onwatch","onunwatch","onpreviewing","onpreviewed","onfullscreen","onfullscreenExit","onscroll","onpreviewscroll","imageUpload","imageFormats","imageUploadURL","crossDomainUpload","uploadCallbackURL","toc","tocStartLevel","htmlDecode","atLink","emailLink","taskList","emoji","tex","flowChart","sequenceDiagram","previewCodeHighlight","toolbar","toolbarAutoFixed","toolbarIcons","toolbarTitles","toolbarHandlers","ucwords","lowercase","toolbarCustomIcons","toolbarIconsClass","undo","redo","bold","del","italic","quote","uppercase","h1","h2","h3","h4","h5","h6","list-ul","list-ol","hr","link","anchor","image","code","preformatted-text","code-block","table","datetime","htmlEntities","unwatch","preview","fullscreen","clear","help","info","toolbarIconTexts","lang","name","description","buttons","enter","cancel","close","dialog","url","urlTitle","urlEmpty","nameEmpty","titleEmpty","alt","uploadButton","imageURLEmpty","uploadFileEmpty","formatNotAllowed","preformattedText","emptyAlert","codeBlock","selectLabel","selectDefaultText","otherLanguage","unselectedLanguageAlert","codeEmptyAlert","classNames","dialogZindex","$katex","$marked","$CodeMirror","$prettyPrint","prototype","state","watching","loaded","_this","this","editor","settings","extend","textarea","html","hasClass","addClass","css","markdownTextarea","children","length","append","attr","appendElements","join","mask","val","htmlTextarea","previewContainer","loadCSS","setCodeMirror","setToolbar","loadedDisplay","loadQueues","loadPath","loadFlowChartOrSequenceDiagram","isIE8","loadScript","setTheme","cm","setOption","codeMirrorConfig","tabSize","dragDrop","autofocus","indentUnit","lineWrapping","extraKeys","Ctrl-Q","foldCode","getCursor","foldGutter","gutters","matchBrackets","indentWithTabs","styleSelectedText","autoCloseBrackets","showTrailingSpace","highlightSelectionMatches","showToken","codeEditor","fromTextArea","codeMirror","cmElement","setValue","getCodeMirrorOption","key","getOption","setCodeMirrorOption","addKeyMap","map","bottom","removeKeyMap","extends","proxy","set","config","recreate","on","eventType","callback","off","showToolbar","find","show","resize","hideToolbar","hide","setToolbarAutoFixed","fixed","autoFixedHandle","top","scrollTop","offset","position","left","bind","unbind","icons","toolbarMenu","menu","i","len","isHeader","test","index","iconTexts","iconClass","setToolbarHandler","getToolbarHandles","toolbarIconHandlers","mouseOrTouch","icon","cursor","selection","getSelection","activeIcon","focus","createDialog","createInfoDialog","infoDialogHTML","infoDialog","hideInfoDialog","infoDialogPosition","_infoDialogPosition","showInfoDialog","lockScreen","opacity","backgroundColor","lock","remove","saveToTextareas","registerKeyMaps","prettyPrint","katexRender","each","render","flowChartAndSequenceDiagramRender","keyMap","inArray","keyMaps","handle","keydown","event","keymaps","120","121","122","keyCode","data","codeEditorBindScroll","percent","scrollHeight","codeEditorUnbindScroll","previewBindScroll","codeView","previewUnbindScroll","mouseover","mouseout","touchstart","touchend","codeMirrorValue","getValue","innerText","markdownToC","rendererOptions","markedRendererOptions","markedOptions","renderer","markedRenderer","gfm","tables","breaks","pedantic","sanitize","smartLists","smartypants","setOptions","filterHTMLTags","newMarkdownDoc","save","markdownToCRenderer","kaTeXLoaded","loadKaTeX","timer","setTimeout","clearTimeout","setCursor","setSelection","from","to","setSelections","ranges","getSelections","replaceSelection","insertValue","setMarkdown","md","getMarkdown","getHTML","alert","getTextareaSavedHTML","getPreviewedHTML","watchIcon","unWatchIcon","parent","removeClass","previewing","toggle","toggleClass","escHandle","shiftKey","previewed","previewCloseBtn","background","fullscreenClass","fullscreenExit","margin","border","executePlugin","loadFiles","plugin","loadPlugin","loadPlugins","parseInt","line","ch","ucfirst","selections","listSelections","firstUpperCase","wordsFirstUpperCase","toUpperCase","toLowerCase","selectionText","split","langName","Date","datefmt","dateFormat","Ctrl-B","Ctrl-I","Ctrl-K","Shift-Ctrl-C","Shift-Ctrl-Q","Shift-Ctrl-S","Ctrl-H","Ctrl-1","Ctrl-2","Ctrl-3","Ctrl-4","Ctrl-5","Ctrl-6","Ctrl-D","Ctrl-E","Ctrl-L","Ctrl-U","Shift-Ctrl-A","Shift-Alt-C","Shift-Ctrl-Alt-C","Shift-Ctrl-H","Shift-Alt-H","Shift-Ctrl-E","Shift-Ctrl-U","Shift-Alt-U","Shift-Ctrl-Alt-U","Shift-Alt-L","Shift-Ctrl-I","Shift-Ctrl-Alt-I","Shift-Ctrl-L","Shift-Ctrl-O","Shift-Ctrl-P","Shift-Ctrl-T","F9","F10","F11","trim","str","String","replace","$1","urls","atLinkBase","regexs","email","twemoji","fontAwesome","editormdLogo","ext","Renderer","atLinkReg","emojiReg","emailReg","emailLinkReg","twemojiReg","faIconReg","editormdLogoReg","text","matchs","match","RegExp","faMatchs","fa","len1","faName","emdlogoMathcs","twemojiMatchs","x","len2","logoName","t","len3","twe","$2","href","prot","decodeURIComponent","unescape","e","indexOf","out","heading","level","linkText","hasLinkReg","tempText","push","escapedText","slug","isChinese","escape","headingHTML","headerPrefix","paragraph","isTeXInline","isTeXLine","isTeXAddClass","isToC","apply","tablecell","content","flags","type","tag","align","listitem","container","startLevel","lastLevel","Array","tocContainer","filters","filterTags","markdownToHTML","autoLoadKaTeX","div","saveTo","markdownDoc","markdownParsed","katexHandle","themes","js","fileName","into","document","createElement","rel","onreadystatechange","getElementsByTagName","appendChild","body","isIE","navigator","appName","appVersion","script","src","readyState","katexURL","drag","closed","maskStyle","footer","guid","getTime","dialogName","showMask","hideMask","loading","zIndex","dialogPosition","btn","btnClassName","posX","posY","dialogHeader","mousedown","clientX","style","clientY","onmousemove","moveAction","userCanSelect","obj","userUnselect","nowLeft","nowTop","onselectstart","onmouseup","touchDraggable","start","orig","originalEvent","pos","changedTouches","pageX","y","pageY","move","preventDefault","mouseEventType","touchEventType","createEvent","format","addZero","d","date","year","getFullYear","year2","toString","slice","month","getMonth","day","getDate","weekDay","getDay","hour","getHours","min","getMinutes","second","getSeconds","ms","getMilliseconds","ymd","fymd","hms","toUTCString","cnWeekDays","weekDays"],"mappings":"CAYE,SAASA,GACP,YAGH,IAAuB,kBAAZC,UAA6C,gBAAZC,UAA0C,gBAAXC,QAEpEA,OAAOD,QAAUF,MAEnB,IAAsB,kBAAXI,QAET,GAAIA,OAAOC,IACX,CACI,GAAIC,GAAc,mBACdC,EAAc,oBAEdC,GACA,SAAU,SAAU,WACpB,QAAS,UAAW,aAAc,YAAc,kBAAoB,kBAEpE,4BACAF,EAAa,UACbA,EAAa,YACbA,EAAa,cACbA,EAAa,UACbA,EAAa,cACbA,EAAa,UACbA,EAAa,UACbA,EAAa,oBACbA,EAAa,wBACbA,EAAa,sBACbA,EAAa,UACbA,EAAa,YACbA,EAAa,QACbA,EAAa,YACbA,EAAa,4BACbA,EAAa,cACbA,EAAa,gBACbA,EAAa,YACbA,EAAa,UACbA,EAAa,MACbA,EAAa,YACbA,EAAa,UACbA,EAAa,0BACbA,EAAa,QACbA,EAAa,oBACbA,EAAa,oBACbA,EAAa,gBACbA,EAAa,YACbA,EAAa,gBACbA,EAAa,YAEbC,EAAc,qBACdA,EAAc,gBACdA,EAAc,sBACdA,EAAc,gBACdA,EAAc,2BACdA,EAAc,4BACdA,EAAc,sBACdA,EAAc,gBACdA,EAAc,gBACdA,EAAc,kBACdA,EAAc,mBACdA,EAAc,kBACdA,EAAc,gBACdA,EAAc,qBACdA,EAAc,oBACdA,EAAc,eACdA,EAAc,wBACdA,EAAc,qBACdA,EAAc,qBACdA,EAAc,2BAGlBH,QAAOI,EAAmBR,OAIhCI,SAAQ,UAAWJ,OAKjBS,QAAOC,SAAWV,KAGxB,WAUuB,kBAAVI,SAAwBA,OAAOC,MACvCM,EAAaC,UAAU,GACvBC,OAAaD,UAAU,GACvBE,SAAaF,UAAU,GACvBG,MAAaH,UAAU,GACvBI,QAAaJ,UAAU,GACvBK,EAAaL,UAAU,GACvBM,UAAaN,UAAU,GACvBO,WAAaP,UAAU,GAK1B,IAAID,GAAyB,mBAAb,QAA4BS,OAASC,KAExD,IAAmB,mBAAR,GAAX,CAIG,GAAIX,GAAmB,SAAUY,EAAIC,GACjC,MAAO,IAAIb,GAASc,GAAGC,KAAKH,EAAIC,GAGpCb,GAASgB,MAAehB,EAASiB,MAAQ,YACzCjB,EAASkB,QAAe,QACxBlB,EAASmB,SAAe,sCACxBnB,EAASoB,YAAe,YAExBpB,EAASqB,cACLC,MACI,OAAQ,OAAQ,IAChB,OAAQ,MAAO,SAAU,QAAS,UAAW,YAAa,YAAa,IACvE,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IACpC,UAAW,UAAW,KAAM,IAC5B,OAAQ,SAAU,QAAS,OAAQ,oBAAqB,aAAc,QAAS,WAAY,QAAS,eAAgB,IACpH,QAAS,UAAW,aAAc,QAAS,IAC3C,OAAQ,QAEZC,QACI,OAAQ,OAAQ,IAChB,OAAQ,MAAO,SAAU,QAAS,YAAa,YAAa,IAC5D,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IACpC,UAAW,UAAW,KAAM,IAC5B,QAAS,UAAW,aAAc,IAClC,OAAQ,QAEZC,MACI,OAAQ,OAAQ,IAChB,QAAS,UAAW,IACpB,OAAQ,SAIhBxB,EAASyB,UACLC,KAAuB,MACvBC,MAAuB,UACvBC,MAAuB,GACvBC,SAAuB,GACvBC,MAAuB,OACvBC,OAAuB,OACvBC,KAAuB,UACvBC,WAAuB,GACvBC,iBAAuB,EACvBC,OAAuB,EACvBC,YAAuB,yBACvBC,UAAuB,EACvBC,YAAuB,EACvBC,eAAuB,EACvBC,eAAuB,EACvBC,UAAuB,EACvBC,aAAuB,EACvBC,oBAAuB,EACvBC,iBAAuB,EACvBC,kBAAuB,EACvBC,gBAAuB,EACvBC,iBAAuB,EACvBC,kBAAuB,OACvBC,kBAAuB,GACvBC,SAAuB,OACvBC,oBAAuB,EACvBC,mBAEAC,OAAuB,aACvBC,SAAuB,aACvBC,SAAuB,aACvBC,QAAuB,KACvBC,UAAuB,KACvBC,aAAuB,aACvBC,YAAuB,aACvBC,aAAuB,aACvBC,iBAAuB,aACvBC,SAAuB,aACvBC,gBAAuB,aAEvBC,aAAuB,EACvBC,cAAwB,MAAO,OAAQ,MAAO,MAAO,MAAO,QAC5DC,eAAuB,GACvBC,mBAAuB,EACvBC,kBAAuB,GAEvBC,KAAuB,EACvBC,cAAuB,EACvBC,YAAuB,EACvBC,QAAuB,EACvBC,WAAuB,EACvBC,UAAuB,EACvBC,OAAuB,EAGvBC,KAAuB,EACvBC,WAAuB,EACvBC,iBAAuB,EACvBC,sBAAuB,EAEvBC,SAAuB,EACvBC,kBAAuB,EACvBC,aAAuB,WACnB,MAAOlF,GAASqB,aAAaC,MAEjC6D,iBACAC,iBACIC,QAAU,WACN,MAAOrF,GAASoF,gBAAgBC,SAEpCC,UAAY,WACR,MAAOtF,GAASoF,gBAAgBE,YAGxCC,oBACID,UAAmB,gJACnBD,QAAmB,6IAEvBG,mBACIC,KAAmB,UACnBC,KAAmB,YACnBC,KAAmB,UACnBC,IAAmB,mBACnBC,OAAmB,YACnBC,MAAmB,gBACnBC,UAAmB,UACnBC,GAAmBhG,EAASoB,YAAc,OAC1C6E,GAAmBjG,EAASoB,YAAc,OAC1C8E,GAAmBlG,EAASoB,YAAc,OAC1C+E,GAAmBnG,EAASoB,YAAc,OAC1CgF,GAAmBpG,EAASoB,YAAc,OAC1CiF,GAAmBrG,EAASoB,YAAc,OAC1CkF,UAAmB,aACnBC,UAAmB,aACnBC,GAAmB,WACnBC,KAAmB,UACnBC,OAAmB,YACnBC,MAAmB,eACnBC,KAAmB,UACnBC,oBAAsB,iBACtBC,aAAmB,iBACnBC,MAAmB,WACnBC,SAAmB,aACnBrC,MAAmB,aACnBsC,aAAmB,eACnB9E,MAAmB,eACnB+E,QAAmB,SACnBC,QAAmB,YACnBC,WAAmB,gBACnBC,MAAmB,YACnBC,KAAmB,qBACnBC,KAAmB,kBAEvBC,oBAEAC,MACIC,KAAc,QACdC,YAAc,gEACd3C,SACIS,KAAmB,aACnBC,KAAmB,aACnBC,KAAmB,KACnBC,IAAmB,MACnBC,OAAmB,KACnBC,MAAmB,KACnBT,QAAmB,eACnBU,UAAmB,WACnBT,UAAmB,WACnBU,GAAmB,MACnBC,GAAmB,MACnBC,GAAmB,MACnBC,GAAmB,MACnBC,GAAmB,MACnBC,GAAmB,MACnBC,UAAmB,OACnBC,UAAmB,OACnBC,GAAmB,KACnBC,KAAmB,KACnBC,OAAmB,KACnBC,MAAmB,OACnBC,KAAmB,OACnBC,oBAAsB,oBACtBC,aAAmB,aACnBC,MAAmB,OACnBC,SAAmB,OACnBrC,MAAmB,UACnBsC,aAAmB,WACnB9E,MAAmB,SACnB+E,QAAmB,SACnBC,QAAmB,qBACnBC,WAAmB,aACnBC,MAAmB,KACnBC,KAAmB,OACnBC,KAAmB,KAAOvH,EAASgB,OAEvC4G,SACIC,MAAS,KACTC,OAAS,KACTC,MAAS,MAEbC,QACIvB,MACIzF,MAAW,OACXiH,IAAW,OACXC,SAAW,OACXC,SAAW,eAEfzB,QACI1F,MAAW,SACX0G,KAAW,OACXO,IAAW,OACXC,SAAW,OACXE,UAAW,eACXC,WAAa,gBACbF,SAAW,iBAEfxB,OACI3F,MAAW,OACXiH,IAAW,OACXxB,KAAW,OACX6B,IAAW,OACXC,aAAmB,OACnBC,cAAmB,eACnBC,gBAAmB,gBACnBC,iBAAmB,8BAEvBC,kBACI3H,MAAoB,cACpB4H,WAAoB,sBAExBC,WACI7H,MAAoB,QACpB8H,YAAoB,QACpBC,kBAAoB,UACpBC,cAAoB,OACpBC,wBAA0B,mBAC1BC,eAAoB,eAExBjC,cACIjG,MAAQ,aAEZsG,MACItG,MAAQ,WAMxBhB,EAASmJ,YACLvE,IAAM5E,EAASoB,YAAc,OAGjCpB,EAASoJ,aAAe,MAExBpJ,EAASqJ,OAAe,KACxBrJ,EAASsJ,QAAe,KACxBtJ,EAASuJ,YAAe,KACxBvJ,EAASwJ,aAAe,KAExBxJ,EAASyJ,UAAezJ,EAASc,IAC7B4I,OACIC,UAAa,EACbC,QAAa,EACbzC,SAAa,EACbC,YAAa,GAYjBrG,KAAO,SAAUH,EAAIC,GAEjBA,EAAuBA,KAEvB,IAAIgJ,GAAmBC,KACnB1I,EAAmB0I,KAAK1I,YAAepB,EAASoB,YAChD2I,EAAmBD,KAAKC,OAAe9J,EAAE,IAAMW,GAC/CoJ,EAAmBF,KAAKE,SAAe/J,EAAEgK,QAAO,EAAMjK,EAASyB,SAAUZ,EAE7EiJ,MAAKlJ,GAAkBA,EACvBkJ,KAAKrC,KAAkBuC,EAASvC,IAEhC,IAAI0B,GAAmBW,KAAKX,YACxBe,UACIC,KAAWL,KAAK1I,YAAc,gBAC9BS,SAAWiI,KAAK1I,YAAc,qBAItC4I,GAAS/H,WAAsC,KAAxB+H,EAAS/H,WAAqB6H,KAAKE,SAAShI,KAAO,cAAgBgI,EAAS/H,WAEnG6H,KAAKJ,MAAMC,SAAYK,EAAc,OAAI,GAAO,EAE3CD,EAAOK,SAAS,aACjBL,EAAOM,SAAS,YAGpBN,EAAOO,KACHxI,MAAqC,gBAApBkI,GAASlI,MAAuBkI,EAASlI,MAAS,KAAOkI,EAASlI,MACnFC,OAAqC,gBAApBiI,GAASjI,OAAuBiI,EAASjI,OAAS,KAAOiI,EAASjI,SAGnFiI,EAAS1H,YAETyH,EAAOO,IAAI,SAAU,OAGzB,IAAIC,GAAmBT,KAAKS,iBAAmBR,EAAOS,SAAS,WAE3DD,GAAiBE,OAAS,IAE1BV,EAAOW,OAAO,yBACdH,EAAmBT,KAAKS,iBAAmBR,EAAOS,SAAS,aAG/DD,EAAiBF,SAASlB,EAAWe,SAASrI,UAAU8I,KAAK,OAAQ/J,EAAK,iBAAiB+J,KAAK,cAAeX,EAAS5H,YAExH,IAAIwI,IACEZ,EAASvH,SAAyG,GAA7F,6CAAkDrB,EAAc,0BACpF4I,EAA2B,mBAAI,oBAAuBb,EAAWe,SAASC,KAAO,WAAevJ,EAAK,0BAA6B,GACrI,eAAkBQ,EAAc,sCAA0CA,EAAc,kCACxF,eAAkBA,EAAc,gDAChC,eAAkBA,EAAc,gBAClCyJ,KAAK,KA2CP,OAzCAd,GAAOW,OAAOE,GAAgBP,SAASjJ,EAAc,YAErD0I,KAAKgB,KAAOf,EAAOS,SAAS,IAAMpJ,EAAc,QAEtB,KAAtB4I,EAASnI,UAET0I,EAAiBQ,IAAIf,EAASnI,UAGlCiI,KAAKkB,aAAuBjB,EAAOS,SAAS,IAAMrB,EAAWe,SAASC,MACtEL,KAAK3C,QAAuB4C,EAAOS,SAAS,IAAMpJ,EAAc,WAChE0I,KAAKmB,iBAAuBnB,KAAK3C,QAAQqD,SAAS,IAAMpJ,EAAc,qBAEhD,kBAAX1B,SAAyBA,OAAOC,MAElB,mBAAVU,SAEPL,EAASqJ,OAAShJ,OAGlB2J,EAASxH,gBAETxC,EAASkL,QAAQlB,EAAShI,KAAO,kCACjChC,EAASkL,QAAQlB,EAAShI,KAAO,gDAIlB,kBAAXtC,SAAyBA,OAAOC,MAASqK,EAAS9H,iBAEhC,mBAAfzB,cAA4BT,EAASuJ,YAAc9I,YACpC,mBAAfN,UAA4BH,EAASsJ,QAAcnJ,QAE9D0J,EAAMsB,gBACNtB,EAAMuB,aACNvB,EAAMwB,iBAINvB,KAAKwB,aAGFxB,MAUXwB,WAAa,WACT,GAAIzB,GAAeC,KACfE,EAAeF,KAAKE,SACpBuB,EAAevB,EAAShI,KAExBwJ,EAAiC,WAEjC,MAAIxL,GAASyL,UAET5B,GAAMwB,qBAKNrB,EAASnF,WAAamF,EAASlF,gBAE/B9E,EAAS0L,WAAWH,EAAW,cAAe,WAE1CvL,EAAS0L,WAAWH,EAAW,iBAAkB,YAExCvB,EAASnF,WAAamF,EAASlF,gBAEhC9E,EAAS0L,WAAWH,EAAW,uBAAwB,WACnD1B,EAAMwB,kBAGLrB,EAASnF,YAAcmF,EAASlF,gBAErC9E,EAAS0L,WAAWH,EAAW,gBAAiB,WAC5CvL,EAAS0L,WAAWH,EAAW,uBAAwB,WACnD1B,EAAMwB,oBAITrB,EAASnF,WAAamF,EAASlF,iBAEpC9E,EAAS0L,WAAWH,EAAW,gBAAiB,WAC5CvL,EAAS0L,WAAWH,EAAW,uBAAwB,WACnDvL,EAAS0L,WAAWH,EAAW,uBAAwB,WACnD1B,EAAMwB,0BAW9BxB,EAAMwB,iBAyDd,OArDArL,GAASkL,QAAQK,EAAW,6BAExBvB,EAASxH,gBAETxC,EAASkL,QAAQK,EAAW,kCAC5BvL,EAASkL,QAAQK,EAAW,+CAG5BvB,EAAS3H,UAETrC,EAASkL,QAAQK,EAAW,oCAGhCvL,EAAS0L,WAAWH,EAAW,4BAA6B,WACxDvL,EAASuJ,YAAc9I,WAEvBT,EAAS0L,WAAWH,EAAW,uBAAwB,WAEnDvL,EAAS0L,WAAWH,EAAW,wBAAyB,WAIpD,MAFA1B,GAAMsB,gBAEgB,QAAlBnB,EAAStI,MAAoC,aAAlBsI,EAAStI,MAEpCmI,EAAMwB,iBAEC,IAGXxB,EAAMuB,iBAENpL,GAAS0L,WAAWH,EAAW,aAAc,WAEzCvL,EAASsJ,QAAUnJ,OAEf6J,EAASjF,qBAET/E,EAAS0L,WAAWH,EAAW,eAAgB,WAC3CC,MAKJA,aAUb1B,MAUX6B,SAAW,SAAShK,GAChB,GAAIqI,GAAaF,KAAKE,QAUtB,OATAA,GAASrI,MAAQA,EAEH,YAAVA,GAEA3B,EAASkL,QAAQlB,EAAShI,KAAO,oBAAsBgI,EAASrI,OAGpEmI,KAAK8B,GAAGC,UAAU,QAASlK,GAEpBmI,MAUXqB,cAAgB,WACZ,GAAInB,GAAmBF,KAAKE,SACxBD,EAAmBD,KAAKC,MAEL,aAAnBC,EAASrI,OAET3B,EAASkL,QAAQlB,EAAShI,KAAO,oBAAsBgI,EAASrI,MAGpE,IAAImK,IACApK,KAA4BsI,EAAStI,KACrCC,MAA4BqI,EAASrI,MACrCoK,QAA4B,EAC5BC,UAA4B,EAC5BC,WAA4B,EAC5B1J,cAA4ByH,EAASzH,cACrCE,SAA6BuH,EAAiB,SAAI,YAAa,EAC/DkC,WAA4B,EAC5BxJ,YAA4BsH,EAAStH,YACrCyJ,cAA4B,EAC5BC,WAA6BC,SAAU,SAAST,GAAKA,EAAGU,SAASV,EAAGW,eACpEC,WAA4BxC,EAAS3H,SACrCoK,SAA6B,yBAA0B,yBACvDC,eAA4B,EAC5BC,gBAA4B,EAC5B/J,gBAA4BoH,EAASpH,gBACrCgK,mBAA4B,EAC5BC,mBAA4B,EAC5BC,mBAA4B,EAC5BC,0BAAgC/C,EAASrH,oBAAgCqK,UAA2C,cAA/BhD,EAASrH,oBAAsC,EAAQ,OAA7E,EAsBnE,OAnBAmH,MAAKmD,WAAanD,KAAK8B,GAAY5L,EAASuJ,YAAY2D,aAAapD,KAAKS,iBAAiB,GAAIuB,GAC/FhC,KAAKqD,WAAarD,KAAKsD,UAAYrD,EAAOS,SAAS,eAE5B,KAAnBR,EAASpI,OAETkI,KAAK8B,GAAGyB,SAASrD,EAASpI,OAG9BkI,KAAKqD,WAAW7C,KACZpH,SAAW8G,EAAS9G,SACpBpB,MAAakI,EAAS7H,MAAkB,MAAT,SAG/B6H,EAAS1H,aAETwH,KAAKqD,WAAW7C,IAAI,SAAU,QAC9BR,KAAK8B,GAAGC,UAAU,uBAGf/B,MAUXwD,oBAAsB,SAASC,GAC3B,MAAOzD,MAAK8B,GAAG4B,UAAUD,IAU7BE,oBAAsB,SAASF,EAAK3L,GAIhC,MAFAkI,MAAK8B,GAAGC,UAAU0B,EAAK3L,GAEhBkI,MAGX4D,UAAY,SAASC,EAAKC,GAGtB,MAFA9D,MAAK8B,GAAG8B,UAAUC,EAAKC,GAEhB9D,MAGX+D,aAAe,SAASF,GAGpB,MAFA7D,MAAK8B,GAAGiC,aAAaF,GAEd7D,MAUXgE,UAAU,WAgBN,MAf4B,mBAAjB5N,WAAU,KAEU,kBAAhBA,WAAU,KAEjBA,UAAU,GAAKD,EAAE8N,MAAM7N,UAAU,GAAI4J,OAGzCA,KAAK5J,UAAU,IAAMA,UAAU,IAGP,gBAAjBA,WAAU,IAAkD,mBAAxBA,WAAU,GAAGuK,QAExDxK,EAAEgK,QAAO,EAAMH,KAAM5J,UAAU,IAG5B4J,MAYXkE,IAAM,SAAUT,EAAK3L,GASjB,MAPqB,mBAAVA,IAAyC,kBAATA,KAEvCA,EAAQ3B,EAAE8N,MAAMnM,EAAOkI,OAG3BA,KAAKyD,GAAO3L,EAELkI,MAYXmE,OAAS,SAASV,EAAK3L,GACnB,GAAIoI,GAAWF,KAAKE,QAepB,OAbkB,gBAAPuD,KAEPvD,EAAW/J,EAAEgK,QAAO,EAAMD,EAAUuD,IAGtB,gBAAPA,KAEPvD,EAASuD,GAAO3L,GAGpBkI,KAAKE,SAAWA,EAChBF,KAAKoE,WAEEpE,MAYXqE,GAAK,SAASC,EAAWC,GACrB,GAAIrE,GAAWF,KAAKE,QAOpB,OAL0C,mBAA/BA,GAAS,KAAOoE,KAEvBpE,EAAS,KAAOoE,GAAanO,EAAE8N,MAAMM,EAAUvE,OAG5CA,MAWXwE,IAAM,SAASF,GACX,GAAIpE,GAAWF,KAAKE,QAOpB,OAL0C,mBAA/BA,GAAS,KAAOoE,KAEvBpE,EAAS,KAAOoE,GAAa,cAG1BtE,MAWXyE,YAAc,SAASF,GACnB,GAAIrE,GAAWF,KAAKE,QAEpB,KAAGA,EAASvH,SAcZ,MAZIuH,GAAShF,UAAY8E,KAAK9E,QAAQyF,OAAS,GAAmE,KAA9DX,KAAK9E,QAAQwJ,KAAK,IAAM1E,KAAK1I,YAAc,QAAQ+I,SAEnGL,KAAKsB,aAGTpB,EAAShF,SAAU,EAEnB8E,KAAK9E,QAAQyJ,OACb3E,KAAK4E,SAELzO,EAAE8N,MAAMM,GAAY,aAAcvE,QAE3BA,MAWX6E,YAAc,SAASN,GACnB,GAAIrE,GAAWF,KAAKE,QAQpB,OANAA,GAAShF,SAAU,EACnB8E,KAAK9E,QAAQ4J,OACb9E,KAAK4E,SAELzO,EAAE8N,MAAMM,GAAY,aAAcvE,QAE3BA,MAUX+E,oBAAsB,SAASC,GAE3B,GAAIpF,GAAWI,KAAKJ,MAChBK,EAAWD,KAAKC,OAChB/E,EAAW8E,KAAK9E,QAChBgF,EAAWF,KAAKE,QAEC,oBAAV8E,KAEP9E,EAAS/E,iBAAmB6J,EAGhC,IAAIC,GAAkB,WAClB,GAAIC,GAAM/O,EAAEF,QAAQkP,WAEpB,OAAKjF,GAAS/E,qBAOVD,GAAQsF,IAFR0E,EAAMjF,EAAOmF,SAASF,IAAM,IAGxBG,SAAW,QACXrN,MAAWiI,EAAOjI,QAAU,KAC5BsN,MAAYnP,EAAEF,QAAQ+B,QAAUiI,EAAOjI,SAAW,EAAI,OAMtDqN,SAAW,WACXrN,MAAW,OACXsN,KAAW,KAhBR,EA+Bf,QAVK1F,EAAMtC,aAAesC,EAAMvC,SAAW6C,EAAShF,SAAWgF,EAAS/E,kBAEpEhF,EAAEF,QAAQsP,KAAK,SAAUN,GAGxB/E,EAAS/E,kBAEVhF,EAAEF,QAAQuP,OAAO,SAAUP,GAGxBjF,MAUXsB,WAAa,WACT,GAAIpB,GAAcF,KAAKE,QAEvB,KAAGA,EAASvH,SAAZ,CAEA,GAAIsH,GAAcD,KAAKC,OAEnB3I,GADc0I,KAAK3C,QACL2C,KAAK1I,aAEnB4D,EAAc8E,KAAK9E,QAAU+E,EAAOS,SAAS,IAAMpJ,EAAc,UAQrE,IANI4I,EAAShF,SAAWA,EAAQyF,OAAS,IAErCV,EAAOW,OAAO,eAAetJ,EAAY,wBAAwBA,EAAY,iCAAiCA,EAAY,2BAC1H4D,EAAc8E,KAAK9E,QAAU+E,EAAOS,SAAS,IAAMpJ,EAAc,aAGhE4I,EAAShF,QAIV,WAFAA,GAAQ4J,MAKZ5J,GAAQyJ,MAOR,KAAK,GALDc,GAAgD,kBAA1BvF,GAAS9E,aAA+B8E,EAAS9E,eACtB,gBAA1B8E,GAAS9E,aAA8BlF,EAASqB,aAAa2I,EAAS9E,cAAgB8E,EAAS9E,aAEtHsK,EAAcxK,EAAQwJ,KAAK,IAAM1E,KAAK1I,YAAc,QAASqO,EAAO,GAE/DC,EAAI,EAAGC,EAAMJ,EAAM9E,OAAYkF,EAAJD,EAASA,IAC7C,CACI,GAAIhI,GAAO6H,EAAMG,EAEjB,IAAa,MAAThI,EACJ,CACI,GAAIkI,GAAY,QAAQC,KAAKnI,GACzBoI,EAAWpI,CAEF,WAATA,GAAqBsC,EAAS7H,QAC9B2N,EAAQ,UAGZ,IAAI9O,GAAYgJ,EAASvC,KAAKzC,QAAQ8K,GAClCC,EAAY/F,EAASxC,iBAAiBsI,GACtCE,EAAYhG,EAASxE,kBAAkBsK,EAE3C9O,GAAkC,mBAAdA,GAA6B,GAAKA,EACtD+O,EAAkC,mBAAdA,GAA6B,GAAKA,EACtDC,EAAkC,mBAAdA,GAA6B,GAAKA,EAEtDP,GAAQ,OAIJA,GAF6C,mBAAtCzF,GAASzE,mBAAmBmC,GAE3BsC,EAASzE,mBAAmBmC,GAI5B,iCAAsC1G,EAAQ,oCAC3BgP,EAAY,WAAatI,EAAK,wBAA2B,EAAaA,EAAwB,KAAdsI,EAAoBD,EAAY,IAAQ,WAIvJN,GAAQ,YAIRA,IAAQ,+CAYhB,MARAD,GAAYrF,KAAKsF,GAEjBD,EAAYhB,KAAK,uBAAyB7D,KAAK,QAASX,EAASvC,KAAKzC,QAAQM,WAC9EkK,EAAYhB,KAAK,qBAAuB7D,KAAK,QAASX,EAASvC,KAAKzC,QAAQK,SAE5EyE,KAAKmG,oBACLnG,KAAK+E,sBAEE/E,OAYXjH,iBAAmB,WAGf,MAFA5C,GAAE8N,MAAM/N,EAAS6C,iBAAkBiH,QAE5BA,MAGXhH,eAAiB,SAASkF,GAGtB,MAFA/H,GAAE8N,MAAM/N,EAAS8C,eAAgBgH,MAAM9B,GAEhC8B,MAGXoG,kBAAoB,SAASxI,GACzB,GAAItC,GAAkB0E,KAAK1E,gBAAkBpF,EAASoF,eAEtD,OAAQsC,IAA6C,mBAA9ByI,qBAAoBzI,GAAyBtC,EAAgBsC,GAAQtC,GAUhG6K,kBAAoB,WAChB,GAAIpG,GAAsBC,KACtBE,EAAsBF,KAAKE,QAE/B,IAAKA,EAAShF,UAAWgF,EAASvH,SAAlC,CAIA,GAEIuC,IAFsB8E,KAAKC,OACLD,KAAK3C,QACL2C,KAAK9E,SAC3BiI,EAAsBnD,KAAKmD,WAE3B7L,GADsB0I,KAAKqD,WACLrD,KAAK1I,aAE3B8D,GADsB4E,KAAKmB,iBACLnB,KAAK5E,aAAeF,EAAQwJ,KAAK,IAAMpN,EAAc,kBAC3E+O,EAAsBrG,KAAKoG,mBAqC/B,OAnCAhL,GAAamK,KAAKrP,EAASoQ,aAAa,QAAS,YAAa,WAE1D,GAAIC,GAAsBpQ,EAAE6J,MAAMU,SAAS,OACvC9C,EAAsB2I,EAAK1F,KAAK,QAChC2F,EAAsBrD,EAAWV,YACjCgE,EAAsBtD,EAAWuD,cAErC,OAAa,KAAT9I,GAIJmC,EAAM4G,WAAaJ,EAEsB,mBAA9BF,GAAoBzI,GAE3BzH,EAAE8N,MAAMoC,EAAoBzI,GAAOmC,GAAOoD,GAII,mBAAnCjD,GAAS5E,gBAAgBsC,IAEhCzH,EAAE8N,MAAM/D,EAAS5E,gBAAgBsC,GAAOmC,GAAOoD,EAAYoD,EAAMC,EAAQC,GAIpE,SAAT7I,GAA4B,WAATA,GAA8B,UAATA,GAA6B,eAATA,GACnD,sBAATA,GAAyC,UAATA,GAA6B,YAATA,GAA+B,eAATA,GAAkC,SAATA,GAEnGuF,EAAWyD,SAGR,GAxBP,SA4BG5G,OAWX6G,aAAe,SAAS9P,GACpB,MAAOZ,GAAE8N,MAAM/N,EAAS2Q,aAAc7G,MAAMjJ,IAUhD+P,iBAAmB,WACf,GAAI/G,GAAeC,KACxBC,EAAeD,KAAKC,OACX3I,EAAe0I,KAAK1I,YAEpByP,GACA,eAAkBzP,EAAc,UAAYA,EAAc,yBAC1D,eAAkBA,EAAc,qBAChC,0EAA8EpB,EAASgB,MAAQ,WAAahB,EAASkB,QAAU,gBAC/H,MAAQ4I,KAAKrC,KAAKE,YAAc,OAChC,0BAA6B3H,EAASmB,SAAW,qBAA0BnB,EAASmB,SAAW,WAC/F,sBACA,SACA,6CAAkDC,EAAc,qBAChE,UACFyJ,KAAK,KAEPd,GAAOW,OAAOmG,EAEd,IAAIC,GAAchH,KAAKgH,WAAa/G,EAAOS,SAAS,IAAMpJ,EAAc,cAUxE,OARA0P,GAAWtC,KAAK,IAAMpN,EAAc,gBAAgBiO,KAAKrP,EAASoQ,aAAa,QAAS,YAAa,WACjGvG,EAAMkH,mBAGVD,EAAWxG,IAAI,SAAWtK,EAAc,MAAI,iBAAmB,IAAIsK,IAAI,UAAWtK,EAASoJ,cAAcqF,OAEzG3E,KAAKkH,qBAEElH,MAUXkH,mBAAqB,WACjB,GAAIF,GAAahH,KAAKgH,WAE3BG,EAAsB,WACzBH,EAAWxG,KACV0E,KAAQ/O,EAAEF,QAAQgC,SAAW+O,EAAW/O,UAAY,EAAI,KACxDqN,MAAQnP,EAAEF,QAAQ+B,QAAWgP,EAAWhP,SAAW,EAAK,OAQjD,OAJTmP,KAEAhR,EAAEF,QAAQ2O,OAAOuC,GAEDnH,MAUXoH,eAAiB,WAEbjR,EAAE,aAAaqK,IAAI,aAAc,SAEjC,IACLP,GAAcD,KAAKC,OACVC,EAAcF,KAAKE,SACnB5I,EAAc0I,KAAK1I,YAC5B0P,EAAchH,KAAKgH,WAAa/G,EAAOS,SAAS,IAAMpJ,EAAc,cAkB/D,OAhBI0P,GAAWrG,OAAS,GAEpBX,KAAK8G,mBAGT9G,KAAKqH,YAAW,GAEhBrH,KAAKgB,KAAKR,KAChB8G,QAAkBpH,EAAS/G,kBAC3BoO,gBAAkBrH,EAAShH,oBACzByL,OAELqC,EAAWxG,IAAI,UAAWtK,EAASoJ,cAAcqF,OAEjD3E,KAAKkH,qBAEWlH,MAUXiH,eAAiB,WAMb,MALA9Q,GAAE,aAAaqK,IAAI,aAAc,IACjCR,KAAKgH,WAAWlC,OAChB9E,KAAKgB,KAAK8D,OACV9E,KAAKqH,YAAW,GAETrH,MAWXqH,WAAa,SAASG,GAGlB,MAFAtR,GAASmR,WAAWG,GAEbxH,MAUXoE,SAAW,WACP,GACInE,GAAmBD,KAAKC,OACxBC,EAAmBF,KAAKE,SACxB9E,EAAmB8E,EAAS9E,cA+BhC,OA7BA4E,MAAKqD,WAAWoE,SAEhBzH,KAAKqB,gBAE0B,mBAApBrB,MAAKgH,YACZhH,KAAKgH,WAAWS,SAGgB,mBAAzBrM,GAAmB,MAC1B0L,mBAGC5G,EAASvH,WAENsH,EAAOyE,KAAK,oBAAoB/D,OAAS,GACzCV,EAAOyE,KAAK,oBAAoB+C,SAGhCvH,EAAShF,UAET8E,KAAKoG,oBACLpG,KAAKsB,eAIbtB,KAAK0H,kBACL1H,KAAK4E,SACL5E,KAAK2H,kBAEE3H,MAUX/E,qBAAuB,WACnB,GAAIiF,GAAmBF,KAAKE,SACxBiB,EAAmBnB,KAAKmB,gBAY5B,OAVIjB,GAASjF,uBAETkG,EAAiBuD,KAAK,OAAOnE,SAAS,wBAEX,mBAAhBqH,cAEPA,eAID5H,MAUX6H,YAAc,WAEV,GAAI1G,GAAmBnB,KAAKmB,gBAO5B,OALAA,GAAiBuD,KAAK,IAAMxO,EAASmJ,WAAWvE,KAAKgN,KAAK,WACtD,GAAIhN,GAAO3E,EAAE6J,KACb9J,GAASqJ,OAAOwI,OAAOjN,EAAIuF,OAAQvF,EAAI,MAGpCkF,MAUXgI,kCAAoC,WAEhC,GAAI9H,GAAmBF,KAAKE,SACxBiB,EAAmBnB,KAAKmB,gBAE5B,OAAIjL,GAASyL,MAAb,QAEIzB,EAASnF,WACToG,EAAiBuD,KAAK,cAAc3J,YAGpCmF,EAASlF,iBACTmG,EAAiBuD,KAAK,qBAAqB1J,iBAAiBnD,MAAO,WAGhEmI,OAWX2H,gBAAkB,SAASM,GACvBA,EAASA,GAAU,IAEnB,IAAIlI,GAAWC,KACX8B,EAAW9B,KAAK8B,GAChB5B,EAAWF,KAAKE,QAEpB,IAAI+H,GAEA,IAAK,GAAIrC,KAAKqC,GAEV,GAAI9R,EAAE+R,QAAQtC,EAAG1F,EAAS5G,iBAAmB,EAC7C,CACI,GAAIuK,KACJA,GAAI+B,GAAMqC,EAAOrC,GAEjB9D,EAAG8B,UAAUqE,QAKzB,CACI,IAAK,GAAIrC,KAAK1P,GAASiS,QACvB,CACI,GAAIF,GAAS/R,EAASiS,QAAQvC,GAC1BwC,EAA4B,gBAAXH,GAAuB9R,EAAE8N,MAAM/N,EAASoF,gBAAgB2M,GAASlI,GAAS5J,EAAE8N,MAAMgE,EAAQlI,EAE/G,IAAI5J,EAAE+R,QAAQtC,GAAI,KAAM,MAAO,QAAU,GAAKzP,EAAE+R,QAAQtC,EAAG1F,EAAS5G,iBAAmB,EACvF,CACI,GAAIuK,KACJA,GAAI+B,GAAKwC,EAETtG,EAAG8B,UAAUC,IAIrB1N,EAAEF,QAAQoS,QAAQ,SAASC,GAEvB,GAAIC,IACAC,IAAQ,KACRC,IAAQ,MACRC,IAAQ,MAGZ,IAAKvS,EAAE+R,QAAQK,EAAQD,EAAMK,SAAUzI,EAAS5G,iBAAmB,EAE/D,OAAQgP,EAAMK,SAEV,IAAK,KAEG,MADAxS,GAAE8N,MAAM/N,EAASoF,gBAAuB,MAAGyE,MACpC,CAGf,KAAK,KAEG,MADA5J,GAAE8N,MAAM/N,EAASoF,gBAAyB,QAAGyE,MACtC,CAGf,KAAK,KACG5J,EAAE8N,MAAM/N,EAASoF,gBAA4B,WAAGyE,QAUxE,MAAOC,OAUXuB,cAAgB,WAEZ,GAAIxB,GAAmBC,KACnBC,EAAmBD,KAAKC,OACxB5C,EAAmB2C,KAAK3C,QACxB6C,EAAmBF,KAAKE,SACxBiD,EAAmBnD,KAAKmD,WACxBE,EAAmBrD,KAAKqD,WAExBiD,GADmBtG,KAAKmB,iBACLjL,EAASoQ,aAEhCrG,GAAOS,SAAS,IAAMV,KAAK1I,YAAe,kBAAkBwN,OAE5D9E,KAAK0H,kBAEFxH,EAAS7H,OACRgF,EAAQsH,OAGZ1E,EAAO2I,KAAK,WAAY3I,EAAOjI,SAAS4Q,KAAK,YAAa3I,EAAOhI,UAEjE+H,KAAK4E,SACL5E,KAAK2H,kBAELxR,EAAEF,QAAQ2O,OAAO,WACb7E,EAAM6E,UAGV,IAAIiE,GAAuB,WACvBxF,EAAWqB,KAAK,sBAAsBa,KAAKe,EAAa,SAAU,aAAc,SAASgC,GACrF,GAAIrQ,GAAY9B,EAAE6J,MAAM/H,SACpBkN,EAAYhP,EAAE6J,MAAMmF,YACpB2D,EAAa3D,EAAYhP,EAAE6J,MAAM,GAAG+I,YAIpC1L,GAAQ8H,UAFM,IAAdA,EAEkB,EAEbA,EAAYlN,GAAU9B,EAAE6J,MAAM,GAAG+I,aAEpB1L,EAAQ,GAAG0L,aAIX1L,EAAQ,GAAG0L,aAAeD,GAGhD3S,EAAE8N,MAAM/D,EAASlG,SAAUgG,MAAMsI,MAIrCU,EAAyB,WACzB3F,EAAWqB,KAAK,sBAAsBc,OAAOc,EAAa,SAAU,eAGpE2C,EAAoB,WACpB5L,EAAQkI,KAAKe,EAAa,SAAU,aAAc,WAC9C,GAAIrO,GAAY9B,EAAE6J,MAAM/H,SACpBkN,EAAYhP,EAAE6J,MAAMmF,YACpB2D,EAAa3D,EAAYhP,EAAE6J,MAAM,GAAG+I,aACpCG,EAAY7F,EAAWqB,KAAK,qBAI5BwE,GAAS/D,UAFI,IAAdA,EAEoB,EAEdA,EAAYlN,GAAU9B,EAAE6J,MAAM,GAAG+I,aAEnBG,EAAS,GAAGH,aAIZG,EAAS,GAAGH,aAAeD,GAGlD3S,EAAE8N,MAAM/D,EAASjG,gBAAiB+F,MAAMsI,UAI5Ca,EAAsB,WACtB9L,EAAQmI,OAAOc,EAAa,SAAU,cA0B1C,OAvBTjD,GAAWkC,MACV6D,UAAaP,EACbQ,SAAaL,EACbM,WAAaT,EACbU,SAAaP,IAGd3L,EAAQkI,MACP6D,UAAaH,EACbI,SAAaF,EACbG,WAAaL,EACbM,SAAaJ,IAGLhG,EAAWkB,GAAG,SAAU,WACpBtE,EAAMoB,iBAAiBX,IAAI,eAAgBN,EAAS1H,YAAcrC,EAAE,QAAQ8B,SAAW9B,EAAEF,QAAQgC,SAAW,OAAS,QACrH8H,EAAM2H,oBAGVvR,EAAE8N,MAAM/D,EAAS3G,OAAQyG,QAEzBA,KAAKJ,MAAME,QAAS,EAEbE,MAWXhI,MAAQ,SAASA,GAKb,MAHAgI,MAAKC,OAAOO,IAAI,QAA2B,gBAAVxI,GAAsBA,EAAS,KAAOA,GACvEgI,KAAK4E,SAEE5E,MAWX/H,OAAS,SAASA,GAKd,MAHA+H,MAAKC,OAAOO,IAAI,SAA6B,gBAAXvI,GAAwBA,EAAU,KAAOA,GAC3E+H,KAAK4E,SAEE5E,MAYX4E,OAAS,SAAS5M,EAAOC,GAErBD,EAASA,GAAU,KACnBC,EAASA,GAAU,IAEnB,IAAI2H,GAAaI,KAAKJ,MAClBK,EAAaD,KAAKC,OAClB5C,EAAa2C,KAAK3C,QAClBnC,EAAa8E,KAAK9E,QAClBgF,EAAaF,KAAKE,SAElBmD,GADarD,KAAKmD,WACLnD,KAAKqD,WA8EtB,OA5EGrL,IAECiI,EAAOO,KACHxI,MAA4B,gBAAXA,GAAuBA,EAAS,KAAOA,KAI5DkI,EAAS1H,YAAeoH,EAAMtC,YAAesC,EAAMvC,SAOhDpF,GAECgI,EAAOO,KACHvI,OAA4B,gBAAXA,GAAuBA,EAAS,KAAOA,IAI5D2H,EAAMtC,YAEN2C,EAAOhI,OAAO9B,EAAEF,QAAQgC,UAGxBiI,EAAShF,UAAYgF,EAASvH,SAC9B0K,EAAW7C,IAAI,aAActF,EAAQjD,SAAW,GAAGA,OAAOgI,EAAOhI,SAAWiD,EAAQjD,UAEpFoL,EAAW7C,IAAI,aAAc,GAAGvI,OAAOgI,EAAOhI,YApBlDgI,EAAOO,IAAI,SAAU,QACrB6C,EAAW7C,IAAI,SAAU,SAuB7B6C,EAAWqB,KAAK,uBAAuBzM,OAAOoL,EAAWpL,UAEtDiI,EAAS7H,OAERgL,EAAWrL,MAAMiI,EAAOjI,QAAU,GAClCqF,EAAQrF,MAAQ4H,EAAMvC,QAAgC4C,EAAOjI,QAA5BiI,EAAOjI,QAAU,GAE9CkI,EAAShF,UAAYgF,EAASvH,SAE9B0E,EAAQmD,IAAI,MAAOtF,EAAQjD,UAI3BoF,EAAQmD,IAAI,MAAO,GAWfnD,EAAQpF,QARZiI,EAAS1H,YAAeoH,EAAMtC,YAAesC,EAAMvC,QAM/C6C,EAAShF,UAAYgF,EAASvH,SAEfsH,EAAOhI,SAAWiD,EAAQjD,SAI1BgI,EAAOhI,SAVX,UAgBnBoL,EAAWrL,MAAMiI,EAAOjI,SACxBqF,EAAQyH,QAGRlF,EAAME,QAEN3J,EAAE8N,MAAM/D,EAAS1G,SAAUwG,QAGxBA,MAUX0H,gBAAkB,WACd,GAAI3H,GAAmBC,KACnBJ,EAAmBI,KAAKJ,MACxBM,EAAmBF,KAAKE,SACxBiD,EAAmBnD,KAAKmD,WACxBhC,EAAmBnB,KAAKmB,iBAExBqI,EAAmBrG,EAAWsG,UAElC,IAAsB,QAAlBvJ,EAAStI,MAAoC,aAAlBsI,EAAStI,KAIpC,MAFAoI,MAAKS,iBAAiB,GAAGiJ,UAAYF,EAE9BxJ,IAGX,IAAI3J,GAAkBH,EAASsJ,QAC3BmK,EAAkB3J,KAAK2J,eACvBC,EAAkB5J,KAAK6J,uBACvBtP,IAAuB2F,EAAS3F,IAChCC,cAAuB0F,EAAS1F,cAChCI,SAAuBsF,EAAStF,SAChCC,MAAuBqF,EAASrF,MAChCC,IAAuBoF,EAASpF,IAChCJ,OAAuBwF,EAASxF,OAChCC,UAAuBuF,EAASvF,UAChCI,UAAuBmF,EAASnF,UAChCC,gBAAuBkF,EAASlF,gBAChCC,qBAAuBiF,EAASjF,sBAGhC6O,EAAgB9J,KAAK8J,eACrBC,SAAc7T,EAAS8T,eAAeL,EAAaC,GACnDK,KAAc,EACdC,QAAc,EACdC,QAAc,EACdC,UAAc,EACdC,SAAenK,EAAmB,YAAI,GAAQ,EAC9CoK,YAAc,EACdC,aAAc,EAGlBlU,GAAOmU,WAAWV,GAElBN,EAAqBtT,EAASuU,eAAejB,EAAiBtJ,EAASzF,WAEvE,IAAIiQ,GAAiBxU,EAASsJ,QAAQgK,EAAiBM,EAWvD,IATA9J,KAAKS,iBAAiB,GAAGiJ,UAAYF,EAErCrG,EAAWwH,OAEPzK,EAAS7G,oBAET2G,KAAKkB,aAAab,KAAKqK,GAGxBxK,EAAS7H,QAAW6H,EAAS7H,OAASuH,EAAMvC,QAC/C,CA0BI,GAzBA8D,EAAiBd,KAAKqK,GAEtB1K,KAAK/E,uBAEDiF,EAAS3F,KACTrE,EAAS0U,oBAAoBjB,EAAaxI,EAAkBjB,EAAS1F,eAGrE0F,EAASpF,OAEJ5E,EAAS2U,aAAe3K,EAAS9H,gBAElClC,EAAS4U,UAAU,WACf5U,EAASqJ,OAAShJ,MAClBL,EAAS2U,aAAc,EACvB9K,EAAM8H,iBAKV3R,EAASqJ,OAAShJ,MAClByJ,KAAK6H,gBAIT3H,EAASnF,WAAamF,EAASlF,gBAE/B,GAAI+P,GAAQC,WAAW,WACnBC,aAAaF,GACbhL,EAAMiI,qCACP,GAGHpI,GAAME,QAEN3J,EAAE8N,MAAM/D,EAASzG,SAAUuG,QAInC,MAAOA,OAUX4G,MAAQ,WAGJ,MAFA5G,MAAKmD,WAAWyD,QAET5G,MAWXkL,UAAY,SAAS1E,GAGjB,MAFAxG,MAAKmD,WAAW+H,UAAU1E,GAEnBxG,MAUXyC,UAAY,WACR,MAAOzC,MAAKmD,WAAWV,aAY3B0I,aAAe,SAASC,EAAMC,GAI1B,MAFArL,MAAKmD,WAAWgI,aAAaC,EAAMC,GAE5BrL,MAUX0G,aAAe,WACX,MAAO1G,MAAKmD,WAAWuD,gBAW3B4E,cAAgB,SAASC,GAGrB,MAFAvL,MAAK8B,GAAGwJ,cAAcC,GAEfvL,MAUXwL,cAAgB,WACZ,MAAOxL,MAAK8B,GAAG0J,iBAWnBC,iBAAmB,SAAS3T,GAGxB,MAFAkI,MAAKmD,WAAWsI,iBAAiB3T,GAE1BkI,MAcX0L,YAAc,SAAS5T,GAGnB,MAFAkI,MAAKyL,iBAAiB3T,GAEfkI,MAWX2L,YAAc,SAASC,GACnB,GAAI1L,GAAWF,KAAKE,QAIpB,OAFAF,MAAKmD,WAAWI,SAASqI,GAAM1L,EAASnI,UAEjCiI,MAUX6L,YAAc,WACV,MAAO7L,MAAKmD,WAAWsG,YAU3BA,SAAW,WACP,MAAOzJ,MAAKmD,WAAWsG,YAW3BlG,SAAW,SAASzL,GAGhB,MAFAkI,MAAKmD,WAAWI,SAASzL,GAElBkI,MAUXzC,MAAQ,WAGJ,MAFAyC,MAAKmD,WAAWI,SAAS,IAElBvD,MAUX8L,QAAU,WACN,MAAK9L,MAAKE,SAAS7G,mBAOZ2G,KAAKkB,aAAab,QALrB0L,MAAM,gDAEC,IAafC,qBAAuB,WACnB,MAAOhM,MAAK8L,WAUhBG,iBAAmB,WACf,MAAKjM,MAAKE,SAAS7H,MAOZ2H,KAAKmB,iBAAiBd,QALzB0L,MAAM,mCAEC,IAaf1T,MAAQ,SAASkM,GACb,GAAIrE,GAAkBF,KAAKE,QAC3BF,MAAKJ,MAAMC,SAAWK,EAAS7H,OAAQ,EACvC2H,KAAK3C,QAAQsH,MAEb,IAAIuH,GAAchM,EAASxE,kBAAkBrD,MACzC8T,EAAcjM,EAASxE,kBAAkB0B,QACzCmJ,EAAcvG,KAAK9E,QAAQwJ,KAAK,kBAepC,OAdA6B,GAAK6F,SAASvL,KAAK,QAASX,EAASvC,KAAKzC,QAAQ7C,OAClDkO,EAAK8F,YAAYF,GAAa5L,SAAS2L,GAEvClM,KAAKqD,WAAW7C,IAAI,eAAgB,kBAAkBxI,MAAMgI,KAAKC,OAAOjI,QAAU,GAElFgI,KAAK0H,kBAAkB9C,SAElB1E,EAASxG,UAEVwG,EAASxG,QAAU6K,GAAY,cAGnCpO,EAAE8N,MAAM/D,EAASxG,QAASsG,QAEnBA,MAUX5C,QAAU,SAASmH,GACf,GAAIrE,GAAkBF,KAAKE,QAC3BF,MAAKJ,MAAMC,SAAWK,EAAS7H,OAAQ,EACvC2H,KAAK3C,QAAQyH,MAEb,IAAIoH,GAAchM,EAASxE,kBAAkBrD,MACzC8T,EAAcjM,EAASxE,kBAAkB0B,OAE7C,IAAI4C,KAAK9E,QACT,CACI,GAAIqL,GAAUvG,KAAK9E,QAAQwJ,KAAK,kBAChC6B,GAAK6F,SAASvL,KAAK,QAASX,EAASvC,KAAKzC,QAAQkC,SAClDmJ,EAAK8F,YAAYH,GAAW3L,SAAS4L,GAczC,MAXAnM,MAAKqD,WAAW7C,IAAI,eAAgB,QAAQxI,MAAMgI,KAAKC,OAAOjI,SAE9DgI,KAAK4E,SAEA1E,EAASvG,YAEVuG,EAASvG,UAAY4K,GAAY,cAGrCpO,EAAE8N,MAAM/D,EAASvG,UAAWqG,QAErBA,MAWX2E,KAAO,SAASJ,GACZA,EAAYA,GAAY,YAExB,IAAIxE,GAAQC,IAKZ,OAJAA,MAAKC,OAAO0E,KAAK,EAAG,WAChBxO,EAAE8N,MAAMM,EAAUxE,OAGfC,MAWX8E,KAAO,SAASP,GACZA,EAAYA,GAAY,YAExB,IAAIxE,GAAQC,IAKZ,OAJAA,MAAKC,OAAO6E,KAAK,EAAG,WAChB3O,EAAE8N,MAAMM,EAAUxE,OAGfC,MAUXsM,WAAa,WAET,GAAIvM,GAAmBC,KACnBC,EAAmBD,KAAKC,OACxB5C,EAAmB2C,KAAK3C,QACxBnC,EAAmB8E,KAAK9E,QACxBgF,EAAmBF,KAAKE,SACxBmD,EAAmBrD,KAAKqD,UAExBnD,GAAShF,UACTA,EAAQqR,SACRrR,EAAQwJ,KAAK,qBAAqB8H,YAAY,WAGlDnJ,EAAWkJ,QAEX,IAAIE,GAAY,SAASnE,GACjBA,EAAMoE,UAA8B,KAAlBpE,EAAMK,SACxB5I,EAAM4M,YAImB,UAA9BtJ,EAAW7C,IAAI,YAEdR,KAAKJ,MAAMvC,SAAU,EAElB2C,KAAKJ,MAAMtC,YACVD,EAAQmD,IAAI,aAAc,QAG9BP,EAAOyE,KAAK,IAAM1E,KAAK1I,YAAc,qBAAqBqN,OAAOY,KAAKrP,EAASoQ,aAAa,QAAS,YAAa,WAC9GvG,EAAM4M,cAGNzM,EAAS7H,OAET2H,KAAK0H,kBAGTrK,EAAQsH,OAAOnE,KACX6E,SAAY,SACZH,IAAY,EACZlN,MAAYiI,EAAOjI,QACnBC,OAAaiI,EAAS1H,aAAewH,KAAKJ,MAAMtC,WAAc,OAAS2C,EAAOhI,WAG9E+H,KAAKJ,MAAME,QAEX3J,EAAE8N,MAAM/D,EAAStG,aAAcoG,QAGnC7J,EAAEF,QAAQsP,KAAK,QAASkH,KAIxBtW,EAAEF,QAAQuP,OAAO,QAASiH,GAC1BzM,KAAK2M,cAWbA,UAAY,WAER,GAAI1M,GAAmBD,KAAKC,OACxB5C,EAAmB2C,KAAK3C,QACxBnC,EAAmB8E,KAAK9E,QACxBgF,EAAmBF,KAAKE,SACxBmD,EAAmBrD,KAAKqD,WACxBuJ,EAAmB3M,EAAOyE,KAAK,IAAM1E,KAAK1I,YAAc,oBA+B5D,OA7BA0I,MAAKJ,MAAMvC,SAAY,EAEvBgG,EAAWsB,OAEPzE,EAAShF,SACTA,EAAQyJ,OAGT3E,KAAKE,SAAS7H,MACbgF,EAAQsH,OAERtH,EAAQyH,OAGZ8H,EAAgB9H,OAAOU,OAAOtP,EAASoQ,aAAa,QAAS,aAE7DjJ,EAAQmD,KACJqM,WAAa,KACbxH,SAAa,WACbrN,MAAaiI,EAAOjI,QAAU,EAC9BC,OAAciI,EAAS1H,aAAewH,KAAKJ,MAAMtC,WAAc,OAAS2C,EAAOhI,SAAWiD,EAAQjD,SAClGiN,IAAchF,EAAgB,QAAOhF,EAAQjD,SAAW,IAGxD+H,KAAKJ,MAAME,QAEX3J,EAAE8N,MAAM/D,EAASrG,YAAamG,QAG3BA,MAUX1C,WAAa,WAET,GAAIyC,GAAmBC,KACnBC,EAAmBD,KAAKC,OAExB/E,GADmB8E,KAAK3C,QACL2C,KAAK9E,SACxB4R,EAAmB9M,KAAK1I,YAAc,YAEtC4D,IACAA,EAAQwJ,KAAK,wBAAwB0H,SAASI,YAAY,SAG9D,IAAIC,GAAY,SAASnE,GAChBA,EAAMoE,UAA8B,KAAlBpE,EAAMK,SAErB5I,EAAMH,MAAMtC,YAEZyC,EAAMgN,iBAiClB,OA5BK9M,GAAOK,SAASwM,IAwBjB3W,EAAEF,QAAQuP,OAAO,QAASiH,GAC1BzM,KAAK+M,mBAvBL/M,KAAKJ,MAAMtC,YAAa,EAExBnH,EAAE,aAAaqK,IAAI,WAAY,UAE/BP,EAAOO,KACH6E,SAAW,QACXH,IAAW,EACXI,KAAW,EACX0H,OAAW,EACXC,OAAW,OACXjV,MAAW7B,EAAEF,QAAQ+B,QACrBC,OAAW9B,EAAEF,QAAQgC,WACtBsI,SAASuM,GAEZ9M,KAAK4E,SAELzO,EAAE8N,MAAMjE,KAAKE,SAASpG,aAAckG,QAEpC7J,EAAEF,QAAQsP,KAAK,QAASkH,IAQrBzM,MAUX+M,eAAiB,WAEb,GAAI9M,GAAoBD,KAAKC,OACzB/E,EAAoB8E,KAAK9E,QACzB4R,EAAoB9M,KAAK1I,YAAc,YAuB3C,OAtBA0I,MAAKJ,MAAMtC,YAAa,EAEpBpC,GACAA,EAAQwJ,KAAK,wBAAwB0H,SAASC,YAAY,UAG9DlW,EAAE,aAAaqK,IAAI,WAAY,IAE/BP,EAAOO,KACH6E,SAAW,GACXH,IAAW,GACXI,KAAW,GACX0H,OAAW,cACXhV,MAAWiI,EAAO2I,KAAK,YACvB3Q,OAAWgI,EAAO2I,KAAK,aACvBqE,OAAW,mBACZZ,YAAYS,GAEf9M,KAAK4E,SAELzO,EAAE8N,MAAMjE,KAAKE,SAASnG,iBAAkBiG,QAEjCA,MAGXkN,cAAgB,SAAStP,EAAM1F,GAE3B,GAAI6H,GAAWC,KACX8B,EAAW9B,KAAK8B,GAChB5B,EAAWF,KAAKE,QAEpB,OAAqB,kBAAVtK,YAEPoK,MAAKpC,GAAMkE,IAKf5J,EAAOgI,EAAS/H,WAAaD,OAEzB/B,EAAE+R,QAAQhQ,EAAMhC,EAASiX,UAAUC,QAAU,EAE7ClX,EAASmX,WAAWnV,EAAM,WACtBhC,EAASoX,YAAY1P,GAAQmC,EAAMnC,GACnCmC,EAAMnC,GAAMkE,KAKhB3L,EAAE8N,MAAM/N,EAASoX,YAAY1P,GAAOoC,MAAM8B,OAKtD5L,EAASc,GAAGC,KAAK0I,UAAYzJ,EAASc,GAEtCd,EAAS6C,iBAAmB,WACxB,GAAImH,GAAWF,KAAKE,QAEhBA,GAASnH,kBAET5C,EAAE,aAAaqK,IAAI,WAAY,WAIvCtK,EAAS8C,eAAiB,SAASkF,GAC/B,GAAI+B,GAAWD,KAAKC,OAChBC,EAAWF,KAAKE,QAEpBhC,GAAOsC,KACH0E,KAAQ/O,EAAEF,QAAQgC,SAAWiG,EAAOjG,UAAY,EAAI,KACpDqN,MAAQnP,EAAEF,QAAQ+B,QAAWkG,EAAOlG,SAAY,EAAI,OAGpDkI,EAASlH,gBACTiH,EAAOS,SAAS,IAAMV,KAAK1I,YAAc,QAAQkJ,IAAI,UAAW+M,SAASrP,EAAOsC,IAAI,YAAc,GAAGmE,QAI7GzO,EAASoF,iBACLK,KAAO,WACHqE,KAAK8B,GAAGnG,QAGZC,KAAO,WACHoE,KAAK8B,GAAGlG,QAGZC,KAAO,WACH,GAAIiG,GAAY9B,KAAK8B,GACjB0E,EAAY1E,EAAGW,YACfgE,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,KAAOhF,EAAY,MAEtB,KAAdA,GACC3E,EAAGoJ,UAAU1E,EAAOgH,KAAMhH,EAAOiH,GAAK,IAI9C3R,IAAM,WACF,GAAIgG,GAAY9B,KAAK8B,GACjB0E,EAAY1E,EAAGW,YACfgE,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,KAAOhF,EAAY,MAEtB,KAAdA,GACC3E,EAAGoJ,UAAU1E,EAAOgH,KAAMhH,EAAOiH,GAAK,IAI9C1R,OAAS,WACL,GAAI+F,GAAY9B,KAAK8B,GACjB0E,EAAY1E,EAAGW,YACfgE,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,IAAMhF,EAAY,KAErB,KAAdA,GACC3E,EAAGoJ,UAAU1E,EAAOgH,KAAMhH,EAAOiH,GAAK,IAI9CzR,MAAQ,WACJ,GAAI8F,GAAY9B,KAAK8B,GACjB0E,EAAY1E,EAAGW,YACfgE,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,KAAOhF,GAC3B3E,EAAGoJ,UAAU1E,EAAOgH,KAAqB,KAAd/G,EAAoBD,EAAOiH,GAAK,EAAIjH,EAAOiH,GAAKhH,EAAU9F,OAAS,IAGlG+M,QAAU,WACN,GAAI5L,GAAa9B,KAAK8B,GAClB2E,EAAa3E,EAAG4E,eAChBiH,EAAa7L,EAAG8L,gBAEpB9L,GAAG2J,iBAAiBvV,EAAS2X,eAAepH,IAC5C3E,EAAGwJ,cAAcqC,IAGrBpS,QAAU,WACN,GAAIuG,GAAa9B,KAAK8B,GAClB2E,EAAa3E,EAAG4E,eAChBiH,EAAa7L,EAAG8L,gBAEpB9L,GAAG2J,iBAAiBvV,EAAS4X,oBAAoBrH,IACjD3E,EAAGwJ,cAAcqC,IAGrB1R,UAAY,WACR,GAAI6F,GAAa9B,KAAK8B,GAClB2E,EAAa3E,EAAG4E,eAChBiH,EAAa7L,EAAG8L,gBAEpB9L,GAAG2J,iBAAiBhF,EAAUsH,eAC9BjM,EAAGwJ,cAAcqC,IAGrBnS,UAAY,WACR,GAAIsG,GAAa9B,KAAK8B,GAElB2E,GADa3E,EAAGW,YACHX,EAAG4E,gBAChBiH,EAAa7L,EAAG8L,gBAEpB9L,GAAG2J,iBAAiBhF,EAAUuH,eAC9BlM,EAAGwJ,cAAcqC,IAGrBzR,GAAK,WACD,GAAI4F,GAAY9B,KAAK8B,GACjB2E,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,KAAOhF,IAG/BtK,GAAK,WACD,GAAI2F,GAAY9B,KAAK8B,GACjB2E,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,MAAQhF,IAGhCrK,GAAK,WACD,GAAI0F,GAAY9B,KAAK8B,GACjB2E,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,OAAShF,IAGjCpK,GAAK,WACD,GAAIyF,GAAY9B,KAAK8B,GACjB2E,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,QAAUhF,IAGlCnK,GAAK,WACD,GAAIwF,GAAY9B,KAAK8B,GACjB2E,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,SAAWhF,IAGnClK,GAAK,WACD,GAAIuF,GAAY9B,KAAK8B,GACjB2E,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,UAAYhF,IAGpCjK,UAAY,WACR,GAAIsF,GAAY9B,KAAK8B,GAEjB2E,GADY3E,EAAGW,YACHX,EAAG4E,eAEnB,IAAkB,KAAdD,EAEA3E,EAAG2J,iBAAiB,KAAOhF,OAG/B,CAGI,IAAK,GAFDwH,GAAgBxH,EAAUyH,MAAM,MAE3BtI,EAAI,EAAGC,EAAMoI,EAActN,OAAYkF,EAAJD,EAASA,IAEjDqI,EAAcrI,GAA2B,KAArBqI,EAAcrI,GAAa,GAAK,KAAOqI,EAAcrI,EAG7E9D,GAAG2J,iBAAiBwC,EAAclN,KAAK,SAI/CtE,UAAY,WACR,GAAIqF,GAAY9B,KAAK8B,GAEjB2E,GADY3E,EAAGW,YACHX,EAAG4E,eAEnB,IAAiB,KAAdD,EAEC3E,EAAG2J,iBAAiB,MAAQhF,OAGhC,CAGI,IAAK,GAFDwH,GAAgBxH,EAAUyH,MAAM,MAE3BtI,EAAI,EAAGC,EAAMoI,EAActN,OAAYkF,EAAJD,EAASA,IAEjDqI,EAAcrI,GAA2B,KAArBqI,EAAcrI,GAAa,GAAMA,EAAE,EAAK,KAAOqI,EAAcrI,EAGrF9D,GAAG2J,iBAAiBwC,EAAclN,KAAK,SAI/CrE,GAAK,WACD,CAAA,GAAIoF,GAAY9B,KAAK8B,EACLA,GAAGW,YACHX,EAAG4E,eAEnB5E,EAAG2J,iBAAiB,iBAGxB9O,KAAO,WACHqD,KAAKkN,cAAc,aAAc,4BAGrCtQ,OAAS,WACLoD,KAAKkN,cAAc,mBAAoB,0CAG3CrQ,MAAQ,WACJmD,KAAKkN,cAAc,cAAe,8BAGtCpQ,KAAO,WACH,GAAIgF,GAAY9B,KAAK8B,GACjB0E,EAAY1E,EAAGW,YACfgE,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,IAAMhF,EAAY,KAEpB,KAAdA,GACA3E,EAAGoJ,UAAU1E,EAAOgH,KAAMhH,EAAOiH,GAAK,IAI9CzQ,aAAe,WACXgD,KAAKkN,cAAc,kBAAmB,wCAG1CnQ,oBAAsB,WAClBiD,KAAKkN,cAAc,yBAA0B,sDAGjDjQ,MAAQ,WACJ+C,KAAKkN,cAAc,cAAe,8BAGtChQ,SAAW,WACP,GAAI4E,GAAY9B,KAAK8B,GAGjBqM,GAFYrM,EAAG4E,eACH,GAAI0H,MACJpO,KAAKE,SAASvC,KAAKC,MAC/ByQ,EAAYnY,EAASoY,aAAe,IAAMpY,EAASoY,WAAyB,UAAbH,GAAqC,UAAbA,EAAwB,cAAgB,WAEnIrM,GAAG2J,iBAAiB4C,IAGxBxT,MAAQ,WACJmF,KAAKkN,cAAc,cAAe,8BAGtC/P,aAAe,WACX6C,KAAKkN,cAAc,qBAAsB,8CAG7C7U,MAAQ,WACJ2H,KAAKA,KAAKE,SAAS7H,MAAQ,UAAY,YAG3CgF,QAAU,WACN2C,KAAKsM,cAGThP,WAAa,WACT0C,KAAK1C,cAGTC,MAAQ,WACJyC,KAAKzC,SAGTC,KAAO,WACHwC,KAAKkN,cAAc,aAAc,4BAGrCzP,KAAO,WACHuC,KAAKoH,mBAIblR,EAASiS,SACLoG,SAAiB,OACjBC,SAAiB,SACjBC,SAAiB,OACjBC,eAAiB,OACjBC,eAAiB,QACjBC,eAAiB,MACjBC,SAAiB,KACjBC,SAAiB,KACjBC,SAAiB,KACjBC,SAAiB,KACjBC,SAAiB,KACjBC,SAAiB,KACjBC,SAAiB,KACjBC,SAAiB,WAEjBC,SAAiB,WACb,GAAIvN,GAAY9B,KAAK8B,GACjB0E,EAAY1E,EAAGW,YACfgE,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,IAAMhF,EAAY,KAEpB,KAAdA,GACA3E,EAAGoJ,UAAU1E,EAAOgH,KAAMhH,EAAOiH,GAAK,IAI9C6B,SAAkB,WACd,GAAIxN,GAAY9B,KAAK8B,GACjB0E,EAAY1E,EAAGW,YACfgE,EAAY3E,EAAG4E,eAEfxP,EAAuB,KAAduP,EAAoB,GAAK,KAAMA,EAAU,GAEtD3E,GAAG2J,iBAAiB,IAAMhF,EAAY,KAAKvP,EAAM,KAE/B,KAAduP,GACA3E,EAAGoJ,UAAU1E,EAAOgH,KAAMhH,EAAOiH,GAAK,IAG9C8B,SAAmB,UAEnBC,eAAmB,WACf,GAAI1N,GAAY9B,KAAK8B,GACjB0E,EAAY1E,EAAGW,YACfgE,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,iBAAiB,IAAMhF,GAER,KAAdA,GACA3E,EAAGoJ,UAAU1E,EAAOgH,KAAMhH,EAAOiH,GAAK,IAI9CgC,cAAqB,WACjB,GAAI3N,GAAY9B,KAAK8B,GACjB0E,EAAY1E,EAAGW,YACfgE,EAAY3E,EAAG4E,cAEnB5E,GAAG2J,kBAAkB,MAAOhF,EAAW,OAAO1F,KAAK,OAEjC,KAAd0F,GACA3E,EAAGoJ,UAAU1E,EAAOgH,KAAMhH,EAAOiH,GAAK;;EAI9CiC,mBAAqB,aACrBC,eAAqB,eACrBC,cAAqB,OACrBC,eAAqB,QACrBC,eAAqB,YACrBC,cAAqB,UACrBC,mBAAqB,UACrBC,cAAqB,YAErBC,eAAqB,WACjB,GAAIpO,GAAY9B,KAAK8B,GACjB0E,EAAY1E,EAAGW,YACfgE,EAAY3E,EAAG4E,eAEfxP,EAAuB,KAAduP,EAAoB,GAAK,KAAMA,EAAU,GAEtD3E,GAAG2J,iBAAiB,KAAOhF,EAAY,KAAKvP,EAAM,KAEhC,KAAduP,GACA3E,EAAGoJ,UAAU1E,EAAOgH,KAAMhH,EAAOiH,GAAK,IAI9C0C,mBAAqB,QACrBC,eAAqB,OACrBC,eAAqB,UACrBC,eAAqB,oBACrBC,eAAqB,QACrBC,GAAqB,QACrBC,IAAqB,UACrBC,IAAqB,aAWzB,IAAIC,GAAO,SAASC,GAChB,MAASC,QAAOlR,UAAUgR,KAAgEC,EAAID,OAA5DC,EAAIE,QAAQ,qCAAsC,IAGxF5a,GAASya,KAAOA,CAUhB,IAAIpV,GAAU,SAAUqV,GACpB,MAAOA,GAAI5C,cAAc8C,QAAQ,iBAAkB,SAASC,GACxD,MAAOA,GAAGhD,gBAIlB7X,GAASqF,QAAUrF,EAAS4X,oBAAsBvS,CAUlD,IAAIsS,GAAiB,SAAS+C,GAC1B,MAAOA,GAAI5C,cAAc8C,QAAQ,SAAU,SAASC,GAChD,MAAOA,GAAGhD,gBA2gClB,OArgCA7X,GAAS2X,eAAiB3X,EAASwX,QAAUG,EAE7C3X,EAAS8a,MACLC,WAAa,uBAGjB/a,EAASgb,QACLxW,OAAe,UACfyW,MAAe,+BACfxW,UAAe,+CACfE,MAAe,eACfuW,QAAe,0BACfC,YAAe,8BACfC,aAAe,8BAInBpb,EAAS2E,OACL3C,KAAQ,oDACRqZ,IAAQ,QAIZrb,EAASkb,SACLlZ,KAAO,mCACPqZ,IAAO,QAWXrb,EAAS8T,eAAiB,SAASL,EAAa5S,GAC5C,GAAIY,IACA4C,KAAuB,EACvBC,cAAuB,EACvBE,QAAuB,EACvBC,WAAuB,EACvBC,UAAuB,EACvBC,OAAuB,EACvBC,KAAuB,EACvBC,WAAuB,EACvBC,iBAAuB,GAGvBkF,EAAkB/J,EAAEgK,OAAOxI,EAAUZ,OACrCV,EAAkBH,EAASsJ,QAC3BwK,EAAkB,GAAI3T,GAAOmb,QACjC7H,GAAsBA,KAEtB,IAAI8H,GAAkBvb,EAASgb,OAAOxW,OAClCgX,EAAkBxb,EAASgb,OAAOrW,MAClC8W,EAAkBzb,EAASgb,OAAOC,MAClCS,EAAkB1b,EAASgb,OAAOvW,UAClCkX,EAAkB3b,EAASgb,OAAOE,QAClCU,EAAkB5b,EAASgb,OAAOG,YAClCU,EAAkB7b,EAASgb,OAAOI,YA6NtC,OA3NAtH,GAAenP,MAAQ,SAASmX,GAC5B,GAAIC,GAASD,EAAKE,MAAMR,EAExB,KAAKO,IAAW/R,EAASrF,MACrB,MAAOmX,EAGX,KAAK,GAAIpM,GAAI,EAAGC,EAAMoM,EAAOtR,OAAYkF,EAAJD,EAASA,IAE1CoM,EAAOA,EAAKlB,QAAQ,GAAIqB,QAAOF,EAAOrM,IAAK,SAASmL,GAChD,GAAIqB,GAAWrB,EAAGmB,MAAMJ,GACpBlU,EAAWmT,EAAGD,QAAQ,KAAM,GAEhC,IAAIsB,EAEA,IAAK,GAAIC,GAAK,EAAGC,EAAOF,EAASzR,OAAa2R,EAALD,EAAWA,IACpD,CACI,GAAIE,GAASH,EAASC,GAAIvB,QAAQ,KAAM,GAExC,OAAO,gBAAmByB,EAAS,qBAAyBA,EAAOzB,QAAQ,MAAO,IAAM,aAIhG,CACI,GAAI0B,GAAgBzB,EAAGmB,MAAMH,GACzBU,EAAgB1B,EAAGmB,MAAML,EAE7B,IAAIW,EAEA,IAAK,GAAIE,GAAI,EAAGC,EAAOH,EAAc7R,OAAYgS,EAAJD,EAAUA,IACvD,CACI,GAAIE,GAAWJ,EAAcE,GAAG5B,QAAQ,KAAM,GAC9C,OAAO,aAAgB8B,EAAW,4BAAgCA,EAAW,cAGhF,CAAA,IAAIH,EAUL,MAAO,aAAgBvc,EAAS2E,MAAM3C,KAAO0F,EAAO1H,EAAS2E,MAAM0W,IAAM,+BAAqC3T,EAAO,oBAAwBA,EAAO,WARpJ,KAAK,GAAIiV,GAAI,EAAGC,EAAOL,EAAc9R,OAAYmS,EAAJD,EAAUA,IACvD,CACI,GAAIE,GAAMN,EAAcI,GAAG/B,QAAQ,KAAM,IAAIA,QAAQ,MAAO,GAC5D,OAAO,aAAgB5a,EAASkb,QAAQlZ,KAAO6a,EAAM7c,EAASkb,QAAQG,IAAM,oBAAwBwB,EAAM,kBAAsBA,EAAM,iCAW1J,OAAOf,IAGXhI,EAAetP,OAAS,SAASsX,GAE7B,MAAIP,GAAU1L,KAAKiM,IAEX9R,EAASxF,SAETsX,EAAOA,EAAKlB,QAAQa,EAAU,SAASZ,GACnC,MAAOA,GAAGD,QAAQ,KAAM,iBAG5BkB,EAAOA,EAAKlB,QAAQW,EAAW,SAASV,EAAIiC,GACxC,MAAO,YAAe9c,EAAS8a,KAAKC,WAAkB+B,EAAK,iBAAqBA,EAAK,qBAA0BjC,EAAK,SACrHD,QAAQ,eAAgB,MAG3B5Q,EAASvF,YAETqX,EAAOA,EAAKlB,QAAQc,EAAc,SAASb,EAAIiC,GAC3C,MAASA,GAA+CjC,EAAzC,mBAAoBA,EAAG,KAAMA,EAAG,UAIhDiB,GAGJA,GAGXhI,EAAerN,KAAO,SAAUsW,EAAM/b,EAAO8a,GAEzC,GAAIhS,KAAKjJ,QAAQsT,SAAU,CACvB,IACI,GAAI6I,GAAOC,mBAAmBC,SAASH,IAAOnC,QAAQ,UAAU,IAAI9C,cACtE,MAAMqF,GACJ,MAAO,GAGX,GAAoC,IAAhCH,EAAKI,QAAQ,eACb,MAAO,GAIf,GAAIC,GAAM,YAAeN,EAAO,GAEhC,OAAIxB,GAAU1L,KAAK7O,IAAUua,EAAU1L,KAAKiM,IAEpC9a,IAEAqc,GAAO,WAAcrc,EAAM4Z,QAAQ,KAAM,UAGtCyC,EAAM,KAAQvB,EAAKlB,QAAQ,KAAM,SAAW,SAGnD5Z,IACAqc,GAAO,WAAcrc,EAAQ,KAGjCqc,GAAO,IAAMvB,EAAO,SAKxBhI,EAAewJ,QAAU,SAASxB,EAAMyB,GAEpC,GAAIC,GAAiB1B,EACjB2B,EAAiB,oDAGrB,IAAIA,EAAW5N,KAAKiM,GACpB,CACI,GAAI4B,KACJ5B,GAAeA,EAAK9D,MAAM,kCAE1B,KAAK,GAAItI,GAAI,EAAGC,EAAMmM,EAAKrR,OAAYkF,EAAJD,EAASA,IAExCgO,EAASC,KAAK7B,EAAKpM,GAAGkL,QAAQ,wBAAyB,IAG3DkB,GAAO4B,EAAS7S,KAAK,KAGzBiR,EAAOrB,EAAKqB,EAEZ,IAAI8B,GAAiB9B,EAAKhE,cAAc8C,QAAQ,UAAW,KACvDvW,GACAyX,KAAQA,EACRyB,MAAQA,EACRM,KAAQD,GAGRE,EAAY,qBAAqBjO,KAAKiM,GACtClb,EAAY,EAAcmd,OAAOjC,GAAMlB,QAAQ,MAAO,IAAMkB,EAAKhE,cAAc8C,QAAQ,UAAW,IAEtGnH,GAAYkK,KAAKtZ,EAEjB,IAAI2Z,GAAc,KAAOT,EAAQ,SAAWA,EAAQ,IAAMzT,KAAKjJ,QAAQod,aAAerd,EAAI,IAO1F,OALAod,IAAkB,YAAelC,EAAO,wBACxCkC,GAAkB,yDAClBA,GAAiClU,KAAKtF,OAApB,EAA2BsF,KAAKnF,MAAM6Y,GAAyB1T,KAAKnF,MAAMmX,IAC5FkC,GAAkB,MAAQT,EAAQ,KAKtCzJ,EAAeoK,UAAY,SAASpC,GAChC,GAAIqC,GAAkB,gBAAgBtO,KAAKiM,GACvCsC,EAAkB,iBAAiBvO,KAAKiM,GACxCuC,EAAkB,EAAc,WAAcre,EAASmJ,WAAWvE,IAAM,IAAO,GAC/E0Z,EAAkB,YAAYzO,KAAKiM,EAavC,OATIA,IAFCsC,GAAaD,EAEPrC,EAAKlB,QAAQ,uBAAwB,SAASC,EAAIiC,GACrD,MAAO,gBAAmB9c,EAASmJ,WAAWvE,IAAM,KAAQkY,EAAGlC,QAAQ,MAAO,IAAM,YAKjF,EAAckB,EAAKlB,QAAQ,MAAO,IAAMkB,EAG5C,EAAU,2DAAiEA,EAAO,cACxE,KAAOuC,EAAgB,IAAMvU,KAAKtF,OAAOsF,KAAKnF,MAAMmX,IAAS,UAGlFhI,EAAelN,KAAO,SAAUA,EAAMa,GAElC,MAAa,QAATA,GAA2B,aAATA,EAEX,iCAAqCb,EAAO,SAEpC,SAATa,EAEC,0BAA8Bb,EAAO,SAKrCzG,EAAOmb,SAAS7R,UAAU7C,KAAK2X,MAAMzU,KAAM5J,YAI1D4T,EAAe0K,UAAY,SAASC,EAASC,GACzC,GAAIC,GAAQD,EAAY,OAAI,KAAO,KAC/BE,EAAQF,EAAW,MAAK,IAAMC,EAAM,sBAAyBD,EAAMG,MAAQ,KAAQ,IAAMF,EAAO,GAEpG,OAAOC,GAAM9U,KAAKtF,OAAOsF,KAAKnF,MAAM8Z,IAAY,KAAOE,EAAO,OAGlE7K,EAAegL,SAAW,SAAShD,GAC/B,MAAI9R,GAAStF,UAAY,mBAAmBmL,KAAKiM,IAE7CA,EAAOA,EAAKlB,QAAQ,gBAAiB,8DACzBA,QAAQ,eAAiB,+EAE9B,iCAAqC9Q,KAAKtF,OAAOsF,KAAKnF,MAAMmX,IAAS,SAIrE,OAAShS,KAAKtF,OAAOsF,KAAKnF,MAAMmX,IAAS,SAIjDhI,GAcX9T,EAAS0U,oBAAsB,SAASrQ,EAAK0a,EAAWC,GAEpD,GAAI7U,GAAa,GACb8U,EAAa,CACjBD,GAAiBA,GAAc,CAE/B,KAAK,GAAItP,GAAI,EAAGC,EAAMtL,EAAIoG,OAAYkF,EAAJD,EAASA,IAC3C,CACI,GAAIoM,GAAQzX,EAAIqL,GAAGoM,KACfyB,EAAQlZ,EAAIqL,GAAG6N,KAEPyB,GAARzB,IAMApT,GAFAoT,EAAQ0B,EAEA,GAEKA,EAAR1B,EAEG,GAAK2B,OAAMD,EAAY1B,EAAQ,GAAI1S,KAAK,cAIxC,aAGZV,GAAQ,2BAA8BoT,EAAQ,YAAgBzB,EAAO,YAAgByB,EAAQ,KAAQzB,EAAO,WAC5GmD,EAAY1B,GAGhB,GAAI4B,GAAeJ,EAAUvQ,KAAK,gBAIlC,OAFA2Q,GAAa3U,SAAS,sBAAsBL,KAAK,IAAIA,KAAKA,GAEnDgV,GAYXnf,EAASuU,eAAiB,SAASpK,EAAMiV,GAErC,GAAuB,gBAAZA,GAIP,IAAK,GAFDC,GAAaD,EAAQpH,MAAM,KAEtBtI,EAAI,EAAGC,EAAM0P,EAAW5U,OAAYkF,EAAJD,EAASA,IAClD,CACI,GAAIkP,GAAMS,EAAW3P,EAErBvF,GAAOA,EAAKyQ,QAAQ,GAAIqB,QAAO,MAAQ2C,EAAI,aAAiB,OAAQ,IAAIhE,QAAQ,GAAIqB,QAAO,OAAU2C,EAAI,MAAS,OAAQ,IAIlI,MAAOzU,IAYXnK,EAASsf,eAAiB,SAAS1e,EAAIC,GACnC,GAAIY,IACAsS,KAAuB,EACvB1P,KAAuB,EACvBC,cAAuB,EACvBzC,SAAuB,GACvB0C,YAAuB,EACvBgb,eAAuB,EACvB/a,QAAuB,EACvBC,WAAuB,EACvBG,KAAuB,EACvBF,UAAuB,EACvBC,OAAuB,EACvBE,WAAuB,EACvBC,iBAAuB,EACvBC,sBAAuB,EAG3B/E,GAASsJ,QAAWnJ,MAEpB,IAAIqf,GAAgBvf,EAAE,IAAMW,GACxBoJ,EAAgBwV,EAAIxV,SAAW/J,EAAEgK,QAAO,EAAMxI,EAAUZ,OACxD4e,EAAgBD,EAAIhR,KAAK,YACzBkR,EAAuC,KAAtB1V,EAASnI,SAAmB4d,EAAO1U,MAAQf,EAASnI,SACrE4R,KAEAC,GACArP,IAAuB2F,EAAS3F,IAChCC,cAAuB0F,EAAS1F,cAChCI,SAAuBsF,EAAStF,SAChCC,MAAuBqF,EAASrF,MAChCC,IAAuBoF,EAASpF,IAChCJ,OAAuBwF,EAASxF,OAChCC,UAAuBuF,EAASvF,UAChCI,UAAuBmF,EAASnF,UAChCC,gBAAuBkF,EAASlF,gBAChCC,qBAAuBiF,EAASjF,sBAGhC6O,GACAC,SAAc7T,EAAS8T,eAAeL,EAAaC,GACnDK,IAAc/J,EAAS+J,IACvBC,QAAc,EACdC,QAAc,EACdC,UAAc,EACdC,SAAenK,EAAmB,YAAI,GAAQ,EAC9CoK,YAAc,EACdC,aAAc,EAGlBqL,GAAc1f,EAASuU,eAAemL,EAAa1V,EAASzF,WAE5D,IAAIob,GAAmBxf,OAAOuf,EAAa9L,EAkC3C,IAhCI5T,EAASyL,MAETgU,EAAO1U,IAAI2U,GAIXD,EAAOtV,KAAKuV,GAGhBF,EAAInV,SAAS,iBAAmBP,KAAK1I,YAAc,gBAAgBsJ,OAAOiV,GAEtE3V,EAAS3F,MACTmb,EAAIL,aAAerV,KAAK4K,oBAAoBjB,EAAa+L,EAAKxV,EAAS1F,gBAGvE0F,EAASjF,uBAETya,EAAIhR,KAAK,OAAOnE,SAAS,wBACzBqH,eAGC1R,EAASyL,QAENzB,EAASnF,WACT2a,EAAIhR,KAAK,cAAc3J,YAGvBmF,EAASlF,iBACT0a,EAAIhR,KAAK,qBAAqB1J,iBAAiBnD,MAAO,YAI1DqI,EAASpF,IACb,CACI,GAAIgb,GAAc,WACdJ,EAAIhR,KAAK,IAAMxO,EAASmJ,WAAWvE,KAAKgN,KAAK,WACzC,GAAIhN,GAAO3E,EAAE6J,KACbzJ,OAAMwR,OAAOjN,EAAIuF,OAAQvF,EAAI,QAIjCoF,EAASuV,eAAkBvf,EAASqJ,QAAWrJ,EAAS2U,YAUxDiL,IARA9V,KAAK8K,UAAU,WACX5U,EAASqJ,OAAchJ,MACvBL,EAAS2U,aAAc,EACvBiL,MAaZ,MAJAJ,GAAI7J,YAAc,WACd,MAAQ3V,GAAc,MAAIyf,EAAO1U,MAAQ0U,EAAOtV,QAG7CqV,GAGXxf,EAAS6f,QACL,UACA,WAAY,aACZ,WAAY,kBACZ,cAAe,eAAgB,aAC/B,SACA,UAAW,UAAW,cACtB,cACA,MAAO,WAAY,WAAY,UAC/B,OAAQ,MAAO,QACf,eAAgB,gBAAiB,iBACjC,WACA,YACA,aAAc,0BAA2B,WACzC,cACA,UAAW,YAGf7f,EAASoX,eAETpX,EAASiX,WACL6I,MACAxV,OACA4M,WAYJlX,EAASmX,WAAa,SAAS4I,EAAU1R,EAAU2R,GAC/C3R,EAAaA,GAAY,aAEzBvE,KAAK4B,WAAWqU,EAAU,WACtB/f,EAASiX,UAAUC,OAAOyG,KAAKoC,GAC/B1R,KACD2R,IAYPhgB,EAASkL,QAAY,SAAS6U,EAAU1R,EAAU2R,GAC9CA,EAAaA,GAAY,OACzB3R,EAAaA,GAAY,YAEzB,IAAI/D,GAAS2V,SAASC,cAAc,OACpC5V,GAAIqU,KAAS,WACbrU,EAAI6V,IAAS,aACb7V,EAAIjH,OAASiH,EAAI8V,mBAAqB,WAClCpgB,EAASiX,UAAU3M,IAAIqT,KAAKoC,GAC5B1R,KAGJ/D,EAAIyS,KAASgD,EAAW,OAEZ,SAATC,EACCC,SAASI,qBAAqB,QAAQ,GAAGC,YAAYhW,GAErD2V,SAASM,KAAKD,YAAYhW,IAIlCtK,EAASwgB,KAAgC,+BAArBC,UAAUC,QAC9B1gB,EAASyL,MAAWzL,EAASwgB,MAA6C,MAArCC,UAAUE,WAAW3E,MAAM,OAWhEhc,EAAS0L,WAAa,SAASqU,EAAU1R,EAAU2R,GAE/CA,EAAgBA,GAAY,OAC5B3R,EAAgBA,GAAY,YAE5B,IAAIuS,GAAY,IAChBA,GAAgBX,SAASC,cAAc,UACvCU,EAAOhgB,GAASmf,EAASnF,QAAQ,UAAW,KAC5CgG,EAAOjC,KAAS,kBAChBiC,EAAOC,IAASd,EAAW,MAEvB/f,EAASyL,MAETmV,EAAOR,mBAAqB,WACrBQ,EAAOE,aAEoB,WAAtBF,EAAOE,YAAiD,aAAtBF,EAAOE,cAEzCF,EAAOR,mBAAqB,KAC5BpgB,EAASiX,UAAU6I,GAAGnC,KAAKoC,GAC3B1R,MAOZuS,EAAOvd,OAAS,WACZrD,EAASiX,UAAU6I,GAAGnC,KAAKoC,GAC3B1R,KAIK,SAAT2R,EACAC,SAASI,qBAAqB,QAAQ,GAAGC,YAAYM,GAErDX,SAASM,KAAKD,YAAYM,IAMlC5gB,EAAS+gB,UACLzW,IAAM,8DACNwV,GAAM,+DAGV9f,EAAS2U,aAAc,EASvB3U,EAAS4U,UAAY,SAAUvG,GAC3BrO,EAASkL,QAAQlL,EAAS+gB,SAASzW,IAAK,WACpCtK,EAAS0L,WAAW1L,EAAS+gB,SAASjB,GAAIzR,GAAY,iBAY9DrO,EAASmR,WAAa,SAASG,GAC3BrR,EAAE,aAAaqK,IAAI,WAAY,EAAS,SAAW,KAWvDtK,EAAS2Q,aAAe,SAAS9P,GAC7B,GAAIY,IACAiG,KAAO,GACP5F,MAAQ,IACRC,OAAQ,IACRf,MAAQ,GACRggB,MAAQ,EACRC,QAAS,EACTxC,QAAU,GACV3T,MAAO,EACPoW,WACI7P,gBAAkB,OAClBD,QAAU,IAEdD,YAAa,EACbgQ,QAAS,EACTvZ,SAAU,EAGd/G,GAAmBZ,EAAEgK,QAAO,EAAMxI,EAAUZ,EAE5C,IAAIkJ,GAAeD,KAAKC,OACpB3I,EAAepB,EAASoB,YACxBggB,GAAe,GAAKlJ,OAAMmJ,UAC1BC,EAAmC,KAAjBzgB,EAAQ6G,KAAetG,EAAc,UAAYggB,EAAOvgB,EAAQ6G,KAClF0I,EAAepQ,EAASoQ,aAExBjG,EAAe,eAAkB/I,EAAc,UAAYkgB,EAAa,IAEtD,MAAlBzgB,EAAQG,QAERmJ,GAAQ,eAAkB/I,EAAc,kBAAuBP,EAAY,KAAI,yBAA6B,IAAO,IACnHsJ,GAAQ,kBAAqB/I,EAAc,iBAAoBP,EAAQG,MAAQ,YAC/EmJ,GAAQ,UAGRtJ,EAAQogB,SAER9W,GAAQ,6CAAkD/I,EAAc,sBAG5E+I,GAAQ,eAAkB/I,EAAc,qBAAwBP,EAAQ4d,SAEpE5d,EAAQsgB,QAAoC,gBAAnBtgB,GAAQsgB,UAEjChX,GAAQ,eAAkB/I,EAAc,mBAAkD,iBAAnBP,GAAQsgB,OAAwB,GAAKtgB,EAAQsgB,QAAU,UAGlIhX,GAAQ,SAERA,GAAQ,eAAkB/I,EAAc,eAAiBA,EAAc,yBACvE+I,GAAQ,eAAkB/I,EAAc,eAAiBA,EAAc,0BACvE+I,GAAQ,SAERJ,EAAOW,OAAOP,EAEd,IAAInC,GAAS+B,EAAOyE,KAAK,IAAM8S,EAE/BtZ,GAAOmJ,WAAa,SAASG,GAMzB,MALIzQ,GAAQsQ,YAERlR,EAAE,aAAaqK,IAAI,WAAY,EAAS,SAAW,IAGhDtC,GAGXA,EAAOuZ,SAAW,WAKd,MAJI1gB,GAAQiK,MAERf,EAAOyE,KAAK,IAAMpN,EAAc,QAAQkJ,IAAIzJ,EAAQqgB,WAAW5W,IAAI,UAAWtK,EAASoJ,aAAe,GAAGqF,OAEtGzG,GAGXA,EAAOwZ,SAAW,WAMd,MALI3gB,GAAQiK,MAERf,EAAOyE,KAAK,IAAMpN,EAAc,QAAQwN,OAGrC5G,GAGXA,EAAOyZ,QAAU,SAAShT,GACtB,GAAIgT,GAAUzZ,EAAOwG,KAAK,IAAMpN,EAAc,cAG9C,OAFAqgB,GAAQ,EAAS,OAAS,UAEnBzZ,GAGXA,EAAOmJ,YAAW,GAAMoQ,WAExBvZ,EAAOyG,OAAOnE,KACVoX,OAAS1hB,EAASoJ,aAClB2N,OAAU/W,EAAc,MAAI,iBAAmB,GAC/C8B,MAAoC,gBAAnBjB,GAAQiB,MAAuBjB,EAAQiB,MAAQ,KAAQjB,EAAQiB,MAChFC,OAAoC,gBAAnBlB,GAAQkB,OAAuBlB,EAAQkB,OAAS,KAAOlB,EAAQkB,QAGpF,IAAI4f,GAAiB,WACjB3Z,EAAOsC,KACH0E,KAAU/O,EAAEF,QAAQgC,SAAWiG,EAAOjG,UAAY,EAAI,KACtDqN,MAAUnP,EAAEF,QAAQ+B,QAAUkG,EAAOlG,SAAW,EAAI,OAY5D,IARA6f,IAEA1hB,EAAEF,QAAQ2O,OAAOiT,GAEjB3Z,EAAOwC,SAAS,IAAMpJ,EAAc,gBAAgBiO,KAAKe,EAAa,QAAS,YAAa,WACxFpI,EAAO4G,OAAOuC,YAAW,GAAOqQ,aAGN,gBAAnB3gB,GAAQ+G,QACnB,CACI,GAAIuZ,GAASnZ,EAAOmZ,OAASnZ,EAAOwG,KAAK,IAAMpN,EAAc,gBAE7D,KAAK,GAAImM,KAAO1M,GAAQ+G,QACxB,CACI,GAAIga,GAAM/gB,EAAQ+G,QAAQ2F,GACtBsU,EAAezgB,EAAcmM,EAAM,MAEvC4T,GAAOzW,OAAO,kBAAqBtJ,EAAc,OAASygB,EAAe,KAAQD,EAAI,GAAK,aAC1FA,EAAI,GAAK3hB,EAAE8N,MAAM6T,EAAI,GAAI5Z,GACzBmZ,EAAO3W,SAAS,IAAMqX,GAAcxS,KAAKe,EAAa,QAAS,YAAawR,EAAI,KAIxF,GAAsB,KAAlB/gB,EAAQG,OAAgBH,EAAQmgB,KACpC,CACI,GAAIc,GAAMC,EACNC,EAAeha,EAAOwC,SAAS,IAAMpJ,EAAc,gBAElDP,GAAQiK,MACTkX,EAAa3S,KAAKe,EAAa,QAAS,YAAa,WACjDpQ,EAASoJ,cAAgB,EACzBpB,EAAOsC,IAAI,UAAWtK,EAASoJ,gBAIvC4Y,EAAaC,UAAU,SAAS9E,GAC5BA,EAAIA,GAAKpd,OAAOqS,MAChB0P,EAAO3E,EAAE+E,QAAU7K,SAASrP,EAAO,GAAGma,MAAM/S,MAC5C2S,EAAO5E,EAAEiF,QAAU/K,SAASrP,EAAO,GAAGma,MAAMnT,KAE5CiR,SAASoC,YAAcC,GAG3B,IAAIC,GAAgB,SAAUC,GAC1BA,EAAIrM,YAAY/U,EAAc,iBAAiBkN,IAAI,gBAGnDmU,EAAe,SAAUD,GACzBA,EAAInY,SAASjJ,EAAc,iBAAiB+M,GAAG,cAAe,WAC1D,OAAO,KAIXmU,EAAa,SAAUnF,GACvBA,EAAIA,GAAKpd,OAAOqS,KAEhB,IAAIhD,GAAMJ,EAAK0T,EAAUrL,SAASrP,EAAO,GAAGma,MAAM/S,MAAOuT,EAAStL,SAASrP,EAAO,GAAGma,MAAMnT,IAEvF0T,IAAW,EACPA,EAAU1a,EAAOlG,SAAW7B,EAAEF,QAAQ+B,QACtCsN,EAAO+N,EAAE+E,QAAUJ,GAEnB1S,EAAOnP,EAAEF,QAAQ+B,QAAUkG,EAAOlG,QAClCme,SAASoC,YAAc,OAG3BjT,EAAO,EACP6Q,SAASoC,YAAc,MAGvBM,GAAU,EACV3T,EAAMmO,EAAEiF,QAAUL,GAElB/S,EAAM,EACNiR,SAASoC,YAAc,MAI3BpC,SAAS2C,cAAgB,WACrB,OAAO,GAGXH,EAAaxiB,EAAE,SACfwiB,EAAaza,GACbA,EAAO,GAAGma,MAAM/S,KAAOA,EAAO,KAC9BpH,EAAO,GAAGma,MAAMnT,IAAOA,EAAM,KAGjCiR,UAAS4C,UAAY,WACjBN,EAActiB,EAAE,SAChBsiB,EAAcva,GAEdiY,SAAS2C,cAAgB,KACzB3C,SAASoC,YAAc,MAG3BL,EAAac,eAAiB,WAC1B,GAAI5T,GAAS,KACT6T,EAAS,SAAS5F,GAClB,GAAI6F,GAAO7F,EAAE8F,cACTC,EAAOjjB,EAAE6J,MAAMoM,SAAS/G,UAE5BD,IACIsN,EAAIwG,EAAKG,eAAe,GAAGC,MAAQF,EAAI9T,KACvCiU,EAAIL,EAAKG,eAAe,GAAGG,MAAQJ,EAAIlU,MAI3CuU,EAAO,SAASpG,GAChBA,EAAEqG,gBACF,IAAIR,GAAO7F,EAAE8F,aAEbhjB,GAAE6J,MAAMoM,SAAS5L,KACb0E,IAAOgU,EAAKG,eAAe,GAAGG,MAAQpU,EAAOmU,EAC7CjU,KAAO4T,EAAKG,eAAe,GAAGC,MAAQlU,EAAOsN,IAIrD1S,MAAKuF,KAAK,aAAc0T,GAAO1T,KAAK,YAAakU,IAGrDvB,EAAac,iBAKjB,MAFA9iB,GAASoJ,cAAgB,EAElBpB,GAYXhI,EAASoQ,aAAe,SAASqT,EAAgBC,GAC7CD,EAAiBA,GAAkB,QACnCC,EAAiBA,GAAkB,UAEnC,IAAItV,GAAaqV,CAEjB,KAEIxD,SAAS0D,YAAY,cACrBvV,EAAYsV,EAEhB,MAAMvG,IAGN,MAAO/O,IAWXpO,EAASoY,WAAa,SAASwL,GAC3BA,EAAcA,GAAU,EAExB,IAAIC,GAAU,SAASC,GACnB,MAAY,IAAJA,EAAU,IAAMA,EAAIA,GAG5BC,EAAU,GAAI7L,MACd8L,EAAUD,EAAKE,cACfC,EAAUF,EAAKG,WAAWC,MAAM,EAAG,GACnCC,EAAUR,EAAQE,EAAKO,WAAa,GACpCC,EAAUV,EAAQE,EAAKS,WACvBC,EAAUV,EAAKW,SACfC,EAAUd,EAAQE,EAAKa,YACvBC,EAAUhB,EAAQE,EAAKe,cACvBC,EAAUlB,EAAQE,EAAKiB,cACvBC,EAAUpB,EAAQE,EAAKmB,mBACvB/M,EAAU,GAEVgN,EAAUjB,EAAQ,IAAMG,EAAQ,IAAME,EACtCa,EAAUpB,EAAQ,IAAMK,EAAQ,IAAME,EACtCc,EAAUV,EAAQ,IAAME,EAAQ,IAAME,CAE1C,QAAQnB,GAEJ,IAAK,YACGzL,EAAU4L,EAAK1C,SACnB,MAEJ,KAAK,MACGlJ,EAAU4L,EAAKuB,aACnB,MAEJ,KAAK,KACGnN,EAAU+L,CACd,MAEJ,KAAK,OACL,IAAK,OACG/L,EAAU6L,CACd,MAEJ,KAAK,QACL,IAAK,KACG7L,EAAUkM,CACd,MAEJ,KAAK,cACL,IAAK,QACG,GAAIkB,IAAc,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAChDpN,GAAU,KAAOoN,EAAWd,EAChC,MAEJ,KAAK,WACL,IAAK,KACG,GAAIe,IAAY,SAAU,SAAU,UAAW,YAAa,WAAY,SAAU,WAClFrN,GAAUqN,EAASf,EACvB,MAEJ,KAAK,MACL,IAAK,KACGtM,EAAUoM,CACd,MAEJ,KAAK,OACL,IAAK,KACGpM,EAAUwM,CACd,MAEJ,KAAK,MACL,IAAK,KACGxM,EAAU0M,CACd,MAEJ,KAAK,SACL,IAAK,KACG1M,EAAU4M,CACd,MAEJ,KAAK,KACG5M,EAAU8M,CACd,MAEJ,KAAK,WACG9M,EAAUgN,CACd,MAEJ,KAAK,aACGhN,EAAUiN,CACd,MAEJ,KAAK,sBACL,IAAK,YACGjN,EAAUiN,EAAO,IAAMC,EAAM,IAAMJ,CACvC,MAEJ,KAAK,OACL,IAAK,mBACD,QACI9M,EAAUiN,EAAO,IAAMC,EAInC,MAAOlN,IAGJnY","sourceRoot":"./"} \ No newline at end of file diff --git a/editormd.js b/editormd.js index f8e0f14..243d29c 100644 --- a/editormd.js +++ b/editormd.js @@ -2,12 +2,12 @@ * Editor.md * * @file editormd.js - * @version v1.2.0 + * @version v1.3.0 * @description A simple online markdown editor. * @license MIT License * @author Pandao * {@link https://github.com/pandao/editor.md} - * @updateTime 2015-03-10 + * @updateTime 2015-03-12 */ ;(function(factory) { @@ -66,7 +66,7 @@ editormd.toolbarModes = { full : [ "undo", "redo", "|", - "bold", "del", "italic", "quote", "|", + "bold", "del", "italic", "quote", "ucwords", "uppercase", "lowercase", "|", "h1", "h2", "h3", "h4", "h5", "h6", "|", "list-ul", "list-ol", "hr", "|", "link", "anchor", "image", "code", "preformatted-text", "code-block", "table", "datetime", "emoji", "htmlEntities", "|", @@ -75,7 +75,7 @@ ], simple : [ "undo", "redo", "|", - "bold", "del", "italic", "quote", "|", + "bold", "del", "italic", "quote", "uppercase", "lowercase", "|", "h1", "h2", "h3", "h4", "h5", "h6", "|", "list-ul", "list-ol", "hr", "|", "watch", "preview", "fullscreen", "|", @@ -95,11 +95,13 @@ markdown : "", width : "100%", height : "100%", - path : "./lib/", // Dependents module file directory - autoLoadModules : true, // Automatic load dependent module files + path : "../lib/", // Dependents module file directory + pluginPath : "", // If this empty, default use settings.path + "../plugins/" + autoLoadModules : true, // Automatic load dependent module files watch : true, placeholder : "now coding markdown...", codeFold : false, + autoHeight : false, autoCloseTags : true, searchReplace : false, readOnly : false, @@ -113,6 +115,7 @@ dialogMaskOpacity : 0.1, fontSize : "13px", saveHTMLToTextarea : false, + disabledKeyMaps : [], onload : function() {}, onresize : function() {}, @@ -135,6 +138,8 @@ toc : true, // Table of contents tocStartLevel : 1, // Said from H1 to create ToC htmlDecode : false, // Open the HTML tag identification + atLink : true, // for @link + emailLink : true, // for email address auto link taskList : false, // Enable Github Flavored Markdown task lists emoji : false, // :emoji: , Support Github emoji, Twitter Emoji (Twemoji); // Support FontAwesome icon emoji :fa-xxx: > Using fontAwesome icon web fonts; @@ -143,16 +148,25 @@ flowChart : false, // flowChart.js only support IE9+ sequenceDiagram : false, // sequenceDiagram.js only support IE9+ previewCodeHighlight : true, - - inRequirejs : false, // if using Require.js, you must set true value. - + toolbar : true, // show/hide toolbar + toolbarAutoFixed : true, // on window scroll auto fixed position toolbarIcons : function() { return editormd.toolbarModes.full; // return array }, toolbarTitles : {}, - toolbarHandlers : {}, - toolbarCustomIcons : {}, // using html tag create toolbar icon, unused default tag. + toolbarHandlers : { + ucwords : function() { + return editormd.toolbarHandlers.ucwords; + }, + lowercase : function() { + return editormd.toolbarHandlers.lowercase; + } + }, + toolbarCustomIcons : { // using html tag create toolbar icon, unused default tag. + lowercase : "a", + "ucwords" : "Aa" + }, toolbarIconsClass : { undo : "fa-undo", redo : "fa-repeat", @@ -160,6 +174,7 @@ del : "fa-strikethrough", italic : "fa-italic", quote : "fa-quote-left", + uppercase : "fa-font", h1 : editormd.classPrefix + "bold", h2 : editormd.classPrefix + "bold", h3 : editormd.classPrefix + "bold", @@ -199,6 +214,9 @@ del : "删除线", italic : "斜体", quote : "引用", + ucwords : "将每个单词首字母转成大写", + uppercase : "将所选转换成大写", + lowercase : "将所选转换成小写", h1 : "标题1", h2 : "标题2", h3 : "标题3", @@ -326,6 +344,8 @@ } }; + settings.pluginPath = (settings.pluginPath === "") ? this.settings.path + "../plugins/" : settings.pluginPath; + this.state.watching = (settings.watch) ? true : false; if (!editor.hasClass("editormd")) { @@ -336,6 +356,11 @@ width : (typeof settings.width === "number") ? settings.width + "px" : settings.width, height : (typeof settings.height === "number") ? settings.height + "px" : settings.height }); + + if (settings.autoHeight) + { + editor.css("height", "auto"); + } var markdownTextarea = this.markdownTextarea = editor.children("textarea"); @@ -382,7 +407,7 @@ } } - if (typeof define === "function" || !settings.autoLoadModules) + if ((typeof define === "function" && define.amd) || !settings.autoLoadModules) { if (typeof CodeMirror !== "undefined") editormd.$CodeMirror = CodeMirror; if (typeof marked !== "undefined") editormd.$marked = marked; @@ -473,8 +498,7 @@ editormd.loadCSS(loadPath + "codemirror/addon/fold/foldgutter"); } - editormd.loadScript(loadPath + "codemirror/codemirror.min", function() { - + editormd.loadScript(loadPath + "codemirror/codemirror.min", function() { editormd.$CodeMirror = CodeMirror; editormd.loadScript(loadPath + "codemirror/modes.min", function() { @@ -589,6 +613,12 @@ fontSize : settings.fontSize, width : (!settings.watch) ? "100%" : "50%" }); + + if (settings.autoHeight) + { + this.codeMirror.css("height", "auto"); + this.cm.setOption("viewportMargin", Infinity); + } return this; }, @@ -792,6 +822,64 @@ return this; }, + /** + * 页面滚动时工具栏的固定定位 + * Set toolbar in window scroll auto fixed position + * + * @returns {editormd} 返回editormd的实例对象 + */ + + setToolbarAutoFixed : function(fixed) { + + var state = this.state; + var editor = this.editor; + var toolbar = this.toolbar; + var settings = this.settings; + + if (typeof fixed !== "undefined") + { + settings.toolbarAutoFixed = fixed; + } + + var autoFixedHandle = function(){ + var top = $(window).scrollTop(); + + if (!settings.toolbarAutoFixed) + { + return false; + } + + if (top - editor.offset().top > 10) + { + toolbar.css({ + position : "fixed", + width : editor.width() + "px", + left : ($(window).width() - editor.width()) / 2 + "px" + }); + } + else + { + toolbar.css({ + position : "absolute", + width : "100%", + left : 0 + }); + } + }; + + if (!state.fullscreen && !state.preview && settings.toolbar && settings.toolbarAutoFixed) + { + $(window).bind("scroll", autoFixedHandle); + } + + if (!settings.toolbarAutoFixed) + { + $(window).unbind("scroll", autoFixedHandle); + } + + return this; + }, + /** * 配置和初始化工具栏 * Set toolbar and Initialization @@ -822,10 +910,8 @@ return ; } - //else - //{ + toolbar.show(); - //} var icons = (typeof settings.toolbarIcons === "function") ? settings.toolbarIcons() : ((typeof settings.toolbarIcons === "string") ? editormd.toolbarModes[settings.toolbarIcons] : settings.toolbarIcons); @@ -876,7 +962,11 @@ toolbarMenu.html(menu); + toolbarMenu.find("[title=\"Lowercase\"]").attr("title", settings.lang.toolbar.lowercase); + toolbarMenu.find("[title=\"ucwords\"]").attr("title", settings.lang.toolbar.ucwords); + this.setToolbarHandler(); + this.setToolbarAutoFixed(); return this; }, @@ -930,7 +1020,7 @@ var codeMirror = this.codeMirror; var classPrefix = this.classPrefix; var previewContainer = this.previewContainer; - var toolbarIcons = this.toolbarIcons = toolbar.find("." + classPrefix + "menu a"); + var toolbarIcons = this.toolbarIcons = toolbar.find("." + classPrefix + "menu > li > a"); var toolbarIconHandlers = this.getToolbarHandles(); toolbarIcons.bind(editormd.mouseOrTouch("click", "touchend"), function(event) { @@ -1152,6 +1242,7 @@ this.saveToTextareas(); this.resize(); + this.registerKeyMaps(); return this; }, @@ -1224,6 +1315,86 @@ return this; }, + /** + * 注册键盘快捷键处理 + * Register CodeMirror keyMaps (keyboard shortcuts). + * + * @param {Object} keyMap KeyMap key/value {"(Ctrl/Shift/Alt)-Key" : function(){}} + * @returns {editormd} return this + */ + + registerKeyMaps : function(keyMap) { + keyMap = keyMap || null; + + var _this = this; + var cm = this.cm; + var settings = this.settings; + + if (keyMap) + { + for (var i in keyMap) + { + if ($.inArray(i, settings.disabledKeyMaps) < 0) + { + var map = {}; + map[i] = keyMap[i]; + + cm.addKeyMap(keyMap); + } + } + } + else + { + for (var i in editormd.keyMaps) + { + var keyMap = editormd.keyMaps[i]; + var handle = (typeof keyMap === "string") ? $.proxy(editormd.toolbarHandlers[keyMap], _this) : $.proxy(keyMap, _this); + + if ($.inArray(i, ["F9", "F10", "F11"]) < 0 && $.inArray(i, settings.disabledKeyMaps) < 0) + { + var map = {}; + map[i] = handle; + + cm.addKeyMap(map); + } + } + + $(window).keydown(function(event) { + + var keymaps = { + "120" : "F9", + "121" : "F10", + "122" : "F11" + }; + + if ( $.inArray(keymaps[event.keyCode], settings.disabledKeyMaps) < 0 ) + { + switch (event.keyCode) + { + case 120: + $.proxy(editormd.toolbarHandlers["watch"], _this)(); + return false; + break; + + case 121: + $.proxy(editormd.toolbarHandlers["preview"], _this)(); + return false; + break; + + case 122: + $.proxy(editormd.toolbarHandlers["fullscreen"], _this)(); + break; + + default: + break; + } + } + }); + } + + return this; + }, + /** * 加载队列完成之后的显示处理 * Display handle of the module queues loaded after. @@ -1253,6 +1424,7 @@ editor.data("oldWidth", editor.width()).data("oldHeight", editor.height()); // 为了兼容Zepto this.resize(); + this.registerKeyMaps(); $(window).resize(function(){ _this.resize(); @@ -1327,7 +1499,8 @@ touchend : previewUnbindScroll }); - codeEditor.on("change", function(cm, changeObj) { + codeEditor.on("change", function(cm, changeObj) { + _this.previewContainer.css("padding-left", settings.autoHeight && $("body").height() > $(window).height() ? "30px" : "20px"); _this.saveToTextareas(); }); @@ -1383,26 +1556,46 @@ width = width || null; height = height || null; - - var editor = this.editor; - var preview = this.preview; - var toolbar = this.toolbar; - var settings = this.settings; - var codeEditor = this.codeEditor; - var codeMirror = this.codeMirror; - if(width && height) + var state = this.state; + var editor = this.editor; + var preview = this.preview; + var toolbar = this.toolbar; + var settings = this.settings; + var codeEditor = this.codeEditor; + var codeMirror = this.codeMirror; + + if(width) { editor.css({ - width : (typeof width === "number") ? width + "px" : width, - height : (typeof height === "number") ? height + "px" : height + width : (typeof width === "number") ? width + "px" : width }); } - - if (settings.toolbar && !settings.readOnly) { - codeMirror.css("margin-top", toolbar.height() + 1).height(editor.height() - toolbar.height()); - } else { - codeMirror.css("margin-top", 0).height(editor.height()); + + if (settings.autoHeight && !state.fullscreen && !state.preview) + { + editor.css("height", "auto"); + codeMirror.css("height", "auto"); + } + else + { + if(height) + { + editor.css({ + height : (typeof height === "number") ? height + "px" : height + }); + } + + if (state.fullscreen) + { + editor.height($(window).height()); + } + + if (settings.toolbar && !settings.readOnly) { + codeMirror.css("margin-top", toolbar.height() + 1).height(editor.height() - toolbar.height()); + } else { + codeMirror.css("margin-top", 0).height(editor.height()); + } } codeMirror.find(".CodeMirror-gutters").height(codeMirror.height()); @@ -1410,12 +1603,31 @@ if(settings.watch) { codeMirror.width(editor.width() / 2); - preview.width((!this.state.preview) ? editor.width() / 2 : editor.width()); + preview.width((!state.preview) ? editor.width() / 2 : editor.width()); - if (settings.toolbar && !settings.readOnly) { - preview.css("top", toolbar.height()).height(editor.height() - toolbar.height()); - } else { - preview.css("top", 0).height(editor.height()); + if (settings.toolbar && !settings.readOnly) + { + preview.css("top", toolbar.height()); + } + else + { + preview.css("top", 0); + } + + if (settings.autoHeight && !state.fullscreen && !state.preview) + { + preview.height("auto"); + } + else + { + if (settings.toolbar && !settings.readOnly) + { + preview.height(editor.height() - toolbar.height()); + } + else + { + preview.height(editor.height()); + } } } else @@ -1424,7 +1636,7 @@ preview.hide(); } - if (this.state.loaded) + if (state.loaded) { $.proxy(settings.onresize, this)(); } @@ -1463,6 +1675,8 @@ taskList : settings.taskList, emoji : settings.emoji, tex : settings.tex, + atLink : settings.atLink, // for @link + emailLink : settings.emailLink, // for mail address auto link flowChart : settings.flowChart, sequenceDiagram : settings.sequenceDiagram, previewCodeHighlight : settings.previewCodeHighlight, @@ -1506,13 +1720,17 @@ if (settings.tex) { - if (!settings.inRequirejs && !editormd.kaTeXLoaded) { - editormd.loadKaTeX(function(){ + if (!editormd.kaTeXLoaded && settings.autoLoadModules) + { + editormd.loadKaTeX(function() { editormd.$katex = katex; editormd.kaTeXLoaded = true; _this.katexRender(); }); - } else { + } + else + { + editormd.$katex = katex; this.katexRender(); } } @@ -1599,6 +1817,31 @@ return this.codeEditor.getSelection(); }, + /** + * 设置光标选中的文本范围 + * Set the cursor selection ranges + * + * @param {Array} ranges cursor selection ranges array + * @returns {Array} return this + */ + + setSelections : function(ranges) { + this.cm.setSelections(ranges); + + return this; + }, + + /** + * 获取光标选中的文本范围 + * Get the cursor selection ranges + * + * @returns {Array} return selection ranges array + */ + + getSelections : function() { + return this.cm.getSelections(); + }, + /** * 替换当前光标选中的文本或在当前光标处插入新字符 * Replace the text at the current cursor selected or insert a new character at the current cursor position @@ -1822,7 +2065,7 @@ callback = callback || function() {}; var _this = this; - this.editor.show(function(){ + this.editor.show(0, function() { $.proxy(callback, _this)(); }); @@ -1841,7 +2084,7 @@ callback = callback || function() {}; var _this = this; - this.editor.hide(function(){ + this.editor.hide(0, function() { $.proxy(callback, _this)(); }); @@ -1870,6 +2113,12 @@ } codeMirror.toggle(); + + var escHandle = function(event) { + if (event.shiftKey && event.keyCode === 27) { + _this.previewed(); + } + }; if(codeMirror.css("display") === "none") // 为了兼容Zepto,而不使用codeMirror.is(":hidden") { @@ -1892,24 +2141,21 @@ position : "static", top : 0, width : editor.width(), - height : editor.height() + height : (settings.autoHeight && !this.state.fullscreen) ? "auto" : editor.height() }); if (this.state.loaded) { $.proxy(settings.onpreviewing, this)(); } + + $(window).bind("keyup", escHandle); } else { + $(window).unbind("keyup", escHandle); this.previewed(); } - - $(window).keyup(function(event) { - if (event.keyCode === 27) { - _this.previewed(); - } - }); }, /** @@ -1942,14 +2188,14 @@ preview.hide(); } - previewCloseBtn.hide().bind(editormd.mouseOrTouch("click", "touchend")); + previewCloseBtn.hide().unbind(editormd.mouseOrTouch("click", "touchend")); preview.css({ background : null, position : "absolute", width : editor.width() / 2, - height : editor.height() - toolbar.height(), - top : (settings.toolbar) ? toolbar.height() : 0 + height : (settings.autoHeight && !this.state.fullscreen) ? "auto" : editor.height() - toolbar.height(), + top : (settings.toolbar) ? toolbar.height() : 0 }); if (this.state.loaded) @@ -1978,9 +2224,19 @@ if (toolbar) { toolbar.find(".fa[name=fullscreen]").parent().toggleClass("active"); } + + var escHandle = function(event) { + if (!event.shiftKey && event.keyCode === 27) + { + if (_this.state.fullscreen) + { + _this.fullscreenExit(); + } + } + }; if (!editor.hasClass(fullscreenClass)) - { + { this.state.fullscreen = true; $("html,body").css("overflow", "hidden"); @@ -1993,27 +2249,20 @@ border : "none", width : $(window).width(), height : $(window).height() - }).addClass(fullscreenClass); + }).addClass(fullscreenClass); this.resize(); - $.proxy(this.settings.onfullscreen, this)(); + $.proxy(this.settings.onfullscreen, this)(); + + $(window).bind("keyup", escHandle); } else - { - this.fullscreenExit(); + { + $(window).unbind("keyup", escHandle); + this.fullscreenExit(); } - $(window).keyup(function(event) { - if (_this.state.preview) { - return ; - } - - if (event.keyCode === 27) { - _this.fullscreenExit(); - } - }); - return this; }, @@ -2028,8 +2277,8 @@ var editor = this.editor; var toolbar = this.toolbar; - var fullscreenClass = this.classPrefix + "fullscreen"; - this.state.fullscreen = false; + var fullscreenClass = this.classPrefix + "fullscreen"; + this.state.fullscreen = true; if (toolbar) { toolbar.find(".fa[name=fullscreen]").parent().removeClass("active"); @@ -2041,14 +2290,13 @@ position : "", top : "", left : "", - margin : "0 auto", + margin : "0 auto 15px", width : editor.data("oldWidth"), height : editor.data("oldHeight"), border : "1px solid #ddd" }).removeClass(fullscreenClass); this.resize(); - $.proxy(this.settings.onfullscreenExit, this)(); @@ -2057,8 +2305,9 @@ executePlugin : function(name, path) { - var _this = this; - var cm = this.cm; + var _this = this; + var cm = this.cm; + var settings = this.settings; if (typeof define == "function") { @@ -2067,7 +2316,7 @@ return ; } - path = this.settings.path + "../plugins/" + path; + path = settings.pluginPath + path; if ($.inArray(path, editormd.loadFiles.plugin) < 0) { @@ -2126,7 +2375,7 @@ if(selection === "") { cm.setCursor(cursor.line, cursor.ch + 2); - } + } }, del : function() { @@ -2161,6 +2410,43 @@ cm.replaceSelection("> " + selection); cm.setCursor(cursor.line, (selection === "") ? cursor.ch + 2 : cursor.ch + selection.length + 2); }, + + ucfirst : function() { + var cm = this.cm; + var selection = cm.getSelection(); + var selections = cm.listSelections(); + + cm.replaceSelection(editormd.firstUpperCase(selection)); + cm.setSelections(selections); + }, + + ucwords : function() { + var cm = this.cm; + var selection = cm.getSelection(); + var selections = cm.listSelections(); + + cm.replaceSelection(editormd.wordsFirstUpperCase(selection)); + cm.setSelections(selections); + }, + + uppercase : function() { + var cm = this.cm; + var selection = cm.getSelection(); + var selections = cm.listSelections(); + + cm.replaceSelection(selection.toUpperCase()); + cm.setSelections(selections); + }, + + lowercase : function() { + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + var selections = cm.listSelections(); + + cm.replaceSelection(selection.toLowerCase()); + cm.setSelections(selections); + }, h1 : function() { var cm = this.cm; @@ -2335,6 +2621,106 @@ } }; + editormd.keyMaps = { + "Ctrl-B" : "bold", // if this is string == editormd.toolbarHandlers.xxxx + "Ctrl-I" : "italic", + "Ctrl-K" : "code", + "Shift-Ctrl-C" : "code", + "Shift-Ctrl-Q" : "quote", + "Shift-Ctrl-S" : "del", + "Ctrl-H" : "hr", + "Ctrl-1" : "h1", + "Ctrl-2" : "h2", + "Ctrl-3" : "h3", + "Ctrl-4" : "h4", + "Ctrl-5" : "h5", + "Ctrl-6" : "h6", + "Ctrl-D" : "datetime", + + "Ctrl-E" : function() { // emoji + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + + cm.replaceSelection(":" + selection + ":"); + + if (selection === "") { + cm.setCursor(cursor.line, cursor.ch + 1); + } + }, + + "Ctrl-L" : function() { + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + + var title = (selection === "") ? "" : " \""+selection+"\""; + + cm.replaceSelection("[" + selection + "]("+title+")"); + + if (selection === "") { + cm.setCursor(cursor.line, cursor.ch + 1); + } + }, + "Ctrl-U" : "list-ul", + + "Shift-Ctrl-A" : function() { + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + + cm.replaceSelection("@" + selection); + + if (selection === "") { + cm.setCursor(cursor.line, cursor.ch + 1); + } + }, + + "Shift-Alt-C" : function() { + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + + cm.replaceSelection(["```", selection, "```"].join("\n")); + + if (selection === "") { + cm.setCursor(cursor.line, cursor.ch + 3); + } + }, + + "Shift-Ctrl-Alt-C" : "code-block", + "Shift-Ctrl-H" : "htmlEntities", + "Shift-Alt-H" : "help", + "Shift-Ctrl-E" : "emoji", + "Shift-Ctrl-U" : "uppercase", + "Shift-Alt-U" : "ucwords", + "Shift-Ctrl-Alt-U" : "ucfirst", + "Shift-Alt-L" : "lowercase", + + "Shift-Ctrl-I" : function() { + var cm = this.cm; + var cursor = cm.getCursor(); + var selection = cm.getSelection(); + + var title = (selection === "") ? "" : " \""+selection+"\""; + + cm.replaceSelection("![" + selection + "]("+title+")"); + + if (selection === "") { + cm.setCursor(cursor.line, cursor.ch + 4); + } + }, + + "Shift-Ctrl-Alt-I" : "image", + "Shift-Ctrl-L" : "link", + "Shift-Ctrl-O" : "list-ol", + "Shift-Ctrl-P" : "preformatted-text", + "Shift-Ctrl-T" : "table", + "F9" : "watch", + "F10" : "preview", + "F11" : "fullscreen", + }; + /** * 清除字符串两边的空格 * Clear the space of strings both sides. @@ -2343,21 +2729,57 @@ * @returns {String} trimed string */ - editormd.trim = function(str) { + var trim = function(str) { return (!String.prototype.trim) ? str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '') : str.trim(); }; - var trim = editormd.trim; + editormd.trim = trim; + + /** + * 所有单词首字母大写 + * Words first to uppercase + * + * @param {String} str string + * @returns {String} string + */ + + var ucwords = function (str) { + return str.toLowerCase().replace(/\b(\w)|\s(\w)/g, function($1) { + return $1.toUpperCase(); + }); + }; + + editormd.ucwords = editormd.wordsFirstUpperCase = ucwords; + + /** + * 字符串首字母大写 + * Only string first char to uppercase + * + * @param {String} str string + * @returns {String} string + */ + + var firstUpperCase = function(str) { + return str.toLowerCase().replace(/\b(\w)/, function($1){ + return $1.toUpperCase(); + }); + }; + + var ucfirst = firstUpperCase; + + editormd.firstUpperCase = editormd.ucfirst = firstUpperCase; editormd.urls = { atLinkBase : "https://github.com/" }; - editormd.regex = { + editormd.regexs = { atLink : /@(\w+)/g, + email : /(\w+)@(\w+)\.(\w+)\.?(\w+)?/g, + emailLink : /(mailto:)?([\w\.\_]+)@(\w+)\.(\w+)\.?(\w+)?/g, emoji : /:([\-\w]+):/g, twemoji : /:(tw-([\w]+)-?(\w+)?):/g, - fontAwesome : /:(fa-([\w]+)-?(\w+)?):/g, + fontAwesome : /:(fa-([\w]+)(-(\w+)){0,}):/g, editormdLogo : /:(editormd-logo-?(\w+)?):/g }; @@ -2385,24 +2807,27 @@ var defaults = { toc : true, // Table of contents tocStartLevel : 1, // Said from H1 to create ToC + atLink : true, // for @link + emailLink : true, // for mail address auto link taskList : false, // Enable Github Flavored Markdown task lists emoji : false, // :emoji: , Support Twemoji, fontAwesome, Editor.md logo emojis. tex : false, // TeX(LaTeX), based on KaTeX flowChart : false, // flowChart.js only support IE9+ sequenceDiagram : false, // sequenceDiagram.js only support IE9+ }; - - var atLinkReg = editormd.regex.atLink; var settings = $.extend(defaults, options || {}); var marked = editormd.$marked; var markedRenderer = new marked.Renderer(); - markdownToC = markdownToC || []; - - var emojiReg = editormd.regex.emoji; - var twemojiReg = editormd.regex.twemoji; - var faIconReg = editormd.regex.fontAwesome; - var editormdLogoReg = editormd.regex.editormdLogo; + markdownToC = markdownToC || []; + + var atLinkReg = editormd.regexs.atLink; + var emojiReg = editormd.regexs.emoji; + var emailReg = editormd.regexs.email; + var emailLinkReg = editormd.regexs.emailLink; + var twemojiReg = editormd.regexs.twemoji; + var faIconReg = editormd.regexs.fontAwesome; + var editormdLogoReg = editormd.regexs.editormdLogo; markedRenderer.emoji = function(text) { var matchs = text.match(emojiReg); @@ -2461,10 +2886,26 @@ markedRenderer.atLink = function(text) { if (atLinkReg.test(text)) - { - text = text.replace(atLinkReg, function($1, $2) { - return "" + $1 + ""; - }); + { + if (settings.atLink) + { + text = text.replace(emailReg, function($1, $2, $3, $4) { + return $1.replace(/@/g, "_#_@_#_"); + }); + + text = text.replace(atLinkReg, function($1, $2) { + return "" + $1 + ""; + }).replace(/_#_@_#_/g, "@"); + } + + if (settings.emailLink) + { + text = text.replace(emailLinkReg, function($1, $2) { + return (!$2) ? ""+$1+"" : $1; + }); + } + + return text; } return text; @@ -2702,7 +3143,9 @@ tocStartLevel : 1, markdown : "", htmlDecode : false, - inRequirejs : false, + autoLoadKaTeX : true, + atLink : true, // for @link + emailLink : true, // for mail address auto link tex : false, taskList : false, // Github Flavored Markdown task lists emoji : false, @@ -2725,6 +3168,8 @@ taskList : settings.taskList, emoji : settings.emoji, tex : settings.tex, + atLink : settings.atLink, // for @link + emailLink : settings.emailLink, // for mail address auto link flowChart : settings.flowChart, sequenceDiagram : settings.sequenceDiagram, previewCodeHighlight : settings.previewCodeHighlight, @@ -2782,16 +3227,20 @@ var katexHandle = function() { div.find("." + editormd.classNames.tex).each(function(){ var tex = $(this); - editormd.$katex.render(tex.html(), tex[0]); + katex.render(tex.html(), tex[0]); }); }; - if (!settings.inRequirejs) { - this.loadKaTeX(function(){ - editormd.$katex = katex; + if (settings.autoLoadKaTeX && !editormd.$katex && !editormd.kaTeXLoaded) + { + this.loadKaTeX(function() { + editormd.$katex = katex; + editormd.kaTeXLoaded = true; katexHandle(); }); - } else { + } + else + { katexHandle(); } } diff --git a/editormd.min.js b/editormd.min.js index 350c987..223c65a 100644 --- a/editormd.min.js +++ b/editormd.min.js @@ -1,3 +1,4 @@ -/*! Editor.md v1.2.0 | editormd.min.js | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-10 */ -!function(e){"use strict";"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?module.exports=e:"function"==typeof define?define.amd||define(["jquery"],e):window.editormd=e()}(function(){"use strict";var e="undefined"!=typeof jQuery?jQuery:Zepto;if("undefined"!=typeof e){var t=function(e,i){return new t.fn.init(e,i)};t.title=t.$name="Editor.md",t.version="1.2.0",t.homePage="https://pandao.github.io/editor.md/",t.classPrefix="editormd-",t.toolbarModes={full:["undo","redo","|","bold","del","italic","quote","|","h1","h2","h3","h4","h5","h6","|","list-ul","list-ol","hr","|","link","anchor","image","code","preformatted-text","code-block","table","datetime","emoji","htmlEntities","|","watch","preview","fullscreen","clear","|","help","info"],simple:["undo","redo","|","bold","del","italic","quote","|","h1","h2","h3","h4","h5","h6","|","list-ul","list-ol","hr","|","watch","preview","fullscreen","|","help","info"],mini:["undo","redo","|","watch","preview","|","help","info"]},t.defaults={mode:"gfm",theme:"default",value:"",markdown:"",width:"100%",height:"100%",path:"./lib/",autoLoadModules:!0,watch:!0,placeholder:"now coding markdown...",codeFold:!1,autoCloseTags:!0,searchReplace:!1,readOnly:!1,lineNumbers:!0,matchWordHighlight:!0,styleActiveLine:!0,dialogLockScreen:!0,dialogShowMask:!0,dialogDraggable:!0,dialogMaskBgColor:"#fff",dialogMaskOpacity:.1,fontSize:"13px",saveHTMLToTextarea:!1,onload:function(){},onresize:function(){},onchange:function(){},onwatch:null,onunwatch:null,onpreviewing:function(){},onpreviewed:function(){},onfullscreen:function(){},onfullscreenExit:function(){},onscroll:function(){},onpreviewscroll:function(){},imageUpload:!1,imageFormats:["jpg","jpeg","gif","png","bmp","webp"],imageUploadURL:"",crossDomainUpload:!1,uploadCallbackURL:"",toc:!0,tocStartLevel:1,htmlDecode:!1,taskList:!1,emoji:!1,tex:!1,flowChart:!1,sequenceDiagram:!1,previewCodeHighlight:!0,inRequirejs:!1,toolbar:!0,toolbarIcons:function(){return t.toolbarModes.full},toolbarTitles:{},toolbarHandlers:{},toolbarCustomIcons:{},toolbarIconsClass:{undo:"fa-undo",redo:"fa-repeat",bold:"fa-bold",del:"fa-strikethrough",italic:"fa-italic",quote:"fa-quote-left",h1:t.classPrefix+"bold",h2:t.classPrefix+"bold",h3:t.classPrefix+"bold",h4:t.classPrefix+"bold",h5:t.classPrefix+"bold",h6:t.classPrefix+"bold","list-ul":"fa-list-ul","list-ol":"fa-list-ol",hr:"fa-minus",link:"fa-link",anchor:"fa-anchor",image:"fa-picture-o",code:"fa-code","preformatted-text":"fa-file-code-o","code-block":"fa-file-code-o",table:"fa-table",datetime:"fa-clock-o",emoji:"fa-smile-o",htmlEntities:"fa-copyright",watch:"fa-eye-slash",unwatch:"fa-eye",preview:"fa-search",fullscreen:"fa-arrows-alt",clear:"fa-eraser",help:"fa-question-circle",info:"fa-info-circle"},toolbarIconTexts:{},lang:{name:"zh-cn",description:"开源在线Markdown编辑器
        A simple markdown doucment online editor.",toolbar:{undo:"撤销(Ctrl+Z)",redo:"重做(Ctrl+Y)",bold:"粗体",del:"删除线",italic:"斜体",quote:"引用",h1:"标题1",h2:"标题2",h3:"标题3",h4:"标题4",h5:"标题5",h6:"标题6","list-ul":"无序列表","list-ol":"有序列表",hr:"横线",link:"链接",anchor:"锚点",image:"添加图片",code:"行内代码","preformatted-text":"预格式文本 / 代码块(缩进风格)","code-block":"代码块(多语言风格)",table:"添加表格",datetime:"日期时间",emoji:"Emoji表情",htmlEntities:"HTML实体字符",watch:"关闭实时预览",unwatch:"开启实时预览",preview:"全窗口预览HTML(可按ESC还原)",fullscreen:"全屏(按ESC还原)",clear:"清空",help:"使用帮助",info:"关于"+t.title},buttons:{enter:"确定",cancel:"取消",close:"关闭"},dialog:{link:{title:"添加链接",url:"链接地址",urlTitle:"链接标题",urlEmpty:"错误:请填写链接地址。"},anchor:{title:"添加锚点链接",name:"锚点名称",url:"链接地址",urlTitle:"链接标题",nameEmpty:"错误:锚点名称不能为空。",titleEmpty:"错误:请填写锚点链接标题。",urlEmpty:"错误:请填写锚点链接地址。"},image:{title:"添加图片",url:"图片地址",link:"图片链接",alt:"图片描述",uploadButton:"本地上传",imageURLEmpty:"错误:图片地址不能为空。",uploadFileEmpty:"错误:上传的图片不能为空。",formatNotAllowed:"错误:只允许上传图片文件,允许上传的图片文件格式有:"},preformattedText:{title:"添加预格式文本或代码块",emptyAlert:"错误:请填写预格式文本或代码的内容。"},codeBlock:{title:"添加代码块",selectLabel:"代码语言:",selectDefaultText:"请选择代码语言",otherLanguage:"其他语言",unselectedLanguageAlert:"错误:请选择代码所属的语言类型。",codeEmptyAlert:"错误:请填写代码内容。"},htmlEntities:{title:"HTML 实体字符"},help:{title:"使用帮助"}}}},t.classNames={tex:t.classPrefix+"tex"},t.dialogZindex=99999,t.$katex=null,t.$marked=null,t.$CodeMirror=null,t.$prettyPrint=null,t.prototype=t.fn={state:{watching:!1,loaded:!1,preview:!1,fullscreen:!1},init:function(i,o){o=o||{};var r=this,n=this.classPrefix=t.classPrefix,a=this.editor=e("#"+i),s=this.settings=e.extend(!0,t.defaults,o);this.id=i,this.lang=s.lang;var l=this.classNames={textarea:{html:this.classPrefix+"html-textarea",markdown:this.classPrefix+"markdown-textarea"}};this.state.watching=s.watch?!0:!1,a.hasClass("editormd")||a.addClass("editormd"),a.css({width:"number"==typeof s.width?s.width+"px":s.width,height:"number"==typeof s.height?s.height+"px":s.height});var c=this.markdownTextarea=a.children("textarea");c.length<1&&(a.append(""),c=this.markdownTextarea=a.children("textarea")),c.addClass(l.textarea.markdown).attr("name",i+"-markdown-doc").attr("placeholder",s.placeholder);var d=[s.readOnly?"":'',s.saveHTMLToTextarea?'':"",'
        ','
        ','
        '].join("\n");return a.append(d).addClass(n+"vertical"),this.mask=a.children("."+n+"mask"),""!==s.markdown&&c.val(s.markdown),this.htmlTextarea=a.children("."+l.textarea.html),this.preview=a.children("."+n+"preview"),this.previewContainer=this.preview.children("."+n+"preview-container"),"function"==typeof define&&define.amd&&("undefined"!=typeof katex&&(t.$katex=katex),s.searchReplace&&(t.loadCSS(s.path+"codemirror/addon/dialog/dialog"),t.loadCSS(s.path+"codemirror/addon/search/matchesonscrollbar"))),"function"!=typeof define&&s.autoLoadModules?this.loadQueues():("undefined"!=typeof CodeMirror&&(t.$CodeMirror=CodeMirror),"undefined"!=typeof marked&&(t.$marked=marked),r.setCodeMirror(),r.setToolbar(),r.loadedDisplay()),this},loadQueues:function(){var e=this,i=this.settings,o=i.path,r=function(){return t.isIE8?void e.loadedDisplay():void(i.flowChart||i.sequenceDiagram?t.loadScript(o+"raphael.min",function(){t.loadScript(o+"underscore.min",function(){!i.flowChart&&i.sequenceDiagram?t.loadScript(o+"sequence-diagram.min",function(){e.loadedDisplay()}):i.flowChart&&!i.sequenceDiagram?t.loadScript(o+"flowchart.min",function(){t.loadScript(o+"jquery.flowchart.min",function(){e.loadedDisplay()})}):i.flowChart&&i.sequenceDiagram&&t.loadScript(o+"flowchart.min",function(){t.loadScript(o+"jquery.flowchart.min",function(){t.loadScript(o+"sequence-diagram.min",function(){e.loadedDisplay()})})})})}):e.loadedDisplay())};return t.loadCSS(o+"codemirror/codemirror.min"),i.searchReplace&&(t.loadCSS(o+"codemirror/addon/dialog/dialog"),t.loadCSS(o+"codemirror/addon/search/matchesonscrollbar")),i.codeFold&&t.loadCSS(o+"codemirror/addon/fold/foldgutter"),t.loadScript(o+"codemirror/codemirror.min",function(){t.$CodeMirror=CodeMirror,t.loadScript(o+"codemirror/modes.min",function(){t.loadScript(o+"codemirror/addons.min",function(){return e.setCodeMirror(),"gfm"!==i.mode&&"markdown"!==i.mode?(e.loadedDisplay(),!1):(e.setToolbar(),void t.loadScript(o+"marked.min",function(){t.$marked=marked,i.previewCodeHighlight?t.loadScript(o+"prettify.min",function(){r()}):r()}))})})}),this},setTheme:function(e){var i=this.settings;return i.theme=e,"default"!==e&&t.loadCSS(i.path+"codemirror/theme/"+i.theme),this.cm.setOption("theme",e),this},setCodeMirror:function(){var e=this.settings,i=this.editor;"default"!==e.theme&&t.loadCSS(e.path+"codemirror/theme/"+e.theme);var o={mode:e.mode,theme:e.theme,tabSize:4,dragDrop:!1,autofocus:!0,autoCloseTags:e.autoCloseTags,readOnly:e.readOnly?"nocursor":!1,indentUnit:4,lineNumbers:e.lineNumbers,lineWrapping:!0,extraKeys:{"Ctrl-Q":function(e){e.foldCode(e.getCursor())}},foldGutter:e.codeFold,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,indentWithTabs:!0,styleActiveLine:e.styleActiveLine,styleSelectedText:!0,autoCloseBrackets:!0,showTrailingSpace:!0,highlightSelectionMatches:e.matchWordHighlight?{showToken:"onselected"==e.matchWordHighlight?!1:/\w/}:!1};return this.codeEditor=this.cm=t.$CodeMirror.fromTextArea(this.markdownTextarea[0],o),this.codeMirror=this.cmElement=i.children(".CodeMirror"),""!==e.value&&this.cm.setValue(e.value),this.codeMirror.css({fontSize:e.fontSize,width:e.watch?"50%":"100%"}),this},getCodeMirrorOption:function(e){return this.cm.getOption(e)},setCodeMirrorOption:function(e,t){return this.cm.setOption(e,t),this},addKeyMap:function(e,t){return this.cm.addKeyMap(e,t),this},removeKeyMap:function(e){return this.cm.removeKeyMap(e),this},"extends":function(){return"undefined"!=typeof arguments[1]&&("function"==typeof arguments[1]&&(arguments[1]=e.proxy(arguments[1],this)),this[arguments[0]]=arguments[1]),"object"==typeof arguments[0]&&"undefined"==typeof arguments[0].length&&e.extend(!0,this,arguments[0]),this},set:function(t,i){return"undefined"!=typeof i&&"function"==typeof i&&(i=e.proxy(i,this)),this[t]=i,this},config:function(t,i){var o=this.settings;return"object"==typeof t&&(o=e.extend(!0,o,t)),"string"==typeof t&&(o[t]=i),this.settings=o,this.recreate(),this},on:function(t,i){var o=this.settings;return"undefined"!=typeof o["on"+t]&&(o["on"+t]=e.proxy(i,this)),this},off:function(e){var t=this.settings;return"undefined"!=typeof t["on"+e]&&(t["on"+e]=function(){}),this},showToolbar:function(t){var i=this.settings;if(!i.readOnly)return i.toolbar&&(this.toolbar.length<1||""===this.toolbar.find("."+this.classPrefix+"menu").html())&&this.setToolbar(),i.toolbar=!0,this.toolbar.show(),this.resize(),e.proxy(t||function(){},this)(),this},hideToolbar:function(t){var i=this.settings;return i.toolbar=!1,this.toolbar.hide(),this.resize(),e.proxy(t||function(){},this)(),this},setToolbar:function(){var e=this.settings;if(!e.readOnly){var i=this.editor,o=(this.preview,this.classPrefix),r=this.toolbar=i.children("."+o+"toolbar");if(e.toolbar&&r.length<1&&(i.append('
          '),r=this.toolbar=i.children("."+o+"toolbar")),!e.toolbar)return void r.hide();r.show();for(var n="function"==typeof e.toolbarIcons?e.toolbarIcons():"string"==typeof e.toolbarIcons?t.toolbarModes[e.toolbarIcons]:e.toolbarIcons,a=r.find("."+this.classPrefix+"menu"),s="",l=0,c=n.length;c>l;l++){var d=n[l];if("|"!==d){var h=/h(\d)/.test(d),u=d;"watch"!==d||e.watch||(u="unwatch");var f=e.lang.toolbar[u],g=e.toolbarIconTexts[u],m=e.toolbarIconsClass[u];f="undefined"==typeof f?"":f,g="undefined"==typeof g?"":g,m="undefined"==typeof m?"":m,s+="
        • ",s+="undefined"!=typeof e.toolbarCustomIcons[d]?e.toolbarCustomIcons[d]:''+(h?d:""===m?g:"")+"",s+="
        • "}else s+='
        • |
        • '}return a.html(s),this.setToolbarHandler(),this}},dialogLockScreen:function(){return e.proxy(t.dialogLockScreen,this)(),this},dialogShowMask:function(i){return e.proxy(t.dialogShowMask,this)(i),this},getToolbarHandles:function(e){var i=this.toolbarHandlers=t.toolbarHandlers;return e&&"undefined"!=typeof toolbarIconHandlers[e]?i[e]:i},setToolbarHandler:function(){var i=this,o=this.settings;if(o.toolbar&&!o.readOnly){var r=(this.editor,this.preview,this.toolbar),n=this.codeEditor,a=(this.codeMirror,this.classPrefix),s=(this.previewContainer,this.toolbarIcons=r.find("."+a+"menu a")),l=this.getToolbarHandles();return s.bind(t.mouseOrTouch("click","touchend"),function(){var t=e(this).children(".fa"),r=t.attr("name"),a=n.getCursor(),s=n.getSelection();return""!==r?(i.activeIcon=t,"undefined"!=typeof l[r]?e.proxy(l[r],i)(n):"undefined"!=typeof o.toolbarHandlers[r]&&e.proxy(o.toolbarHandlers[r],i)(n,t,a,s),"link"!==r&&"anchor"!==r&&"image"!==r&&"code-block"!==r&&"preformatted-text"!==r&&"watch"!==r&&"preview"!==r&&"fullscreen"!==r&&"info"!==r&&n.focus(),!1):void 0}),this}},createDialog:function(i){return e.proxy(t.createDialog,this)(i)},createInfoDialog:function(){var e=this,i=this.editor,o=this.classPrefix,r=['
          ','
          ','

          '+t.title+"v"+t.version+"

          ","

          "+this.lang.description+"

          ",'

          Home page: '+t.homePage+"

          ","

          License: MIT

          ","
          ",'',"
          "].join("\n");i.append(r);var n=this.infoDialog=i.children("."+o+"dialog-info");return n.find("."+o+"dialog-close").bind(t.mouseOrTouch("click","touchend"),function(){e.hideInfoDialog()}),n.css("border",t.isIE8?"1px solid #ddd":"").css("z-index",t.dialogZindex).show(),this.infoDialogPosition(),this},infoDialogPosition:function(){var t=this.infoDialog,i=function(){t.css({top:(e(window).height()-t.height())/2+"px",left:(e(window).width()-t.width())/2+"px"})};return i(),e(window).resize(i),this},showInfoDialog:function(){e("html,body").css("overflow-x","hidden");var i=this.editor,o=this.settings,r=this.classPrefix,n=this.infoDialog=i.children("."+r+"dialog-info");return n.length<1&&this.createInfoDialog(),this.lockScreen(!0),this.mask.css({opacity:o.dialogMaskOpacity,backgroundColor:o.dialogMaskBgColor}).show(),n.css("z-index",t.dialogZindex).show(),this.infoDialogPosition(),this},hideInfoDialog:function(){return e("html,body").css("overflow-x",""),this.infoDialog.hide(),this.mask.hide(),this.lockScreen(!1),this},lockScreen:function(e){return t.lockScreen(e),this},recreate:function(){var e=this.editor,t=this.settings,i=t.toolbarIcons();return this.codeMirror.remove(),this.setCodeMirror(),"undefined"!=typeof this.infoDialog&&this.infoDialog.remove(),"undefined"!=typeof i.info&&createInfoDialog(),t.readOnly||(e.find(".editormd-dialog").length>0&&e.find(".editormd-dialog").remove(),t.toolbar&&(this.getToolbarHandles(),this.setToolbar())),this.saveToTextareas(),this.resize(),this},previewCodeHighlight:function(){var e=this.settings,t=this.previewContainer;return e.previewCodeHighlight&&(t.find("pre").addClass("prettyprint linenums"),"undefined"!=typeof prettyPrint&&prettyPrint()),this},katexRender:function(){var i=this.previewContainer;return i.find("."+t.classNames.tex).each(function(){var i=e(this);t.$katex.render(i.html(),i[0])}),this},flowChartAndSequenceDiagramRender:function(){var e=this.settings,i=this.previewContainer;return t.isIE8?void 0:(e.flowChart&&i.find(".flowchart").flowChart(),e.sequenceDiagram&&i.find(".sequence-diagram").sequenceDiagram({theme:"simple"}),this)},loadedDisplay:function(){var i=this,o=this.editor,r=this.preview,n=this.settings,a=this.codeEditor,s=this.codeMirror,l=(this.previewContainer,t.mouseOrTouch);o.children("."+this.classPrefix+"container-mask").hide(),this.saveToTextareas(),n.watch&&r.show(),o.data("oldWidth",o.width()).data("oldHeight",o.height()),this.resize(),e(window).resize(function(){i.resize()});var c=function(){s.find(".CodeMirror-scroll").bind(l("scroll","touchmove"),function(t){var i=e(this).height(),o=e(this).scrollTop(),a=o/e(this)[0].scrollHeight;r.scrollTop(0===o?0:o+i>=e(this)[0].scrollHeight?r[0].scrollHeight:r[0].scrollHeight*a),e.proxy(n.onscroll,this)(t)})},d=function(){s.find(".CodeMirror-scroll").unbind(l("scroll","touchmove"))},h=function(){r.bind(l("scroll","touchmove"),function(){var t=e(this).height(),i=e(this).scrollTop(),o=i/e(this)[0].scrollHeight,r=s.find(".CodeMirror-scroll");r.scrollTop(0===i?0:i+t>=e(this)[0].scrollHeight?r[0].scrollHeight:r[0].scrollHeight*o),e.proxy(n.onpreviewscroll,this)(event)})},u=function(){r.unbind(l("scroll","touchmove"))};return s.bind({mouseover:c,mouseout:d,touchstart:c,touchend:d}),r.bind({mouseover:h,mouseout:u,touchstart:h,touchend:u}),a.on("change",function(){i.saveToTextareas()}),e.proxy(n.onload,this)(),this.state.loaded=!0,this},width:function(e){return this.editor.css("width","number"==typeof e?e+"px":e),this.resize(),this},height:function(e){return this.editor.css("height","number"==typeof e?e+"px":e),this.resize(),this},resize:function(t,i){t=t||null,i=i||null;var o=this.editor,r=this.preview,n=this.toolbar,a=this.settings,s=(this.codeEditor,this.codeMirror);return t&&i&&o.css({width:"number"==typeof t?t+"px":t,height:"number"==typeof i?i+"px":i}),a.toolbar&&!a.readOnly?s.css("margin-top",n.height()+1).height(o.height()-n.height()):s.css("margin-top",0).height(o.height()),s.find(".CodeMirror-gutters").height(s.height()),a.watch?(s.width(o.width()/2),r.width(this.state.preview?o.width():o.width()/2),a.toolbar&&!a.readOnly?r.css("top",n.height()).height(o.height()-n.height()):r.css("top",0).height(o.height())):(s.width(o.width()),r.hide()),this.state.loaded&&e.proxy(a.onresize,this)(),this},saveToTextareas:function(){var i=this,o=this.state,r=this.settings,n=this.codeEditor,a=this.previewContainer,s=n.getValue();if("gfm"!==r.mode&&"markdown"!==r.mode)return this.markdownTextarea[0].innerText=s,this;var l=t.$marked,c=this.markdownToC=[],d=this.markedRendererOptions={toc:r.toc,tocStartLevel:r.tocStartLevel,taskList:r.taskList,emoji:r.emoji,tex:r.tex,flowChart:r.flowChart,sequenceDiagram:r.sequenceDiagram,previewCodeHighlight:r.previewCodeHighlight},h=this.markedOptions={renderer:t.markedRenderer(c,d),gfm:!0,tables:!0,breaks:!0,pedantic:!1,sanitize:r.htmlDecode?!1:!0,smartLists:!0,smartypants:!0};l.setOptions(h),s=t.filterHTMLTags(s,r.htmlDecode);var u=t.$marked(s,h);if(this.markdownTextarea[0].innerText=s,n.save(),r.saveHTMLToTextarea&&this.htmlTextarea.html(u),r.watch||!r.watch&&o.preview){if(a.html(u),this.previewCodeHighlight(),r.toc&&t.markdownToCRenderer(c,a,r.tocStartLevel),r.tex&&(r.inRequirejs||t.kaTeXLoaded?this.katexRender():t.loadKaTeX(function(){t.$katex=katex,t.kaTeXLoaded=!0,i.katexRender()})),r.flowChart||r.sequenceDiagram)var f=setTimeout(function(){clearTimeout(f),i.flowChartAndSequenceDiagramRender()},10);o.loaded&&e.proxy(r.onchange,this)()}return this},focus:function(){return this.codeEditor.focus(),this},setCursor:function(e){return this.codeEditor.setCursor(e),this},getCursor:function(){return this.codeEditor.getCursor()},setSelection:function(e,t){return this.codeEditor.setSelection(e,t),this},getSelection:function(){return this.codeEditor.getSelection()},replaceSelection:function(e){return this.codeEditor.replaceSelection(e),this},insertValue:function(e){return this.replaceSelection(e),this},setMarkdown:function(e){var t=this.settings;return this.codeEditor.setValue(e||t.markdown),this},getMarkdown:function(){return this.codeEditor.getValue()},getValue:function(){return this.codeEditor.getValue()},setValue:function(e){return this.codeEditor.setValue(e),this},clear:function(){return this.codeEditor.setValue(""),this},getHTML:function(){return this.settings.saveHTMLToTextarea?this.htmlTextarea.html():(alert("Error: settings.saveHTMLToTextarea == false"),!1)},getTextareaSavedHTML:function(){return this.getHTML()},getPreviewedHTML:function(){return this.settings.watch?this.previewContainer.html():(alert("Error: settings.watch == false"),!1)},watch:function(t){var i=this.settings;this.state.watching=i.watch=!0,this.preview.show();var o=i.toolbarIconsClass.watch,r=i.toolbarIconsClass.unwatch,n=this.toolbar.find(".fa[name=watch]");return n.parent().attr("title",i.lang.toolbar.watch),n.removeClass(r).addClass(o),this.codeMirror.css("border-right","1px solid #ddd").width(this.editor.width()/2),this.saveToTextareas().resize(),i.onwatch||(i.onwatch=t||function(){}),e.proxy(i.onwatch,this)(),this},unwatch:function(t){var i=this.settings;this.state.watching=i.watch=!1,this.preview.hide();var o=i.toolbarIconsClass.watch,r=i.toolbarIconsClass.unwatch;if(this.toolbar){var n=this.toolbar.find(".fa[name=watch]");n.parent().attr("title",i.lang.toolbar.unwatch),n.removeClass(o).addClass(r)}return this.codeMirror.css("border-right","none").width(this.editor.width()),this.resize(),i.onunwatch||(i.onunwatch=t||function(){}),e.proxy(i.onunwatch,this)(),this},show:function(t){t=t||function(){};var i=this;return this.editor.show(function(){e.proxy(t,i)()}),this},hide:function(t){t=t||function(){};var i=this;return this.editor.hide(function(){e.proxy(t,i)()}),this},previewing:function(){var i=this,o=this.editor,r=this.preview,n=this.toolbar,a=this.settings,s=this.codeMirror;a.toolbar&&(n.toggle(),n.find(".fa[name=preview]").toggleClass("active")),s.toggle(),"none"===s.css("display")?(this.state.preview=!0,this.state.fullscreen&&r.css("background","#fff"),o.find("."+this.classPrefix+"preview-close-btn").show().bind(t.mouseOrTouch("click","touchend"),function(){i.previewed()}),a.watch||this.saveToTextareas(),r.show().css({position:"static",top:0,width:o.width(),height:o.height()}),this.state.loaded&&e.proxy(a.onpreviewing,this)()):this.previewed(),e(window).keyup(function(e){27===e.keyCode&&i.previewed()})},previewed:function(){var i=this.editor,o=this.preview,r=this.toolbar,n=this.settings,a=this.codeMirror,s=i.find("."+this.classPrefix+"preview-close-btn");return this.state.preview=!1,a.show(),n.toolbar&&r.show(),this.settings.watch?o.show():o.hide(),s.hide().bind(t.mouseOrTouch("click","touchend")),o.css({background:null,position:"absolute",width:i.width()/2,height:i.height()-r.height(),top:n.toolbar?r.height():0}),this.state.loaded&&e.proxy(n.onpreviewed,this)(),this},fullscreen:function(){var t=this,i=this.editor,o=(this.preview,this.toolbar),r=this.classPrefix+"fullscreen";return o&&o.find(".fa[name=fullscreen]").parent().toggleClass("active"),i.hasClass(r)?this.fullscreenExit():(this.state.fullscreen=!0,e("html,body").css("overflow","hidden"),i.css({position:"fixed",top:0,left:0,margin:0,border:"none",width:e(window).width(),height:e(window).height()}).addClass(r),this.resize(),e.proxy(this.settings.onfullscreen,this)()),e(window).keyup(function(e){t.state.preview||27===e.keyCode&&t.fullscreenExit()}),this},fullscreenExit:function(){var t=this.editor,i=this.toolbar,o=this.classPrefix+"fullscreen";return this.state.fullscreen=!1,i&&i.find(".fa[name=fullscreen]").parent().removeClass("active"),e("html,body").css("overflow",""),t.css({position:"",top:"",left:"",margin:"0 auto",width:t.data("oldWidth"),height:t.data("oldHeight"),border:"1px solid #ddd"}).removeClass(o),this.resize(),e.proxy(this.settings.onfullscreenExit,this)(),this},executePlugin:function(i,o){var r=this,n=this.cm;return"function"==typeof define?void this[i](n):(o=this.settings.path+"../plugins/"+o,void(e.inArray(o,t.loadFiles.plugin)<0?t.loadPlugin(o,function(){t.loadPlugins[i]=r[i],r[i](n)}):e.proxy(t.loadPlugins[i],this)(n)))}},t.fn.init.prototype=t.fn,t.dialogLockScreen=function(){var t=this.settings;t.dialogLockScreen&&e("html,body").css("overflow","hidden")},t.dialogShowMask=function(t){var i=this.editor,o=this.settings;t.css({top:(e(window).height()-t.height())/2+"px",left:(e(window).width()-t.width())/2+"px"}),o.dialogShowMask&&i.children("."+this.classPrefix+"mask").css("z-index",parseInt(t.css("z-index"))-1).show()},t.toolbarHandlers={undo:function(){this.cm.undo()},redo:function(){this.cm.redo()},bold:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("**"+i+"**"),""===i&&e.setCursor(t.line,t.ch+2)},del:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("~~"+i+"~~"),""===i&&e.setCursor(t.line,t.ch+2)},italic:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("*"+i+"*"),""===i&&e.setCursor(t.line,t.ch+1)},quote:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("> "+i),e.setCursor(t.line,""===i?t.ch+2:t.ch+i.length+2)},h1:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("# "+t)},h2:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("## "+t)},h3:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("### "+t)},h4:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("#### "+t)},h5:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("##### "+t)},h6:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("###### "+t)},"list-ul":function(){var e=this.cm,t=(e.getCursor(),e.getSelection());if(""===t)e.replaceSelection("- "+t);else{for(var i=t.split("\n"),o=0,r=i.length;r>o;o++)i[o]=""===i[o]?"":"- "+i[o];e.replaceSelection(i.join("\n"))}},"list-ol":function(){var e=this.cm,t=(e.getCursor(),e.getSelection());if(""===t)e.replaceSelection("1. "+t);else{for(var i=t.split("\n"),o=0,r=i.length;r>o;o++)i[o]=""===i[o]?"":o+1+". "+i[o];e.replaceSelection(i.join("\n"))}},hr:function(){{var e=this.cm;e.getCursor(),e.getSelection()}e.replaceSelection("------------")},link:function(){this.executePlugin("linkDialog","link-dialog/link-dialog")},anchor:function(){this.executePlugin("anchorLinkDialog","anchor-link-dialog/anchor-link-dialog")},image:function(){this.executePlugin("imageDialog","image-dialog/image-dialog")},code:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("`"+i+"`"),""===i&&e.setCursor(t.line,t.ch+1)},"code-block":function(){this.executePlugin("codeBlockDialog","code-block-dialog/code-block-dialog")},"preformatted-text":function(){this.executePlugin("preformattedTextDialog","preformatted-text-dialog/preformatted-text-dialog")},table:function(){this.executePlugin("tableDialog","table-dialog/table-dialog")},datetime:function(){var e=this.cm,i=(e.getSelection(),new Date,this.settings.lang.name),o=t.dateFormat()+" "+t.dateFormat("zh-cn"===i||"zh-tw"===i?"cn-week-day":"week-day");e.replaceSelection(o)},emoji:function(){this.executePlugin("emojiDialog","emoji-dialog/emoji-dialog")},htmlEntities:function(){this.executePlugin("htmlEntitiesDialog","html-entities-dialog/html-entities-dialog")},watch:function(){this[this.settings.watch?"unwatch":"watch"]()},preview:function(){this.previewing()},fullscreen:function(){this.fullscreen()},clear:function(){this.clear()},help:function(){this.executePlugin("helpDialog","help-dialog/help-dialog")},info:function(){this.showInfoDialog()}},t.trim=function(e){return String.prototype.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};var i=t.trim;return t.urls={atLinkBase:"https://github.com/"},t.regex={atLink:/@(\w+)/g,emoji:/:([\-\w]+):/g,twemoji:/:(tw-([\w]+)-?(\w+)?):/g,fontAwesome:/:(fa-([\w]+)-?(\w+)?):/g,editormdLogo:/:(editormd-logo-?(\w+)?):/g},t.emoji={path:"http://www.emoji-cheat-sheet.com/graphics/emojis/",ext:".png"},t.twemoji={path:"http://twemoji.maxcdn.com/36x36/",ext:".png"},t.markedRenderer=function(o,r){var n={toc:!0,tocStartLevel:1,taskList:!1,emoji:!1,tex:!1,flowChart:!1,sequenceDiagram:!1},a=t.regex.atLink,s=e.extend(n,r||{}),l=t.$marked,c=new l.Renderer;o=o||[];var d=t.regex.emoji,h=t.regex.twemoji,u=t.regex.fontAwesome,f=t.regex.editormdLogo;return c.emoji=function(e){var i=e.match(d);if(!i||!s.emoji)return e;for(var o=0,r=i.length;r>o;o++)e=e.replace(new RegExp(i[o]),function(e){var i=e.match(u),o=e.replace(/:/g,"");if(i)for(var r=0,n=i.length;n>r;r++){var a=i[r].replace(/:/g,"");return''}else{var s=e.match(f),l=e.match(h);if(s)for(var c=0,d=s.length;d>c;c++){var g=s[c].replace(/:/g,"");return''}else{if(!l)return':'+o+':';for(var m=0,p=l.length;p>m;m++){var w=l[m].replace(/:/g,"").replace("tw-","");return'twemoji-'+w+''}}}});return e},c.atLink=function(e){return a.test(e)&&(e=e.replace(a,function(e,i){return''+e+""})),e},c.link=function(e,t,i){if(this.options.sanitize){try{var o=decodeURIComponent(unescape(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(r){return""}if(0===o.indexOf("javascript:"))return""}var n=''+i.replace(/@/g,"@")+""):(t&&(n+=' title="'+t+'"'),n+=">"+i+"")},c.heading=function(e,t){var r=e,n=/\s*\]*)\>(.*)\<\/a\>\s*/;if(n.test(e)){var a=[];e=e.split(/\]+)\>([^\>]*)\<\/a\>/);for(var s=0,l=e.length;l>s;s++)a.push(e[s].replace(/\s*href\=\"(.*)\"\s*/g,""));e=a.join(" ")}e=i(e);var c=e.toLowerCase().replace(/[^\w]+/g,"-"),d={text:e,level:t,slug:c},h=/^[\u4e00-\u9fa5]+$/.test(e),u=h?escape(e).replace(/\%/g,""):e.toLowerCase().replace(/[^\w]+/g,"-");o.push(d);var f="';return f+='',f+='',f+=this.atLink(n?this.emoji(r):this.emoji(e)),f+=""},c.paragraph=function(e){var i=/\$\$(.*)\$\$/g.test(e),o=/^\$\$(.*)\$\$$/.test(e),r=o?' class="'+t.classNames.tex+'"':"",n=/^\[TOC\]$/.test(e);return e=!o&&i?e.replace(/(\$\$([^\$]*)\$\$)+/g,function(e,i){return''+i.replace(/\$/g,"")+""}):o?e.replace(/\$/g,""):e,n?'
            '+e+"
          ":""+this.atLink(this.emoji(e))+"

          \n"},c.code=function(e,t){return"seq"===t||"sequence"===t?'
          '+e+"
          ":"flow"===t?'
          '+e+"
          ":l.Renderer.prototype.code.apply(this,arguments)},c.tablecell=function(e,t){var i=t.header?"th":"td",o=t.align?"<"+i+' style="text-align:'+t.align+'">':"<"+i+">";return o+this.atLink(this.emoji(e))+"\n"},c.listitem=function(e){return s.taskList&&/^\s*\[[x\s]\]\s*/.test(e)?(e=e.replace(/^\s*\[\s\]\s*/,' ').replace(/^\s*\[x\]\s*/,' '),'
        • '+this.atLink(this.emoji(e))+"
        • "):"
        • "+this.atLink(this.emoji(e))+"
        • "},c},t.markdownToCRenderer=function(e,t,i){var o="",r=0;i=i||1;for(var n=0,a=e.length;a>n;n++){var s=e[n].text,l=e[n].level;i>l||(o+=l>r?"":r>l?new Array(r-l+2).join("
      • "):"",o+='
      • '+s+"
          ",r=l)}var c=t.find(".markdown-toc");return c.children(".markdown-toc-list").html("").html(o),c},t.filterHTMLTags=function(e,t){if("string"==typeof t)for(var i=t.split(","),o=0,r=i.length;r>o;o++){var n=i[o];e=e.replace(new RegExp("]*)>","igm"),"").replace(new RegExp("","igm"),"")}return e},t.markdownToHTML=function(i,o){var r={gfm:!0,toc:!0,tocStartLevel:1,markdown:"",htmlDecode:!1,inRequirejs:!1,tex:!1,taskList:!1,emoji:!1,flowChart:!1,sequenceDiagram:!1,previewCodeHighlight:!0};t.$marked=marked;var n=e("#"+i),a=n.settings=e.extend(!0,r,o||{}),s=n.find("textarea"),l=""===a.markdown?s.val():a.markdown,c=[],d={toc:a.toc,tocStartLevel:a.tocStartLevel,taskList:a.taskList,emoji:a.emoji,tex:a.tex,flowChart:a.flowChart,sequenceDiagram:a.sequenceDiagram,previewCodeHighlight:a.previewCodeHighlight},h={renderer:t.markedRenderer(c,d),gfm:a.gfm,tables:!0,breaks:!0,pedantic:!1,sanitize:a.htmlDecode?!1:!0,smartLists:!0,smartypants:!0};l=t.filterHTMLTags(l,a.htmlDecode);var u=marked(l,h);if(t.isIE8?s.val(l):s.html(l),n.addClass("markdown-body "+this.classPrefix+"html-preview").append(u),a.toc&&(n.tocContainer=this.markdownToCRenderer(c,n,a.tocStartLevel)),a.previewCodeHighlight&&(n.find("pre").addClass("prettyprint linenums"),prettyPrint()),t.isIE8||(a.flowChart&&n.find(".flowchart").flowChart(),a.sequenceDiagram&&n.find(".sequence-diagram").sequenceDiagram({theme:"simple"})),a.tex){var f=function(){n.find("."+t.classNames.tex).each(function(){var i=e(this);t.$katex.render(i.html(),i[0])}) -};a.inRequirejs?f():this.loadKaTeX(function(){t.$katex=katex,f()})}return n.getMarkdown=function(){return t.isIE8?s.val():s.html()},n},t.themes=["default","3024-day","3024-night","ambiance","ambiance-mobile","base16-dark","base16-light","blackboard","cobalt","eclipse","elegant","erlang-dark","lesser-dark","mbo","mdn-like","midnight","monokai","neat","neo","night","paraiso-dark","paraiso-light","pastel-on-dark","rubyblue","solarized","the-matrix","tomorrow-night-eighties","twilight","vibrant-ink","xq-dark","xq-light"],t.loadPlugins={},t.loadFiles={js:[],css:[],plugin:[]},t.loadPlugin=function(e,i,o){i=i||function(){},this.loadScript(e,function(){t.loadFiles.plugin.push(e),i()},o)},t.loadCSS=function(e,i,o){o=o||"head",i=i||function(){};var r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.onload=r.onreadystatechange=function(){t.loadFiles.css.push(e),i()},r.href=e+".css","head"===o?document.getElementsByTagName("head")[0].appendChild(r):document.body.appendChild(r)},t.isIE="Microsoft Internet Explorer"==navigator.appName,t.isIE8=t.isIE&&"8."==navigator.appVersion.match(/8./i),t.loadScript=function(e,i,o){o=o||"head",i=i||function(){};var r=null;r=document.createElement("script"),r.id=e.replace(/[\./]+/g,"-"),r.type="text/javascript",r.src=e+".js",t.isIE8?r.onreadystatechange=function(){r.readyState&&("loaded"===r.readyState||"complete"===r.readyState)&&(r.onreadystatechange=null,t.loadFiles.js.push(e),i())}:r.onload=function(){t.loadFiles.js.push(e),i()},"head"===o?document.getElementsByTagName("head")[0].appendChild(r):document.body.appendChild(r)},t.katexURL={css:"http://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.1.1/katex.min",js:"http://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.1.1/katex.min"},t.kaTeXLoaded=!1,t.loadKaTeX=function(e){t.loadCSS(t.katexURL.css,function(){t.loadScript(t.katexURL.js,e||function(){})})},t.lockScreen=function(t){e("html,body").css("overflow",t?"hidden":"")},t.createDialog=function(i){var o={name:"",width:420,height:240,title:"",drag:!0,closed:!0,content:"",mask:!0,maskStyle:{backgroundColor:"#fff",opacity:.1},lockScreen:!0,footer:!0,buttons:!1};i=e.extend(!0,o,i);var r=this.editor,n=t.classPrefix,a=(new Date).getTime(),s=""===i.name?n+"dialog-"+a:i.name,l=t.mouseOrTouch,c='
          ';""!==i.title&&(c+='
          ",c+=''+i.title+"",c+="
          "),i.closed&&(c+=''),c+='
          '+i.content,(i.footer||"string"==typeof i.footer)&&(c+='"),c+="
          ",c+='
          ',c+='
          ',c+="
          ",r.append(c);var d=r.find("."+s);d.lockScreen=function(t){return i.lockScreen&&e("html,body").css("overflow",t?"hidden":""),d},d.showMask=function(){return i.mask&&r.find("."+n+"mask").css(i.maskStyle).css("z-index",t.dialogZindex-1).show(),d},d.hideMask=function(){return i.mask&&r.find("."+n+"mask").hide(),d},d.loading=function(e){var t=d.find("."+n+"dialog-mask");return t[e?"show":"hide"](),d},d.lockScreen(!0).showMask(),d.show().css({zIndex:t.dialogZindex,border:t.isIE8?"1px solid #ddd":"",width:"number"==typeof i.width?i.width+"px":i.width,height:"number"==typeof i.height?i.height+"px":i.height});var h=function(){d.css({top:(e(window).height()-d.height())/2+"px",left:(e(window).width()-d.width())/2+"px"})};if(h(),e(window).resize(h),d.children("."+n+"dialog-close").bind(l("click","touchend"),function(){d.hide().lockScreen(!1).hideMask()}),"object"==typeof i.buttons){var u=d.footer=d.find("."+n+"dialog-footer");for(var f in i.buttons){var g=i.buttons[f],m=n+f+"-btn";u.append('"),g[1]=e.proxy(g[1],d),u.children("."+m).bind(l("click","touchend"),g[1])}}if(""!==i.title&&i.drag){var p,w,v=d.children("."+n+"dialog-header");i.mask||v.bind(l("click","touchend"),function(){t.dialogZindex+=2,d.css("z-index",t.dialogZindex)}),v.mousedown(function(e){e=e||window.event,p=e.clientX-parseInt(d[0].style.left),w=e.clientY-parseInt(d[0].style.top),document.onmousemove=k});var x=function(e){e.removeClass(n+"user-unselect").off("selectstart")},b=function(e){e.addClass(n+"user-unselect").on("selectstart",function(){return!1})},k=function(t){t=t||window.event;var i,o,r=parseInt(d[0].style.left),n=parseInt(d[0].style.top);r>=0?r+d.width()<=e(window).width()?i=t.clientX-p:(i=e(window).width()-d.width(),document.onmousemove=null):(i=0,document.onmousemove=null),n>=0?o=t.clientY-w:(o=0,document.onmousemove=null),document.onselectstart=function(){return!1},b(e("body")),b(d),d[0].style.left=i+"px",d[0].style.top=o+"px"};document.onmouseup=function(){x(e("body")),x(d),document.onselectstart=null,document.onmousemove=null},v.touchDraggable=function(){var t=null,i=function(i){var o=i.originalEvent,r=e(this).parent().position();t={x:o.changedTouches[0].pageX-r.left,y:o.changedTouches[0].pageY-r.top}},o=function(i){i.preventDefault();var o=i.originalEvent;e(this).parent().css({top:o.changedTouches[0].pageY-t.y,left:o.changedTouches[0].pageX-t.x})};this.bind("touchstart",i).bind("touchmove",o)},v.touchDraggable()}return t.dialogZindex+=2,d},t.mouseOrTouch=function(e,t){e=e||"click",t=t||"touchend";var i=e;try{document.createEvent("TouchEvent"),i=t}catch(o){}return i},t.dateFormat=function(e){e=e||"";var t=function(e){return 10>e?"0"+e:e},i=new Date,o=i.getFullYear(),r=o.toString().slice(2,4),n=t(i.getMonth()+1),a=t(i.getDate()),s=i.getDay(),l=t(i.getHours()),c=t(i.getMinutes()),d=t(i.getSeconds()),h=t(i.getMilliseconds()),u="",f=r+"-"+n+"-"+a,g=o+"-"+n+"-"+a,m=l+":"+c+":"+d;switch(e){case"UNIX Time":u=i.getTime();break;case"UTC":u=i.toUTCString();break;case"yy":u=r;break;case"year":case"yyyy":u=o;break;case"month":case"mm":u=n;break;case"cn-week-day":case"cn-wd":var p=["日","一","二","三","四","五","六"];u="星期"+p[s];break;case"week-day":case"wd":var w=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];u=w[s];break;case"day":case"dd":u=a;break;case"hour":case"hh":u=l;break;case"min":case"ii":u=c;break;case"second":case"ss":u=d;break;case"ms":u=h;break;case"yy-mm-dd":u=f;break;case"yyyy-mm-dd":u=g;break;case"yyyy-mm-dd h:i:s ms":case"full + ms":u=g+" "+m+" "+h;break;case"full":case"yyyy-mm-dd h:i:s":default:u=g+" "+m}return u},t}}); \ No newline at end of file +/*! Editor.md v1.3.0 | editormd.min.js | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-12 */ +!function(e){"use strict";"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?module.exports=e:"function"==typeof define?define.amd||define(["jquery"],e):window.editormd=e()}(function(){"use strict";var e="undefined"!=typeof jQuery?jQuery:Zepto;if("undefined"!=typeof e){var t=function(e,i){return new t.fn.init(e,i)};t.title=t.$name="Editor.md",t.version="1.2.0",t.homePage="https://pandao.github.io/editor.md/",t.classPrefix="editormd-",t.toolbarModes={full:["undo","redo","|","bold","del","italic","quote","ucwords","uppercase","lowercase","|","h1","h2","h3","h4","h5","h6","|","list-ul","list-ol","hr","|","link","anchor","image","code","preformatted-text","code-block","table","datetime","emoji","htmlEntities","|","watch","preview","fullscreen","clear","|","help","info"],simple:["undo","redo","|","bold","del","italic","quote","uppercase","lowercase","|","h1","h2","h3","h4","h5","h6","|","list-ul","list-ol","hr","|","watch","preview","fullscreen","|","help","info"],mini:["undo","redo","|","watch","preview","|","help","info"]},t.defaults={mode:"gfm",theme:"default",value:"",markdown:"",width:"100%",height:"100%",path:"../lib/",pluginPath:"",autoLoadModules:!0,watch:!0,placeholder:"now coding markdown...",codeFold:!1,autoHeight:!1,autoCloseTags:!0,searchReplace:!1,readOnly:!1,lineNumbers:!0,matchWordHighlight:!0,styleActiveLine:!0,dialogLockScreen:!0,dialogShowMask:!0,dialogDraggable:!0,dialogMaskBgColor:"#fff",dialogMaskOpacity:.1,fontSize:"13px",saveHTMLToTextarea:!1,disabledKeyMaps:[],onload:function(){},onresize:function(){},onchange:function(){},onwatch:null,onunwatch:null,onpreviewing:function(){},onpreviewed:function(){},onfullscreen:function(){},onfullscreenExit:function(){},onscroll:function(){},onpreviewscroll:function(){},imageUpload:!1,imageFormats:["jpg","jpeg","gif","png","bmp","webp"],imageUploadURL:"",crossDomainUpload:!1,uploadCallbackURL:"",toc:!0,tocStartLevel:1,htmlDecode:!1,atLink:!0,emailLink:!0,taskList:!1,emoji:!1,tex:!1,flowChart:!1,sequenceDiagram:!1,previewCodeHighlight:!0,toolbar:!0,toolbarAutoFixed:!0,toolbarIcons:function(){return t.toolbarModes.full},toolbarTitles:{},toolbarHandlers:{ucwords:function(){return t.toolbarHandlers.ucwords},lowercase:function(){return t.toolbarHandlers.lowercase}},toolbarCustomIcons:{lowercase:'a',ucwords:'Aa'},toolbarIconsClass:{undo:"fa-undo",redo:"fa-repeat",bold:"fa-bold",del:"fa-strikethrough",italic:"fa-italic",quote:"fa-quote-left",uppercase:"fa-font",h1:t.classPrefix+"bold",h2:t.classPrefix+"bold",h3:t.classPrefix+"bold",h4:t.classPrefix+"bold",h5:t.classPrefix+"bold",h6:t.classPrefix+"bold","list-ul":"fa-list-ul","list-ol":"fa-list-ol",hr:"fa-minus",link:"fa-link",anchor:"fa-anchor",image:"fa-picture-o",code:"fa-code","preformatted-text":"fa-file-code-o","code-block":"fa-file-code-o",table:"fa-table",datetime:"fa-clock-o",emoji:"fa-smile-o",htmlEntities:"fa-copyright",watch:"fa-eye-slash",unwatch:"fa-eye",preview:"fa-search",fullscreen:"fa-arrows-alt",clear:"fa-eraser",help:"fa-question-circle",info:"fa-info-circle"},toolbarIconTexts:{},lang:{name:"zh-cn",description:"开源在线Markdown编辑器
          A simple markdown doucment online editor.",toolbar:{undo:"撤销(Ctrl+Z)",redo:"重做(Ctrl+Y)",bold:"粗体",del:"删除线",italic:"斜体",quote:"引用",ucwords:"将每个单词首字母转成大写",uppercase:"将所选转换成大写",lowercase:"将所选转换成小写",h1:"标题1",h2:"标题2",h3:"标题3",h4:"标题4",h5:"标题5",h6:"标题6","list-ul":"无序列表","list-ol":"有序列表",hr:"横线",link:"链接",anchor:"锚点",image:"添加图片",code:"行内代码","preformatted-text":"预格式文本 / 代码块(缩进风格)","code-block":"代码块(多语言风格)",table:"添加表格",datetime:"日期时间",emoji:"Emoji表情",htmlEntities:"HTML实体字符",watch:"关闭实时预览",unwatch:"开启实时预览",preview:"全窗口预览HTML(可按ESC还原)",fullscreen:"全屏(按ESC还原)",clear:"清空",help:"使用帮助",info:"关于"+t.title},buttons:{enter:"确定",cancel:"取消",close:"关闭"},dialog:{link:{title:"添加链接",url:"链接地址",urlTitle:"链接标题",urlEmpty:"错误:请填写链接地址。"},anchor:{title:"添加锚点链接",name:"锚点名称",url:"链接地址",urlTitle:"链接标题",nameEmpty:"错误:锚点名称不能为空。",titleEmpty:"错误:请填写锚点链接标题。",urlEmpty:"错误:请填写锚点链接地址。"},image:{title:"添加图片",url:"图片地址",link:"图片链接",alt:"图片描述",uploadButton:"本地上传",imageURLEmpty:"错误:图片地址不能为空。",uploadFileEmpty:"错误:上传的图片不能为空。",formatNotAllowed:"错误:只允许上传图片文件,允许上传的图片文件格式有:"},preformattedText:{title:"添加预格式文本或代码块",emptyAlert:"错误:请填写预格式文本或代码的内容。"},codeBlock:{title:"添加代码块",selectLabel:"代码语言:",selectDefaultText:"请选择代码语言",otherLanguage:"其他语言",unselectedLanguageAlert:"错误:请选择代码所属的语言类型。",codeEmptyAlert:"错误:请填写代码内容。"},htmlEntities:{title:"HTML 实体字符"},help:{title:"使用帮助"}}}},t.classNames={tex:t.classPrefix+"tex"},t.dialogZindex=99999,t.$katex=null,t.$marked=null,t.$CodeMirror=null,t.$prettyPrint=null,t.prototype=t.fn={state:{watching:!1,loaded:!1,preview:!1,fullscreen:!1},init:function(i,o){o=o||{};var r=this,a=this.classPrefix=t.classPrefix,n=this.editor=e("#"+i),s=this.settings=e.extend(!0,t.defaults,o);this.id=i,this.lang=s.lang;var l=this.classNames={textarea:{html:this.classPrefix+"html-textarea",markdown:this.classPrefix+"markdown-textarea"}};s.pluginPath=""===s.pluginPath?this.settings.path+"../plugins/":s.pluginPath,this.state.watching=s.watch?!0:!1,n.hasClass("editormd")||n.addClass("editormd"),n.css({width:"number"==typeof s.width?s.width+"px":s.width,height:"number"==typeof s.height?s.height+"px":s.height}),s.autoHeight&&n.css("height","auto");var c=this.markdownTextarea=n.children("textarea");c.length<1&&(n.append(""),c=this.markdownTextarea=n.children("textarea")),c.addClass(l.textarea.markdown).attr("name",i+"-markdown-doc").attr("placeholder",s.placeholder);var d=[s.readOnly?"":'',s.saveHTMLToTextarea?'':"",'
          ','
          ','
          '].join("\n");return n.append(d).addClass(a+"vertical"),this.mask=n.children("."+a+"mask"),""!==s.markdown&&c.val(s.markdown),this.htmlTextarea=n.children("."+l.textarea.html),this.preview=n.children("."+a+"preview"),this.previewContainer=this.preview.children("."+a+"preview-container"),"function"==typeof define&&define.amd&&("undefined"!=typeof katex&&(t.$katex=katex),s.searchReplace&&(t.loadCSS(s.path+"codemirror/addon/dialog/dialog"),t.loadCSS(s.path+"codemirror/addon/search/matchesonscrollbar"))),"function"==typeof define&&define.amd||!s.autoLoadModules?("undefined"!=typeof CodeMirror&&(t.$CodeMirror=CodeMirror),"undefined"!=typeof marked&&(t.$marked=marked),r.setCodeMirror(),r.setToolbar(),r.loadedDisplay()):this.loadQueues(),this},loadQueues:function(){var e=this,i=this.settings,o=i.path,r=function(){return t.isIE8?void e.loadedDisplay():void(i.flowChart||i.sequenceDiagram?t.loadScript(o+"raphael.min",function(){t.loadScript(o+"underscore.min",function(){!i.flowChart&&i.sequenceDiagram?t.loadScript(o+"sequence-diagram.min",function(){e.loadedDisplay()}):i.flowChart&&!i.sequenceDiagram?t.loadScript(o+"flowchart.min",function(){t.loadScript(o+"jquery.flowchart.min",function(){e.loadedDisplay()})}):i.flowChart&&i.sequenceDiagram&&t.loadScript(o+"flowchart.min",function(){t.loadScript(o+"jquery.flowchart.min",function(){t.loadScript(o+"sequence-diagram.min",function(){e.loadedDisplay()})})})})}):e.loadedDisplay())};return t.loadCSS(o+"codemirror/codemirror.min"),i.searchReplace&&(t.loadCSS(o+"codemirror/addon/dialog/dialog"),t.loadCSS(o+"codemirror/addon/search/matchesonscrollbar")),i.codeFold&&t.loadCSS(o+"codemirror/addon/fold/foldgutter"),t.loadScript(o+"codemirror/codemirror.min",function(){t.$CodeMirror=CodeMirror,t.loadScript(o+"codemirror/modes.min",function(){t.loadScript(o+"codemirror/addons.min",function(){return e.setCodeMirror(),"gfm"!==i.mode&&"markdown"!==i.mode?(e.loadedDisplay(),!1):(e.setToolbar(),void t.loadScript(o+"marked.min",function(){t.$marked=marked,i.previewCodeHighlight?t.loadScript(o+"prettify.min",function(){r()}):r()}))})})}),this},setTheme:function(e){var i=this.settings;return i.theme=e,"default"!==e&&t.loadCSS(i.path+"codemirror/theme/"+i.theme),this.cm.setOption("theme",e),this},setCodeMirror:function(){var e=this.settings,i=this.editor;"default"!==e.theme&&t.loadCSS(e.path+"codemirror/theme/"+e.theme);var o={mode:e.mode,theme:e.theme,tabSize:4,dragDrop:!1,autofocus:!0,autoCloseTags:e.autoCloseTags,readOnly:e.readOnly?"nocursor":!1,indentUnit:4,lineNumbers:e.lineNumbers,lineWrapping:!0,extraKeys:{"Ctrl-Q":function(e){e.foldCode(e.getCursor())}},foldGutter:e.codeFold,gutters:["CodeMirror-linenumbers","CodeMirror-foldgutter"],matchBrackets:!0,indentWithTabs:!0,styleActiveLine:e.styleActiveLine,styleSelectedText:!0,autoCloseBrackets:!0,showTrailingSpace:!0,highlightSelectionMatches:e.matchWordHighlight?{showToken:"onselected"==e.matchWordHighlight?!1:/\w/}:!1};return this.codeEditor=this.cm=t.$CodeMirror.fromTextArea(this.markdownTextarea[0],o),this.codeMirror=this.cmElement=i.children(".CodeMirror"),""!==e.value&&this.cm.setValue(e.value),this.codeMirror.css({fontSize:e.fontSize,width:e.watch?"50%":"100%"}),e.autoHeight&&(this.codeMirror.css("height","auto"),this.cm.setOption("viewportMargin",1/0)),this},getCodeMirrorOption:function(e){return this.cm.getOption(e)},setCodeMirrorOption:function(e,t){return this.cm.setOption(e,t),this},addKeyMap:function(e,t){return this.cm.addKeyMap(e,t),this},removeKeyMap:function(e){return this.cm.removeKeyMap(e),this},"extends":function(){return"undefined"!=typeof arguments[1]&&("function"==typeof arguments[1]&&(arguments[1]=e.proxy(arguments[1],this)),this[arguments[0]]=arguments[1]),"object"==typeof arguments[0]&&"undefined"==typeof arguments[0].length&&e.extend(!0,this,arguments[0]),this},set:function(t,i){return"undefined"!=typeof i&&"function"==typeof i&&(i=e.proxy(i,this)),this[t]=i,this},config:function(t,i){var o=this.settings;return"object"==typeof t&&(o=e.extend(!0,o,t)),"string"==typeof t&&(o[t]=i),this.settings=o,this.recreate(),this},on:function(t,i){var o=this.settings;return"undefined"!=typeof o["on"+t]&&(o["on"+t]=e.proxy(i,this)),this},off:function(e){var t=this.settings;return"undefined"!=typeof t["on"+e]&&(t["on"+e]=function(){}),this},showToolbar:function(t){var i=this.settings;if(!i.readOnly)return i.toolbar&&(this.toolbar.length<1||""===this.toolbar.find("."+this.classPrefix+"menu").html())&&this.setToolbar(),i.toolbar=!0,this.toolbar.show(),this.resize(),e.proxy(t||function(){},this)(),this},hideToolbar:function(t){var i=this.settings;return i.toolbar=!1,this.toolbar.hide(),this.resize(),e.proxy(t||function(){},this)(),this},setToolbarAutoFixed:function(t){var i=this.state,o=this.editor,r=this.toolbar,a=this.settings;"undefined"!=typeof t&&(a.toolbarAutoFixed=t);var n=function(){var t=e(window).scrollTop();return a.toolbarAutoFixed?void r.css(t-o.offset().top>10?{position:"fixed",width:o.width()+"px",left:(e(window).width()-o.width())/2+"px"}:{position:"absolute",width:"100%",left:0}):!1};return!i.fullscreen&&!i.preview&&a.toolbar&&a.toolbarAutoFixed&&e(window).bind("scroll",n),a.toolbarAutoFixed||e(window).unbind("scroll",n),this},setToolbar:function(){var e=this.settings;if(!e.readOnly){var i=this.editor,o=(this.preview,this.classPrefix),r=this.toolbar=i.children("."+o+"toolbar");if(e.toolbar&&r.length<1&&(i.append('
            '),r=this.toolbar=i.children("."+o+"toolbar")),!e.toolbar)return void r.hide();r.show();for(var a="function"==typeof e.toolbarIcons?e.toolbarIcons():"string"==typeof e.toolbarIcons?t.toolbarModes[e.toolbarIcons]:e.toolbarIcons,n=r.find("."+this.classPrefix+"menu"),s="",l=0,c=a.length;c>l;l++){var d=a[l];if("|"!==d){var h=/h(\d)/.test(d),u=d;"watch"!==d||e.watch||(u="unwatch");var f=e.lang.toolbar[u],g=e.toolbarIconTexts[u],p=e.toolbarIconsClass[u];f="undefined"==typeof f?"":f,g="undefined"==typeof g?"":g,p="undefined"==typeof p?"":p,s+="
          • ",s+="undefined"!=typeof e.toolbarCustomIcons[d]?e.toolbarCustomIcons[d]:''+(h?d:""===p?g:"")+"",s+="
          • "}else s+='
          • |
          • '}return n.html(s),n.find('[title="Lowercase"]').attr("title",e.lang.toolbar.lowercase),n.find('[title="ucwords"]').attr("title",e.lang.toolbar.ucwords),this.setToolbarHandler(),this.setToolbarAutoFixed(),this}},dialogLockScreen:function(){return e.proxy(t.dialogLockScreen,this)(),this},dialogShowMask:function(i){return e.proxy(t.dialogShowMask,this)(i),this},getToolbarHandles:function(e){var i=this.toolbarHandlers=t.toolbarHandlers;return e&&"undefined"!=typeof toolbarIconHandlers[e]?i[e]:i},setToolbarHandler:function(){var i=this,o=this.settings;if(o.toolbar&&!o.readOnly){var r=(this.editor,this.preview,this.toolbar),a=this.codeEditor,n=(this.codeMirror,this.classPrefix),s=(this.previewContainer,this.toolbarIcons=r.find("."+n+"menu > li > a")),l=this.getToolbarHandles();return s.bind(t.mouseOrTouch("click","touchend"),function(){var t=e(this).children(".fa"),r=t.attr("name"),n=a.getCursor(),s=a.getSelection();return""!==r?(i.activeIcon=t,"undefined"!=typeof l[r]?e.proxy(l[r],i)(a):"undefined"!=typeof o.toolbarHandlers[r]&&e.proxy(o.toolbarHandlers[r],i)(a,t,n,s),"link"!==r&&"anchor"!==r&&"image"!==r&&"code-block"!==r&&"preformatted-text"!==r&&"watch"!==r&&"preview"!==r&&"fullscreen"!==r&&"info"!==r&&a.focus(),!1):void 0}),this}},createDialog:function(i){return e.proxy(t.createDialog,this)(i)},createInfoDialog:function(){var e=this,i=this.editor,o=this.classPrefix,r=['
            ','
            ','

            '+t.title+"v"+t.version+"

            ","

            "+this.lang.description+"

            ",'

            Home page: '+t.homePage+"

            ","

            License: MIT

            ","
            ",'',"
            "].join("\n");i.append(r);var a=this.infoDialog=i.children("."+o+"dialog-info");return a.find("."+o+"dialog-close").bind(t.mouseOrTouch("click","touchend"),function(){e.hideInfoDialog()}),a.css("border",t.isIE8?"1px solid #ddd":"").css("z-index",t.dialogZindex).show(),this.infoDialogPosition(),this},infoDialogPosition:function(){var t=this.infoDialog,i=function(){t.css({top:(e(window).height()-t.height())/2+"px",left:(e(window).width()-t.width())/2+"px"})};return i(),e(window).resize(i),this},showInfoDialog:function(){e("html,body").css("overflow-x","hidden");var i=this.editor,o=this.settings,r=this.classPrefix,a=this.infoDialog=i.children("."+r+"dialog-info");return a.length<1&&this.createInfoDialog(),this.lockScreen(!0),this.mask.css({opacity:o.dialogMaskOpacity,backgroundColor:o.dialogMaskBgColor}).show(),a.css("z-index",t.dialogZindex).show(),this.infoDialogPosition(),this},hideInfoDialog:function(){return e("html,body").css("overflow-x",""),this.infoDialog.hide(),this.mask.hide(),this.lockScreen(!1),this},lockScreen:function(e){return t.lockScreen(e),this},recreate:function(){var e=this.editor,t=this.settings,i=t.toolbarIcons();return this.codeMirror.remove(),this.setCodeMirror(),"undefined"!=typeof this.infoDialog&&this.infoDialog.remove(),"undefined"!=typeof i.info&&createInfoDialog(),t.readOnly||(e.find(".editormd-dialog").length>0&&e.find(".editormd-dialog").remove(),t.toolbar&&(this.getToolbarHandles(),this.setToolbar())),this.saveToTextareas(),this.resize(),this.registerKeyMaps(),this},previewCodeHighlight:function(){var e=this.settings,t=this.previewContainer;return e.previewCodeHighlight&&(t.find("pre").addClass("prettyprint linenums"),"undefined"!=typeof prettyPrint&&prettyPrint()),this},katexRender:function(){var i=this.previewContainer;return i.find("."+t.classNames.tex).each(function(){var i=e(this);t.$katex.render(i.html(),i[0])}),this},flowChartAndSequenceDiagramRender:function(){var e=this.settings,i=this.previewContainer;return t.isIE8?void 0:(e.flowChart&&i.find(".flowchart").flowChart(),e.sequenceDiagram&&i.find(".sequence-diagram").sequenceDiagram({theme:"simple"}),this)},registerKeyMaps:function(i){i=i||null;var o=this,r=this.cm,a=this.settings;if(i){for(var n in i)if(e.inArray(n,a.disabledKeyMaps)<0){var s={};s[n]=i[n],r.addKeyMap(i)}}else{for(var n in t.keyMaps){var i=t.keyMaps[n],l="string"==typeof i?e.proxy(t.toolbarHandlers[i],o):e.proxy(i,o);if(e.inArray(n,["F9","F10","F11"])<0&&e.inArray(n,a.disabledKeyMaps)<0){var s={};s[n]=l,r.addKeyMap(s)}}e(window).keydown(function(i){var r={120:"F9",121:"F10",122:"F11"};if(e.inArray(r[i.keyCode],a.disabledKeyMaps)<0)switch(i.keyCode){case 120:return e.proxy(t.toolbarHandlers.watch,o)(),!1;case 121:return e.proxy(t.toolbarHandlers.preview,o)(),!1;case 122:e.proxy(t.toolbarHandlers.fullscreen,o)()}})}return this},loadedDisplay:function(){var i=this,o=this.editor,r=this.preview,a=this.settings,n=this.codeEditor,s=this.codeMirror,l=(this.previewContainer,t.mouseOrTouch);o.children("."+this.classPrefix+"container-mask").hide(),this.saveToTextareas(),a.watch&&r.show(),o.data("oldWidth",o.width()).data("oldHeight",o.height()),this.resize(),this.registerKeyMaps(),e(window).resize(function(){i.resize()});var c=function(){s.find(".CodeMirror-scroll").bind(l("scroll","touchmove"),function(t){var i=e(this).height(),o=e(this).scrollTop(),n=o/e(this)[0].scrollHeight;r.scrollTop(0===o?0:o+i>=e(this)[0].scrollHeight?r[0].scrollHeight:r[0].scrollHeight*n),e.proxy(a.onscroll,this)(t)})},d=function(){s.find(".CodeMirror-scroll").unbind(l("scroll","touchmove"))},h=function(){r.bind(l("scroll","touchmove"),function(){var t=e(this).height(),i=e(this).scrollTop(),o=i/e(this)[0].scrollHeight,r=s.find(".CodeMirror-scroll");r.scrollTop(0===i?0:i+t>=e(this)[0].scrollHeight?r[0].scrollHeight:r[0].scrollHeight*o),e.proxy(a.onpreviewscroll,this)(event)})},u=function(){r.unbind(l("scroll","touchmove"))};return s.bind({mouseover:c,mouseout:d,touchstart:c,touchend:d}),r.bind({mouseover:h,mouseout:u,touchstart:h,touchend:u}),n.on("change",function(){i.previewContainer.css("padding-left",a.autoHeight&&e("body").height()>e(window).height()?"30px":"20px"),i.saveToTextareas()}),e.proxy(a.onload,this)(),this.state.loaded=!0,this},width:function(e){return this.editor.css("width","number"==typeof e?e+"px":e),this.resize(),this},height:function(e){return this.editor.css("height","number"==typeof e?e+"px":e),this.resize(),this},resize:function(t,i){t=t||null,i=i||null;var o=this.state,r=this.editor,a=this.preview,n=this.toolbar,s=this.settings,l=(this.codeEditor,this.codeMirror);return t&&r.css({width:"number"==typeof t?t+"px":t}),!s.autoHeight||o.fullscreen||o.preview?(i&&r.css({height:"number"==typeof i?i+"px":i}),o.fullscreen&&r.height(e(window).height()),s.toolbar&&!s.readOnly?l.css("margin-top",n.height()+1).height(r.height()-n.height()):l.css("margin-top",0).height(r.height())):(r.css("height","auto"),l.css("height","auto")),l.find(".CodeMirror-gutters").height(l.height()),s.watch?(l.width(r.width()/2),a.width(o.preview?r.width():r.width()/2),s.toolbar&&!s.readOnly?a.css("top",n.height()):a.css("top",0),a.height(!s.autoHeight||o.fullscreen||o.preview?s.toolbar&&!s.readOnly?r.height()-n.height():r.height():"auto")):(l.width(r.width()),a.hide()),o.loaded&&e.proxy(s.onresize,this)(),this},saveToTextareas:function(){var i=this,o=this.state,r=this.settings,a=this.codeEditor,n=this.previewContainer,s=a.getValue();if("gfm"!==r.mode&&"markdown"!==r.mode)return this.markdownTextarea[0].innerText=s,this;var l=t.$marked,c=this.markdownToC=[],d=this.markedRendererOptions={toc:r.toc,tocStartLevel:r.tocStartLevel,taskList:r.taskList,emoji:r.emoji,tex:r.tex,atLink:r.atLink,emailLink:r.emailLink,flowChart:r.flowChart,sequenceDiagram:r.sequenceDiagram,previewCodeHighlight:r.previewCodeHighlight},h=this.markedOptions={renderer:t.markedRenderer(c,d),gfm:!0,tables:!0,breaks:!0,pedantic:!1,sanitize:r.htmlDecode?!1:!0,smartLists:!0,smartypants:!0};l.setOptions(h),s=t.filterHTMLTags(s,r.htmlDecode);var u=t.$marked(s,h);if(this.markdownTextarea[0].innerText=s,a.save(),r.saveHTMLToTextarea&&this.htmlTextarea.html(u),r.watch||!r.watch&&o.preview){if(n.html(u),this.previewCodeHighlight(),r.toc&&t.markdownToCRenderer(c,n,r.tocStartLevel),r.tex&&(!t.kaTeXLoaded&&r.autoLoadModules?t.loadKaTeX(function(){t.$katex=katex,t.kaTeXLoaded=!0,i.katexRender()}):(t.$katex=katex,this.katexRender())),r.flowChart||r.sequenceDiagram)var f=setTimeout(function(){clearTimeout(f),i.flowChartAndSequenceDiagramRender()},10);o.loaded&&e.proxy(r.onchange,this)()}return this},focus:function(){return this.codeEditor.focus(),this},setCursor:function(e){return this.codeEditor.setCursor(e),this},getCursor:function(){return this.codeEditor.getCursor()},setSelection:function(e,t){return this.codeEditor.setSelection(e,t),this},getSelection:function(){return this.codeEditor.getSelection()},setSelections:function(e){return this.cm.setSelections(e),this},getSelections:function(){return this.cm.getSelections()},replaceSelection:function(e){return this.codeEditor.replaceSelection(e),this},insertValue:function(e){return this.replaceSelection(e),this},setMarkdown:function(e){var t=this.settings;return this.codeEditor.setValue(e||t.markdown),this},getMarkdown:function(){return this.codeEditor.getValue()},getValue:function(){return this.codeEditor.getValue()},setValue:function(e){return this.codeEditor.setValue(e),this},clear:function(){return this.codeEditor.setValue(""),this},getHTML:function(){return this.settings.saveHTMLToTextarea?this.htmlTextarea.html():(alert("Error: settings.saveHTMLToTextarea == false"),!1)},getTextareaSavedHTML:function(){return this.getHTML()},getPreviewedHTML:function(){return this.settings.watch?this.previewContainer.html():(alert("Error: settings.watch == false"),!1)},watch:function(t){var i=this.settings;this.state.watching=i.watch=!0,this.preview.show();var o=i.toolbarIconsClass.watch,r=i.toolbarIconsClass.unwatch,a=this.toolbar.find(".fa[name=watch]");return a.parent().attr("title",i.lang.toolbar.watch),a.removeClass(r).addClass(o),this.codeMirror.css("border-right","1px solid #ddd").width(this.editor.width()/2),this.saveToTextareas().resize(),i.onwatch||(i.onwatch=t||function(){}),e.proxy(i.onwatch,this)(),this},unwatch:function(t){var i=this.settings;this.state.watching=i.watch=!1,this.preview.hide();var o=i.toolbarIconsClass.watch,r=i.toolbarIconsClass.unwatch;if(this.toolbar){var a=this.toolbar.find(".fa[name=watch]");a.parent().attr("title",i.lang.toolbar.unwatch),a.removeClass(o).addClass(r)}return this.codeMirror.css("border-right","none").width(this.editor.width()),this.resize(),i.onunwatch||(i.onunwatch=t||function(){}),e.proxy(i.onunwatch,this)(),this},show:function(t){t=t||function(){};var i=this;return this.editor.show(0,function(){e.proxy(t,i)()}),this},hide:function(t){t=t||function(){};var i=this;return this.editor.hide(0,function(){e.proxy(t,i)()}),this},previewing:function(){var i=this,o=this.editor,r=this.preview,a=this.toolbar,n=this.settings,s=this.codeMirror;n.toolbar&&(a.toggle(),a.find(".fa[name=preview]").toggleClass("active")),s.toggle();var l=function(e){e.shiftKey&&27===e.keyCode&&i.previewed()};"none"===s.css("display")?(this.state.preview=!0,this.state.fullscreen&&r.css("background","#fff"),o.find("."+this.classPrefix+"preview-close-btn").show().bind(t.mouseOrTouch("click","touchend"),function(){i.previewed()}),n.watch||this.saveToTextareas(),r.show().css({position:"static",top:0,width:o.width(),height:n.autoHeight&&!this.state.fullscreen?"auto":o.height()}),this.state.loaded&&e.proxy(n.onpreviewing,this)(),e(window).bind("keyup",l)):(e(window).unbind("keyup",l),this.previewed())},previewed:function(){var i=this.editor,o=this.preview,r=this.toolbar,a=this.settings,n=this.codeMirror,s=i.find("."+this.classPrefix+"preview-close-btn");return this.state.preview=!1,n.show(),a.toolbar&&r.show(),this.settings.watch?o.show():o.hide(),s.hide().unbind(t.mouseOrTouch("click","touchend")),o.css({background:null,position:"absolute",width:i.width()/2,height:a.autoHeight&&!this.state.fullscreen?"auto":i.height()-r.height(),top:a.toolbar?r.height():0}),this.state.loaded&&e.proxy(a.onpreviewed,this)(),this},fullscreen:function(){var t=this,i=this.editor,o=(this.preview,this.toolbar),r=this.classPrefix+"fullscreen";o&&o.find(".fa[name=fullscreen]").parent().toggleClass("active");var a=function(e){e.shiftKey||27!==e.keyCode||t.state.fullscreen&&t.fullscreenExit()};return i.hasClass(r)?(e(window).unbind("keyup",a),this.fullscreenExit()):(this.state.fullscreen=!0,e("html,body").css("overflow","hidden"),i.css({position:"fixed",top:0,left:0,margin:0,border:"none",width:e(window).width(),height:e(window).height()}).addClass(r),this.resize(),e.proxy(this.settings.onfullscreen,this)(),e(window).bind("keyup",a)),this},fullscreenExit:function(){var t=this.editor,i=this.toolbar,o=this.classPrefix+"fullscreen";return this.state.fullscreen=!0,i&&i.find(".fa[name=fullscreen]").parent().removeClass("active"),e("html,body").css("overflow",""),t.css({position:"",top:"",left:"",margin:"0 auto 15px",width:t.data("oldWidth"),height:t.data("oldHeight"),border:"1px solid #ddd"}).removeClass(o),this.resize(),e.proxy(this.settings.onfullscreenExit,this)(),this},executePlugin:function(i,o){var r=this,a=this.cm,n=this.settings;return"function"==typeof define?void this[i](a):(o=n.pluginPath+o,void(e.inArray(o,t.loadFiles.plugin)<0?t.loadPlugin(o,function(){t.loadPlugins[i]=r[i],r[i](a)}):e.proxy(t.loadPlugins[i],this)(a)))}},t.fn.init.prototype=t.fn,t.dialogLockScreen=function(){var t=this.settings;t.dialogLockScreen&&e("html,body").css("overflow","hidden")},t.dialogShowMask=function(t){var i=this.editor,o=this.settings;t.css({top:(e(window).height()-t.height())/2+"px",left:(e(window).width()-t.width())/2+"px"}),o.dialogShowMask&&i.children("."+this.classPrefix+"mask").css("z-index",parseInt(t.css("z-index"))-1).show()},t.toolbarHandlers={undo:function(){this.cm.undo()},redo:function(){this.cm.redo()},bold:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("**"+i+"**"),""===i&&e.setCursor(t.line,t.ch+2)},del:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("~~"+i+"~~"),""===i&&e.setCursor(t.line,t.ch+2)},italic:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("*"+i+"*"),""===i&&e.setCursor(t.line,t.ch+1)},quote:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("> "+i),e.setCursor(t.line,""===i?t.ch+2:t.ch+i.length+2)},ucfirst:function(){var e=this.cm,i=e.getSelection(),o=e.listSelections();e.replaceSelection(t.firstUpperCase(i)),e.setSelections(o)},ucwords:function(){var e=this.cm,i=e.getSelection(),o=e.listSelections();e.replaceSelection(t.wordsFirstUpperCase(i)),e.setSelections(o)},uppercase:function(){var e=this.cm,t=e.getSelection(),i=e.listSelections();e.replaceSelection(t.toUpperCase()),e.setSelections(i)},lowercase:function(){var e=this.cm,t=(e.getCursor(),e.getSelection()),i=e.listSelections();e.replaceSelection(t.toLowerCase()),e.setSelections(i)},h1:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("# "+t)},h2:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("## "+t)},h3:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("### "+t)},h4:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("#### "+t)},h5:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("##### "+t)},h6:function(){var e=this.cm,t=e.getSelection();e.replaceSelection("###### "+t)},"list-ul":function(){var e=this.cm,t=(e.getCursor(),e.getSelection());if(""===t)e.replaceSelection("- "+t);else{for(var i=t.split("\n"),o=0,r=i.length;r>o;o++)i[o]=""===i[o]?"":"- "+i[o];e.replaceSelection(i.join("\n"))}},"list-ol":function(){var e=this.cm,t=(e.getCursor(),e.getSelection());if(""===t)e.replaceSelection("1. "+t);else{for(var i=t.split("\n"),o=0,r=i.length;r>o;o++)i[o]=""===i[o]?"":o+1+". "+i[o];e.replaceSelection(i.join("\n"))}},hr:function(){{var e=this.cm;e.getCursor(),e.getSelection()}e.replaceSelection("------------")},link:function(){this.executePlugin("linkDialog","link-dialog/link-dialog")},anchor:function(){this.executePlugin("anchorLinkDialog","anchor-link-dialog/anchor-link-dialog")},image:function(){this.executePlugin("imageDialog","image-dialog/image-dialog")},code:function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("`"+i+"`"),""===i&&e.setCursor(t.line,t.ch+1)},"code-block":function(){this.executePlugin("codeBlockDialog","code-block-dialog/code-block-dialog")},"preformatted-text":function(){this.executePlugin("preformattedTextDialog","preformatted-text-dialog/preformatted-text-dialog")},table:function(){this.executePlugin("tableDialog","table-dialog/table-dialog")},datetime:function(){var e=this.cm,i=(e.getSelection(),new Date,this.settings.lang.name),o=t.dateFormat()+" "+t.dateFormat("zh-cn"===i||"zh-tw"===i?"cn-week-day":"week-day");e.replaceSelection(o)},emoji:function(){this.executePlugin("emojiDialog","emoji-dialog/emoji-dialog")},htmlEntities:function(){this.executePlugin("htmlEntitiesDialog","html-entities-dialog/html-entities-dialog")},watch:function(){this[this.settings.watch?"unwatch":"watch"]()},preview:function(){this.previewing()},fullscreen:function(){this.fullscreen()},clear:function(){this.clear()},help:function(){this.executePlugin("helpDialog","help-dialog/help-dialog")},info:function(){this.showInfoDialog()}},t.keyMaps={"Ctrl-B":"bold","Ctrl-I":"italic","Ctrl-K":"code","Shift-Ctrl-C":"code","Shift-Ctrl-Q":"quote","Shift-Ctrl-S":"del","Ctrl-H":"hr","Ctrl-1":"h1","Ctrl-2":"h2","Ctrl-3":"h3","Ctrl-4":"h4","Ctrl-5":"h5","Ctrl-6":"h6","Ctrl-D":"datetime","Ctrl-E":function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection(":"+i+":"),""===i&&e.setCursor(t.line,t.ch+1)},"Ctrl-L":function(){var e=this.cm,t=e.getCursor(),i=e.getSelection(),o=""===i?"":' "'+i+'"';e.replaceSelection("["+i+"]("+o+")"),""===i&&e.setCursor(t.line,t.ch+1)},"Ctrl-U":"list-ul","Shift-Ctrl-A":function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection("@"+i),""===i&&e.setCursor(t.line,t.ch+1)},"Shift-Alt-C":function(){var e=this.cm,t=e.getCursor(),i=e.getSelection();e.replaceSelection(["```",i,"```"].join("\n")),""===i&&e.setCursor(t.line,t.ch+3)},"Shift-Ctrl-Alt-C":"code-block","Shift-Ctrl-H":"htmlEntities","Shift-Alt-H":"help","Shift-Ctrl-E":"emoji","Shift-Ctrl-U":"uppercase","Shift-Alt-U":"ucwords","Shift-Ctrl-Alt-U":"ucfirst","Shift-Alt-L":"lowercase","Shift-Ctrl-I":function(){var e=this.cm,t=e.getCursor(),i=e.getSelection(),o=""===i?"":' "'+i+'"';e.replaceSelection("!["+i+"]("+o+")"),""===i&&e.setCursor(t.line,t.ch+4)},"Shift-Ctrl-Alt-I":"image","Shift-Ctrl-L":"link","Shift-Ctrl-O":"list-ol","Shift-Ctrl-P":"preformatted-text","Shift-Ctrl-T":"table",F9:"watch",F10:"preview",F11:"fullscreen"};var i=function(e){return String.prototype.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};t.trim=i;var o=function(e){return e.toLowerCase().replace(/\b(\w)|\s(\w)/g,function(e){return e.toUpperCase()})};t.ucwords=t.wordsFirstUpperCase=o;var r=function(e){return e.toLowerCase().replace(/\b(\w)/,function(e){return e.toUpperCase()})};return t.firstUpperCase=t.ucfirst=r,t.urls={atLinkBase:"https://github.com/"},t.regexs={atLink:/@(\w+)/g,email:/(\w+)@(\w+)\.(\w+)\.?(\w+)?/g,emailLink:/(mailto:)?([\w\.\_]+)@(\w+)\.(\w+)\.?(\w+)?/g,emoji:/:([\-\w]+):/g,twemoji:/:(tw-([\w]+)-?(\w+)?):/g,fontAwesome:/:(fa-([\w]+)(-(\w+)){0,}):/g,editormdLogo:/:(editormd-logo-?(\w+)?):/g},t.emoji={path:"http://www.emoji-cheat-sheet.com/graphics/emojis/",ext:".png"},t.twemoji={ +path:"http://twemoji.maxcdn.com/36x36/",ext:".png"},t.markedRenderer=function(o,r){var a={toc:!0,tocStartLevel:1,atLink:!0,emailLink:!0,taskList:!1,emoji:!1,tex:!1,flowChart:!1,sequenceDiagram:!1},n=e.extend(a,r||{}),s=t.$marked,l=new s.Renderer;o=o||[];var c=t.regexs.atLink,d=t.regexs.emoji,h=t.regexs.email,u=t.regexs.emailLink,f=t.regexs.twemoji,g=t.regexs.fontAwesome,p=t.regexs.editormdLogo;return l.emoji=function(e){var i=e.match(d);if(!i||!n.emoji)return e;for(var o=0,r=i.length;r>o;o++)e=e.replace(new RegExp(i[o]),function(e){var i=e.match(g),o=e.replace(/:/g,"");if(i)for(var r=0,a=i.length;a>r;r++){var n=i[r].replace(/:/g,"");return''}else{var s=e.match(p),l=e.match(f);if(s)for(var c=0,d=s.length;d>c;c++){var h=s[c].replace(/:/g,"");return''}else{if(!l)return':'+o+':';for(var u=0,m=l.length;m>u;u++){var w=l[u].replace(/:/g,"").replace("tw-","");return'twemoji-'+w+''}}}});return e},l.atLink=function(e){return c.test(e)?(n.atLink&&(e=e.replace(h,function(e){return e.replace(/@/g,"_#_@_#_")}),e=e.replace(c,function(e,i){return''+e+""}).replace(/_#_@_#_/g,"@")),n.emailLink&&(e=e.replace(u,function(e,t){return t?e:''+e+""})),e):e},l.link=function(e,t,i){if(this.options.sanitize){try{var o=decodeURIComponent(unescape(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(r){return""}if(0===o.indexOf("javascript:"))return""}var a=''+i.replace(/@/g,"@")+""):(t&&(a+=' title="'+t+'"'),a+=">"+i+"")},l.heading=function(e,t){var r=e,a=/\s*\]*)\>(.*)\<\/a\>\s*/;if(a.test(e)){var n=[];e=e.split(/\]+)\>([^\>]*)\<\/a\>/);for(var s=0,l=e.length;l>s;s++)n.push(e[s].replace(/\s*href\=\"(.*)\"\s*/g,""));e=n.join(" ")}e=i(e);var c=e.toLowerCase().replace(/[^\w]+/g,"-"),d={text:e,level:t,slug:c},h=/^[\u4e00-\u9fa5]+$/.test(e),u=h?escape(e).replace(/\%/g,""):e.toLowerCase().replace(/[^\w]+/g,"-");o.push(d);var f="';return f+='',f+='',f+=this.atLink(a?this.emoji(r):this.emoji(e)),f+=""},l.paragraph=function(e){var i=/\$\$(.*)\$\$/g.test(e),o=/^\$\$(.*)\$\$$/.test(e),r=o?' class="'+t.classNames.tex+'"':"",a=/^\[TOC\]$/.test(e);return e=!o&&i?e.replace(/(\$\$([^\$]*)\$\$)+/g,function(e,i){return''+i.replace(/\$/g,"")+""}):o?e.replace(/\$/g,""):e,a?'
              '+e+"
            ":""+this.atLink(this.emoji(e))+"

            \n"},l.code=function(e,t){return"seq"===t||"sequence"===t?'
            '+e+"
            ":"flow"===t?'
            '+e+"
            ":s.Renderer.prototype.code.apply(this,arguments)},l.tablecell=function(e,t){var i=t.header?"th":"td",o=t.align?"<"+i+' style="text-align:'+t.align+'">':"<"+i+">";return o+this.atLink(this.emoji(e))+"\n"},l.listitem=function(e){return n.taskList&&/^\s*\[[x\s]\]\s*/.test(e)?(e=e.replace(/^\s*\[\s\]\s*/,' ').replace(/^\s*\[x\]\s*/,' '),'
          • '+this.atLink(this.emoji(e))+"
          • "):"
          • "+this.atLink(this.emoji(e))+"
          • "},l},t.markdownToCRenderer=function(e,t,i){var o="",r=0;i=i||1;for(var a=0,n=e.length;n>a;a++){var s=e[a].text,l=e[a].level;i>l||(o+=l>r?"":r>l?new Array(r-l+2).join("
        • "):"",o+='
        • '+s+"
            ",r=l)}var c=t.find(".markdown-toc");return c.children(".markdown-toc-list").html("").html(o),c},t.filterHTMLTags=function(e,t){if("string"==typeof t)for(var i=t.split(","),o=0,r=i.length;r>o;o++){var a=i[o];e=e.replace(new RegExp("]*)>","igm"),"").replace(new RegExp("","igm"),"")}return e},t.markdownToHTML=function(i,o){var r={gfm:!0,toc:!0,tocStartLevel:1,markdown:"",htmlDecode:!1,autoLoadKaTeX:!0,atLink:!0,emailLink:!0,tex:!1,taskList:!1,emoji:!1,flowChart:!1,sequenceDiagram:!1,previewCodeHighlight:!0};t.$marked=marked;var a=e("#"+i),n=a.settings=e.extend(!0,r,o||{}),s=a.find("textarea"),l=""===n.markdown?s.val():n.markdown,c=[],d={toc:n.toc,tocStartLevel:n.tocStartLevel,taskList:n.taskList,emoji:n.emoji,tex:n.tex,atLink:n.atLink,emailLink:n.emailLink,flowChart:n.flowChart,sequenceDiagram:n.sequenceDiagram,previewCodeHighlight:n.previewCodeHighlight},h={renderer:t.markedRenderer(c,d),gfm:n.gfm,tables:!0,breaks:!0,pedantic:!1,sanitize:n.htmlDecode?!1:!0,smartLists:!0,smartypants:!0};l=t.filterHTMLTags(l,n.htmlDecode);var u=marked(l,h);if(t.isIE8?s.val(l):s.html(l),a.addClass("markdown-body "+this.classPrefix+"html-preview").append(u),n.toc&&(a.tocContainer=this.markdownToCRenderer(c,a,n.tocStartLevel)),n.previewCodeHighlight&&(a.find("pre").addClass("prettyprint linenums"),prettyPrint()),t.isIE8||(n.flowChart&&a.find(".flowchart").flowChart(),n.sequenceDiagram&&a.find(".sequence-diagram").sequenceDiagram({theme:"simple"})),n.tex){var f=function(){a.find("."+t.classNames.tex).each(function(){var t=e(this);katex.render(t.html(),t[0])})};!n.autoLoadKaTeX||t.$katex||t.kaTeXLoaded?f():this.loadKaTeX(function(){t.$katex=katex,t.kaTeXLoaded=!0,f()})}return a.getMarkdown=function(){return t.isIE8?s.val():s.html()},a},t.themes=["default","3024-day","3024-night","ambiance","ambiance-mobile","base16-dark","base16-light","blackboard","cobalt","eclipse","elegant","erlang-dark","lesser-dark","mbo","mdn-like","midnight","monokai","neat","neo","night","paraiso-dark","paraiso-light","pastel-on-dark","rubyblue","solarized","the-matrix","tomorrow-night-eighties","twilight","vibrant-ink","xq-dark","xq-light"],t.loadPlugins={},t.loadFiles={js:[],css:[],plugin:[]},t.loadPlugin=function(e,i,o){i=i||function(){},this.loadScript(e,function(){t.loadFiles.plugin.push(e),i()},o)},t.loadCSS=function(e,i,o){o=o||"head",i=i||function(){};var r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.onload=r.onreadystatechange=function(){t.loadFiles.css.push(e),i()},r.href=e+".css","head"===o?document.getElementsByTagName("head")[0].appendChild(r):document.body.appendChild(r)},t.isIE="Microsoft Internet Explorer"==navigator.appName,t.isIE8=t.isIE&&"8."==navigator.appVersion.match(/8./i),t.loadScript=function(e,i,o){o=o||"head",i=i||function(){};var r=null;r=document.createElement("script"),r.id=e.replace(/[\./]+/g,"-"),r.type="text/javascript",r.src=e+".js",t.isIE8?r.onreadystatechange=function(){r.readyState&&("loaded"===r.readyState||"complete"===r.readyState)&&(r.onreadystatechange=null,t.loadFiles.js.push(e),i())}:r.onload=function(){t.loadFiles.js.push(e),i()},"head"===o?document.getElementsByTagName("head")[0].appendChild(r):document.body.appendChild(r)},t.katexURL={css:"http://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.1.1/katex.min",js:"http://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.1.1/katex.min"},t.kaTeXLoaded=!1,t.loadKaTeX=function(e){t.loadCSS(t.katexURL.css,function(){t.loadScript(t.katexURL.js,e||function(){})})},t.lockScreen=function(t){e("html,body").css("overflow",t?"hidden":"")},t.createDialog=function(i){var o={name:"",width:420,height:240,title:"",drag:!0,closed:!0,content:"",mask:!0,maskStyle:{backgroundColor:"#fff",opacity:.1},lockScreen:!0,footer:!0,buttons:!1};i=e.extend(!0,o,i);var r=this.editor,a=t.classPrefix,n=(new Date).getTime(),s=""===i.name?a+"dialog-"+n:i.name,l=t.mouseOrTouch,c='
            ';""!==i.title&&(c+='
            ",c+=''+i.title+"",c+="
            "),i.closed&&(c+=''),c+='
            '+i.content,(i.footer||"string"==typeof i.footer)&&(c+='"),c+="
            ",c+='
            ',c+='
            ',c+="
            ",r.append(c);var d=r.find("."+s);d.lockScreen=function(t){return i.lockScreen&&e("html,body").css("overflow",t?"hidden":""),d},d.showMask=function(){return i.mask&&r.find("."+a+"mask").css(i.maskStyle).css("z-index",t.dialogZindex-1).show(),d},d.hideMask=function(){return i.mask&&r.find("."+a+"mask").hide(),d},d.loading=function(e){var t=d.find("."+a+"dialog-mask");return t[e?"show":"hide"](),d},d.lockScreen(!0).showMask(),d.show().css({zIndex:t.dialogZindex,border:t.isIE8?"1px solid #ddd":"",width:"number"==typeof i.width?i.width+"px":i.width,height:"number"==typeof i.height?i.height+"px":i.height});var h=function(){d.css({top:(e(window).height()-d.height())/2+"px",left:(e(window).width()-d.width())/2+"px"})};if(h(),e(window).resize(h),d.children("."+a+"dialog-close").bind(l("click","touchend"),function(){d.hide().lockScreen(!1).hideMask()}),"object"==typeof i.buttons){var u=d.footer=d.find("."+a+"dialog-footer");for(var f in i.buttons){var g=i.buttons[f],p=a+f+"-btn";u.append('"),g[1]=e.proxy(g[1],d),u.children("."+p).bind(l("click","touchend"),g[1])}}if(""!==i.title&&i.drag){var m,w,v=d.children("."+a+"dialog-header");i.mask||v.bind(l("click","touchend"),function(){t.dialogZindex+=2,d.css("z-index",t.dialogZindex)}),v.mousedown(function(e){e=e||window.event,m=e.clientX-parseInt(d[0].style.left),w=e.clientY-parseInt(d[0].style.top),document.onmousemove=x});var b=function(e){e.removeClass(a+"user-unselect").off("selectstart")},k=function(e){e.addClass(a+"user-unselect").on("selectstart",function(){return!1})},x=function(t){t=t||window.event;var i,o,r=parseInt(d[0].style.left),a=parseInt(d[0].style.top);r>=0?r+d.width()<=e(window).width()?i=t.clientX-m:(i=e(window).width()-d.width(),document.onmousemove=null):(i=0,document.onmousemove=null),a>=0?o=t.clientY-w:(o=0,document.onmousemove=null),document.onselectstart=function(){return!1},k(e("body")),k(d),d[0].style.left=i+"px",d[0].style.top=o+"px"};document.onmouseup=function(){b(e("body")),b(d),document.onselectstart=null,document.onmousemove=null},v.touchDraggable=function(){var t=null,i=function(i){var o=i.originalEvent,r=e(this).parent().position();t={x:o.changedTouches[0].pageX-r.left,y:o.changedTouches[0].pageY-r.top}},o=function(i){i.preventDefault();var o=i.originalEvent;e(this).parent().css({top:o.changedTouches[0].pageY-t.y,left:o.changedTouches[0].pageX-t.x})};this.bind("touchstart",i).bind("touchmove",o)},v.touchDraggable()}return t.dialogZindex+=2,d},t.mouseOrTouch=function(e,t){e=e||"click",t=t||"touchend";var i=e;try{document.createEvent("TouchEvent"),i=t}catch(o){}return i},t.dateFormat=function(e){e=e||"";var t=function(e){return 10>e?"0"+e:e},i=new Date,o=i.getFullYear(),r=o.toString().slice(2,4),a=t(i.getMonth()+1),n=t(i.getDate()),s=i.getDay(),l=t(i.getHours()),c=t(i.getMinutes()),d=t(i.getSeconds()),h=t(i.getMilliseconds()),u="",f=r+"-"+a+"-"+n,g=o+"-"+a+"-"+n,p=l+":"+c+":"+d;switch(e){case"UNIX Time":u=i.getTime();break;case"UTC":u=i.toUTCString();break;case"yy":u=r;break;case"year":case"yyyy":u=o;break;case"month":case"mm":u=a;break;case"cn-week-day":case"cn-wd":var m=["日","一","二","三","四","五","六"];u="星期"+m[s];break;case"week-day":case"wd":var w=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];u=w[s];break;case"day":case"dd":u=n;break;case"hour":case"hh":u=l;break;case"min":case"ii":u=c;break;case"second":case"ss":u=d;break;case"ms":u=h;break;case"yy-mm-dd":u=f;break;case"yyyy-mm-dd":u=g;break;case"yyyy-mm-dd h:i:s ms":case"full + ms":u=g+" "+p+" "+h;break;case"full":case"yyyy-mm-dd h:i:s":default:u=g+" "+p}return u},t}}); +//# sourceMappingURL=editormd.min.js.map \ No newline at end of file diff --git a/editormd.min.js.map b/editormd.min.js.map new file mode 100644 index 0000000..5b76bbb --- /dev/null +++ b/editormd.min.js.map @@ -0,0 +1,2 @@ +/*! Editor.md v1.3.0 | editormd.min.js.map | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-12 */ +{"version":3,"file":"editormd.min.js","sources":["editormd.min.js"],"names":["factory","require","exports","module","define","amd","window","editormd","$","jQuery","Zepto","id","options","fn","init","title","$name","version","homePage","classPrefix","toolbarModes","full","simple","mini","defaults","mode","theme","value","markdown","width","height","path","pluginPath","autoLoadModules","watch","placeholder","codeFold","autoHeight","autoCloseTags","searchReplace","readOnly","lineNumbers","matchWordHighlight","styleActiveLine","dialogLockScreen","dialogShowMask","dialogDraggable","dialogMaskBgColor","dialogMaskOpacity","fontSize","saveHTMLToTextarea","disabledKeyMaps","onload","onresize","onchange","onwatch","onunwatch","onpreviewing","onpreviewed","onfullscreen","onfullscreenExit","onscroll","onpreviewscroll","imageUpload","imageFormats","imageUploadURL","crossDomainUpload","uploadCallbackURL","toc","tocStartLevel","htmlDecode","atLink","emailLink","taskList","emoji","tex","flowChart","sequenceDiagram","previewCodeHighlight","toolbar","toolbarAutoFixed","toolbarIcons","toolbarTitles","toolbarHandlers","ucwords","lowercase","toolbarCustomIcons","toolbarIconsClass","undo","redo","bold","del","italic","quote","uppercase","h1","h2","h3","h4","h5","h6","list-ul","list-ol","hr","link","anchor","image","code","preformatted-text","code-block","table","datetime","htmlEntities","unwatch","preview","fullscreen","clear","help","info","toolbarIconTexts","lang","name","description","buttons","enter","cancel","close","dialog","url","urlTitle","urlEmpty","nameEmpty","titleEmpty","alt","uploadButton","imageURLEmpty","uploadFileEmpty","formatNotAllowed","preformattedText","emptyAlert","codeBlock","selectLabel","selectDefaultText","otherLanguage","unselectedLanguageAlert","codeEmptyAlert","classNames","dialogZindex","$katex","$marked","$CodeMirror","$prettyPrint","prototype","state","watching","loaded","_this","this","editor","settings","extend","textarea","html","hasClass","addClass","css","markdownTextarea","children","length","append","attr","appendElements","join","mask","val","htmlTextarea","previewContainer","katex","loadCSS","CodeMirror","marked","setCodeMirror","setToolbar","loadedDisplay","loadQueues","loadPath","loadFlowChartOrSequenceDiagram","isIE8","loadScript","setTheme","cm","setOption","codeMirrorConfig","tabSize","dragDrop","autofocus","indentUnit","lineWrapping","extraKeys","Ctrl-Q","foldCode","getCursor","foldGutter","gutters","matchBrackets","indentWithTabs","styleSelectedText","autoCloseBrackets","showTrailingSpace","highlightSelectionMatches","showToken","codeEditor","fromTextArea","codeMirror","cmElement","setValue","getCodeMirrorOption","key","getOption","setCodeMirrorOption","addKeyMap","map","bottom","removeKeyMap","extends","arguments","proxy","set","config","recreate","on","eventType","callback","off","showToolbar","find","show","resize","hideToolbar","hide","setToolbarAutoFixed","fixed","autoFixedHandle","top","scrollTop","offset","position","left","bind","unbind","icons","toolbarMenu","menu","i","len","isHeader","test","index","iconTexts","iconClass","setToolbarHandler","getToolbarHandles","toolbarIconHandlers","mouseOrTouch","icon","cursor","selection","getSelection","activeIcon","focus","createDialog","createInfoDialog","infoDialogHTML","infoDialog","hideInfoDialog","infoDialogPosition","_infoDialogPosition","showInfoDialog","lockScreen","opacity","backgroundColor","lock","remove","saveToTextareas","registerKeyMaps","prettyPrint","katexRender","each","render","flowChartAndSequenceDiagramRender","keyMap","inArray","keyMaps","handle","keydown","event","keymaps","120","121","122","keyCode","data","codeEditorBindScroll","percent","scrollHeight","codeEditorUnbindScroll","previewBindScroll","codeView","previewUnbindScroll","mouseover","mouseout","touchstart","touchend","codeMirrorValue","getValue","innerText","markdownToC","rendererOptions","markedRendererOptions","markedOptions","renderer","markedRenderer","gfm","tables","breaks","pedantic","sanitize","smartLists","smartypants","setOptions","filterHTMLTags","newMarkdownDoc","save","markdownToCRenderer","kaTeXLoaded","loadKaTeX","timer","setTimeout","clearTimeout","setCursor","setSelection","from","to","setSelections","ranges","getSelections","replaceSelection","insertValue","setMarkdown","md","getMarkdown","getHTML","alert","getTextareaSavedHTML","getPreviewedHTML","watchIcon","unWatchIcon","parent","removeClass","previewing","toggle","toggleClass","escHandle","shiftKey","previewed","previewCloseBtn","background","fullscreenClass","fullscreenExit","margin","border","executePlugin","loadFiles","plugin","loadPlugin","loadPlugins","parseInt","line","ch","ucfirst","selections","listSelections","firstUpperCase","wordsFirstUpperCase","toUpperCase","toLowerCase","selectionText","split","langName","Date","datefmt","dateFormat","Ctrl-B","Ctrl-I","Ctrl-K","Shift-Ctrl-C","Shift-Ctrl-Q","Shift-Ctrl-S","Ctrl-H","Ctrl-1","Ctrl-2","Ctrl-3","Ctrl-4","Ctrl-5","Ctrl-6","Ctrl-D","Ctrl-E","Ctrl-L","Ctrl-U","Shift-Ctrl-A","Shift-Alt-C","Shift-Ctrl-Alt-C","Shift-Ctrl-H","Shift-Alt-H","Shift-Ctrl-E","Shift-Ctrl-U","Shift-Alt-U","Shift-Ctrl-Alt-U","Shift-Alt-L","Shift-Ctrl-I","Shift-Ctrl-Alt-I","Shift-Ctrl-L","Shift-Ctrl-O","Shift-Ctrl-P","Shift-Ctrl-T","F9","F10","F11","trim","str","String","replace","$1","urls","atLinkBase","regexs","email","twemoji","fontAwesome","editormdLogo","ext","Renderer","atLinkReg","emojiReg","emailReg","emailLinkReg","twemojiReg","faIconReg","editormdLogoReg","text","matchs","match","RegExp","faMatchs","fa","len1","faName","emdlogoMathcs","twemojiMatchs","x","len2","logoName","t","len3","twe","$2","href","prot","decodeURIComponent","unescape","e","indexOf","out","heading","level","linkText","hasLinkReg","tempText","push","escapedText","slug","isChinese","escape","headingHTML","headerPrefix","paragraph","isTeXInline","isTeXLine","isTeXAddClass","isToC","apply","tablecell","content","flags","type","tag","align","listitem","container","startLevel","lastLevel","Array","tocContainer","filters","filterTags","markdownToHTML","autoLoadKaTeX","div","saveTo","markdownDoc","markdownParsed","katexHandle","themes","js","fileName","into","document","createElement","rel","onreadystatechange","getElementsByTagName","appendChild","body","isIE","navigator","appName","appVersion","script","src","readyState","katexURL","drag","closed","maskStyle","footer","guid","getTime","dialogName","showMask","hideMask","loading","zIndex","dialogPosition","btn","btnClassName","posX","posY","dialogHeader","mousedown","clientX","style","clientY","onmousemove","moveAction","userCanSelect","obj","userUnselect","nowLeft","nowTop","onselectstart","onmouseup","touchDraggable","start","orig","originalEvent","pos","changedTouches","pageX","y","pageY","move","preventDefault","mouseEventType","touchEventType","createEvent","format","addZero","d","date","year","getFullYear","year2","toString","slice","month","getMonth","day","getDate","weekDay","getDay","hour","getHours","min","getMinutes","second","getSeconds","ms","getMilliseconds","ymd","fymd","hms","toUTCString","cnWeekDays","weekDays"],"mappings":"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","sourceRoot":"./"} \ No newline at end of file diff --git a/examples/@links.html b/examples/@links.html index 2f1eed1..91ed77c 100644 --- a/examples/@links.html +++ b/examples/@links.html @@ -11,31 +11,57 @@

            @links

            -

            Github Flavored Markdown extended syntax

            +

            Github Flavored Markdown extras syntax

            - +
            +
            + + + + + \ No newline at end of file diff --git a/examples/change-mode.html b/examples/change-mode.html index 3a4da8d..91d780a 100644 --- a/examples/change-mode.html +++ b/examples/change-mode.html @@ -25,7 +25,7 @@
            - +
            - - +</script> + + @@ -67,7 +79,7 @@ alert("script"); diff --git a/examples/index.html b/examples/index.html index ed61b72..64e3568 100644 --- a/examples/index.html +++ b/examples/index.html @@ -109,6 +109,12 @@
          • 多语言支持 Multi-languages for l18n
          • +
          • + 自动高度 Auto height +
          • +
          • + 工具栏自动固定定位的开启与禁用 Enable / disable toolbar auto fixed position. +
          • 动态创建Editor.md Dynamic create Editor.md
          • diff --git a/examples/manually-load-modules.html b/examples/manually-load-modules.html index f81dac1..15e1e59 100644 --- a/examples/manually-load-modules.html +++ b/examples/manually-load-modules.html @@ -12,7 +12,7 @@

            Manually load-modules

            -
            @@ -59,6 +68,8 @@ + + @@ -74,15 +85,20 @@ + + + + + + + + \ No newline at end of file diff --git a/languages/en.js b/languages/en.js index ae8f812..8b834de 100644 --- a/languages/en.js +++ b/languages/en.js @@ -10,6 +10,9 @@ del : "Strikethrough", italic : "Italic", quote : "Block quote", + ucwords : "Words first letter convert to uppercase", + uppercase : "Selection text convert to uppercase", + lowercase : "Selection text convert to lowercase", h1 : "Heading 1", h2 : "Heading 2", h3 : "Heading 3", @@ -18,7 +21,7 @@ h6 : "Heading 6", "list-ul" : "Unordered list", "list-ol" : "Ordered list", - hr : "Horizontal line", + hr : "Horizontal rule", link : "Link", anchor : "Anchor", image : "Image", @@ -31,8 +34,8 @@ htmlEntities : "HTML Entities", watch : "Unwatch", unwatch : "Watch", - preview : "HTML Preview (Enter ESC exit)", - fullscreen : "Fullscreen (Enter ESC exit)", + preview : "HTML Preview (Press Shift + ESC exit)", + fullscreen : "Fullscreen (Press ESC exit)", clear : "Clear", help : "Help", info : "About " + exports.title diff --git a/languages/zh-tw.js b/languages/zh-tw.js index eccc1bd..5438ecc 100644 --- a/languages/zh-tw.js +++ b/languages/zh-tw.js @@ -10,6 +10,9 @@ del : "刪除線", italic : "斜體", quote : "引用", + ucwords : "將所選的每個單詞首字母轉成大寫", + uppercase : "將所選文本轉成大寫", + lowercase : "將所選文本轉成小寫", h1 : "標題1", h2 : "標題2", h3 : "標題3", @@ -31,8 +34,8 @@ htmlEntities : "HTML 實體字符", watch : "關閉實時預覽", unwatch : "開啟實時預覽", - preview : "全窗口預覽HTML(可按ESC還原)", - fullscreen : "全屏(可按ESC還原)", + preview : "全窗口預覽HTML(可按Shift + ESC退出)", + fullscreen : "全屏(可按ESC退出)", clear : "清空", help : "使用幫助", info : "關於" + exports.title diff --git a/lib/codemirror/AUTHORS b/lib/codemirror/AUTHORS new file mode 100644 index 0000000..9d62d48 --- /dev/null +++ b/lib/codemirror/AUTHORS @@ -0,0 +1,436 @@ +List of CodeMirror contributors. Updated before every release. + +4r2r +Aaron Brooks +Abdelouahab +Abe Fettig +Adam Ahmed +Adam King +adanlobato +Adán Lobato +Adrian Aichner +aeroson +Ahmad Amireh +Ahmad M. Zawawi +ahoward +Akeksandr Motsjonov +Alberto González Palomo +Alberto Pose +Albert Xing +Alexander Pavlov +Alexander Schepanovski +Alexander Shvets +Alexander Solovyov +Alexandre Bique +alexey-k +Alex Piggott +Aliaksei Chapyzhenka +Amsul +amuntean +Amy +Ananya Sen +anaran +AndersMad +Anders Nawroth +Anderson Mesquita +Andrea G +Andreas Reischuck +Andre von Houck +Andrey Fedorov +Andrey Klyuchnikov +Andrey Lushnikov +Andy Joslin +Andy Kimball +Andy Li +angelozerr +angelo.zerr@gmail.com +Ankit +Ankit Ahuja +Ansel Santosa +Anthony Grimes +Anton Kovalyov +areos +as3boyan +AtomicPages LLC +Atul Bhouraskar +Aurelian Oancea +Bastian Müller +Bem Jones-Bey +benbro +Beni Cherniavsky-Paskin +Benjamin DeCoste +Ben Keen +Bernhard Sirlinger +Bert Chang +Billy Moon +binny +B Krishna Chaitanya +Blaine G +blukat29 +boomyjee +borawjm +Brandon Frohs +Brandon Wamboldt +Brett Zamir +Brian Grinstead +Brian Sletten +Bruce Mitchener +Chandra Sekhar Pydi +Charles Skelton +Cheah Chu Yeow +Chris Coyier +Chris Granger +Chris Houseknecht +Chris Morgan +Christian Oyarzun +Christian Petrov +Christopher Brown +ciaranj +CodeAnimal +ComFreek +Curtis Gagliardi +dagsta +daines +Dale Jung +Dan Bentley +Dan Heberden +Daniel, Dao Quang Minh +Daniele Di Sarli +Daniel Faust +Daniel Huigens +Daniel KJ +Daniel Neel +Daniel Parnell +Danny Yoo +darealshinji +Darius Roberts +Dave Myers +David Mignot +David Pathakjee +David Vázquez +deebugger +Deep Thought +Devon Carew +dignifiedquire +Dimage Sapelkin +Dmitry Kiselyov +domagoj412 +Dominator008 +Domizio Demichelis +Doug Wikle +Drew Bratcher +Drew Hintz +Drew Khoury +Dror BG +duralog +eborden +edsharp +ekhaled +Enam Mijbah Noor +Eric Allam +eustas +Fabien O'Carroll +Fabio Zendhi Nagao +Faiza Alsaied +Fauntleroy +fbuchinger +feizhang365 +Felipe Lalanne +Felix Raab +Filip Noetzel +flack +ForbesLindesay +Forbes Lindesay +Ford_Lawnmower +Forrest Oliphant +Frank Wiegand +Gabriel Gheorghian +Gabriel Horner +Gabriel Nahmias +galambalazs +Gautam Mehta +gekkoe +Gerard Braad +Gergely Hegykozi +Giovanni Calò +Glenn Jorde +Glenn Ruehle +Golevka +Gordon Smith +Grant Skinner +greengiant +Gregory Koberger +Guillaume Massé +Guillaume Massé +Gustavo Rodrigues +Hakan Tunc +Hans Engel +Hardest +Hasan Karahan +Herculano Campos +Hiroyuki Makino +hitsthings +Hocdoc +Ian Beck +Ian Dickinson +Ian Wehrman +Ian Wetherbee +Ice White +ICHIKAWA, Yuji +ilvalle +Ingo Richter +Irakli Gozalishvili +Ivan Kurnosov +Jacob Lee +Jakob Miland +Jakub Vrana +Jakub Vrána +James Campos +James Thorne +Jamie Hill +Jan Jongboom +jankeromnes +Jan Keromnes +Jan Odvarko +Jan T. Sott +Jared Forsyth +Jason +Jason Barnabe +Jason Grout +Jason Johnston +Jason San Jose +Jason Siefken +Jaydeep Solanki +Jean Boussier +jeffkenton +Jeff Pickhardt +jem (graphite) +Jeremy Parmenter +Jochen Berger +Johan Ask +John Connor +John Lees-Miller +John Snelson +John Van Der Loo +Jonathan Malmaud +jongalloway +Jon Malmaud +Jon Sangster +Joost-Wim Boekesteijn +Joseph Pecoraro +Joshua Newman +Josh Watzman +jots +jsoojeon +Juan Benavides Romero +Jucovschi Constantin +Juho Vuori +Justin Hileman +jwallers@gmail.com +kaniga +Ken Newman +Ken Rockot +Kevin Sawicki +Kevin Ushey +Klaus Silveira +Koh Zi Han, Cliff +komakino +Konstantin Lopuhin +koops +ks-ifware +kubelsmieci +KwanEsq +Lanfei +Lanny +Laszlo Vidacs +leaf corcoran +Leonid Khachaturov +Leon Sorokin +Leonya Khachaturov +Liam Newman +LM +lochel +Lorenzo Stoakes +Luciano Longo +Luke Stagner +lynschinzer +Maksim Lin +Maksym Taran +Malay Majithia +Manuel Rego Casasnovas +Marat Dreizin +Marcel Gerber +Marco Aurélio +Marco Munizaga +Marcus Bointon +Marek Rudnicki +Marijn Haverbeke +Mário Gonçalves +Mario Pietsch +Mark Lentczner +Marko Bonaci +Martin Balek +Martín Gaitán +Martin Hasoň +Mason Malone +Mateusz Paprocki +Mathias Bynens +mats cronqvist +Matthew Beale +Matthias Bussonnier +Matthias BUSSONNIER +Matt McDonald +Matt Pass +Matt Sacks +mauricio +Maximilian Hils +Maxim Kraev +Max Kirsch +Max Xiantu +mbarkhau +Metatheos +Micah Dubinko +Michael Lehenbauer +Michael Zhou +Mighty Guava +Miguel Castillo +mihailik +Mike +Mike Brevoort +Mike Diaz +Mike Ivanov +Mike Kadin +MinRK +Miraculix87 +misfo +mloginov +Moritz Schwörer +mps +mtaran-google +Narciso Jaramillo +Nathan Williams +ndr +nerbert +nextrevision +ngn +nguillaumin +Ng Zhi An +Nicholas Bollweg +Nicholas Bollweg (Nick) +Nick Small +Niels van Groningen +nightwing +Nikita Beloglazov +Nikita Vasilyev +Nikolay Kostov +nilp0inter +Nisarg Jhaveri +nlwillia +Norman Rzepka +pablo +Page +Panupong Pasupat +paris +Patil Arpith +Patrick Stoica +Patrick Strawderman +Paul Garvin +Paul Ivanov +Pavel Feldman +Pavel Strashkin +Paweł Bartkiewicz +peteguhl +Peter Flynn +peterkroon +Peter Kroon +prasanthj +Prasanth J +Radek Piórkowski +Rahul +Randall Mason +Randy Burden +Randy Edmunds +Rasmus Erik Voel Jensen +Ray Ratchup +Richard van der Meer +Richard Z.H. Wang +Robert Crossfield +Roberto Abdelkader Martínez Pérez +robertop23 +Robert Plummer +Ruslan Osmanov +Ryan Prior +sabaca +Samuel Ainsworth +sandeepshetty +Sander AKA Redsandro +santec +Sascha Peilicke +satchmorun +sathyamoorthi +SCLINIC\jdecker +Scott Aikin +Scott Goodhew +Sebastian Zaha +shaund +shaun gilchrist +Shawn A +sheopory +Shiv Deepak +Shmuel Englard +Shubham Jain +silverwind +snasa +soliton4 +sonson +spastorelli +srajanpaliwal +Stanislav Oaserele +Stas Kobzar +Stefan Borsje +Steffen Beyer +Steve O'Hara +stoskov +Taha Jahangir +Takuji Shimokawa +Tarmil +tel +tfjgeorge +Thaddee Tyl +TheHowl +think +Thomas Dvornik +Thomas Schmid +Tim Alby +Tim Baumann +Timothy Farrell +Timothy Hatcher +TobiasBg +Tomas-A +Tomas Varaneckas +Tom Erik Støwer +Tom MacWright +Tony Jian +Travis Heppe +Triangle717 +twifkak +Vestimir Markov +vf +Vincent Woo +Volker Mische +wenli +Wesley Wiser +Will Binns-Smith +William Jamieson +William Stein +Willy +Wojtek Ptak +Xavier Mendez +Yassin N. Hassan +YNH Webdev +Yunchi Luo +Yuvi Panda +Zachary Dremann +Zhang Hao +zziuni +魏鹏刚 diff --git a/lib/codemirror/LICENSE b/lib/codemirror/LICENSE new file mode 100644 index 0000000..d21bbea --- /dev/null +++ b/lib/codemirror/LICENSE @@ -0,0 +1,19 @@ +Copyright (C) 2014 by Marijn Haverbeke and others + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/lib/codemirror/README.md b/lib/codemirror/README.md new file mode 100644 index 0000000..bc6e7f5 --- /dev/null +++ b/lib/codemirror/README.md @@ -0,0 +1,12 @@ +# CodeMirror +[![Build Status](https://travis-ci.org/codemirror/CodeMirror.svg)](https://travis-ci.org/codemirror/CodeMirror) +[![NPM version](https://img.shields.io/npm/v/codemirror.svg)](https://www.npmjs.org/package/codemirror) +[Funding status: ![maintainer happiness](https://marijnhaverbeke.nl/fund/status_s.png)](https://marijnhaverbeke.nl/fund/) + +CodeMirror is a JavaScript component that provides a code editor in +the browser. When a mode is available for the language you are coding +in, it will color your code, and optionally help with indentation. + +The project page is http://codemirror.net +The manual is at http://codemirror.net/doc/manual.html +The contributing guidelines are in [CONTRIBUTING.md](https://github.com/codemirror/CodeMirror/blob/master/CONTRIBUTING.md) diff --git a/lib/codemirror/addon/edit/closebrackets.js b/lib/codemirror/addon/edit/closebrackets.js index f6b42f0..ff4bb3f 100644 --- a/lib/codemirror/addon/edit/closebrackets.js +++ b/lib/codemirror/addon/edit/closebrackets.js @@ -10,6 +10,7 @@ mod(CodeMirror); })(function(CodeMirror) { var DEFAULT_BRACKETS = "()[]{}''\"\""; + var DEFAULT_TRIPLES = "'\""; var DEFAULT_EXPLODE_ON_ENTER = "[]{}"; var SPACE_CHAR_REGEX = /\s/; @@ -19,13 +20,14 @@ if (old != CodeMirror.Init && old) cm.removeKeyMap("autoCloseBrackets"); if (!val) return; - var pairs = DEFAULT_BRACKETS, explode = DEFAULT_EXPLODE_ON_ENTER; + var pairs = DEFAULT_BRACKETS, triples = DEFAULT_TRIPLES, explode = DEFAULT_EXPLODE_ON_ENTER; if (typeof val == "string") pairs = val; else if (typeof val == "object") { if (val.pairs != null) pairs = val.pairs; + if (val.triples != null) triples = val.triples; if (val.explode != null) explode = val.explode; } - var map = buildKeymap(pairs); + var map = buildKeymap(pairs, triples); if (explode) map.Enter = buildExplodeHandler(explode); cm.addKeyMap(map); }); @@ -52,7 +54,7 @@ } } - function buildKeymap(pairs) { + function buildKeymap(pairs, triples) { var map = { name : "autoCloseBrackets", Backspace: function(cm) { @@ -85,7 +87,7 @@ curType = "skipThree"; else curType = "skip"; - } else if (left == right && cur.ch > 1 && + } else if (left == right && cur.ch > 1 && triples.indexOf(left) >= 0 && cm.getRange(Pos(cur.line, cur.ch - 2), cur) == left + left && (cur.ch <= 2 || cm.getRange(Pos(cur.line, cur.ch - 3), Pos(cur.line, cur.ch - 2)) != left)) { curType = "addFour"; diff --git a/lib/codemirror/addon/edit/closetag.js b/lib/codemirror/addon/edit/closetag.js index 369bea3..e68d52d 100644 --- a/lib/codemirror/addon/edit/closetag.js +++ b/lib/codemirror/addon/edit/closetag.js @@ -131,7 +131,7 @@ function autoCloseSlash(cm) { if (cm.getOption("disableInput")) return CodeMirror.Pass; - autoCloseCurrent(cm, true); + return autoCloseCurrent(cm, true); } CodeMirror.commands.closeTag = function(cm) { return autoCloseCurrent(cm); }; diff --git a/lib/codemirror/addon/edit/matchbrackets.js b/lib/codemirror/addon/edit/matchbrackets.js index fa1ae03..70e1ae1 100644 --- a/lib/codemirror/addon/edit/matchbrackets.js +++ b/lib/codemirror/addon/edit/matchbrackets.js @@ -81,7 +81,7 @@ if (marks.length) { // Kludge to work around the IE bug from issue #1193, where text // input stops going to the textare whever this fires. - if (ie_lt8 && cm.state.focused) cm.display.input.focus(); + if (ie_lt8 && cm.state.focused) cm.focus(); var clear = function() { cm.operation(function() { diff --git a/lib/codemirror/addon/fold/foldgutter.js b/lib/codemirror/addon/fold/foldgutter.js index 3359476..199120c 100644 --- a/lib/codemirror/addon/fold/foldgutter.js +++ b/lib/codemirror/addon/fold/foldgutter.js @@ -94,20 +94,26 @@ } function onGutterClick(cm, line, gutter) { - var opts = cm.state.foldGutter.options; + var state = cm.state.foldGutter; + if (!state) return; + var opts = state.options; if (gutter != opts.gutter) return; cm.foldCode(Pos(line, 0), opts.rangeFinder); } function onChange(cm) { - var state = cm.state.foldGutter, opts = cm.state.foldGutter.options; + var state = cm.state.foldGutter; + if (!state) return; + var opts = state.options; state.from = state.to = 0; clearTimeout(state.changeUpdate); state.changeUpdate = setTimeout(function() { updateInViewport(cm); }, opts.foldOnChangeTimeSpan || 600); } function onViewportChange(cm) { - var state = cm.state.foldGutter, opts = cm.state.foldGutter.options; + var state = cm.state.foldGutter; + if (!state) return; + var opts = state.options; clearTimeout(state.changeUpdate); state.changeUpdate = setTimeout(function() { var vp = cm.getViewport(); @@ -129,7 +135,9 @@ } function onFold(cm, from) { - var state = cm.state.foldGutter, line = from.line; + var state = cm.state.foldGutter; + if (!state) return; + var line = from.line; if (line >= state.from && line < state.to) updateFoldInfo(cm, line, line + 1); } diff --git a/lib/codemirror/addon/hint/show-hint.js b/lib/codemirror/addon/hint/show-hint.js index fda5ffa..f544619 100644 --- a/lib/codemirror/addon/hint/show-hint.js +++ b/lib/codemirror/addon/hint/show-hint.js @@ -24,6 +24,18 @@ return cm.showHint(newOpts); }; + var asyncRunID = 0; + function retrieveHints(getter, cm, options, then) { + if (getter.async) { + var id = ++asyncRunID; + getter(cm, function(hints) { + if (asyncRunID == id) then(hints); + }, options); + } else { + then(getter(cm, options)); + } + } + CodeMirror.defineExtension("showHint", function(options) { // We want a single cursor position. if (this.listSelections().length > 1 || this.somethingSelected()) return; @@ -34,10 +46,7 @@ if (!getHints) return; CodeMirror.signal(this, "startCompletion", this); - if (getHints.async) - getHints(this, function(hints) { completion.showHints(hints); }, completion.options); - else - return completion.showHints(getHints(this, completion.options)); + return retrieveHints(getHints, this, completion.options, function(hints) { completion.showHints(hints); }); }); function Completion(cm, options) { @@ -102,11 +111,7 @@ function update() { if (finished) return; CodeMirror.signal(data, "update"); - var getHints = completion.options.hint; - if (getHints.async) - getHints(completion.cm, finishUpdate, completion.options); - else - finishUpdate(getHints(completion.cm, completion.options)); + retrieveHints(completion.options.hint, completion.cm, completion.options, finishUpdate); } function finishUpdate(data_) { data = data_; diff --git a/lib/codemirror/addon/hint/sql-hint.js b/lib/codemirror/addon/hint/sql-hint.js index 92c889e..5b0cc76 100644 --- a/lib/codemirror/addon/hint/sql-hint.js +++ b/lib/codemirror/addon/hint/sql-hint.js @@ -26,9 +26,26 @@ return CodeMirror.resolveMode(mode).keywords; } + function getText(item) { + return typeof item == "string" ? item : item.text; + } + + function getItem(list, item) { + if (!list.slice) return list[item]; + for (var i = list.length - 1; i >= 0; i--) if (getText(list[i]) == item) + return list[i]; + } + + function shallowClone(object) { + var result = {}; + for (var key in object) if (object.hasOwnProperty(key)) + result[key] = object[key]; + return result; + } + function match(string, word) { var len = string.length; - var sub = word.substr(0, len); + var sub = getText(word).substr(0, len); return string.toUpperCase() === sub.toUpperCase(); } @@ -44,53 +61,81 @@ } } + function cleanName(name) { + // Get rid name from backticks(`) and preceding dot(.) + if (name.charAt(0) == ".") { + name = name.substr(1); + } + return name.replace(/`/g, ""); + } + + function insertBackticks(name) { + var nameParts = getText(name).split("."); + for (var i = 0; i < nameParts.length; i++) + nameParts[i] = "`" + nameParts[i] + "`"; + var escaped = nameParts.join("."); + if (typeof name == "string") return escaped; + name = shallowClone(name); + name.text = escaped; + return name; + } + function nameCompletion(cur, token, result, editor) { - var useBacktick = (token.string.charAt(0) == "`"); - var string = token.string.substr(1); - var prevToken = editor.getTokenAt(Pos(cur.line, token.start)); - if (token.string.charAt(0) == "." || prevToken.string == "."){ - //Suggest colunm names - if (prevToken.string == ".") { - var prevToken = editor.getTokenAt(Pos(cur.line, token.start - 1)); - } - var table = prevToken.string; - //Check if backtick is used in table name. If yes, use it for columns too. - var useBacktickTable = false; - if (table.match(/`/g)) { - useBacktickTable = true; - table = table.replace(/`/g, ""); - } - //Check if table is available. If not, find table by Alias - if (!tables.hasOwnProperty(table)) - table = findTableByAlias(table, editor); - var columns = tables[table]; - if (!columns) return; - - if (useBacktick) { - addMatches(result, string, columns, function(w) {return "`" + w + "`";}); - } - else if(useBacktickTable) { - addMatches(result, string, columns, function(w) {return ".`" + w + "`";}); - } - else { - addMatches(result, string, columns, function(w) {return "." + w;}); + // Try to complete table, colunm names and return start position of completion + var useBacktick = false; + var nameParts = []; + var start = token.start; + var cont = true; + while (cont) { + cont = (token.string.charAt(0) == "."); + useBacktick = useBacktick || (token.string.charAt(0) == "`"); + + start = token.start; + nameParts.unshift(cleanName(token.string)); + + token = editor.getTokenAt(Pos(cur.line, token.start)); + if (token.string == ".") { + cont = true; + token = editor.getTokenAt(Pos(cur.line, token.start)); } } - else { - //Suggest table names or colums in defaultTable - while (token.start && string.charAt(0) == ".") { - token = editor.getTokenAt(Pos(cur.line, token.start - 1)); - string = token.string + string; - } - if (useBacktick) { - addMatches(result, string, tables, function(w) {return "`" + w + "`";}); - addMatches(result, string, defaultTable, function(w) {return "`" + w + "`";}); - } - else { - addMatches(result, string, tables, function(w) {return w;}); - addMatches(result, string, defaultTable, function(w) {return w;}); - } + + // Try to complete table names + var string = nameParts.join("."); + addMatches(result, string, tables, function(w) { + return useBacktick ? insertBackticks(w) : w; + }); + + // Try to complete columns from defaultTable + addMatches(result, string, defaultTable, function(w) { + return useBacktick ? insertBackticks(w) : w; + }); + + // Try to complete columns + string = nameParts.pop(); + var table = nameParts.join("."); + + // Check if table is available. If not, find table by Alias + if (!getItem(tables, table)) + table = findTableByAlias(table, editor); + + var columns = getItem(tables, table); + if (columns && Array.isArray(tables) && columns.columns) + columns = columns.columns; + + if (columns) { + addMatches(result, string, columns, function(w) { + if (typeof w == "string") { + w = table + "." + w; + } else { + w = shallowClone(w); + w.text = table + "." + w.text; + } + return useBacktick ? insertBackticks(w) : w; + }); } + + return start; } function eachWord(lineText, f) { @@ -150,12 +195,10 @@ var lineText = query[i]; eachWord(lineText, function(word) { var wordUpperCase = word.toUpperCase(); - if (wordUpperCase === aliasUpperCase && tables.hasOwnProperty(previousWord)) { - table = previousWord; - } - if (wordUpperCase !== CONS.ALIAS_KEYWORD) { + if (wordUpperCase === aliasUpperCase && getItem(tables, previousWord)) + table = previousWord; + if (wordUpperCase !== CONS.ALIAS_KEYWORD) previousWord = word; - } }); if (table) break; } @@ -165,7 +208,7 @@ CodeMirror.registerHelper("hint", "sql", function(editor, options) { tables = (options && options.tables) || {}; var defaultTableName = options && options.defaultTable; - defaultTable = (defaultTableName && tables[defaultTableName] || []); + defaultTable = (defaultTableName && getItem(tables, defaultTableName)) || []; keywords = keywords || getKeywords(editor); var cur = editor.getCursor(); @@ -185,7 +228,7 @@ search = ""; } if (search.charAt(0) == "." || search.charAt(0) == "`") { - nameCompletion(cur, token, result, editor); + start = nameCompletion(cur, token, result, editor); } else { addMatches(result, search, tables, function(w) {return w;}); addMatches(result, search, defaultTable, function(w) {return w;}); diff --git a/lib/codemirror/addon/lint/lint.js b/lib/codemirror/addon/lint/lint.js index 66f187e..18eb709 100644 --- a/lib/codemirror/addon/lint/lint.js +++ b/lib/codemirror/addon/lint/lint.js @@ -46,6 +46,7 @@ } var poll = setInterval(function() { if (tooltip) for (var n = node;; n = n.parentNode) { + if (n && n.nodeType == 11) n = n.host; if (n == document.body) return; if (!n) { hide(); break; } } @@ -119,7 +120,7 @@ function startLinting(cm) { var state = cm.state.lint, options = state.options; var passOptions = options.options || options; // Support deprecated passing of `options` property in options - if (options.async) + if (options.async || options.getAnnotations.async) options.getAnnotations(cm.getValue(), updateLinting, passOptions, cm); else updateLinting(cm, options.getAnnotations(cm.getValue(), passOptions, cm)); diff --git a/lib/codemirror/addon/merge/merge.js b/lib/codemirror/addon/merge/merge.js index 3e9df42..f1f3aaf 100644 --- a/lib/codemirror/addon/merge/merge.js +++ b/lib/codemirror/addon/merge/merge.js @@ -31,8 +31,6 @@ insert: "CodeMirror-merge-r-inserted", del: "CodeMirror-merge-r-deleted", connect: "CodeMirror-merge-r-connect"}; - if (mv.options.connect == "align") - this.aligners = []; } DiffView.prototype = { @@ -42,7 +40,8 @@ this.orig = CodeMirror(pane, copyObj({value: orig, readOnly: !this.mv.options.allowEditingOriginals}, copyObj(options))); this.diff = getDiff(asString(orig), asString(options.value)); - this.diffOutOfDate = false; + this.chunks = getChunks(this.diff); + this.diffOutOfDate = this.dealigned = false; this.showDifferences = options.showDifferences !== false; this.forceUpdate = registerUpdate(this); @@ -61,16 +60,20 @@ function ensureDiff(dv) { if (dv.diffOutOfDate) { dv.diff = getDiff(dv.orig.getValue(), dv.edit.getValue()); + dv.chunks = getChunks(dv.diff); dv.diffOutOfDate = false; CodeMirror.signal(dv.edit, "updateDiff", dv.diff); } } + var updating = false; function registerUpdate(dv) { var edit = {from: 0, to: 0, marked: []}; var orig = {from: 0, to: 0, marked: []}; - var debounceChange; + var debounceChange, updatingFast = false; function update(mode) { + updating = true; + updatingFast = false; if (mode == "full") { if (dv.svg) clear(dv.svg); if (dv.copyButtons) clear(dv.copyButtons); @@ -84,26 +87,38 @@ updateMarks(dv.orig, dv.diff, orig, DIFF_DELETE, dv.classes); } makeConnections(dv); + + if (dv.mv.options.connect == "align") + alignChunks(dv); + updating = false; } - function set(slow) { + function setDealign(fast) { + if (updating) return; + dv.dealigned = true; + set(fast); + } + function set(fast) { + if (updating || updatingFast) return; clearTimeout(debounceChange); - debounceChange = setTimeout(update, slow == true ? 250 : 100); + if (fast === true) updatingFast = true; + debounceChange = setTimeout(update, fast === true ? 20 : 250); } - function change() { + function change(_cm, change) { if (!dv.diffOutOfDate) { dv.diffOutOfDate = true; edit.from = edit.to = orig.from = orig.to = 0; } - set(true); + // Update faster when a line was added/removed + setDealign(change.text.length - 1 != change.to.line - change.from.line); } dv.edit.on("change", change); dv.orig.on("change", change); - dv.edit.on("markerAdded", set); - dv.edit.on("markerCleared", set); - dv.orig.on("markerAdded", set); - dv.orig.on("markerCleared", set); - dv.edit.on("viewportChange", set); - dv.orig.on("viewportChange", set); + dv.edit.on("markerAdded", setDealign); + dv.edit.on("markerCleared", setDealign); + dv.orig.on("markerAdded", setDealign); + dv.orig.on("markerCleared", setDealign); + dv.edit.on("viewportChange", function() { set(false); }); + dv.orig.on("viewportChange", function() { set(false); }); update(); return update; } @@ -134,7 +149,7 @@ } else { var halfScreen = .5 * sInfo.clientHeight, midY = sInfo.top + halfScreen; var mid = editor.lineAtHeight(midY, "local"); - var around = chunkBoundariesAround(dv.diff, mid, type == DIFF_INSERT); + var around = chunkBoundariesAround(dv.chunks, mid, type == DIFF_INSERT); var off = getOffsets(editor, type == DIFF_INSERT ? around.edit : around.orig); var offOther = getOffsets(other, type == DIFF_INSERT ? around.orig : around.edit); var ratio = (midY - off.top) / (off.bot - off.top); @@ -259,19 +274,6 @@ function makeConnections(dv) { if (!dv.showDifferences) return; - var align = dv.mv.options.connect == "align", oldScrollEdit, oldScrollOrig; - if (align) { - if (!dv.orig.curOp) return dv.orig.operation(function() { - makeConnections(dv); - }); - oldScrollEdit = dv.edit.getScrollInfo().top; - oldScrollOrig = dv.orig.getScrollInfo().top; - for (var i = 0; i < dv.aligners.length; i++) - dv.aligners[i].clear(); - dv.aligners.length = 0; - var extraSpaceAbove = {edit: 0, orig: 0}; - } - if (dv.svg) { clear(dv.svg); var w = dv.gap.offsetWidth; @@ -281,34 +283,118 @@ var vpEdit = dv.edit.getViewport(), vpOrig = dv.orig.getViewport(); var sTopEdit = dv.edit.getScrollInfo().top, sTopOrig = dv.orig.getScrollInfo().top; - iterateChunks(dv.diff, function(topOrig, botOrig, topEdit, botEdit) { - if (topEdit <= vpEdit.to && botEdit >= vpEdit.from && - topOrig <= vpOrig.to && botOrig >= vpOrig.from) - drawConnectorsForChunk(dv, topOrig, botOrig, topEdit, botEdit, sTopOrig, sTopEdit, w); - if (align && (topEdit <= vpEdit.to || topOrig <= vpOrig.to)) { - var above = (botEdit < vpEdit.from && botOrig < vpOrig.from); - alignChunks(dv, topOrig, botOrig, topEdit, botEdit, above && extraSpaceAbove); + for (var i = 0; i < dv.chunks.length; i++) { + var ch = dv.chunks[i]; + if (ch.editFrom <= vpEdit.to && ch.editTo >= vpEdit.from && + ch.origFrom <= vpOrig.to && ch.origTo >= vpOrig.from) + drawConnectorsForChunk(dv, ch, sTopOrig, sTopEdit, w); + } + } + + function getMatchingOrigLine(editLine, chunks) { + var editStart = 0, origStart = 0; + for (var i = 0; i < chunks.length; i++) { + var chunk = chunks[i]; + if (chunk.editTo > editLine && chunk.editFrom <= editLine) return null; + if (chunk.editFrom > editLine) break; + editStart = chunk.editTo; + origStart = chunk.origTo; + } + return origStart + (editLine - editStart); + } + + function findAlignedLines(dv, other) { + var linesToAlign = []; + for (var i = 0; i < dv.chunks.length; i++) { + var chunk = dv.chunks[i]; + linesToAlign.push([chunk.origTo, chunk.editTo, other ? getMatchingOrigLine(chunk.editTo, other.chunks) : null]); + } + if (other) { + for (var i = 0; i < other.chunks.length; i++) { + var chunk = other.chunks[i]; + for (var j = 0; j < linesToAlign.length; j++) { + var align = linesToAlign[j]; + if (align[1] == chunk.editTo) { + j = -1; + break; + } else if (align[1] > chunk.editTo) { + break; + } + } + if (j > -1) + linesToAlign.splice(j - 1, 0, [getMatchingOrigLine(chunk.editTo, dv.chunks), chunk.editTo, chunk.origTo]); } + } + return linesToAlign; + } + + function alignChunks(dv, force) { + if (!dv.dealigned && !force) return; + if (!dv.orig.curOp) return dv.orig.operation(function() { + alignChunks(dv, force); }); - if (align) { - if (extraSpaceAbove.edit) - dv.aligners.push(padBelow(dv.edit, 0, extraSpaceAbove.edit)); - if (extraSpaceAbove.orig) - dv.aligners.push(padBelow(dv.orig, 0, extraSpaceAbove.orig)); - dv.edit.scrollTo(null, oldScrollEdit); - dv.orig.scrollTo(null, oldScrollOrig); + + dv.dealigned = false; + var other = dv.mv.left == dv ? dv.mv.right : dv.mv.left; + if (other) { + ensureDiff(other); + other.dealigned = false; } + var linesToAlign = findAlignedLines(dv, other); + + // Clear old aligners + var aligners = dv.mv.aligners; + for (var i = 0; i < aligners.length; i++) + aligners[i].clear(); + aligners.length = 0; + + var cm = [dv.orig, dv.edit], scroll = []; + if (other) cm.push(other.orig); + for (var i = 0; i < cm.length; i++) + scroll.push(cm[i].getScrollInfo().top); + + for (var ln = 0; ln < linesToAlign.length; ln++) + alignLines(cm, linesToAlign[ln], aligners); + + for (var i = 0; i < cm.length; i++) + cm[i].scrollTo(null, scroll[i]); } - function drawConnectorsForChunk(dv, topOrig, botOrig, topEdit, botEdit, sTopOrig, sTopEdit, w) { + function alignLines(cm, lines, aligners) { + var maxOffset = 0, offset = []; + for (var i = 0; i < cm.length; i++) if (lines[i] != null) { + var off = cm[i].heightAtLine(lines[i], "local"); + offset[i] = off; + maxOffset = Math.max(maxOffset, off); + } + for (var i = 0; i < cm.length; i++) if (lines[i] != null) { + var diff = maxOffset - offset[i]; + if (diff > 1) + aligners.push(padAbove(cm[i], lines[i], diff)); + } + } + + function padAbove(cm, line, size) { + var above = true; + if (line > cm.lastLine()) { + line--; + above = false; + } + var elt = document.createElement("div"); + elt.className = "CodeMirror-merge-spacer"; + elt.style.height = size + "px"; elt.style.minWidth = "1px"; + return cm.addLineWidget(line, elt, {height: size, above: above}); + } + + function drawConnectorsForChunk(dv, chunk, sTopOrig, sTopEdit, w) { var flip = dv.type == "left"; - var top = dv.orig.heightAtLine(topOrig, "local") - sTopOrig; + var top = dv.orig.heightAtLine(chunk.origFrom, "local") - sTopOrig; if (dv.svg) { var topLpx = top; - var topRpx = dv.edit.heightAtLine(topEdit, "local") - sTopEdit; + var topRpx = dv.edit.heightAtLine(chunk.editFrom, "local") - sTopEdit; if (flip) { var tmp = topLpx; topLpx = topRpx; topRpx = tmp; } - var botLpx = dv.orig.heightAtLine(botOrig, "local") - sTopOrig; - var botRpx = dv.edit.heightAtLine(botEdit, "local") - sTopEdit; + var botLpx = dv.orig.heightAtLine(chunk.origTo, "local") - sTopOrig; + var botRpx = dv.edit.heightAtLine(chunk.editTo, "local") - sTopEdit; if (flip) { var tmp = botLpx; botLpx = botRpx; botRpx = tmp; } var curveTop = " C " + w/2 + " " + topRpx + " " + w/2 + " " + topLpx + " " + (w + 2) + " " + topLpx; var curveBot = " C " + w/2 + " " + botLpx + " " + w/2 + " " + botRpx + " -1 " + botRpx; @@ -321,48 +407,26 @@ "CodeMirror-merge-copy")); var editOriginals = dv.mv.options.allowEditingOriginals; copy.title = editOriginals ? "Push to left" : "Revert chunk"; - copy.chunk = {topEdit: topEdit, botEdit: botEdit, topOrig: topOrig, botOrig: botOrig}; + copy.chunk = chunk; copy.style.top = top + "px"; if (editOriginals) { - var topReverse = dv.orig.heightAtLine(topEdit, "local") - sTopEdit; + var topReverse = dv.orig.heightAtLine(chunk.editFrom, "local") - sTopEdit; var copyReverse = dv.copyButtons.appendChild(elt("div", dv.type == "right" ? "\u21dd" : "\u21dc", "CodeMirror-merge-copy-reverse")); copyReverse.title = "Push to right"; - copyReverse.chunk = {topEdit: topOrig, botEdit: botOrig, topOrig: topEdit, botOrig: botEdit}; + copyReverse.chunk = {editFrom: chunk.origFrom, editTo: chunk.origTo, + origFrom: chunk.editFrom, origTo: chunk.editTo}; copyReverse.style.top = topReverse + "px"; dv.type == "right" ? copyReverse.style.left = "2px" : copyReverse.style.right = "2px"; } } } - function alignChunks(dv, topOrig, botOrig, topEdit, botEdit, aboveViewport) { - var topOrigPx = dv.orig.heightAtLine(topOrig, "local"); - var botOrigPx = dv.orig.heightAtLine(botOrig, "local"); - var topEditPx = dv.edit.heightAtLine(topEdit, "local"); - var botEditPx = dv.edit.heightAtLine(botEdit, "local"); - var origH = botOrigPx -topOrigPx, editH = botEditPx - topEditPx; - var diff = editH - origH; - if (diff > 1) { - if (aboveViewport) aboveViewport.orig += diff; - else dv.aligners.push(padBelow(dv.orig, botOrig - 1, diff)); - } else if (diff < -1) { - if (aboveViewport) aboveViewport.edit -= diff; - else dv.aligners.push(padBelow(dv.edit, botEdit - 1, -diff)); - } - return 0; - } - - function padBelow(cm, line, size) { - var elt = document.createElement("div"); - elt.style.height = size + "px"; elt.style.minWidth = "1px"; - return cm.addLineWidget(line, elt, {height: size}); - } - function copyChunk(dv, to, from, chunk) { if (dv.diffOutOfDate) return; - to.replaceRange(from.getRange(Pos(chunk.topOrig, 0), Pos(chunk.botOrig, 0)), - Pos(chunk.topEdit, 0), Pos(chunk.botEdit, 0)); + to.replaceRange(from.getRange(Pos(chunk.origFrom, 0), Pos(chunk.origTo, 0)), + Pos(chunk.editFrom, 0), Pos(chunk.editTo, 0)); } // Merge view, containing 0, 1, or 2 diff views. @@ -372,16 +436,11 @@ this.options = options; var origLeft = options.origLeft, origRight = options.origRight == null ? options.orig : options.origRight; - if (origLeft && origRight) { - if (options.connect == "align") - throw new Error("connect: \"align\" is not supported for three-way merge views"); - if (options.collapseIdentical) - throw new Error("collapseIdentical option is not supported for three-way merge views"); - } var hasLeft = origLeft != null, hasRight = origRight != null; var panes = 1 + (hasLeft ? 1 : 0) + (hasRight ? 1 : 0); var wrap = [], left = this.left = null, right = this.right = null; + var self = this; if (hasLeft) { left = this.left = new DiffView(this, "left"); @@ -410,8 +469,17 @@ if (left) left.init(leftPane, origLeft, options); if (right) right.init(rightPane, origRight, options); - if (options.collapseIdentical) - collapseIdenticalStretches(left || right, options.collapseIdentical); + if (options.collapseIdentical) { + updating = true; + this.editor().operation(function() { + collapseIdenticalStretches(self, options.collapseIdentical); + }); + updating = false; + } + if (options.connect == "align") { + this.aligners = []; + alignChunks(this.left || this.right, true); + } var onResize = function() { if (left) makeConnections(left); @@ -463,10 +531,10 @@ if (this.left) this.left.setShowDifferences(val); }, rightChunks: function() { - return this.right && getChunks(this.right); + if (this.right) { ensureDiff(this.right); return this.right.chunks; } }, leftChunks: function() { - return this.left && getChunks(this.left); + if (this.left) { ensureDiff(this.left); return this.left.chunks; } } }; @@ -494,7 +562,8 @@ return diff; } - function iterateChunks(diff, f) { + function getChunks(diff) { + var chunks = []; var startEdit = 0, startOrig = 0; var edit = Pos(0, 0), orig = Pos(0, 0); for (var i = 0; i < diff.length; ++i) { @@ -506,7 +575,8 @@ var endOff = endOfLineClean(diff, i) ? 1 : 0; var cleanToEdit = edit.line + endOff, cleanToOrig = orig.line + endOff; if (cleanToEdit > cleanFromEdit) { - if (i) f(startOrig, cleanFromOrig, startEdit, cleanFromEdit); + if (i) chunks.push({origFrom: startOrig, origTo: cleanFromOrig, + editFrom: startEdit, editTo: cleanFromEdit}); startEdit = cleanToEdit; startOrig = cleanToOrig; } } else { @@ -514,17 +584,9 @@ } } if (startEdit <= edit.line || startOrig <= orig.line) - f(startOrig, orig.line + 1, startEdit, edit.line + 1); - } - - function getChunks(dv) { - ensureDiff(dv); - var collect = []; - iterateChunks(dv.diff, function(topOrig, botOrig, topEdit, botEdit) { - collect.push({origFrom: topOrig, origTo: botOrig, - editFrom: topEdit, editTo: botEdit}); - }); - return collect; + chunks.push({origFrom: startOrig, origTo: orig.line + 1, + editFrom: startEdit, editTo: edit.line + 1}); + return chunks; } function endOfLineClean(diff, i) { @@ -545,18 +607,19 @@ return last.charCodeAt(last.length - 1) == 10; } - function chunkBoundariesAround(diff, n, nInEdit) { + function chunkBoundariesAround(chunks, n, nInEdit) { var beforeE, afterE, beforeO, afterO; - iterateChunks(diff, function(fromOrig, toOrig, fromEdit, toEdit) { - var fromLocal = nInEdit ? fromEdit : fromOrig; - var toLocal = nInEdit ? toEdit : toOrig; + for (var i = 0; i < chunks.length; i++) { + var chunk = chunks[i]; + var fromLocal = nInEdit ? chunk.editFrom : chunk.origFrom; + var toLocal = nInEdit ? chunk.editTo : chunk.origTo; if (afterE == null) { - if (fromLocal > n) { afterE = fromEdit; afterO = fromOrig; } - else if (toLocal > n) { afterE = toEdit; afterO = toOrig; } + if (fromLocal > n) { afterE = chunk.editFrom; afterO = chunk.origFrom; } + else if (toLocal > n) { afterE = chunk.editTo; afterO = chunk.origTo; } } - if (toLocal <= n) { beforeE = toEdit; beforeO = toOrig; } - else if (fromLocal <= n) { beforeE = fromEdit; beforeO = fromOrig; } - }); + if (toLocal <= n) { beforeE = chunk.editTo; beforeO = chunk.origTo; } + else if (fromLocal <= n) { beforeE = chunk.editFrom; beforeO = chunk.origFrom; } + } return {edit: {before: beforeE, after: afterE}, orig: {before: beforeO, after: afterO}}; } @@ -579,25 +642,50 @@ return {mark: mark, clear: clear}; } - function collapseStretch(dv, origStart, editStart, size) { - var mOrig = collapseSingle(dv.orig, origStart, origStart + size); - var mEdit = collapseSingle(dv.edit, editStart, editStart + size); - mOrig.mark.on("clear", function() { mEdit.clear(); }); - mEdit.mark.on("clear", function() { mOrig.clear(); }); + function collapseStretch(size, editors) { + var marks = []; + function clear() { + for (var i = 0; i < marks.length; i++) marks[i].clear(); + } + for (var i = 0; i < editors.length; i++) { + var editor = editors[i]; + var mark = collapseSingle(editor.cm, editor.line, editor.line + size); + marks.push(mark); + mark.mark.on("clear", clear); + } + return marks[0].mark; + } + + function unclearNearChunks(dv, margin, off, clear) { + for (var i = 0; i < dv.chunks.length; i++) { + var chunk = dv.chunks[i]; + for (var l = chunk.editFrom - margin; l < chunk.editTo + margin; l++) { + var pos = l + off; + if (pos >= 0 && pos < clear.length) clear[pos] = false; + } + } } - function collapseIdenticalStretches(dv, margin) { + function collapseIdenticalStretches(mv, margin) { if (typeof margin != "number") margin = 2; - var lastOrig = dv.orig.firstLine(), lastEdit = dv.edit.firstLine(); - iterateChunks(dv.diff, function(topOrig, botOrig, _topEdit, botEdit) { - var identicalSize = topOrig - margin - lastOrig; - if (identicalSize > margin) - collapseStretch(dv, lastOrig, lastEdit, identicalSize); - lastOrig = botOrig + margin; lastEdit = botEdit + margin; - }); - var bottomSize = dv.orig.lastLine() + 1 - lastOrig; - if (bottomSize > margin) - collapseStretch(dv, lastOrig, lastEdit, bottomSize); + var clear = [], edit = mv.editor(), off = edit.firstLine(); + for (var l = off, e = edit.lastLine(); l <= e; l++) clear.push(true); + if (mv.left) unclearNearChunks(mv.left, margin, off, clear); + if (mv.right) unclearNearChunks(mv.right, margin, off, clear); + + for (var i = 0; i < clear.length; i++) { + if (clear[i]) { + var line = i + off; + for (var size = 1; i < clear.length - 1 && clear[i + 1]; i++, size++) {} + if (size > margin) { + var editors = [{line: line, cm: edit}]; + if (mv.left) editors.push({line: getMatchingOrigLine(line, mv.left.chunks), cm: mv.left.orig}); + if (mv.right) editors.push({line: getMatchingOrigLine(line, mv.right.chunks), cm: mv.right.orig}); + var mark = collapseStretch(size, editors); + if (mv.options.onCollapse) mv.options.onCollapse(mv, line, size, mark); + } + } + } } // General utilities diff --git a/lib/codemirror/addon/scroll/annotatescrollbar.js b/lib/codemirror/addon/scroll/annotatescrollbar.js index 6dfff1a..54aeacf 100644 --- a/lib/codemirror/addon/scroll/annotatescrollbar.js +++ b/lib/codemirror/addon/scroll/annotatescrollbar.js @@ -11,27 +11,46 @@ })(function(CodeMirror) { "use strict"; - CodeMirror.defineExtension("annotateScrollbar", function(className) { - return new Annotation(this, className); + CodeMirror.defineExtension("annotateScrollbar", function(options) { + if (typeof options == "string") options = {className: options}; + return new Annotation(this, options); }); - function Annotation(cm, className) { + CodeMirror.defineOption("scrollButtonHeight", 0); + + function Annotation(cm, options) { this.cm = cm; - this.className = className; + this.options = options; + this.buttonHeight = options.scrollButtonHeight || cm.getOption("scrollButtonHeight"); this.annotations = []; + this.doRedraw = this.doUpdate = null; this.div = cm.getWrapperElement().appendChild(document.createElement("div")); this.div.style.cssText = "position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none"; this.computeScale(); + function scheduleRedraw(delay) { + clearTimeout(self.doRedraw); + self.doRedraw = setTimeout(function() { self.redraw(); }, delay); + } + var self = this; - cm.on("refresh", this.resizeHandler = function(){ - if (self.computeScale()) self.redraw(); + cm.on("refresh", this.resizeHandler = function() { + clearTimeout(self.doUpdate); + self.doUpdate = setTimeout(function() { + if (self.computeScale()) scheduleRedraw(20); + }, 100); }); + cm.on("markerAdded", this.resizeHandler); + cm.on("markerCleared", this.resizeHandler); + if (options.listenForChanges !== false) + cm.on("change", this.changeHandler = function() { + scheduleRedraw(250); + }); } Annotation.prototype.computeScale = function() { var cm = this.cm; - var hScale = (cm.getWrapperElement().clientHeight - cm.display.barHeight) / + var hScale = (cm.getWrapperElement().clientHeight - cm.display.barHeight - this.buttonHeight * 2) / cm.heightAtLine(cm.lastLine() + 1, "local"); if (hScale != this.hScale) { this.hScale = hScale; @@ -44,12 +63,12 @@ this.redraw(); }; - Annotation.prototype.redraw = function() { + Annotation.prototype.redraw = function(compute) { + if (compute !== false) this.computeScale(); var cm = this.cm, hScale = this.hScale; - if (!cm.display.barWidth) return; var frag = document.createDocumentFragment(), anns = this.annotations; - for (var i = 0, nextTop; i < anns.length; i++) { + if (cm.display.barWidth) for (var i = 0, nextTop; i < anns.length; i++) { var ann = anns[i]; var top = nextTop || cm.charCoords(ann.from, "local").top * hScale; var bottom = cm.charCoords(ann.to, "local").bottom * hScale; @@ -59,11 +78,13 @@ ann = anns[++i]; bottom = cm.charCoords(ann.to, "local").bottom * hScale; } + if (bottom == top) continue; var height = Math.max(bottom - top, 3); var elt = frag.appendChild(document.createElement("div")); - elt.style.cssText = "position: absolute; right: 0px; width: " + Math.max(cm.display.barWidth - 1, 2) + "px; top: " + top + "px; height: " + height + "px"; - elt.className = this.className; + elt.style.cssText = "position: absolute; right: 0px; width: " + Math.max(cm.display.barWidth - 1, 2) + "px; top: " + + (top + this.buttonHeight) + "px; height: " + height + "px"; + elt.className = this.options.className; } this.div.textContent = ""; this.div.appendChild(frag); @@ -71,6 +92,9 @@ Annotation.prototype.clear = function() { this.cm.off("refresh", this.resizeHandler); + this.cm.off("markerAdded", this.resizeHandler); + this.cm.off("markerCleared", this.resizeHandler); + if (this.changeHandler) this.cm.off("change", this.changeHandler); this.div.parentNode.removeChild(this.div); }; }); diff --git a/lib/codemirror/addon/search/matchesonscrollbar.js b/lib/codemirror/addon/search/matchesonscrollbar.js index 937d3f7..dbd67a4 100644 --- a/lib/codemirror/addon/search/matchesonscrollbar.js +++ b/lib/codemirror/addon/search/matchesonscrollbar.js @@ -11,13 +11,18 @@ })(function(CodeMirror) { "use strict"; - CodeMirror.defineExtension("showMatchesOnScrollbar", function(query, caseFold, className) { - return new SearchAnnotation(this, query, caseFold, className); + CodeMirror.defineExtension("showMatchesOnScrollbar", function(query, caseFold, options) { + if (typeof options == "string") options = {className: options}; + if (!options) options = {}; + return new SearchAnnotation(this, query, caseFold, options); }); - function SearchAnnotation(cm, query, caseFold, className) { + function SearchAnnotation(cm, query, caseFold, options) { this.cm = cm; - this.annotation = cm.annotateScrollbar(className || "CodeMirror-search-match"); + var annotateOptions = {listenForChanges: false}; + for (var prop in options) annotateOptions[prop] = options[prop]; + if (!annotateOptions.className) annotateOptions.className = "CodeMirror-search-match"; + this.annotation = cm.annotateScrollbar(annotateOptions); this.query = query; this.caseFold = caseFold; this.gap = {from: cm.firstLine(), to: cm.lastLine() + 1}; diff --git a/lib/codemirror/addon/selection/selection-pointer.js b/lib/codemirror/addon/selection/selection-pointer.js index 8cc0fc6..ef5e404 100644 --- a/lib/codemirror/addon/selection/selection-pointer.js +++ b/lib/codemirror/addon/selection/selection-pointer.js @@ -16,6 +16,7 @@ if (data) { CodeMirror.off(cm.getWrapperElement(), "mousemove", data.mousemove); CodeMirror.off(cm.getWrapperElement(), "mouseout", data.mouseout); + CodeMirror.off(window, "scroll", data.windowScroll); cm.off("cursorActivity", reset); cm.off("scroll", reset); cm.state.selectionPointer = null; @@ -26,12 +27,14 @@ value: typeof val == "string" ? val : "default", mousemove: function(event) { mousemove(cm, event); }, mouseout: function(event) { mouseout(cm, event); }, + windowScroll: function() { reset(cm); }, rects: null, mouseX: null, mouseY: null, willUpdate: false }; CodeMirror.on(cm.getWrapperElement(), "mousemove", data.mousemove); CodeMirror.on(cm.getWrapperElement(), "mouseout", data.mouseout); + CodeMirror.on(window, "scroll", data.windowScroll); cm.on("cursorActivity", reset); cm.on("scroll", reset); } diff --git a/lib/codemirror/addon/tern/tern.js b/lib/codemirror/addon/tern/tern.js index 86729e2..b049549 100644 --- a/lib/codemirror/addon/tern/tern.js +++ b/lib/codemirror/addon/tern/tern.js @@ -130,6 +130,13 @@ data = self.options.responseFilter(doc, query, request, error, data); c(error, data); }); + }, + + destroy: function () { + if (this.worker) { + this.worker.terminate(); + this.worker = null; + } } }; @@ -252,7 +259,9 @@ tip.appendChild(document.createTextNode(" — " + data.doc)); if (data.url) { tip.appendChild(document.createTextNode(" ")); - tip.appendChild(elt("a", null, "[docs]")).href = data.url; + var child = tip.appendChild(elt("a", null, "[docs]")); + child.href = data.url; + child.target = "_blank"; } } tempTooltip(cm, tip); @@ -582,15 +591,33 @@ // Tooltips function tempTooltip(cm, content) { + if (cm.state.ternTooltip) remove(cm.state.ternTooltip); var where = cm.cursorCoords(); - var tip = makeTooltip(where.right + 1, where.bottom, content); + var tip = cm.state.ternTooltip = makeTooltip(where.right + 1, where.bottom, content); + function maybeClear() { + old = true; + if (!mouseOnTip) clear(); + } function clear() { + cm.state.ternTooltip = null; if (!tip.parentNode) return; cm.off("cursorActivity", clear); + cm.off('blur', clear); + cm.off('scroll', clear); fadeOut(tip); } - setTimeout(clear, 1700); + var mouseOnTip = false, old = false; + CodeMirror.on(tip, "mousemove", function() { mouseOnTip = true; }); + CodeMirror.on(tip, "mouseout", function(e) { + if (!CodeMirror.contains(tip, e.relatedTarget || e.toElement)) { + if (old) clear(); + else mouseOnTip = false; + } + }); + setTimeout(maybeClear, 1700); cm.on("cursorActivity", clear); + cm.on('blur', clear); + cm.on('scroll', clear); } function makeTooltip(x, y, content) { @@ -631,7 +658,7 @@ // Worker wrapper function WorkerServer(ts) { - var worker = new Worker(ts.options.workerScript); + var worker = ts.worker = new Worker(ts.options.workerScript); worker.postMessage({type: "init", defs: ts.options.defs, plugins: ts.options.plugins, diff --git a/lib/codemirror/addons.min.js b/lib/codemirror/addons.min.js index 5e7c5e1..7ad1778 100644 --- a/lib/codemirror/addons.min.js +++ b/lib/codemirror/addons.min.js @@ -1,3 +1,5 @@ -/*! Editor.md v1.2.0 | addons.min.js | A simple online markdown editor. | MIT License | By: Pandao | https://github.com/pandao/editor.md | 2015-03-10 */ -!function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){e.defineOption("showTrailingSpace",!1,function(t,n,o){o==e.Init&&(o=!1),o&&!n?t.removeOverlay("trailingspace"):!o&&n&&t.addOverlay({token:function(e){for(var t=e.string.length,n=t;n&&/\s/.test(e.string.charAt(n-1));--n);return n>e.pos?(e.pos=n,null):(e.pos=t,"trailingspace")},name:"trailingspace"})})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){function t(e,t,n){var o,r=e.getWrapperElement();return o=r.appendChild(document.createElement("div")),o.className=n?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof t?o.innerHTML=t:o.appendChild(t),o}function n(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}e.defineExtension("openDialog",function(o,r,i){function a(e){if("string"==typeof e)u.value=e;else{if(f)return;f=!0,s.parentNode.removeChild(s),c.focus(),i.onClose&&i.onClose(s)}}i||(i={}),n(this,null);var l,s=t(this,o,i.bottom),f=!1,c=this,u=s.getElementsByTagName("input")[0];return u?(i.value&&(u.value=i.value,u.select()),i.onInput&&e.on(u,"input",function(e){i.onInput(e,u.value,a)}),i.onKeyUp&&e.on(u,"keyup",function(e){i.onKeyUp(e,u.value,a)}),e.on(u,"keydown",function(t){i&&i.onKeyDown&&i.onKeyDown(t,u.value,a)||((27==t.keyCode||i.closeOnEnter!==!1&&13==t.keyCode)&&(u.blur(),e.e_stop(t),a()),13==t.keyCode&&r(u.value,t))}),i.closeOnBlur!==!1&&e.on(u,"blur",a),u.focus()):(l=s.getElementsByTagName("button")[0])&&(e.on(l,"click",function(){a(),c.focus()}),i.closeOnBlur!==!1&&e.on(l,"blur",a),l.focus()),a}),e.defineExtension("openConfirm",function(o,r,i){function a(){f||(f=!0,l.parentNode.removeChild(l),c.focus())}n(this,null);var l=t(this,o,i&&i.bottom),s=l.getElementsByTagName("button"),f=!1,c=this,u=1;s[0].focus();for(var d=0;d=u&&a()},200)}),e.on(h,"focus",function(){++u})}}),e.defineExtension("openNotification",function(o,r){function i(){s||(s=!0,clearTimeout(a),l.parentNode.removeChild(l))}n(this,i);var a,l=t(this,o,r&&r.bottom),s=!1,f=r&&"undefined"!=typeof r.duration?r.duration:5e3;return e.on(l,"click",function(t){e.e_preventDefault(t),i()}),f&&(a=setTimeout(i,f)),i})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t,r,i){if(this.atOccurrence=!1,this.doc=e,null==i&&"string"==typeof t&&(i=!1),r=r?e.clipPos(r):o(0,0),this.pos={from:r,to:r},"string"!=typeof t)t.global||(t=new RegExp(t.source,t.ignoreCase?"ig":"g")),this.matches=function(n,r){if(n){t.lastIndex=0;for(var i,a,l=e.getLine(r.line).slice(0,r.ch),s=0;;){t.lastIndex=s;var f=t.exec(l);if(!f)break;if(i=f,a=i.index,s=i.index+(i[0].length||1),s==l.length)break}var c=i&&i[0].length||0;c||(0==a&&0==l.length?i=void 0:a!=e.getLine(r.line).length&&c++)}else{t.lastIndex=r.ch;var l=e.getLine(r.line),i=t.exec(l),c=i&&i[0].length||0,a=i&&i.index;a+c==l.length||c||(c=1)}return i&&c?{from:o(r.line,a),to:o(r.line,a+c),match:i}:void 0};else{var a=t;i&&(t=t.toLowerCase());var l=i?function(e){return e.toLowerCase()}:function(e){return e},s=t.split("\n");if(1==s.length)this.matches=t.length?function(r,i){if(r){var s=e.getLine(i.line).slice(0,i.ch),f=l(s),c=f.lastIndexOf(t);if(c>-1)return c=n(s,f,c),{from:o(i.line,c),to:o(i.line,c+a.length)}}else{var s=e.getLine(i.line).slice(i.ch),f=l(s),c=f.indexOf(t);if(c>-1)return c=n(s,f,c)+i.ch,{from:o(i.line,c),to:o(i.line,c+a.length)}}}:function(){};else{var f=a.split("\n");this.matches=function(t,n){var r=s.length-1;if(t){if(n.line-(s.length-1)=1;--c,--a)if(s[c]!=l(e.getLine(a)))return;var u=e.getLine(a),d=u.length-f[0].length;if(l(u.slice(d))!=s[0])return;return{from:o(a,d),to:i}}if(!(n.line+(s.length-1)>e.lastLine())){var u=e.getLine(n.line),d=u.length-f[0].length;if(l(u.slice(d))==s[0]){for(var h=o(n.line,d),a=n.line+1,c=1;r>c;++c,++a)if(s[c]!=l(e.getLine(a)))return;if(l(e.getLine(a).slice(0,f[r].length))==s[r])return{from:h,to:o(a,f[r].length)}}}}}}}function n(e,t,n){if(e.length==t.length)return n;for(var o=Math.min(n,e.length);;){var r=e.slice(0,o).toLowerCase().length;if(n>r)++o;else{if(!(r>n))return o;--o}}}var o=e.Pos;t.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(e){function t(e){var t=o(e,0);return n.pos={from:t,to:t},n.atOccurrence=!1,!1}for(var n=this,r=this.doc.clipPos(e?this.pos.from:this.pos.to);;){if(this.pos=this.matches(e,r))return this.atOccurrence=!0,this.pos.match||!0;if(e){if(!r.line)return t(0);r=o(r.line-1,this.doc.getLine(r.line-1).length)}else{var i=this.doc.lineCount();if(r.line==i-1)return t(i);r=o(r.line+1,0)}}},from:function(){return this.atOccurrence?this.pos.from:void 0},to:function(){return this.atOccurrence?this.pos.to:void 0},replace:function(t){if(this.atOccurrence){var n=e.splitLines(t);this.doc.replaceRange(n,this.pos.from,this.pos.to),this.pos.to=o(this.pos.from.line+n.length-1,n[n.length-1].length+(1==n.length?this.pos.from.ch:0))}}},e.defineExtension("getSearchCursor",function(e,n,o){return new t(this.doc,e,n,o)}),e.defineDocExtension("getSearchCursor",function(e,n,o){return new t(this,e,n,o)}),e.defineExtension("selectMatches",function(t,n){for(var o,r=[],i=this.getSearchCursor(t,this.getCursor("from"),n);(o=i.findNext())&&!(e.cmpPos(i.to(),this.getCursor("to"))>0);)r.push({anchor:i.from(),head:i.to()});r.length&&this.setSelections(r,0)})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("./searchcursor"),require("../dialog/dialog")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../dialog/dialog"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t){return"string"==typeof e?e=new RegExp(e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),t?"gi":"g"):e.global||(e=new RegExp(e.source,e.ignoreCase?"gi":"g")),{token:function(t){e.lastIndex=t.pos;var n=e.exec(t.string);return n&&n.index==t.pos?(t.pos+=n[0].length,"searching"):void(n?t.pos=n.index:t.skipToEnd())}}}function n(){this.posFrom=this.posTo=this.query=null,this.overlay=null}function o(e){return e.state.search||(e.state.search=new n)}function r(e){return"string"==typeof e&&e==e.toLowerCase()}function i(e,t,n){return e.getSearchCursor(t,n,r(t))}function a(e,t,n,o,r){e.openDialog?e.openDialog(t,r,{value:o}):r(prompt(n,o))}function l(e,t,n,o){e.openConfirm?e.openConfirm(t,o):confirm(n)&&o[0]()}function s(e){var t=e.match(/^\/(.*)\/([a-z]*)$/);if(t)try{e=new RegExp(t[1],-1==t[2].indexOf("i")?"":"i")}catch(n){}return("string"==typeof e?""==e:e.test(""))&&(e=/x^/),e}function f(e,n){var i=o(e);return i.query?c(e,n):void a(e,h,"Search for:",e.getSelection(),function(o){e.operation(function(){o&&!i.query&&(i.query=s(o),e.removeOverlay(i.overlay,r(i.query)),i.overlay=t(i.query,r(i.query)),e.addOverlay(i.overlay),e.showMatchesOnScrollbar&&(i.annotate&&(i.annotate.clear(),i.annotate=null),i.annotate=e.showMatchesOnScrollbar(i.query,r(i.query))),i.posFrom=i.posTo=e.getCursor(),c(e,n))})})}function c(t,n){t.operation(function(){var r=o(t),a=i(t,r.query,n?r.posFrom:r.posTo);(a.find(n)||(a=i(t,r.query,n?e.Pos(t.lastLine()):e.Pos(t.firstLine(),0)),a.find(n)))&&(t.setSelection(a.from(),a.to()),t.scrollIntoView({from:a.from(),to:a.to()}),r.posFrom=a.from(),r.posTo=a.to())})}function u(e){e.operation(function(){var t=o(e);t.query&&(t.query=null,e.removeOverlay(t.overlay),t.annotate&&(t.annotate.clear(),t.annotate=null))})}function d(e,t){e.getOption("readOnly")||a(e,p,"Replace:",e.getSelection(),function(n){n&&(n=s(n),a(e,m,"Replace with:","",function(o){if(t)e.operation(function(){for(var t=i(e,n);t.findNext();)if("string"!=typeof n){var r=e.getRange(t.from(),t.to()).match(n);t.replace(o.replace(/\$(\d)/g,function(e,t){return r[t]}))}else t.replace(o)});else{u(e);var r=i(e,n,e.getCursor()),a=function(){var t,o=r.from();!(t=r.findNext())&&(r=i(e,n),!(t=r.findNext())||o&&r.from().line==o.line&&r.from().ch==o.ch)||(e.setSelection(r.from(),r.to()),e.scrollIntoView({from:r.from(),to:r.to()}),l(e,g,"Replace?",[function(){s(t)},a]))},s=function(e){r.replace("string"==typeof n?o:o.replace(/\$(\d)/g,function(t,n){return e[n]})),a()};a()}}))})}var h='Search: (Use /re/ syntax for regexp search)',p='Replace: (Use /re/ syntax for regexp search)',m='With: ',g="Replace? ";e.commands.find=function(e){u(e),f(e)},e.commands.findNext=f,e.commands.findPrev=function(e){f(e,!0)},e.commands.clearSearch=u,e.commands.replace=d,e.commands.replaceAll=function(e){d(e,!0)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t){this.cm=e,this.className=t,this.annotations=[],this.div=e.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var n=this;e.on("refresh",this.resizeHandler=function(){n.computeScale()&&n.redraw()})}e.defineExtension("annotateScrollbar",function(e){return new t(this,e)}),t.prototype.computeScale=function(){var e=this.cm,t=(e.getWrapperElement().clientHeight-e.display.barHeight)/e.heightAtLine(e.lastLine()+1,"local");return t!=this.hScale?(this.hScale=t,!0):void 0},t.prototype.update=function(e){this.annotations=e,this.redraw()},t.prototype.redraw=function(){var e=this.cm,t=this.hScale;if(e.display.barWidth){for(var n,o=document.createDocumentFragment(),r=this.annotations,i=0;is+.9));)a=r[++i],s=e.charCoords(a.to,"local").bottom*t;var f=Math.max(s-l,3),c=o.appendChild(document.createElement("div"));c.style.cssText="position: absolute; right: 0px; width: "+Math.max(e.display.barWidth-1,2)+"px; top: "+l+"px; height: "+f+"px",c.className=this.className}this.div.textContent="",this.div.appendChild(o)}},t.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.div.parentNode.removeChild(this.div)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t,n,o){this.cm=e,this.annotation=e.annotateScrollbar(o||"CodeMirror-search-match"),this.query=t,this.caseFold=n,this.gap={from:e.firstLine(),to:e.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var r=this;e.on("change",this.changeHandler=function(e,t){r.onChange(t)})}function n(e,t,n){return t>=e?e:Math.max(t,e+n)}e.defineExtension("showMatchesOnScrollbar",function(e,n,o){return new t(this,e,n,o)});var o=1e3;t.prototype.findMatches=function(){if(this.gap){for(var t=0;t=this.gap.to)break;n.to.line>=this.gap.from&&this.matches.splice(t--,1)}for(var r=this.cm.getSearchCursor(this.query,e.Pos(this.gap.from,0),this.caseFold);r.findNext();){var n={from:r.from(),to:r.to()};if(n.from.line>=this.gap.to)break;if(this.matches.splice(t++,0,n),this.matches.length>o)break}this.gap=null}},t.prototype.onChange=function(t){var o=t.from.line,r=e.changeEnd(t).line,i=r-t.to.line;if(this.gap?(this.gap.from=Math.min(n(this.gap.from,o,i),t.from.line),this.gap.to=Math.max(n(this.gap.to,o,i),t.from.line)):this.gap={from:t.from.line,to:r+1},i)for(var a=0;af.ch&&(v=v.slice(0,v.length-c.end+f.ch));var y=v.toLowerCase();if(!v||"string"==c.type&&(c.end!=f.ch||!/[\"\']/.test(c.string.charAt(c.string.length-1))||1==c.string.length)||"tag"==c.type&&"closeTag"==d.type||c.string.indexOf("/")==c.string.length-1||m&&r(m,y)>-1||i(t,v,f,d,!0))return e.Pass;var b=g&&r(g,y)>-1;o[s]={indent:b,text:">"+(b?"\n\n":"")+"",newPos:b?e.Pos(f.line+1,0):e.Pos(f.line,f.ch+1)}}for(var s=n.length-1;s>=0;s--){var C=o[s];t.replaceRange(C.text,n[s].head,n[s].anchor,"+insert");var x=t.listSelections().slice(0);x[s]={head:C.newPos,anchor:C.newPos},t.setSelections(x),C.indent&&(t.indentLine(C.newPos.line,null,!0),t.indentLine(C.newPos.line+1,null,!0))}}function n(t,n){for(var o=t.listSelections(),r=[],a=n?"/":"";else{if("htmlmixed"!=t.getMode().name||"css"!=c.mode.name)return e.Pass;r[l]=a+"style>"}else{if(!u.context||!u.context.tagName||i(t,u.context.tagName,s,u))return e.Pass;r[l]=a+u.context.tagName+">"}}t.replaceSelections(r),o=t.listSelections();for(var l=0;ln;++n)if(e[n]==t)return n;return-1}function i(t,n,o,r,i){if(!e.scanForClosingTag)return!1;var a=Math.min(t.lastLine()+1,o.line+500),l=e.scanForClosingTag(t,o,null,a);if(!l||l.tag!=n)return!1;for(var s=r.context,f=i?1:0;s&&s.tagName==n;s=s.prev)++f;o=l.to;for(var c=1;f>c;c++){var u=e.scanForClosingTag(t,o,null,a);if(!u||u.tag!=n)return!1;o=u.to}return!0}e.defineOption("autoCloseTags",!1,function(n,r,i){if(i!=e.Init&&i&&n.removeKeyMap("autoCloseTags"),r){var a={name:"autoCloseTags"};("object"!=typeof r||r.whenClosing)&&(a["'/'"]=function(e){return o(e)}),("object"!=typeof r||r.whenOpening)&&(a["'>'"]=function(e){return t(e)}),n.addKeyMap(a)}});var a=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],l=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];e.commands.closeTag=function(e){return n(e)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(t,r,i,a){function l(e){var n=s(t,r);if(!n||n.to.line-n.from.linet.firstLine();)r=e.Pos(r.line-1,0),c=l(!1);if(c&&!c.cleared&&"unfold"!==a){var u=n(t,i);e.on(u,"mousedown",function(t){d.clear(),e.e_preventDefault(t)});var d=t.markText(c.from,c.to,{replacedWith:u,clearOnEnter:!0,__isFold:!0});d.on("clear",function(n,o){e.signal(t,"unfold",t,n,o)}),e.signal(t,"fold",t,c.from,c.to)}}function n(e,t){var n=o(e,t,"widget");if("string"==typeof n){var r=document.createTextNode(n);n=document.createElement("span"),n.appendChild(r),n.className="CodeMirror-foldmarker"}return n}function o(e,t,n){if(t&&void 0!==t[n])return t[n];var o=e.options.foldOptions;return o&&void 0!==o[n]?o[n]:r[n]}e.newFoldFunction=function(e,n){return function(o,r){t(o,r,{rangeFinder:e,widget:n})}},e.defineExtension("foldCode",function(e,n,o){t(this,e,n,o)}),e.defineExtension("isFolded",function(e){for(var t=this.findMarksAt(e),n=0;n=n;n++)t.foldCode(e.Pos(n,0),null,"fold")})},e.commands.unfoldAll=function(t){t.operation(function(){for(var n=t.firstLine(),o=t.lastLine();o>=n;n++)t.foldCode(e.Pos(n,0),null,"unfold")})},e.registerHelper("fold","combine",function(){var e=Array.prototype.slice.call(arguments,0);return function(t,n){for(var o=0;o=l&&(n=r(i.indicatorOpen))}e.setGutterMarker(t,i.gutter,n),++a})}function a(e){var t=e.getViewport(),n=e.state.foldGutter;n&&(e.operation(function(){i(e,t.from,t.to)}),n.from=t.from,n.to=t.to)}function l(e,t,n){var o=e.state.foldGutter.options;n==o.gutter&&e.foldCode(u(t,0),o.rangeFinder)}function s(e){var t=e.state.foldGutter,n=e.state.foldGutter.options;t.from=t.to=0,clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout(function(){a(e)},n.foldOnChangeTimeSpan||600)}function f(e){var t=e.state.foldGutter,n=e.state.foldGutter.options;clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout(function(){var n=e.getViewport();t.from==t.to||n.from-t.to>20||t.from-n.to>20?a(e):e.operation(function(){n.fromt.to&&(i(e,t.to,n.to),t.to=n.to)})},n.updateViewportTimeSpan||400)}function c(e,t){var n=e.state.foldGutter,o=t.line;o>=n.from&&o=s;++s){var c=t.getLine(s),u=i(c);if(u>a)l=s;else if(/\S/.test(c))break}return l?{from:e.Pos(n.line,r.length),to:e.Pos(l,t.getLine(l).length)}:void 0}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.registerHelper("fold","brace",function(t,n){function o(o){for(var r=n.ch,s=0;;){var f=0>=r?-1:l.lastIndexOf(o,r-1);if(-1!=f){if(1==s&&f=p;++p)for(var m=t.getLine(p),g=p==a?r:0;;){var v=m.indexOf(s,g),y=m.indexOf(f,g);if(0>v&&(v=m.length),0>y&&(y=m.length),g=Math.min(v,y),g==m.length)break;if(t.getTokenTypeAt(e.Pos(p,g+1))==i)if(g==v)++d;else if(!--d){c=p,u=g;break e}++g}if(null!=c&&(a!=c||u!=r))return{from:e.Pos(a,r),to:e.Pos(c,u)}}}),e.registerHelper("fold","import",function(t,n){function o(n){if(nt.lastLine())return null;var o=t.getTokenAt(e.Pos(n,1));if(/\S/.test(o.string)||(o=t.getTokenAt(e.Pos(n,o.end+1))),"keyword"!=o.type||"import"!=o.string)return null;for(var r=n,i=Math.min(t.lastLine(),n+10);i>=r;++r){var a=t.getLine(r),l=a.indexOf(";");if(-1!=l)return{startCh:o.end,end:e.Pos(r,l)}}}var r,n=n.line,i=o(n);if(!i||o(n-1)||(r=o(n-2))&&r.end.line==n-1)return null;for(var a=i.end;;){var l=o(a.line+1);if(null==l)break;a=l.end}return{from:t.clipPos(e.Pos(n,i.startCh+1)),to:a}}),e.registerHelper("fold","include",function(t,n){function o(n){if(nt.lastLine())return null;var o=t.getTokenAt(e.Pos(n,1));return/\S/.test(o.string)||(o=t.getTokenAt(e.Pos(n,o.end+1))),"meta"==o.type&&"#include"==o.string.slice(0,8)?o.start+8:void 0}var n=n.line,r=o(n);if(null==r||null!=o(n-1))return null;for(var i=n;;){var a=o(i+1);if(null==a)break;++i}return{from:e.Pos(n,r+1),to:t.clipPos(e.Pos(i))}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t){return e.line-t.line||e.ch-t.ch}function n(e,t,n,o){this.line=t,this.ch=n,this.cm=e,this.text=e.getLine(t),this.min=o?o.from:e.firstLine(),this.max=o?o.to-1:e.lastLine()}function o(e,t){var n=e.cm.getTokenTypeAt(d(e.line,t));return n&&/\btag\b/.test(n)}function r(e){return e.line>=e.max?void 0:(e.ch=0,e.text=e.cm.getLine(++e.line),!0)}function i(e){return e.line<=e.min?void 0:(e.text=e.cm.getLine(--e.line),e.ch=e.text.length,!0)}function a(e){for(;;){var t=e.text.indexOf(">",e.ch);if(-1==t){if(r(e))continue;return}{if(o(e,t+1)){var n=e.text.lastIndexOf("/",t),i=n>-1&&!/\S/.test(e.text.slice(n+1,t));return e.ch=t+1,i?"selfClose":"regular"}e.ch=t+1}}}function l(e){for(;;){var t=e.ch?e.text.lastIndexOf("<",e.ch-1):-1;if(-1==t){if(i(e))continue;return}if(o(e,t+1)){m.lastIndex=t,e.ch=t;var n=m.exec(e.text);if(n&&n.index==t)return n}else e.ch=t}}function s(e){for(;;){m.lastIndex=e.ch;var t=m.exec(e.text);if(!t){if(r(e))continue;return}{if(o(e,t.index+1))return e.ch=t.index+t[0].length,t;e.ch=t.index+1}}}function f(e){for(;;){var t=e.ch?e.text.lastIndexOf(">",e.ch-1):-1;if(-1==t){if(i(e))continue;return}{if(o(e,t+1)){var n=e.text.lastIndexOf("/",t),r=n>-1&&!/\S/.test(e.text.slice(n+1,t));return e.ch=t+1,r?"selfClose":"regular"}e.ch=t}}}function c(e,t){for(var n=[];;){var o,r=s(e),i=e.line,l=e.ch-(r?r[0].length:0);if(!r||!(o=a(e)))return;if("selfClose"!=o)if(r[1]){for(var f=n.length-1;f>=0;--f)if(n[f]==r[2]){n.length=f;break}if(0>f&&(!t||t==r[2]))return{tag:r[2],from:d(i,l),to:d(e.line,e.ch)}}else n.push(r[2])}}function u(e,t){for(var n=[];;){var o=f(e);if(!o)return;if("selfClose"!=o){var r=e.line,i=e.ch,a=l(e);if(!a)return;if(a[1])n.push(a[2]);else{for(var s=n.length-1;s>=0;--s)if(n[s]==a[2]){n.length=s;break}if(0>s&&(!t||t==a[2]))return{tag:a[2],from:d(e.line,e.ch),to:d(r,i)}}}else l(e)}}var d=e.Pos,h="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",p=h+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",m=new RegExp("<(/?)(["+h+"]["+p+"]*)","g");e.registerHelper("fold","xml",function(e,t){for(var o=new n(e,t.line,0);;){var r,i=s(o);if(!i||o.line!=t.line||!(r=a(o)))return;if(!i[1]&&"selfClose"!=r){var t=d(o.line,o.ch),l=c(o,i[2]);return l&&{from:t,to:l.from}}}}),e.findMatchingTag=function(e,o,r){var i=new n(e,o.line,o.ch,r);if(-1!=i.text.indexOf(">")||-1!=i.text.indexOf("<")){var s=a(i),f=s&&d(i.line,i.ch),h=s&&l(i);if(s&&h&&!(t(i,o)>0)){var p={from:d(i.line,i.ch),to:f,tag:h[2]};return"selfClose"==s?{open:p,close:null,at:"open"}:h[1]?{open:u(i,h[2]),close:p,at:"close"}:(i=new n(e,f.line,f.ch,r),{open:p,close:c(i,h[2]),at:"open"})}}},e.findEnclosingTag=function(e,t,o){for(var r=new n(e,t.line,t.ch,o);;){var i=u(r);if(!i)break;var a=new n(e,t.line,t.ch,o),l=c(a,i.tag);if(l)return{open:i,close:l}}},e.scanForClosingTag=function(e,t,o,r){var i=new n(e,t.line,t.ch,r?{from:0,to:r}:null);return c(i,o)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.registerHelper("fold","markdown",function(t,n){function o(n){var o=t.getTokenTypeAt(e.Pos(n,0));return o&&/\bheader\b/.test(o)}function r(e,t,n){var r=t&&t.match(/^#+/);return r&&o(e)?r[0].length:(r=n&&n.match(/^[=\-]+\s*$/),r&&o(e+1)?"="==n[0]?1:2:i)}var i=100,a=t.getLine(n.line),l=t.getLine(n.line+1),s=r(n.line,a,l);if(s===i)return void 0;for(var f=t.lastLine(),c=n.line,u=t.getLine(c+2);f>c&&!(r(c+1,l,u)<=s);)++c,l=u,u=t.getLine(c+2);return{from:e.Pos(n.line,a.length),to:e.Pos(c,t.getLine(c).length)}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.registerGlobalHelper("fold","comment",function(e){return e.blockCommentStart&&e.blockCommentEnd},function(t,n){var o=t.getModeAt(n),r=o.blockCommentStart,i=o.blockCommentEnd;if(r&&i){for(var a,l=n.line,s=t.getLine(l),f=n.ch,c=0;;){var u=0>=f?-1:s.lastIndexOf(r,f-1);if(-1!=u){if(1==c&&u=g;++g)for(var v=t.getLine(g),y=g==l?a:0;;){var b=v.indexOf(r,y),C=v.indexOf(i,y);if(0>b&&(b=v.length),0>C&&(C=v.length),y=Math.min(b,C),y==v.length)break;if(y==b)++p;else if(!--p){d=g,h=y;break e}++y}if(null!=d&&(l!=d||h!=a))return{from:e.Pos(l,a),to:e.Pos(d,h)}}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.overlayMode=function(t,n,o){return{startState:function(){return{base:e.startState(t),overlay:e.startState(n),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(o){return{base:e.copyState(t,o.base),overlay:e.copyState(n,o.overlay),basePos:o.basePos,baseCur:null,overlayPos:o.overlayPos,overlayCur:null}},token:function(e,r){return(e!=r.streamSeen||Math.min(r.basePos,r.overlayPos)=n.ch+1)return/\bstring2?\b/.test(l);a.start=a.pos}}function o(o){for(var r={name:"autoCloseBrackets",Backspace:function(n){if(n.getOption("disableInput"))return e.Pass;for(var r=n.listSelections(),i=0;i=0;i--){var l=r[i].head;n.replaceRange("",s(l.line,l.ch-1),s(l.line,l.ch+1))}}},i="",a=0;a1&&r.getRange(s(p.line,p.ch-2),p)==t+t&&(p.ch<=2||r.getRange(s(p.line,p.ch-3),s(p.line,p.ch-2))!=t))d="addFour";else if('"'==t||"'"==t){if(e.isWordChar(f)||!n(r,p,t))return e.Pass;d="both"}else{if(!(r.getLine(p.line).length==p.ch||i.indexOf(f)>=0||l.test(f)))return e.Pass;d="both"}else d="surround";if(a){if(a!=d)return e.Pass}else a=d}r.operation(function(){if("skip"==a)r.execCommand("goCharRight");else if("skipThree"==a)for(var e=0;3>e;e++)r.execCommand("goCharRight");else if("surround"==a){for(var n=r.getSelections(),e=0;el&&e.addOverlay(t.overlay=a(i.slice(l,s),n,t.style)))}var f=e.getCursor("from"),c=e.getCursor("to");if(f.line==c.line&&(!t.wordsOnly||r(e,f,c))){var u=e.getRange(f,c).replace(/^\s+|\s+$/g,"");u.length>=t.minChars&&e.addOverlay(t.overlay=a(u,!1,t.style))}})}function r(e,t,n){var o=e.getRange(t,n);if(null!==o.match(/^\w+$/)){if(t.ch>0){var r={line:t.line,ch:t.ch-1},i=e.getRange(r,t);if(null===i.match(/\W/))return!1}if(n.che.pos?(e.pos=i,null):(e.pos=t,"trailingspace")},name:"trailingspace"})})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){function t(e,t,i){var o,n=e.getWrapperElement();return o=n.appendChild(document.createElement("div")),o.className=i?"CodeMirror-dialog CodeMirror-dialog-bottom":"CodeMirror-dialog CodeMirror-dialog-top","string"==typeof t?o.innerHTML=t:o.appendChild(t),o}function i(e,t){e.state.currentNotificationClose&&e.state.currentNotificationClose(),e.state.currentNotificationClose=t}e.defineExtension("openDialog",function(o,n,r){function a(e){if("string"==typeof e)h.value=e;else{if(c)return;c=!0,l.parentNode.removeChild(l),d.focus(),r.onClose&&r.onClose(l)}}r||(r={}),i(this,null);var s,l=t(this,o,r.bottom),c=!1,d=this,h=l.getElementsByTagName("input")[0];return h?(r.value&&(h.value=r.value,h.select()),r.onInput&&e.on(h,"input",function(e){r.onInput(e,h.value,a)}),r.onKeyUp&&e.on(h,"keyup",function(e){r.onKeyUp(e,h.value,a)}),e.on(h,"keydown",function(t){r&&r.onKeyDown&&r.onKeyDown(t,h.value,a)||((27==t.keyCode||r.closeOnEnter!==!1&&13==t.keyCode)&&(h.blur(),e.e_stop(t),a()),13==t.keyCode&&n(h.value,t))}),r.closeOnBlur!==!1&&e.on(h,"blur",a),h.focus()):(s=l.getElementsByTagName("button")[0])&&(e.on(s,"click",function(){a(),d.focus()}),r.closeOnBlur!==!1&&e.on(s,"blur",a),s.focus()),a}),e.defineExtension("openConfirm",function(o,n,r){function a(){c||(c=!0,s.parentNode.removeChild(s),d.focus())}i(this,null);var s=t(this,o,r&&r.bottom),l=s.getElementsByTagName("button"),c=!1,d=this,h=1;l[0].focus();for(var u=0;u=h&&a()},200)}),e.on(f,"focus",function(){++h})}}),e.defineExtension("openNotification",function(o,n){function r(){l||(l=!0,clearTimeout(a),s.parentNode.removeChild(s))}i(this,r);var a,s=t(this,o,n&&n.bottom),l=!1,c=n&&"undefined"!=typeof n.duration?n.duration:5e3;return e.on(s,"click",function(t){e.e_preventDefault(t),r()}),c&&(a=setTimeout(r,c)),r})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t,n,r){if(this.atOccurrence=!1,this.doc=e,null==r&&"string"==typeof t&&(r=!1),n=n?e.clipPos(n):o(0,0),this.pos={from:n,to:n},"string"!=typeof t)t.global||(t=new RegExp(t.source,t.ignoreCase?"ig":"g")),this.matches=function(i,n){if(i){t.lastIndex=0;for(var r,a,s=e.getLine(n.line).slice(0,n.ch),l=0;;){t.lastIndex=l;var c=t.exec(s);if(!c)break;if(r=c,a=r.index,l=r.index+(r[0].length||1),l==s.length)break}var d=r&&r[0].length||0;d||(0==a&&0==s.length?r=void 0:a!=e.getLine(n.line).length&&d++)}else{t.lastIndex=n.ch;var s=e.getLine(n.line),r=t.exec(s),d=r&&r[0].length||0,a=r&&r.index;a+d==s.length||d||(d=1)}return r&&d?{from:o(n.line,a),to:o(n.line,a+d),match:r}:void 0};else{var a=t;r&&(t=t.toLowerCase());var s=r?function(e){return e.toLowerCase()}:function(e){return e},l=t.split("\n");if(1==l.length)this.matches=t.length?function(n,r){if(n){var l=e.getLine(r.line).slice(0,r.ch),c=s(l),d=c.lastIndexOf(t);if(d>-1)return d=i(l,c,d),{from:o(r.line,d),to:o(r.line,d+a.length)}}else{var l=e.getLine(r.line).slice(r.ch),c=s(l),d=c.indexOf(t);if(d>-1)return d=i(l,c,d)+r.ch,{from:o(r.line,d),to:o(r.line,d+a.length)}}}:function(){};else{var c=a.split("\n");this.matches=function(t,i){var n=l.length-1;if(t){if(i.line-(l.length-1)=1;--d,--a)if(l[d]!=s(e.getLine(a)))return;var h=e.getLine(a),u=h.length-c[0].length;if(s(h.slice(u))!=l[0])return;return{from:o(a,u),to:r}}if(!(i.line+(l.length-1)>e.lastLine())){var h=e.getLine(i.line),u=h.length-c[0].length;if(s(h.slice(u))==l[0]){for(var f=o(i.line,u),a=i.line+1,d=1;n>d;++d,++a)if(l[d]!=s(e.getLine(a)))return;if(s(e.getLine(a).slice(0,c[n].length))==l[n])return{from:f,to:o(a,c[n].length)}}}}}}}function i(e,t,i){if(e.length==t.length)return i;for(var o=Math.min(i,e.length);;){var n=e.slice(0,o).toLowerCase().length;if(i>n)++o;else{if(!(n>i))return o;--o}}}var o=e.Pos;t.prototype={findNext:function(){return this.find(!1)},findPrevious:function(){return this.find(!0)},find:function(e){function t(e){var t=o(e,0);return i.pos={from:t,to:t},i.atOccurrence=!1,!1}for(var i=this,n=this.doc.clipPos(e?this.pos.from:this.pos.to);;){if(this.pos=this.matches(e,n))return this.atOccurrence=!0,this.pos.match||!0;if(e){if(!n.line)return t(0);n=o(n.line-1,this.doc.getLine(n.line-1).length)}else{var r=this.doc.lineCount();if(n.line==r-1)return t(r);n=o(n.line+1,0)}}},from:function(){return this.atOccurrence?this.pos.from:void 0},to:function(){return this.atOccurrence?this.pos.to:void 0},replace:function(t){if(this.atOccurrence){var i=e.splitLines(t);this.doc.replaceRange(i,this.pos.from,this.pos.to),this.pos.to=o(this.pos.from.line+i.length-1,i[i.length-1].length+(1==i.length?this.pos.from.ch:0))}}},e.defineExtension("getSearchCursor",function(e,i,o){return new t(this.doc,e,i,o)}),e.defineDocExtension("getSearchCursor",function(e,i,o){return new t(this,e,i,o)}),e.defineExtension("selectMatches",function(t,i){for(var o,n=[],r=this.getSearchCursor(t,this.getCursor("from"),i);(o=r.findNext())&&!(e.cmpPos(r.to(),this.getCursor("to"))>0);)n.push({anchor:r.from(),head:r.to()});n.length&&this.setSelections(n,0)})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("./searchcursor"),require("../dialog/dialog")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../dialog/dialog"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t){return"string"==typeof e?e=new RegExp(e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),t?"gi":"g"):e.global||(e=new RegExp(e.source,e.ignoreCase?"gi":"g")),{token:function(t){e.lastIndex=t.pos;var i=e.exec(t.string);return i&&i.index==t.pos?(t.pos+=i[0].length,"searching"):void(i?t.pos=i.index:t.skipToEnd())}}}function i(){this.posFrom=this.posTo=this.query=null,this.overlay=null}function o(e){return e.state.search||(e.state.search=new i)}function n(e){return"string"==typeof e&&e==e.toLowerCase()}function r(e,t,i){return e.getSearchCursor(t,i,n(t))}function a(e,t,i,o,n){e.openDialog?e.openDialog(t,n,{value:o}):n(prompt(i,o))}function s(e,t,i,o){e.openConfirm?e.openConfirm(t,o):confirm(i)&&o[0]()}function l(e){var t=e.match(/^\/(.*)\/([a-z]*)$/);if(t)try{e=new RegExp(t[1],-1==t[2].indexOf("i")?"":"i")}catch(i){}return("string"==typeof e?""==e:e.test(""))&&(e=/x^/),e}function c(e,i){var r=o(e);return r.query?d(e,i):void a(e,f,"Search for:",e.getSelection(),function(o){e.operation(function(){o&&!r.query&&(r.query=l(o),e.removeOverlay(r.overlay,n(r.query)),r.overlay=t(r.query,n(r.query)),e.addOverlay(r.overlay),e.showMatchesOnScrollbar&&(r.annotate&&(r.annotate.clear(),r.annotate=null),r.annotate=e.showMatchesOnScrollbar(r.query,n(r.query))),r.posFrom=r.posTo=e.getCursor(),d(e,i))})})}function d(t,i){t.operation(function(){var n=o(t),a=r(t,n.query,i?n.posFrom:n.posTo);(a.find(i)||(a=r(t,n.query,i?e.Pos(t.lastLine()):e.Pos(t.firstLine(),0)),a.find(i)))&&(t.setSelection(a.from(),a.to()),t.scrollIntoView({from:a.from(),to:a.to()}),n.posFrom=a.from(),n.posTo=a.to())})}function h(e){e.operation(function(){var t=o(e);t.query&&(t.query=null,e.removeOverlay(t.overlay),t.annotate&&(t.annotate.clear(),t.annotate=null))})}function u(e,t){e.getOption("readOnly")||a(e,g,"Replace:",e.getSelection(),function(i){i&&(i=l(i),a(e,p,"Replace with:","",function(o){if(t)e.operation(function(){for(var t=r(e,i);t.findNext();)if("string"!=typeof i){var n=e.getRange(t.from(),t.to()).match(i);t.replace(o.replace(/\$(\d)/g,function(e,t){return n[t]}))}else t.replace(o)});else{h(e);var n=r(e,i,e.getCursor()),a=function(){var t,o=n.from();!(t=n.findNext())&&(n=r(e,i),!(t=n.findNext())||o&&n.from().line==o.line&&n.from().ch==o.ch)||(e.setSelection(n.from(),n.to()),e.scrollIntoView({from:n.from(),to:n.to()}),s(e,m,"Replace?",[function(){l(t)},a]))},l=function(e){n.replace("string"==typeof i?o:o.replace(/\$(\d)/g,function(t,i){return e[i]})),a()};a()}}))})}var f='Search: (Use /re/ syntax for regexp search)',g='Replace: (Use /re/ syntax for regexp search)',p='With: ',m="Replace? ";e.commands.find=function(e){h(e),c(e)},e.commands.findNext=c,e.commands.findPrev=function(e){c(e,!0)},e.commands.clearSearch=h,e.commands.replace=u,e.commands.replaceAll=function(e){u(e,!0)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t){function i(e){clearTimeout(o.doRedraw),o.doRedraw=setTimeout(function(){o.redraw()},e)}this.cm=e,this.options=t,this.buttonHeight=t.scrollButtonHeight||e.getOption("scrollButtonHeight"),this.annotations=[],this.doRedraw=this.doUpdate=null,this.div=e.getWrapperElement().appendChild(document.createElement("div")),this.div.style.cssText="position: absolute; right: 0; top: 0; z-index: 7; pointer-events: none",this.computeScale();var o=this;e.on("refresh",this.resizeHandler=function(){clearTimeout(o.doUpdate),o.doUpdate=setTimeout(function(){o.computeScale()&&i(20)},100)}),e.on("markerAdded",this.resizeHandler),e.on("markerCleared",this.resizeHandler),t.listenForChanges!==!1&&e.on("change",this.changeHandler=function(){i(250)})}e.defineExtension("annotateScrollbar",function(e){return"string"==typeof e&&(e={className:e}),new t(this,e)}),e.defineOption("scrollButtonHeight",0),t.prototype.computeScale=function(){var e=this.cm,t=(e.getWrapperElement().clientHeight-e.display.barHeight-2*this.buttonHeight)/e.heightAtLine(e.lastLine()+1,"local");return t!=this.hScale?(this.hScale=t,!0):void 0},t.prototype.update=function(e){this.annotations=e,this.redraw()},t.prototype.redraw=function(e){e!==!1&&this.computeScale();var t=this.cm,i=this.hScale,o=document.createDocumentFragment(),n=this.annotations;if(t.display.barWidth)for(var r,a=0;ac+.9));)s=n[++a],c=t.charCoords(s.to,"local").bottom*i;if(c!=l){var d=Math.max(c-l,3),h=o.appendChild(document.createElement("div"));h.style.cssText="position: absolute; right: 0px; width: "+Math.max(t.display.barWidth-1,2)+"px; top: "+(l+this.buttonHeight)+"px; height: "+d+"px",h.className=this.options.className}}this.div.textContent="",this.div.appendChild(o)},t.prototype.clear=function(){this.cm.off("refresh",this.resizeHandler),this.cm.off("markerAdded",this.resizeHandler),this.cm.off("markerCleared",this.resizeHandler),this.changeHandler&&this.cm.off("change",this.changeHandler),this.div.parentNode.removeChild(this.div)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror"),require("./searchcursor"),require("../scroll/annotatescrollbar")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","./searchcursor","../scroll/annotatescrollbar"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t,i,o){this.cm=e;var n={listenForChanges:!1};for(var r in o)n[r]=o[r];n.className||(n.className="CodeMirror-search-match"),this.annotation=e.annotateScrollbar(n),this.query=t,this.caseFold=i,this.gap={from:e.firstLine(),to:e.lastLine()+1},this.matches=[],this.update=null,this.findMatches(),this.annotation.update(this.matches);var a=this;e.on("change",this.changeHandler=function(e,t){a.onChange(t)})}function i(e,t,i){return t>=e?e:Math.max(t,e+i)}e.defineExtension("showMatchesOnScrollbar",function(e,i,o){return"string"==typeof o&&(o={className:o}),o||(o={}),new t(this,e,i,o)});var o=1e3;t.prototype.findMatches=function(){if(this.gap){for(var t=0;t=this.gap.to)break;i.to.line>=this.gap.from&&this.matches.splice(t--,1)}for(var n=this.cm.getSearchCursor(this.query,e.Pos(this.gap.from,0),this.caseFold);n.findNext();){var i={from:n.from(),to:n.to()};if(i.from.line>=this.gap.to)break;if(this.matches.splice(t++,0,i),this.matches.length>o)break}this.gap=null}},t.prototype.onChange=function(t){var o=t.from.line,n=e.changeEnd(t).line,r=n-t.to.line;if(this.gap?(this.gap.from=Math.min(i(this.gap.from,o,r),t.from.line),this.gap.to=Math.max(i(this.gap.to,o,r),t.from.line)):this.gap={from:t.from.line,to:n+1},r)for(var a=0;ac.ch&&(v=v.slice(0,v.length-d.end+c.ch));var w=v.toLowerCase();if(!v||"string"==d.type&&(d.end!=c.ch||!/[\"\']/.test(d.string.charAt(d.string.length-1))||1==d.string.length)||"tag"==d.type&&"closeTag"==u.type||d.string.indexOf("/")==d.string.length-1||p&&n(p,w)>-1||r(t,v,c,u,!0))return e.Pass;var y=m&&n(m,w)>-1;o[l]={indent:y,text:">"+(y?"\n\n":"")+"",newPos:y?e.Pos(c.line+1,0):e.Pos(c.line,c.ch+1)}}for(var l=i.length-1;l>=0;l--){var b=o[l];t.replaceRange(b.text,i[l].head,i[l].anchor,"+insert");var x=t.listSelections().slice(0);x[l]={head:b.newPos,anchor:b.newPos},t.setSelections(x),b.indent&&(t.indentLine(b.newPos.line,null,!0),t.indentLine(b.newPos.line+1,null,!0))}}function i(t,i){for(var o=t.listSelections(),n=[],a=i?"/":"";else{if("htmlmixed"!=t.getMode().name||"css"!=d.mode.name)return e.Pass;n[s]=a+"style>"}else{if(!h.context||!h.context.tagName||r(t,h.context.tagName,l,h))return e.Pass;n[s]=a+h.context.tagName+">"}}t.replaceSelections(n),o=t.listSelections();for(var s=0;si;++i)if(e[i]==t)return i;return-1}function r(t,i,o,n,r){if(!e.scanForClosingTag)return!1;var a=Math.min(t.lastLine()+1,o.line+500),s=e.scanForClosingTag(t,o,null,a);if(!s||s.tag!=i)return!1;for(var l=n.context,c=r?1:0;l&&l.tagName==i;l=l.prev)++c;o=s.to;for(var d=1;c>d;d++){var h=e.scanForClosingTag(t,o,null,a);if(!h||h.tag!=i)return!1;o=h.to}return!0}e.defineOption("autoCloseTags",!1,function(i,n,r){if(r!=e.Init&&r&&i.removeKeyMap("autoCloseTags"),n){var a={name:"autoCloseTags"};("object"!=typeof n||n.whenClosing)&&(a["'/'"]=function(e){return o(e)}),("object"!=typeof n||n.whenOpening)&&(a["'>'"]=function(e){return t(e)}),i.addKeyMap(a)}});var a=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],s=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];e.commands.closeTag=function(e){return i(e)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(t,n,r,a){function s(e){var i=l(t,n);if(!i||i.to.line-i.from.linet.firstLine();)n=e.Pos(n.line-1,0),d=s(!1);if(d&&!d.cleared&&"unfold"!==a){var h=i(t,r);e.on(h,"mousedown",function(t){u.clear(),e.e_preventDefault(t)});var u=t.markText(d.from,d.to,{replacedWith:h,clearOnEnter:!0,__isFold:!0});u.on("clear",function(i,o){e.signal(t,"unfold",t,i,o)}),e.signal(t,"fold",t,d.from,d.to)}}function i(e,t){var i=o(e,t,"widget");if("string"==typeof i){var n=document.createTextNode(i);i=document.createElement("span"),i.appendChild(n),i.className="CodeMirror-foldmarker"}return i}function o(e,t,i){if(t&&void 0!==t[i])return t[i];var o=e.options.foldOptions;return o&&void 0!==o[i]?o[i]:n[i]}e.newFoldFunction=function(e,i){return function(o,n){t(o,n,{rangeFinder:e,widget:i})}},e.defineExtension("foldCode",function(e,i,o){t(this,e,i,o)}),e.defineExtension("isFolded",function(e){for(var t=this.findMarksAt(e),i=0;i=i;i++)t.foldCode(e.Pos(i,0),null,"fold")})},e.commands.unfoldAll=function(t){t.operation(function(){for(var i=t.firstLine(),o=t.lastLine();o>=i;i++)t.foldCode(e.Pos(i,0),null,"unfold")})},e.registerHelper("fold","combine",function(){var e=Array.prototype.slice.call(arguments,0);return function(t,i){for(var o=0;o=s&&(i=n(r.indicatorOpen))}e.setGutterMarker(t,r.gutter,i),++a})}function a(e){var t=e.getViewport(),i=e.state.foldGutter;i&&(e.operation(function(){r(e,t.from,t.to)}),i.from=t.from,i.to=t.to)}function s(e,t,i){var o=e.state.foldGutter;if(o){var n=o.options;i==n.gutter&&e.foldCode(h(t,0),n.rangeFinder)}}function l(e){var t=e.state.foldGutter;if(t){var i=t.options;t.from=t.to=0,clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout(function(){a(e)},i.foldOnChangeTimeSpan||600)}}function c(e){var t=e.state.foldGutter;if(t){var i=t.options;clearTimeout(t.changeUpdate),t.changeUpdate=setTimeout(function(){var i=e.getViewport();t.from==t.to||i.from-t.to>20||t.from-i.to>20?a(e):e.operation(function(){i.fromt.to&&(r(e,t.to,i.to),t.to=i.to)})},i.updateViewportTimeSpan||400)}}function d(e,t){var i=e.state.foldGutter;if(i){var o=t.line;o>=i.from&&o=l;++l){var d=t.getLine(l),h=r(d);if(h>a)s=l;else if(/\S/.test(d))break}return s?{from:e.Pos(i.line,n.length),to:e.Pos(s,t.getLine(s).length)}:void 0}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.registerHelper("fold","brace",function(t,i){function o(o){for(var n=i.ch,l=0;;){var c=0>=n?-1:s.lastIndexOf(o,n-1);if(-1!=c){if(1==l&&c=g;++g)for(var p=t.getLine(g),m=g==a?n:0;;){var v=p.indexOf(l,m),w=p.indexOf(c,m);if(0>v&&(v=p.length),0>w&&(w=p.length),m=Math.min(v,w),m==p.length)break;if(t.getTokenTypeAt(e.Pos(g,m+1))==r)if(m==v)++u;else if(!--u){d=g,h=m;break e}++m}if(null!=d&&(a!=d||h!=n))return{from:e.Pos(a,n),to:e.Pos(d,h)}}}),e.registerHelper("fold","import",function(t,i){function o(i){if(it.lastLine())return null;var o=t.getTokenAt(e.Pos(i,1));if(/\S/.test(o.string)||(o=t.getTokenAt(e.Pos(i,o.end+1))),"keyword"!=o.type||"import"!=o.string)return null;for(var n=i,r=Math.min(t.lastLine(),i+10);r>=n;++n){var a=t.getLine(n),s=a.indexOf(";");if(-1!=s)return{startCh:o.end,end:e.Pos(n,s)}}}var n,i=i.line,r=o(i);if(!r||o(i-1)||(n=o(i-2))&&n.end.line==i-1)return null;for(var a=r.end;;){var s=o(a.line+1);if(null==s)break;a=s.end}return{from:t.clipPos(e.Pos(i,r.startCh+1)),to:a}}),e.registerHelper("fold","include",function(t,i){function o(i){if(it.lastLine())return null;var o=t.getTokenAt(e.Pos(i,1));return/\S/.test(o.string)||(o=t.getTokenAt(e.Pos(i,o.end+1))),"meta"==o.type&&"#include"==o.string.slice(0,8)?o.start+8:void 0}var i=i.line,n=o(i);if(null==n||null!=o(i-1))return null;for(var r=i;;){var a=o(r+1);if(null==a)break;++r}return{from:e.Pos(i,n+1),to:t.clipPos(e.Pos(r))}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";function t(e,t){return e.line-t.line||e.ch-t.ch}function i(e,t,i,o){this.line=t,this.ch=i,this.cm=e,this.text=e.getLine(t),this.min=o?o.from:e.firstLine(),this.max=o?o.to-1:e.lastLine()}function o(e,t){var i=e.cm.getTokenTypeAt(u(e.line,t));return i&&/\btag\b/.test(i)}function n(e){return e.line>=e.max?void 0:(e.ch=0,e.text=e.cm.getLine(++e.line),!0)}function r(e){return e.line<=e.min?void 0:(e.text=e.cm.getLine(--e.line),e.ch=e.text.length,!0)}function a(e){for(;;){var t=e.text.indexOf(">",e.ch);if(-1==t){if(n(e))continue;return}{if(o(e,t+1)){var i=e.text.lastIndexOf("/",t),r=i>-1&&!/\S/.test(e.text.slice(i+1,t));return e.ch=t+1,r?"selfClose":"regular"}e.ch=t+1}}}function s(e){for(;;){var t=e.ch?e.text.lastIndexOf("<",e.ch-1):-1;if(-1==t){if(r(e))continue;return}if(o(e,t+1)){p.lastIndex=t,e.ch=t;var i=p.exec(e.text);if(i&&i.index==t)return i}else e.ch=t}}function l(e){for(;;){p.lastIndex=e.ch;var t=p.exec(e.text);if(!t){if(n(e))continue;return}{if(o(e,t.index+1))return e.ch=t.index+t[0].length,t;e.ch=t.index+1}}}function c(e){for(;;){var t=e.ch?e.text.lastIndexOf(">",e.ch-1):-1;if(-1==t){if(r(e))continue;return}{if(o(e,t+1)){var i=e.text.lastIndexOf("/",t),n=i>-1&&!/\S/.test(e.text.slice(i+1,t));return e.ch=t+1,n?"selfClose":"regular"}e.ch=t}}}function d(e,t){for(var i=[];;){var o,n=l(e),r=e.line,s=e.ch-(n?n[0].length:0);if(!n||!(o=a(e)))return;if("selfClose"!=o)if(n[1]){for(var c=i.length-1;c>=0;--c)if(i[c]==n[2]){i.length=c;break}if(0>c&&(!t||t==n[2]))return{tag:n[2],from:u(r,s),to:u(e.line,e.ch)}}else i.push(n[2])}}function h(e,t){for(var i=[];;){var o=c(e);if(!o)return;if("selfClose"!=o){var n=e.line,r=e.ch,a=s(e);if(!a)return;if(a[1])i.push(a[2]);else{for(var l=i.length-1;l>=0;--l)if(i[l]==a[2]){i.length=l;break}if(0>l&&(!t||t==a[2]))return{tag:a[2],from:u(e.line,e.ch),to:u(n,r)}}}else s(e)}}var u=e.Pos,f="A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",g=f+"-:.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",p=new RegExp("<(/?)(["+f+"]["+g+"]*)","g");e.registerHelper("fold","xml",function(e,t){for(var o=new i(e,t.line,0);;){var n,r=l(o);if(!r||o.line!=t.line||!(n=a(o)))return;if(!r[1]&&"selfClose"!=n){var t=u(o.line,o.ch),s=d(o,r[2]);return s&&{from:t,to:s.from}}}}),e.findMatchingTag=function(e,o,n){var r=new i(e,o.line,o.ch,n);if(-1!=r.text.indexOf(">")||-1!=r.text.indexOf("<")){var l=a(r),c=l&&u(r.line,r.ch),f=l&&s(r);if(l&&f&&!(t(r,o)>0)){var g={from:u(r.line,r.ch),to:c,tag:f[2]};return"selfClose"==l?{open:g,close:null,at:"open"}:f[1]?{open:h(r,f[2]),close:g,at:"close"}:(r=new i(e,c.line,c.ch,n),{open:g,close:d(r,f[2]),at:"open"})}}},e.findEnclosingTag=function(e,t,o){for(var n=new i(e,t.line,t.ch,o);;){var r=h(n);if(!r)break;var a=new i(e,t.line,t.ch,o),s=d(a,r.tag);if(s)return{open:r,close:s}}},e.scanForClosingTag=function(e,t,o,n){var r=new i(e,t.line,t.ch,n?{from:0,to:n}:null);return d(r,o)}}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.registerHelper("fold","markdown",function(t,i){function o(i){var o=t.getTokenTypeAt(e.Pos(i,0));return o&&/\bheader\b/.test(o)}function n(e,t,i){var n=t&&t.match(/^#+/);return n&&o(e)?n[0].length:(n=i&&i.match(/^[=\-]+\s*$/),n&&o(e+1)?"="==i[0]?1:2:r)}var r=100,a=t.getLine(i.line),s=t.getLine(i.line+1),l=n(i.line,a,s);if(l===r)return void 0;for(var c=t.lastLine(),d=i.line,h=t.getLine(d+2);c>d&&!(n(d+1,s,h)<=l);)++d,s=h,h=t.getLine(d+2);return{from:e.Pos(i.line,a.length),to:e.Pos(d,t.getLine(d).length)}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.registerGlobalHelper("fold","comment",function(e){return e.blockCommentStart&&e.blockCommentEnd},function(t,i){var o=t.getModeAt(i),n=o.blockCommentStart,r=o.blockCommentEnd;if(n&&r){for(var a,s=i.line,l=t.getLine(s),c=i.ch,d=0;;){var h=0>=c?-1:l.lastIndexOf(n,c-1);if(-1!=h){if(1==d&&h=m;++m)for(var v=t.getLine(m),w=m==s?a:0;;){var y=v.indexOf(n,w),b=v.indexOf(r,w);if(0>y&&(y=v.length),0>b&&(b=v.length),w=Math.min(y,b),w==v.length)break;if(w==y)++g;else if(!--g){u=m,f=w;break e}++w}if(null!=u&&(s!=u||f!=a))return{from:e.Pos(s,a),to:e.Pos(u,f)}}})}),function(e){"object"==typeof exports&&"object"==typeof module?e(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],e):e(CodeMirror)}(function(e){"use strict";e.overlayMode=function(t,i,o){return{startState:function(){return{base:e.startState(t),overlay:e.startState(i),basePos:0,baseCur:null,overlayPos:0,overlayCur:null,streamSeen:null}},copyState:function(o){return{base:e.copyState(t,o.base),overlay:e.copyState(i,o.overlay),basePos:o.basePos,baseCur:null,overlayPos:o.overlayPos,overlayCur:null}},token:function(e,n){return(e!=n.streamSeen||Math.min(n.basePos,n.overlayPos)=i.ch+1)return/\bstring2?\b/.test(s);a.start=a.pos}}function o(o,n){for(var r={name:"autoCloseBrackets",Backspace:function(i){if(i.getOption("disableInput"))return e.Pass;for(var n=i.listSelections(),r=0;r=0;r--){var s=n[r].head;i.replaceRange("",c(s.line,s.ch-1),c(s.line,s.ch+1))}}},a="",s=0;s1&&n.indexOf(t)>=0&&r.getRange(c(p.line,p.ch-2),p)==t+t&&(p.ch<=2||r.getRange(c(p.line,p.ch-3),c(p.line,p.ch-2))!=t))f="addFour";else if('"'==t||"'"==t){if(e.isWordChar(d)||!i(r,p,t))return e.Pass;f="both"}else{if(!(r.getLine(p.line).length==p.ch||a.indexOf(d)>=0||l.test(d)))return e.Pass;f="both"}else f="surround";if(s){if(s!=f)return e.Pass}else s=f}r.operation(function(){if("skip"==s)r.execCommand("goCharRight");else if("skipThree"==s)for(var e=0;3>e;e++)r.execCommand("goCharRight");else if("surround"==s){for(var i=r.getSelections(),e=0;es&&e.addOverlay(t.overlay=a(r.slice(s,l),i,t.style)))}var c=e.getCursor("from"),d=e.getCursor("to");if(c.line==d.line&&(!t.wordsOnly||n(e,c,d))){var h=e.getRange(c,d).replace(/^\s+|\s+$/g,"");h.length>=t.minChars&&e.addOverlay(t.overlay=a(h,!1,t.style))}})}function n(e,t,i){var o=e.getRange(t,i);if(null!==o.match(/^\w+$/)){if(t.ch>0){var n={line:t.line,ch:t.ch-1},r=e.getRange(n,t);if(null===r.match(/\W/))return!1}if(i.ch and others | MIT license: http://codemirror.net/LICENSE | https://github.com/codemirror/codemirror */ -(function(a){if(typeof exports=="object"&&typeof module=="object"){module.exports=a()}else{if(typeof define=="function"&&define.amd){return define([],a)}else{this.CodeMirror=a()}}})(function(){var co=/gecko\/\d/i.test(navigator.userAgent);var eG=/MSIE \d/.test(navigator.userAgent);var bI=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);var dG=eG||bI;var k=dG&&(eG?document.documentMode||6:bI[1]);var cY=/WebKit\//.test(navigator.userAgent);var dJ=cY&&/Qt\/\d+\.\d+/.test(navigator.userAgent);var da=/Chrome\//.test(navigator.userAgent);var dY=/Opera\//.test(navigator.userAgent);var aA=/Apple Computer/.test(navigator.vendor);var a8=/KHTML\//.test(navigator.userAgent);var c5=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent);var fr=/PhantomJS/.test(navigator.userAgent);var eX=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent);var ec=eX||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent);var b6=eX||/Mac/.test(navigator.platform);var aM=/win/i.test(navigator.platform);var aV=dY&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);if(aV){aV=Number(aV[1])}if(aV&&aV>=15){dY=false;cY=true}var bP=b6&&(dJ||dY&&(aV==null||aV<12.11));var f0=co||(dG&&k>=9);var f3=false,a4=false;function I(f8,f9){if(!(this instanceof I)){return new I(f8,f9)}this.options=f9=f9?aK(f9):{};aK(eZ,f9,false);cd(f9);var gd=f9.value;if(typeof gd=="string"){gd=new ar(gd,f9.mode)}this.doc=gd;var gc=this.display=new eE(f8,gd);gc.wrapper.CodeMirror=this;d8(this);cM(this);if(f9.lineWrapping){this.display.wrapper.className+=" CodeMirror-wrap"}if(f9.autofocus&&!ec){ev(this)}aB(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:false,focused:false,suppressEdits:false,pasteIncoming:false,cutIncoming:false,draggingText:false,highlight:new f7(),keySeq:null};if(dG&&k<11){setTimeout(cv(fl,this,true),20)}fM(this);bg();cG(this);this.curOp.forceUpdate=true;d7(this,gd);if((f9.autofocus&&!ec)||dK()==gc.input){setTimeout(cv(cA,this),20)}else{aS(this)}for(var gb in bc){if(bc.hasOwnProperty(gb)){bc[gb](this,f9[gb],cb)}}d1(this);for(var ga=0;gaga.maxLineLength){ga.maxLineLength=gb;ga.maxLine=gc}})}function cd(f8){var f9=df(f8.gutters,"CodeMirror-linenumbers");if(f9==-1&&f8.lineNumbers){f8.gutters=f8.gutters.concat(["CodeMirror-linenumbers"])}else{if(f9>-1&&!f8.lineNumbers){f8.gutters=f8.gutters.slice(0);f8.gutters.splice(f9,1)}}}function dw(f8){var gb=f8.display,ga=gb.gutters.offsetWidth;var f9=Math.round(f8.doc.height+bH(f8.display));return{clientHeight:gb.scroller.clientHeight,viewHeight:gb.wrapper.clientHeight,scrollWidth:gb.scroller.scrollWidth,clientWidth:gb.scroller.clientWidth,viewWidth:gb.wrapper.clientWidth,barLeft:f8.options.fixedGutter?ga:0,docHeight:f9,scrollHeight:f9+cR(f8)+gb.barHeight,nativeBarWidth:gb.nativeBarWidth,gutterWidth:ga}}function dh(ga,f9,f8){this.cm=f8;var gb=this.vert=fT("div",[fT("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar");var gc=this.horiz=fT("div",[fT("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");ga(gb);ga(gc);bW(gb,"scroll",function(){if(gb.clientHeight){f9(gb.scrollTop,"vertical")}});bW(gc,"scroll",function(){if(gc.clientWidth){f9(gc.scrollLeft,"horizontal")}});this.checkedOverlay=false;if(dG&&k<8){this.horiz.style.minHeight=this.vert.style.minWidth="18px"}}dh.prototype=aK({update:function(gb){var gc=gb.scrollWidth>gb.clientWidth+1;var ga=gb.scrollHeight>gb.clientHeight+1;var gd=gb.nativeBarWidth;if(ga){this.vert.style.display="block";this.vert.style.bottom=gc?gd+"px":"0";var f9=gb.viewHeight-(gc?gd:0);this.vert.firstChild.style.height=Math.max(0,gb.scrollHeight-gb.clientHeight+f9)+"px"}else{this.vert.style.display="";this.vert.firstChild.style.height="0"}if(gc){this.horiz.style.display="block";this.horiz.style.right=ga?gd+"px":"0";this.horiz.style.left=gb.barLeft+"px";var f8=gb.viewWidth-gb.barLeft-(ga?gd:0);this.horiz.firstChild.style.width=(gb.scrollWidth-gb.clientWidth+f8)+"px"}else{this.horiz.style.display="";this.horiz.firstChild.style.width="0"}if(!this.checkedOverlay&&gb.clientHeight>0){if(gd==0){this.overlayHack()}this.checkedOverlay=true}return{right:ga?gd:0,bottom:gc?gd:0}},setScrollLeft:function(f8){if(this.horiz.scrollLeft!=f8){this.horiz.scrollLeft=f8}},setScrollTop:function(f8){if(this.vert.scrollTop!=f8){this.vert.scrollTop=f8}},overlayHack:function(){var f8=b6&&!c5?"12px":"18px";this.horiz.style.minHeight=this.vert.style.minWidth=f8;var f9=this;var ga=function(gb){if(M(gb)!=f9.vert&&M(gb)!=f9.horiz){c0(f9.cm,ep)(gb)}};bW(this.vert,"mousedown",ga);bW(this.horiz,"mousedown",ga)},clear:function(){var f8=this.horiz.parentNode;f8.removeChild(this.horiz);f8.removeChild(this.vert)}},dh.prototype);function e0(){}e0.prototype=aK({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},e0.prototype);I.scrollbarModel={"native":dh,"null":e0};function aB(f8){if(f8.display.scrollbars){f8.display.scrollbars.clear();if(f8.display.scrollbars.addClass){f(f8.display.wrapper,f8.display.scrollbars.addClass)}}f8.display.scrollbars=new I.scrollbarModel[f8.options.scrollbarStyle](function(f9){f8.display.wrapper.insertBefore(f9,f8.display.scrollbarFiller);bW(f9,"mousedown",function(){if(f8.state.focused){setTimeout(cv(ev,f8),0)}});f9.setAttribute("not-content","true")},function(ga,f9){if(f9=="horizontal"){bD(f8,ga)}else{O(f8,ga)}},f8);if(f8.display.scrollbars.addClass){fx(f8.display.wrapper,f8.display.scrollbars.addClass)}}function eU(ga,gc){if(!gc){gc=dw(ga)}var f9=ga.display.barWidth,f8=ga.display.barHeight;aR(ga,gc);for(var gb=0;gb<4&&f9!=ga.display.barWidth||f8!=ga.display.barHeight;gb++){if(f9!=ga.display.barWidth&&ga.options.lineWrapping){a6(ga)}aR(ga,dw(ga));f9=ga.display.barWidth;f8=ga.display.barHeight}}function aR(f8,f9){var gb=f8.display;var ga=gb.scrollbars.update(f9);gb.sizer.style.paddingRight=(gb.barWidth=ga.right)+"px";gb.sizer.style.paddingBottom=(gb.barHeight=ga.bottom)+"px";if(ga.right&&ga.bottom){gb.scrollbarFiller.style.display="block";gb.scrollbarFiller.style.height=ga.bottom+"px";gb.scrollbarFiller.style.width=ga.right+"px"}else{gb.scrollbarFiller.style.display=""}if(ga.bottom&&f8.options.coverGutterNextToScrollbar&&f8.options.fixedGutter){gb.gutterFiller.style.display="block";gb.gutterFiller.style.height=ga.bottom+"px";gb.gutterFiller.style.width=f9.gutterWidth+"px"}else{gb.gutterFiller.style.display=""}}function b5(gb,gf,ga){var gc=ga&&ga.top!=null?Math.max(0,ga.top):gb.scroller.scrollTop;gc=Math.floor(gc-e4(gb));var f8=ga&&ga.bottom!=null?ga.bottom:gc+gb.wrapper.clientHeight;var gd=bF(gf,gc),ge=bF(gf,f8);if(ga&&ga.ensure){var f9=ga.ensure.from.line,gg=ga.ensure.to.line;if(f9=ge){gd=bF(gf,bL(fb(gf,gg))-gb.wrapper.clientHeight);ge=gg}}}return{from:gd,to:Math.max(ge,gd+1)}}function eA(gg){var ge=gg.display,gf=ge.view;if(!ge.alignWidgets&&(!ge.gutters.firstChild||!gg.options.fixedGutter)){return}var gc=dT(ge)-ge.scroller.scrollLeft+gg.doc.scrollLeft;var f8=ge.gutters.offsetWidth,f9=gc+"px";for(var gb=0;gb=gc.viewFrom&&gb.visible.to<=gc.viewTo&&(gc.updateLineNumbers==null||gc.updateLineNumbers>=gc.viewTo)&&gc.renderedView==gc.view&&c9(gh)==0){return false}if(d1(gh)){es(gh);gb.dims=e9(gh)}var ga=gg.first+gg.size;var ge=Math.max(gb.visible.from-gh.options.viewportMargin,gg.first);var gf=Math.min(ga,gb.visible.to+gh.options.viewportMargin);if(gc.viewFromgf&&gc.viewTo-gf<20){gf=Math.min(ga,gc.viewTo)}if(a4){ge=aT(gh.doc,ge);gf=dZ(gh.doc,gf)}var f9=ge!=gc.viewFrom||gf!=gc.viewTo||gc.lastWrapHeight!=gb.wrapperHeight||gc.lastWrapWidth!=gb.wrapperWidth;cP(gh,ge,gf);gc.viewOffset=bL(fb(gh.doc,gc.viewFrom));gh.display.mover.style.top=gc.viewOffset+"px";var f8=c9(gh);if(!f9&&f8==0&&!gb.force&&gc.renderedView==gc.view&&(gc.updateLineNumbers==null||gc.updateLineNumbers>=gc.viewTo)){return false}var gd=dK();if(f8>4){gc.lineDiv.style.display="none"}cm(gh,gc.updateLineNumbers,gb.dims);if(f8>4){gc.lineDiv.style.display=""}gc.renderedView=gc.view;if(gd&&dK()!=gd&&gd.offsetHeight){gd.focus()}dX(gc.cursorDiv);dX(gc.selectionDiv);gc.gutters.style.height=0;if(f9){gc.lastWrapHeight=gb.wrapperHeight;gc.lastWrapWidth=gb.wrapperWidth;eb(gh,400)}gc.updateLineNumbers=null;return true}function cj(f9,gd){var gb=gd.force,f8=gd.viewport;for(var gc=true;;gc=false){if(gc&&f9.options.lineWrapping&&gd.oldDisplayWidth!=di(f9)){gb=true}else{gb=false;if(f8&&f8.top!=null){f8={top:Math.min(f9.doc.height+bH(f9.display)-cT(f9),f8.top)}}gd.visible=b5(f9.display,f9.doc,f8);if(gd.visible.from>=f9.display.viewFrom&&gd.visible.to<=f9.display.viewTo){break}}if(!C(f9,gd)){break}a6(f9);var ga=dw(f9);bB(f9);dv(f9,ga);eU(f9,ga)}ad(f9,"update",f9);if(f9.display.viewFrom!=f9.display.reportedViewFrom||f9.display.viewTo!=f9.display.reportedViewTo){ad(f9,"viewportChange",f9,f9.display.viewFrom,f9.display.viewTo);f9.display.reportedViewFrom=f9.display.viewFrom;f9.display.reportedViewTo=f9.display.viewTo}}function dP(f9,f8){var gb=new aG(f9,f8);if(C(f9,gb)){a6(f9);cj(f9,gb);var ga=dw(f9);bB(f9);dv(f9,ga);eU(f9,ga)}}function dv(f8,f9){f8.display.sizer.style.minHeight=f9.docHeight+"px";var ga=f9.docHeight+f8.display.barHeight;f8.display.heightForcer.style.top=ga+"px";f8.display.gutters.style.height=Math.max(ga+cR(f8),f9.clientHeight)+"px"}function a6(gf){var gd=gf.display;var f9=gd.lineDiv.offsetTop;for(var ga=0;ga0.001||ge<-0.001){fW(gg.line,gh);ca(gg.line);if(gg.rest){for(var f8=0;f8-1){gh=false}aa(gj,gc,gd,gi)}if(gh){dX(gc.lineNumber);gc.lineNumber.appendChild(document.createTextNode(eo(gj.options,gd)))}gk=gc.node.nextSibling}}gd+=gc.size}while(gk){gk=ge(gk)}}function aa(f8,ga,gc,gd){for(var f9=0;f9=0&&ce(gb,f9.to())<=0){return ga}}return -1}};function dU(f8,f9){this.anchor=f8;this.head=f9}dU.prototype={from:function(){return aq(this.anchor,this.head)},to:function(){return bw(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};function cw(f8,gf){var ga=f8[gf];f8.sort(function(gi,gh){return ce(gi.from(),gh.from())});gf=df(f8,ga);for(var gc=1;gc=0){var gd=aq(f9.from(),gg.from()),ge=bw(f9.to(),gg.to());var gb=f9.empty()?gg.from()==gg.head:f9.from()==f9.head;if(gc<=gf){--gf}f8.splice(--gc,2,new dU(gb?ge:gd,gb?gd:ge))}}return new fU(f8,gf)}function eO(f8,f9){return new fU([new dU(f8,f9||f8)],0)}function c3(f8,f9){return Math.max(f8.first,Math.min(f9,f8.first+f8.size-1))}function fG(f9,ga){if(ga.linef8){return X(f8,fb(f9,f8).text.length)}return fp(ga,fb(f9,ga.line).text.length)}function fp(ga,f9){var f8=ga.ch;if(f8==null||f8>f9){return X(ga.line,f9)}else{if(f8<0){return X(ga.line,0)}else{return ga}}}function b8(f9,f8){return f8>=f9.first&&f8=ga.ch:f8.to>ga.ch))){if(ge){aC(f9,"beforeCursorEnter");if(f9.explicitlyCleared){if(!gj.markedSpans){break}else{--gc;continue}}}if(!f9.atomic){continue}var gf=f9.find(gb<0?-1:1);if(ce(gf,ga)==0){gf.ch+=gb;if(gf.ch<0){if(gf.line>gh.first){gf=fG(gh,X(gf.line-1))}else{gf=null}}else{if(gf.ch>gj.text.length){if(gf.line3){gj(gD,gB.top,null,gB.bottom);gD=gb;if(gB.bottomgq.bottom||gC.bottom==gq.bottom&&gC.right>gq.right){gq=gC}if(gD0){ga.blinker=setInterval(function(){ga.cursorDiv.style.visibility=(f9=!f9)?"":"hidden"},f8.options.cursorBlinkRate)}else{if(f8.options.cursorBlinkRate<0){ga.cursorDiv.style.visibility="hidden"}}}function eb(f8,f9){if(f8.doc.mode.startState&&f8.doc.frontier=f8.display.viewTo){return}var ga=+new Date+f8.options.workTime;var gb=b2(gc.mode,dx(f8,gc.frontier));var f9=[];gc.iter(gc.frontier,Math.min(gc.first+gc.size,f8.display.viewTo+500),function(gd){if(gc.frontier>=f8.display.viewFrom){var gg=gd.styles;var gi=fw(f8,gd,gb,true);gd.styles=gi.styles;var gf=gd.styleClasses,gh=gi.classes;if(gh){gd.styleClasses=gh}else{if(gf){gd.styleClasses=null}}var gj=!gg||gg.length!=gd.styles.length||gf!=gh&&(!gf||!gh||gf.bgClass!=gh.bgClass||gf.textClass!=gh.textClass);for(var ge=0;!gj&&gega){eb(f8,f8.options.workDelay);return true}});if(f9.length){cK(f8,function(){for(var gd=0;gdga;--gh){if(gh<=gd.first){return gd.first}var gg=fb(gd,gh-1);if(gg.stateAfter&&(!gb||gh<=gd.frontier)){return gh}var gf=bS(gg.text,null,ge.options.tabSize);if(gc==null||f9>gf){gc=gh-1;f9=gf}}return gc}function dx(f8,ge,f9){var gc=f8.doc,gb=f8.display;if(!gc.mode.startState){return true}var gd=cy(f8,ge,f9),ga=gd>gc.first&&fb(gc,gd-1).stateAfter;if(!ga){ga=bZ(gc.mode)}else{ga=b2(gc.mode,ga)}gc.iter(gd,ge,function(gf){dt(f8,gf.text,ga);var gg=gd==ge-1||gd%5==0||gd>=gb.viewFrom&&gd2){gd.push((gg.bottom+f9.top)/2-ge.top)}}}gd.push(ge.bottom-ge.top)}}function ct(ga,f8,gb){if(ga.line==f8){return{map:ga.measure.map,cache:ga.measure.cache}}for(var f9=0;f9gb){return{map:ga.measure.maps[f9],cache:ga.measure.caches[f9],before:true}}}}function cZ(f8,ga){ga=y(ga);var gc=bM(ga);var f9=f8.display.externalMeasured=new bu(f8.doc,ga,gc);f9.lineN=gc;var gb=f9.built=eN(f8,f9);f9.text=gb.pre;bQ(f8.display.lineMeasure,gb.pre);return f9}function ed(f8,f9,gb,ga){return D(f8,a1(f8,f9),gb,ga)}function e7(f8,ga){if(ga>=f8.display.viewFrom&&ga=f9.lineN&&gagh){gb=gn-gr;gc=gb-1;if(gh>=gn){f8="right"}}}}if(gc!=null){gm=gt[go+2];if(gr==gn&&gd==(gm.insertLeft?"left":"right")){f8=gd}if(gd=="left"&&gc==0){while(go&>[go-2]==gt[go-3]&>[go-1].insertLeft){gm=gt[(go-=3)+2];f8="left"}}if(gd=="right"&&gc==gn-gr){while(go0){f8=gd="right"}var ga;if(gf.options.lineWrapping&&(ga=gm.getClientRects()).length>1){f9=ga[gd=="right"?ga.length-1:0]}else{f9=gm.getBoundingClientRect()}}if(dG&&k<9&&!gc&&(!f9||!f9.left&&!f9.right)){var ge=gm.parentNode.getClientRects()[0];if(ge){f9={left:ge.left,right:ge.left+dz(gf.display),top:ge.top,bottom:ge.bottom}}else{f9=ex}}var gk=f9.top-gp.rect.top,gi=f9.bottom-gp.rect.top;var gs=(gk+gi)/2;var gq=gp.view.measure.heights;for(var go=0;gogl.from){return gc(gn-1)}return gc(gn,gm)}var gd=a(ge),f8=gg.ch;if(!gd){return gc(f8)}var f9=aE(gd,f8);var gb=gi(f8,f9);if(eY!=null){gb.other=gi(f8,eY)}return gb}function dD(f8,gc){var gb=0,gc=fG(f8.doc,gc);if(!f8.options.lineWrapping){gb=dz(f8.display)*gc.ch}var f9=fb(f8.doc,gc.line);var ga=bL(f9)+e4(f8.display);return{left:gb,right:gb,top:ga,bottom:ga+f9.height}}function fS(f8,f9,ga,gc){var gb=X(f8,f9);gb.xRel=gc;if(ga){gb.outside=true}return gb}function fL(gf,gc,gb){var ge=gf.doc;gb+=gf.display.viewOffset;if(gb<0){return fS(ge.first,0,true,-1)}var ga=bF(ge,gb),gg=ge.first+ge.size-1;if(ga>gg){return fS(ge.first+ge.size-1,fb(ge,gg).text.length,true,1)}if(gc<0){gc=0}var f9=fb(ge,ga);for(;;){var gh=cX(gf,f9,ga,gc,gb);var gd=er(f9);var f8=gd&&gd.find(0,true);if(gd&&(gh.ch>f8.from.ch||gh.ch==f8.from.ch&&gh.xRel>0)){ga=bM(f9=f8.to.line)}else{return gh}}}function cX(gi,ga,gl,gk,gj){var gh=gj-bL(ga);var ge=false,gr=2*gi.display.wrapper.clientWidth;var go=a1(gi,ga);function gv(gx){var gy=dQ(gi,X(gl,gx),"line",ga,go);ge=true;if(gh>gy.bottom){return gy.left-gr}else{if(ghf9){return fS(gl,gb,gd,1)}for(;;){if(gn?gb==gs||gb==u(ga,gs,1):gb-gs<=1){var gm=gk1?1:0);return gg}var gf=Math.ceil(gq/2),gw=gs+gf;if(gn){gw=gs;for(var gt=0;gtgk){gb=gw;f9=gc;if(gd=ge){f9+=1000}gq=gf}else{gs=gw;gp=gc;f8=ge;gq-=gf}}}var aF;function aU(ga){if(ga.cachedTextHeight!=null){return ga.cachedTextHeight}if(aF==null){aF=fT("pre");for(var f9=0;f9<49;++f9){aF.appendChild(document.createTextNode("x"));aF.appendChild(fT("br"))}aF.appendChild(document.createTextNode("x"))}bQ(ga.measure,aF);var f8=aF.offsetHeight/50;if(f8>3){ga.cachedTextHeight=f8}dX(ga.measure);return f8||1}function dz(gc){if(gc.cachedCharWidth!=null){return gc.cachedCharWidth}var f8=fT("span","xxxxxxxxxx");var gb=fT("pre",[f8]);bQ(gc.measure,gb);var ga=f8.getBoundingClientRect(),f9=(ga.right-ga.left)/10;if(f9>2){gc.cachedCharWidth=f9}return f9||10}var bo=null;var d4=0;function cG(f8){f8.curOp={cm:f8,viewChanged:false,startHeight:f8.doc.height,forceUpdate:false,updateInput:null,typing:false,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:false,updateMaxLine:false,scrollLeft:null,scrollTop:null,scrollToPos:null,id:++d4};if(bo){bo.ops.push(f8.curOp)}else{f8.curOp.ownsGroup=bo={ops:[f8.curOp],delayedCallbacks:[]}}}function cS(gb){var ga=gb.delayedCallbacks,f9=0;do{for(;f9=f9.viewTo)||f9.maxLineChanged&&f8.options.lineWrapping;ga.update=ga.mustUpdate&&new aG(f8,ga.mustUpdate&&{top:ga.scrollTop,ensure:ga.scrollToPos},ga.forceUpdate)}function ap(f8){f8.updatedDisplay=f8.mustUpdate&&C(f8.cm,f8.update)}function b1(ga){var f8=ga.cm,f9=f8.display;if(ga.updatedDisplay){a6(f8)}ga.barMeasure=dw(f8);if(f9.maxLineChanged&&!f8.options.lineWrapping){ga.adjustWidthTo=ed(f8,f9.maxLine,f9.maxLine.text.length).left+3;f8.display.sizerWidth=ga.adjustWidthTo;ga.barMeasure.scrollWidth=Math.max(f9.scroller.clientWidth,f9.sizer.offsetLeft+ga.adjustWidthTo+cR(f8)+f8.display.barWidth);ga.maxScrollLeft=Math.max(0,f9.sizer.offsetLeft+ga.adjustWidthTo-di(f8))}if(ga.updatedDisplay||ga.selectionChanged){ga.newSelectionNodes=bk(f8)}}function ao(f9){var f8=f9.cm;if(f9.adjustWidthTo!=null){f8.display.sizer.style.minWidth=f9.adjustWidthTo+"px";if(f9.maxScrollLeftgd)){ga.updateLineNumbers=gd}gf.curOp.viewChanged=true;if(gd>=ga.viewTo){if(a4&&aT(gf.doc,gd)ga.viewFrom){es(gf)}else{ga.viewFrom+=gg;ga.viewTo+=gg}}else{if(gd<=ga.viewFrom&&ge>=ga.viewTo){es(gf)}else{if(gd<=ga.viewFrom){var gc=dc(gf,ge,ge+gg,1);if(gc){ga.view=ga.view.slice(gc.index);ga.viewFrom=gc.lineN;ga.viewTo+=gg}else{es(gf)}}else{if(ge>=ga.viewTo){var gc=dc(gf,gd,gd,-1);if(gc){ga.view=ga.view.slice(0,gc.index);ga.viewTo=gc.lineN}else{es(gf)}}else{var gb=dc(gf,gd,gd,-1);var f9=dc(gf,ge,ge+gg,1);if(gb&&f9){ga.view=ga.view.slice(0,gb.index).concat(eR(gf,gb.lineN,f9.lineN)).concat(ga.view.slice(f9.index));ga.viewTo+=gg}else{es(gf)}}}}}}var f8=ga.externalMeasured;if(f8){if(ge=gc.lineN&&ga=ge.viewTo){return}var gb=ge.view[dn(f9,ga)];if(gb.node==null){return}var f8=gb.changes||(gb.changes=[]);if(df(f8,gd)==-1){f8.push(gd)}}function es(f8){f8.display.viewFrom=f8.display.viewTo=f8.doc.first;f8.display.view=[];f8.display.viewOffset=0}function dn(f8,gb){if(gb>=f8.display.viewTo){return null}gb-=f8.display.viewFrom;if(gb<0){return null}var f9=f8.display.view;for(var ga=0;ga0){if(gd==ge.length-1){return null}gf=(f8+ge[gd].size)-ga;gd++}else{gf=f8-ga}ga+=gf;gc+=gf}while(aT(gg.doc,gc)!=gc){if(gd==(f9<0?0:ge.length-1)){return null}gc+=f9*ge[gd-(f9<0?1:0)].size;gd+=f9}return{index:gd,lineN:gc}}function cP(f8,gc,gb){var ga=f8.display,f9=ga.view;if(f9.length==0||gc>=ga.viewTo||gb<=ga.viewFrom){ga.view=eR(f8,gc,gb);ga.viewFrom=gc}else{if(ga.viewFrom>gc){ga.view=eR(f8,gc,ga.viewFrom).concat(ga.view)}else{if(ga.viewFromgb){ga.view=ga.view.slice(0,dn(f8,gb))}}}ga.viewTo=gb}function c9(f8){var f9=f8.display.view,gc=0;for(var gb=0;gb=9&&gc.display.inputHasSelection===gf||b6&&/[\uf700-\uf7ff]/.test(gf)){fl(gc);return false}var gn=!gc.curOp;if(gn){cG(gc)}gc.display.shift=false;if(gf.charCodeAt(0)==8203&&gr.sel==gc.display.selForContextMenu&&!gg){gg="\u200b"}var gm=0,gj=Math.min(gg.length,gf.length);while(gm1){if(bj&&bj.join("\n")==f9){gq=gr.sel.ranges.length%bj.length==0&&bR(bj,aX)}else{if(gh.length==gr.sel.ranges.length){gq=bR(gh,function(gs){return[gs]})}}}for(var go=gr.sel.ranges.length-1;go>=0;go--){var gi=gr.sel.ranges[go];var gk=gi.from(),f8=gi.to();if(gm-1){ac(gc,ga.line,"smart");break}}}else{if(ge.electricInput){if(ge.electricInput.test(fb(gr,ga.line).text.slice(0,ga.ch))){ac(gc,ga.line,"smart")}}}}}fD(gc);gc.curOp.updateInput=gb;gc.curOp.typing=true;if(gf.length>1000||gf.indexOf("\n")>-1){gd.value=gc.display.prevInput=""}else{gc.display.prevInput=gf}if(gn){al(gc)}gc.state.pasteIncoming=gc.state.cutIncoming=false;return true}function fl(f8,gc){if(f8.display.contextMenuPending){return}var f9,gb,ge=f8.doc;if(f8.somethingSelected()){f8.display.prevInput="";var ga=ge.sel.primary();f9=c8&&(ga.to().line-ga.from().line>100||(gb=f8.getSelection()).length>1000);var gd=f9?"-":gb||f8.getSelection();f8.display.input.value=gd;if(f8.state.focused){dH(f8.display.input)}if(dG&&k>=9){f8.display.inputHasSelection=gd}}else{if(!gc){f8.display.prevInput=f8.display.input.value="";if(dG&&k>=9){f8.display.inputHasSelection=null}}}f8.display.inaccurateSelection=f9}function ev(f8){if(f8.options.readOnly!="nocursor"&&(!ec||dK()!=f8.display.input)){f8.display.input.focus()}}function r(f8){if(!f8.state.focused){ev(f8);cA(f8)}}function ai(f8){return f8.options.readOnly||f8.doc.cantEdit}function fM(f8){var ga=f8.display;bW(ga.scroller,"mousedown",c0(f8,ep));if(dG&&k<11){bW(ga.scroller,"dblclick",c0(f8,function(gd){if(aO(f8,gd)){return}var ge=cn(f8,gd);if(!ge||l(f8,gd)||a7(f8.display,gd)){return}cE(gd);var gc=f8.findWordAt(ge);fQ(f8.doc,gc.anchor,gc.head)}))}else{bW(ga.scroller,"dblclick",function(gc){aO(f8,gc)||cE(gc)})}bW(ga.lineSpace,"selectstart",function(gc){if(!a7(ga,gc)){cE(gc)}});if(!f0){bW(ga.scroller,"contextmenu",function(gc){ax(f8,gc)})}bW(ga.scroller,"scroll",function(){if(ga.scroller.clientHeight){O(f8,ga.scroller.scrollTop);bD(f8,ga.scroller.scrollLeft,true);aC(f8,"scroll",f8)}});bW(ga.scroller,"mousewheel",function(gc){b(f8,gc)});bW(ga.scroller,"DOMMouseScroll",function(gc){b(f8,gc)});bW(ga.wrapper,"scroll",function(){ga.wrapper.scrollTop=ga.wrapper.scrollLeft=0});bW(ga.input,"keyup",function(gc){bf.call(f8,gc)});bW(ga.input,"input",function(){if(dG&&k>=9&&f8.display.inputHasSelection){f8.display.inputHasSelection=null}cg(f8)});bW(ga.input,"keydown",c0(f8,p));bW(ga.input,"keypress",c0(f8,cx));bW(ga.input,"focus",cv(cA,f8));bW(ga.input,"blur",cv(aS,f8));function f9(gc){if(!aO(f8,gc)){en(gc)}}if(f8.options.dragDrop){bW(ga.scroller,"dragstart",function(gc){R(f8,gc)});bW(ga.scroller,"dragenter",f9);bW(ga.scroller,"dragover",f9);bW(ga.scroller,"drop",c0(f8,bh))}bW(ga.scroller,"paste",function(gc){if(a7(ga,gc)){return}f8.state.pasteIncoming=true;ev(f8);B(f8)});bW(ga.input,"paste",function(){if(cY&&!f8.state.fakedLastChar&&!(new Date-f8.state.lastMiddleDown<200)){var gd=ga.input.selectionStart,gc=ga.input.selectionEnd;ga.input.value+="$";ga.input.selectionEnd=gc;ga.input.selectionStart=gd;f8.state.fakedLastChar=true}f8.state.pasteIncoming=true;B(f8)});function gb(gg){if(f8.somethingSelected()){bj=f8.getSelections();if(ga.inaccurateSelection){ga.prevInput="";ga.inaccurateSelection=false;ga.input.value=bj.join("\n");dH(ga.input)}}else{var gh=[],gd=[];for(var ge=0;gega-400&&ce(db.pos,gf)==0){gc="triple"}else{if(dk&&dk.time>ga-400&&ce(dk.pos,gf)==0){gc="double";db={time:ga,pos:gf}}else{gc="single";dk={time:ga,pos:gf}}}var gd=f9.doc.sel,f8=b6?ge.metaKey:ge.ctrlKey,gb;if(f9.options.dragDrop&&eH&&!ai(f9)&&gc=="single"&&(gb=gd.contains(gf))>-1&&!gd.ranges[gb].empty()){a0(f9,ge,gf,f8)}else{m(f9,ge,gf,gc,f8)}}function a0(ga,gc,gd,f9){var gb=ga.display;var f8=c0(ga,function(ge){if(cY){gb.scroller.draggable=false}ga.state.draggingText=false;d9(document,"mouseup",f8);d9(gb.scroller,"drop",f8);if(Math.abs(gc.clientX-ge.clientX)+Math.abs(gc.clientY-ge.clientY)<10){cE(ge);if(!f9){fQ(ga.doc,gd)}ev(ga);if(dG&&k==9){setTimeout(function(){document.body.focus();ev(ga)},20)}}});if(cY){gb.scroller.draggable=true}ga.state.draggingText=f8;if(gb.scroller.dragDrop){gb.scroller.dragDrop()}bW(document,"mouseup",f8);bW(gb.scroller,"drop",f8)}function m(gc,gq,gb,f9,ge){var gn=gc.display,gs=gc.doc;cE(gq);var ga,gr,gd=gs.sel,f8=gd.ranges;if(ge&&!gq.shiftKey){gr=gs.sel.contains(gb);if(gr>-1){ga=f8[gr]}else{ga=new dU(gb,gb)}}else{ga=gs.sel.primary()}if(gq.altKey){f9="rect";if(!ge){ga=new dU(gb,gb)}gb=cn(gc,gq,true,true);gr=-1}else{if(f9=="double"){var go=gc.findWordAt(gb);if(gc.display.shift||gs.extend){ga=fs(gs,ga,go.anchor,go.head)}else{ga=go}}else{if(f9=="triple"){var gh=new dU(X(gb.line,0),fG(gs,X(gb.line+1,0)));if(gc.display.shift||gs.extend){ga=fs(gs,ga,gh.anchor,gh.head)}else{ga=gh}}else{ga=fs(gs,ga,gb)}}}if(!ge){gr=0;bT(gs,new fU([ga],0),N);gd=gs.sel}else{if(gr==-1){gr=f8.length;bT(gs,cw(f8.concat([ga]),gr),{scroll:false,origin:"*mouse"})}else{if(f8.length>1&&f8[gr].empty()&&f9=="single"){bT(gs,cw(f8.slice(0,gr).concat(f8.slice(gr+1)),0));gd=gs.sel}else{e(gs,gr,ga,N)}}}var gm=gb;function gl(gD){if(ce(gm,gD)==0){return}gm=gD;if(f9=="rect"){var gu=[],gA=gc.options.tabSize;var gt=bS(fb(gs,gb.line).text,gb.ch,gA);var gG=bS(fb(gs,gD.line).text,gD.ch,gA);var gv=Math.min(gt,gG),gE=Math.max(gt,gG);for(var gH=Math.min(gb.line,gD.line),gx=Math.min(gc.lastLine(),Math.max(gb.line,gD.line));gH<=gx;gH++){var gF=fb(gs,gH).text,gw=em(gF,gv,gA);if(gv==gE){gu.push(new dU(X(gH,gw),X(gH,gw)))}else{if(gF.length>gw){gu.push(new dU(X(gH,gw),X(gH,em(gF,gE,gA))))}}}if(!gu.length){gu.push(new dU(gb,gb))}bT(gs,cw(gd.ranges.slice(0,gr).concat(gu),gr),{origin:"*mouse",scroll:false});gc.scrollIntoView(gD)}else{var gB=ga;var gy=gB.anchor,gC=gD;if(f9!="single"){if(f9=="double"){var gz=gc.findWordAt(gD)}else{var gz=new dU(X(gD.line,0),fG(gs,X(gD.line+1,0)))}if(ce(gz.anchor,gy)>0){gC=gz.head;gy=aq(gB.from(),gz.anchor)}else{gC=gz.anchor;gy=bw(gB.to(),gz.head)}}var gu=gd.ranges.slice(0);gu[gr]=new dU(fG(gs,gy),gC);bT(gs,cw(gu,gr),N)}}var gj=gn.wrapper.getBoundingClientRect();var gf=0;function gp(gv){var gt=++gf;var gx=cn(gc,gv,true,f9=="rect");if(!gx){return}if(ce(gx,gm)!=0){r(gc);gl(gx);var gw=b5(gn,gs);if(gx.line>=gw.to||gx.linegj.bottom?20:0;if(gu){setTimeout(c0(gc,function(){if(gf!=gt){return}gn.scroller.scrollTop+=gu;gp(gv)}),50)}}}function gi(gt){gf=Infinity;cE(gt);ev(gc);d9(document,"mousemove",gk);d9(document,"mouseup",gg);gs.history.lastSelOrigin=null}var gk=c0(gc,function(gt){if(!fK(gt)){gi(gt)}else{gp(gt)}});var gg=c0(gc,gi);bW(document,"mousemove",gk);bW(document,"mouseup",gg)}function f6(gj,gf,gh,gi,gb){try{var f9=gf.clientX,f8=gf.clientY}catch(gf){return false}if(f9>=Math.floor(gj.display.gutters.getBoundingClientRect().right)){return false}if(gi){cE(gf)}var gg=gj.display;var ge=gg.lineDiv.getBoundingClientRect();if(f8>ge.bottom||!fe(gj,gh)){return bK(gf)}f8-=ge.top-gg.viewOffset;for(var gc=0;gc=f9){var gk=bF(gj.doc,f8);var ga=gj.options.gutters[gc];gb(gj,gh,gj,gk,ga,gf);return bK(gf)}}}function l(f8,f9){return f6(f8,f9,"gutterClick",true,ad)}var af=0;function bh(ge){var gg=this;if(aO(gg,ge)||a7(gg.display,ge)){return}cE(ge);if(dG){af=+new Date}var gf=cn(gg,ge,true),f8=ge.dataTransfer.files;if(!gf||ai(gg)){return}if(f8&&f8.length&&window.FileReader&&window.File){var ga=f8.length,gh=Array(ga),f9=0;var gc=function(gk,gj){var gi=new FileReader;gi.onload=c0(gg,function(){gh[gj]=gi.result;if(++f9==ga){gf=fG(gg.doc,gf);var gl={from:gf,to:gf,text:aX(gh.join("\n")),origin:"paste"};bd(gg.doc,gl);e3(gg.doc,eO(gf,cV(gl)))}});gi.readAsText(gk)};for(var gd=0;gd-1){gg.state.draggingText(ge);setTimeout(cv(ev,gg),20);return}try{var gh=ge.dataTransfer.getData("Text");if(gh){if(gg.state.draggingText&&!(b6?ge.metaKey:ge.ctrlKey)){var gb=gg.listSelections()}el(gg.doc,eO(gf,gf));if(gb){for(var gd=0;gdgf.clientWidth||gj&&gf.scrollHeight>gf.clientHeight)){return}if(gj&&b6&&cY){outer:for(var gi=ga.target,ge=gc.view;gi!=gf;gi=gi.parentNode){for(var f9=0;f9=9){f8.display.inputHasSelection=null}B(f8)}function cA(f8){if(f8.options.readOnly=="nocursor"){return}if(!f8.state.focused){aC(f8,"focus",f8);f8.state.focused=true;fx(f8.display.wrapper,"CodeMirror-focused");if(!f8.curOp&&f8.display.selForContextMenu!=f8.doc.sel){fl(f8);if(cY){setTimeout(cv(fl,f8,true),0)}}}bl(f8);o(f8)}function aS(f8){if(f8.state.focused){aC(f8,"blur",f8);f8.state.focused=false;f(f8.display.wrapper,"CodeMirror-focused")}clearInterval(f8.display.blinker);setTimeout(function(){if(!f8.state.focused){f8.display.shift=false}},150)}function ax(gh,gc){if(aO(gh,gc,"contextmenu")){return}var ge=gh.display;if(a7(ge,gc)||de(gh,gc)){return}var gg=cn(gh,gc),f8=ge.scroller.scrollTop;if(!gg||dY){return}var gb=gh.options.resetSelectionOnContextMenu;if(gb&&gh.doc.sel.contains(gg)==-1){c0(gh,bT)(gh.doc,eO(gg),Z)}var gd=ge.input.style.cssText;ge.inputDiv.style.position="absolute";ge.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(gc.clientY-5)+"px; left: "+(gc.clientX-5)+"px; z-index: 1000; background: "+(dG?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";if(cY){var gi=window.scrollY}ev(gh);if(cY){window.scrollTo(null,gi)}fl(gh);if(!gh.somethingSelected()){ge.input.value=ge.prevInput=" "}ge.contextMenuPending=true;ge.selForContextMenu=gh.doc.sel;clearTimeout(ge.detectingSelectAll);function ga(){if(ge.input.selectionStart!=null){var gj=gh.somethingSelected();var gk=ge.input.value="\u200b"+(gj?ge.input.value:"");ge.prevInput=gj?"":"\u200b";ge.input.selectionStart=1;ge.input.selectionEnd=gk.length;ge.selForContextMenu=gh.doc.sel}}function gf(){ge.contextMenuPending=false;ge.inputDiv.style.position="relative";ge.input.style.cssText=gd;if(dG&&k<9){ge.scrollbars.setScrollTop(ge.scroller.scrollTop=f8)}bl(gh);if(ge.input.selectionStart!=null){if(!dG||(dG&&k<9)){ga()}var gj=0,gk=function(){if(ge.selForContextMenu==gh.doc.sel&&ge.input.selectionStart==0){c0(gh,ez.selectAll)(gh)}else{if(gj++<10){ge.detectingSelectAll=setTimeout(gk,500)}else{fl(gh)}}};ge.detectingSelectAll=setTimeout(gk,200)}}if(dG&&k>=9){ga()}if(f0){en(gc);var f9=function(){d9(window,"mouseup",f9);setTimeout(gf,20)};bW(window,"mouseup",f9)}else{setTimeout(gf,50)}}function de(f8,f9){if(!fe(f8,"gutterContextMenu")){return false}return f6(f8,f9,"gutterContextMenu",false,aC)}var cV=I.changeEnd=function(f8){if(!f8.text){return f8.to}return X(f8.from.line+f8.text.length-1,fE(f8.text).length+(f8.text.length==1?f8.from.ch:0))};function bY(gb,ga){if(ce(gb,ga.from)<0){return gb}if(ce(gb,ga.to)<=0){return cV(ga)}var f8=gb.line+ga.text.length-(ga.to.line-ga.from.line)-1,f9=gb.ch;if(gb.line==ga.to.line){f9+=cV(ga).ch-ga.to.ch}return X(f8,f9)}function fg(gb,gc){var f9=[];for(var ga=0;ga=0;--f8){L(gb,{from:f9[f8].from,to:f9[f8].to,text:f8?[""]:gc.text})}}else{L(gb,gc)}}function L(ga,gb){if(gb.text.length==1&&gb.text[0]==""&&ce(gb.from,gb.to)==0){return}var f9=fg(ga,gb);fJ(ga,gb,f9,ga.cm?ga.cm.curOp.id:NaN);ea(ga,gb,f9,eg(ga,gb));var f8=[];d3(ga,function(gd,gc){if(!gc&&df(f8,gd.history)==-1){dA(gd.history,gb);f8.push(gd.history)}ea(gd,gb,null,eg(gd,gb))})}function b7(gj,gh,gl){if(gj.cm&&gj.cm.state.suppressEdits){return}var gg=gj.history,ga,gc=gj.sel;var f8=gh=="undo"?gg.done:gg.undone,gk=gh=="undo"?gg.undone:gg.done;for(var gd=0;gd=0;--gd){var gi=ga.changes[gd];gi.origin=gh;if(gb&&!dN(gj,gi,false)){f8.length=0;return}gf.push(dr(gj,gi));var f9=gd?fg(gj,gi):fE(f8);ea(gj,gi,f9,d5(gj,gi));if(!gd&&gj.cm){gj.cm.scrollIntoView({from:gi.from,to:cV(gi)})}var ge=[];d3(gj,function(gn,gm){if(!gm&&df(ge,gn.history)==-1){dA(gn.history,gi);ge.push(gn.history)}ea(gn,gi,null,d5(gn,gi))})}}function fj(f9,gb){if(gb==0){return}f9.first+=gb;f9.sel=new fU(bR(f9.sel.ranges,function(gc){return new dU(X(gc.anchor.line+gb,gc.anchor.ch),X(gc.head.line+gb,gc.head.ch))}),f9.sel.primIndex);if(f9.cm){ag(f9.cm,f9.first,f9.first-gb,gb);for(var ga=f9.cm.display,f8=ga.viewFrom;f8gc.lastLine()){return}if(gd.from.linega){gd={from:gd.from,to:X(ga,fb(gc,ga).text.length),text:[gd.text[0]],origin:gd.origin}}gd.removed=fV(gc,gd.from,gd.to);if(!gb){gb=fg(gc,gd)}if(gc.cm){aH(gc.cm,gd,f9)}else{fv(gc,gd,f9)}el(gc,gb,Z)}function aH(gj,gf,gd){var gi=gj.doc,ge=gj.display,gg=gf.from,gh=gf.to;var f8=false,gc=gg.line;if(!gj.options.lineWrapping){gc=bM(y(fb(gi,gg.line)));gi.iter(gc,gh.line+1,function(gl){if(gl==ge.maxLine){f8=true;return true}})}if(gi.sel.contains(gf.from,gf.to)>-1){W(gj)}fv(gi,gf,gd,bb(gj));if(!gj.options.lineWrapping){gi.iter(gc,gg.line+gf.text.length,function(gm){var gl=ej(gm);if(gl>ge.maxLineLength){ge.maxLine=gm;ge.maxLineLength=gl;ge.maxLineChanged=true;f8=false}});if(f8){gj.curOp.updateMaxLine=true}}gi.frontier=Math.min(gi.frontier,gg.line);eb(gj,400);var gk=gf.text.length-(gh.line-gg.line)-1;if(gf.full){ag(gj)}else{if(gg.line==gh.line&&gf.text.length==1&&!dO(gj.doc,gf)){S(gj,gg.line,"text")}else{ag(gj,gg.line,gh.line+1,gk)}}var ga=fe(gj,"changes"),gb=fe(gj,"change");if(gb||ga){var f9={from:gg,to:gh,text:gf.text,removed:gf.removed,origin:gf.origin};if(gb){ad(gj,"change",gj,f9)}if(ga){(gj.curOp.changeObjs||(gj.curOp.changeObjs=[])).push(f9)}}gj.display.selForContextMenu=null}function aY(gb,ga,gd,gc,f8){if(!gc){gc=gd}if(ce(gc,gd)<0){var f9=gc;gc=gd;gd=f9}if(typeof ga=="string"){ga=aX(ga)}bd(gb,{from:gd,to:gc,text:ga,origin:f8})}function d2(f9,gc){if(aO(f9,"scrollCursorIntoView")){return}var gd=f9.display,ga=gd.sizer.getBoundingClientRect(),f8=null;if(gc.top+ga.top<0){f8=true}else{if(gc.bottom+ga.top>(window.innerHeight||document.documentElement.clientHeight)){f8=false}}if(f8!=null&&!fr){var gb=fT("div","\u200b",null,"position: absolute; top: "+(gc.top-gd.viewOffset-e4(f9.display))+"px; height: "+(gc.bottom-gc.top+cR(f9)+gd.barHeight)+"px; left: "+gc.left+"px; width: 2px;");f9.display.lineSpace.appendChild(gb);gb.scrollIntoView(f8);f9.display.lineSpace.removeChild(gb)}}function E(gi,gg,gc,gb){if(gb==null){gb=0}for(var gd=0;gd<5;gd++){var ge=false,gh=dQ(gi,gg);var f8=!gc||gc==gg?gh:dQ(gi,gc);var ga=H(gi,Math.min(gh.left,f8.left),Math.min(gh.top,f8.top)-gb,Math.max(gh.left,f8.left),Math.max(gh.bottom,f8.bottom)+gb);var gf=gi.doc.scrollTop,f9=gi.doc.scrollLeft;if(ga.scrollTop!=null){O(gi,ga.scrollTop);if(Math.abs(gi.doc.scrollTop-gf)>1){ge=true}}if(ga.scrollLeft!=null){bD(gi,ga.scrollLeft);if(Math.abs(gi.doc.scrollLeft-f9)>1){ge=true}}if(!ge){break}}return gh}function F(f8,ga,gc,f9,gb){var gd=H(f8,ga,gc,f9,gb);if(gd.scrollTop!=null){O(f8,gd.scrollTop)}if(gd.scrollLeft!=null){bD(f8,gd.scrollLeft)}}function H(gk,gb,gj,f9,gi){var gg=gk.display,ge=aU(gk.display);if(gj<0){gj=0}var gc=gk.curOp&&gk.curOp.scrollTop!=null?gk.curOp.scrollTop:gg.scroller.scrollTop;var gm=cT(gk),go={};if(gi-gj>gm){gi=gj+gm}var ga=gk.doc.height+bH(gg);var f8=gjga-ge;if(gjgc+gm){var gh=Math.min(gj,(gf?ga:gi)-gm);if(gh!=gc){go.scrollTop=gh}}}var gn=gk.curOp&&gk.curOp.scrollLeft!=null?gk.curOp.scrollLeft:gg.scroller.scrollLeft;var gl=di(gk)-(gk.options.fixedGutter?gg.gutters.offsetWidth:0);var gd=f9-gb>gl;if(gd){f9=gb+gl}if(gb<10){go.scrollLeft=0}else{if(gbgl+gn-3){go.scrollLeft=f9+(gd?0:10)-gl}}}return go}function cJ(f8,ga,f9){if(ga!=null||f9!=null){fz(f8)}if(ga!=null){f8.curOp.scrollLeft=(f8.curOp.scrollLeft==null?f8.doc.scrollLeft:f8.curOp.scrollLeft)+ga}if(f9!=null){f8.curOp.scrollTop=(f8.curOp.scrollTop==null?f8.doc.scrollTop:f8.curOp.scrollTop)+f9}}function fD(f8){fz(f8);var f9=f8.getCursor(),gb=f9,ga=f9;if(!f8.options.lineWrapping){gb=f9.ch?X(f9.line,f9.ch-1):f9;ga=X(f9.line,f9.ch+1)}f8.curOp.scrollToPos={from:gb,to:ga,margin:f8.options.cursorScrollMargin,isCursor:true}}function fz(f8){var ga=f8.curOp.scrollToPos;if(ga){f8.curOp.scrollToPos=null;var gc=dD(f8,ga.from),gb=dD(f8,ga.to);var f9=H(f8,Math.min(gc.left,gb.left),Math.min(gc.top,gb.top)-ga.margin,Math.max(gc.right,gb.right),Math.max(gc.bottom,gb.bottom)+ga.margin);f8.scrollTo(f9.scrollLeft,f9.scrollTop)}}function ac(gl,gb,gk,ga){var gj=gl.doc,f9;if(gk==null){gk="add"}if(gk=="smart"){if(!gj.mode.indent){gk="prev"}else{f9=dx(gl,gb)}}var gf=gl.options.tabSize;var gm=fb(gj,gb),ge=bS(gm.text,null,gf);if(gm.stateAfter){gm.stateAfter=null}var f8=gm.text.match(/^\s*/)[0],gh;if(!ga&&!/\S/.test(gm.text)){gh=0;gk="not"}else{if(gk=="smart"){gh=gj.mode.indent(f9,gm.text.slice(f8.length),gm.text);if(gh==b9||gh>150){if(!ga){return}gk="prev"}}}if(gk=="prev"){if(gb>gj.first){gh=bS(fb(gj,gb-1).text,null,gf)}else{gh=0}}else{if(gk=="add"){gh=ge+gl.options.indentUnit}else{if(gk=="subtract"){gh=ge-gl.options.indentUnit}else{if(typeof gk=="number"){gh=ge+gk}}}}gh=Math.max(0,gh);var gi="",gg=0;if(gl.options.indentWithTabs){for(var gc=Math.floor(gh/gf);gc;--gc){gg+=gf;gi+="\t"}}if(gg=0;gf--){aY(f8.doc,"",gc[gf].from,gc[gf].to,"+delete")}fD(f8)})}function bv(gq,gc,gk,gj,ge){var gh=gc.line,gi=gc.ch,gp=gk;var f9=fb(gq,gh);var gn=true;function go(){var gr=gh+gk;if(gr=gq.first+gq.size){return(gn=false)}gh=gr;return f9=fb(gq,gr)}function gm(gs){var gr=(ge?u:ah)(f9,gi,gk,true);if(gr==null){if(!gs&&go()){if(ge){gi=(gk<0?cQ:cD)(f9)}else{gi=gk<0?f9.text.length:0}}else{return(gn=false)}}else{gi=gr}return true}if(gj=="char"){gm()}else{if(gj=="column"){gm(true)}else{if(gj=="word"||gj=="group"){var gl=null,gf=gj=="group";var f8=gq.cm&&gq.cm.getHelper(gc,"wordChars");for(var gd=true;;gd=false){if(gk<0&&!gm(!gd)){break}var ga=f9.text.charAt(gi)||"\n";var gb=cz(ga,f8)?"w":gf&&ga=="\n"?"n":!gf||/\s/.test(ga)?null:"p";if(gf&&!gd&&!gb){gb="s"}if(gl&&gl!=gb){if(gk<0){gk=1;gm()}break}if(gb){gl=gb}if(gk>0&&!gm(!gd)){break}}}}}var gg=bU(gq,X(gh,gi),gp,true);if(!gn){gg.hitSide=true}return gg}function bp(gg,gb,f8,gf){var ge=gg.doc,gd=gb.left,gc;if(gf=="page"){var ga=Math.min(gg.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);gc=gb.top+f8*(ga-(f8<0?1.5:0.5)*aU(gg.display))}else{if(gf=="line"){gc=f8>0?gb.bottom+3:gb.top-3}}for(;;){var f9=fL(gg,gd,gc);if(!f9.outside){break}if(f8<0?gc<=0:gc>=ge.height){f9.hitSide=true;break}gc+=f8*5}return f9}I.prototype={constructor:I,focus:function(){window.focus();ev(this);B(this)},setOption:function(ga,gb){var f9=this.options,f8=f9[ga];if(f9[ga]==gb&&ga!="mode"){return}f9[ga]=gb;if(bc.hasOwnProperty(ga)){c0(this,bc[ga])(this,gb,f8)}},getOption:function(f8){return this.options[f8]},getDoc:function(){return this.doc},addKeyMap:function(f9,f8){this.state.keyMaps[f8?"push":"unshift"](fR(f9))},removeKeyMap:function(f9){var ga=this.state.keyMaps;for(var f8=0;f80){e(this.doc,gd,new dU(gf,ga[gd].to()),Z)}}else{if(ge.head.line>gb){ac(this,ge.head.line,gh,true);gb=ge.head.line;if(gd==this.doc.sel.primIndex){fD(this)}}}}}),getTokenAt:function(f9,f8){return cq(this,f9,f8)},getLineTokens:function(f9,f8){return cq(this,X(f9),f8,true)},getTokenTypeAt:function(gf){gf=fG(this.doc,gf);var gb=c4(this,fb(this.doc,gf.line));var gd=0,ge=(gb.length-1)/2,ga=gf.ch;var f9;if(ga==0){f9=gb[2]}else{for(;;){var f8=(gd+ge)>>1;if((f8?gb[f8*2-1]:0)>=ga){ge=f8}else{if(gb[f8*2+1]gb){f9=gb;f8=true}}var ga=fb(this.doc,f9);return eM(this,ga,{top:0,left:0},gc||"page").top+(f8?this.doc.height-bL(ga):0)},defaultTextHeight:function(){return aU(this.display)},defaultCharWidth:function(){return dz(this.display)},setGutterMarker:c6(function(f8,f9,ga){return eu(this.doc,f8,"gutter",function(gb){var gc=gb.gutterMarkers||(gb.gutterMarkers={});gc[f9]=ga;if(!ga&&eQ(gc)){gb.gutterMarkers=null}return true})}),clearGutter:c6(function(ga){var f8=this,gb=f8.doc,f9=gb.first;gb.iter(function(gc){if(gc.gutterMarkers&&gc.gutterMarkers[ga]){gc.gutterMarkers[ga]=null;S(f8,f9,"gutter");if(eQ(gc.gutterMarkers)){gc.gutterMarkers=null}}++f9})}),addLineWidget:c6(function(ga,f9,f8){return bG(this,ga,f9,f8)}),removeLineWidget:function(f8){f8.clear()},lineInfo:function(f8){if(typeof f8=="number"){if(!b8(this.doc,f8)){return null}var f9=f8;f8=fb(this.doc,f8);if(!f8){return null}}else{var f9=bM(f8);if(f9==null){return null}}return{line:f9,handle:f8,text:f8.text,gutterMarkers:f8.gutterMarkers,textClass:f8.textClass,bgClass:f8.bgClass,wrapClass:f8.wrapClass,widgets:f8.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(gd,ga,gf,gb,gh){var gc=this.display;gd=dQ(this,fG(this.doc,gd));var ge=gd.bottom,f9=gd.left;ga.style.position="absolute";ga.setAttribute("cm-ignore-events","true");gc.sizer.appendChild(ga);if(gb=="over"){ge=gd.top}else{if(gb=="above"||gb=="near"){var f8=Math.max(gc.wrapper.clientHeight,this.doc.height),gg=Math.max(gc.sizer.clientWidth,gc.lineSpace.clientWidth);if((gb=="above"||gd.bottom+ga.offsetHeight>f8)&&gd.top>ga.offsetHeight){ge=gd.top-ga.offsetHeight}else{if(gd.bottom+ga.offsetHeight<=f8){ge=gd.bottom}}if(f9+ga.offsetWidth>gg){f9=gg-ga.offsetWidth}}}ga.style.top=ge+"px";ga.style.left=ga.style.right="";if(gh=="right"){f9=gc.sizer.clientWidth-ga.offsetWidth;ga.style.right="0px"}else{if(gh=="left"){f9=0}else{if(gh=="middle"){f9=(gc.sizer.clientWidth-ga.offsetWidth)/2}}ga.style.left=f9+"px"}if(gf){F(this,f9,ge,f9+ga.offsetWidth,ge+ga.offsetHeight)}},triggerOnKeyDown:c6(p),triggerOnKeyPress:c6(cx),triggerOnKeyUp:bf,execCommand:function(f8){if(ez.hasOwnProperty(f8)){return ez[f8](this)}},findPosH:function(ge,gb,gc,f9){var f8=1;if(gb<0){f8=-1;gb=-gb}for(var ga=0,gd=fG(this.doc,ge);ga0&&f8(gb.charAt(ge-1))){--ge}while(ga0.5){Y(this)}aC(this,"refresh",this)}),swapDoc:c6(function(f9){var f8=this.doc;f8.cm=null;d7(this,f9);aj(this);fl(this);this.scrollTo(f9.scrollLeft,f9.scrollTop);this.curOp.forceScroll=true;ad(this,"swapDoc",this,f8);return f8}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};bx(I);var eZ=I.defaults={};var bc=I.optionHandlers={};function s(f8,gb,ga,f9){I.defaults[f8]=gb;if(ga){bc[f8]=f9?function(gc,ge,gd){if(gd!=cb){ga(gc,ge,gd)}}:ga}}var cb=I.Init={toString:function(){return"CodeMirror.Init"}};s("value","",function(f8,f9){f8.setValue(f9)},true);s("mode",null,function(f8,f9){f8.doc.modeOption=f9;bq(f8)},true);s("indentUnit",2,bq,true);s("indentWithTabs",false);s("smartIndent",true);s("tabSize",4,function(f8){eh(f8);aj(f8);ag(f8)},true);s("specialChars",/[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(f8,f9){f8.options.specialChars=new RegExp(f9.source+(f9.test("\t")?"":"|\t"),"g");f8.refresh()},true);s("specialCharPlaceholder",e8,function(f8){f8.refresh()},true);s("electricChars",true);s("rtlMoveVisually",!aM);s("wholeLineUpdateBefore",true);s("theme","default",function(f8){cM(f8);ds(f8)},true);s("keyMap","default",function(f8,gc,f9){var ga=fR(gc);var gb=f9!=I.Init&&fR(f9);if(gb&&gb.detach){gb.detach(f8,ga)}if(ga.attach){ga.attach(f8,gb||null)}});s("extraKeys",null);s("lineWrapping",false,eC,true);s("gutters",[],function(f8){cd(f8.options);ds(f8)},true);s("fixedGutter",true,function(f8,f9){f8.display.gutters.style.left=f9?dT(f8.display)+"px":"0";f8.refresh()},true);s("coverGutterNextToScrollbar",false,function(f8){eU(f8)},true);s("scrollbarStyle","native",function(f8){aB(f8);eU(f8);f8.display.scrollbars.setScrollTop(f8.doc.scrollTop);f8.display.scrollbars.setScrollLeft(f8.doc.scrollLeft)},true);s("lineNumbers",false,function(f8){cd(f8.options);ds(f8)},true);s("firstLineNumber",1,ds,true);s("lineNumberFormatter",function(f8){return f8},ds,true);s("showCursorWhenSelecting",false,bB,true);s("resetSelectionOnContextMenu",true);s("readOnly",false,function(f8,f9){if(f9=="nocursor"){aS(f8);f8.display.input.blur();f8.display.disabled=true}else{f8.display.disabled=false;if(!f9){fl(f8)}}});s("disableInput",false,function(f8,f9){if(!f9){fl(f8)}},true);s("dragDrop",true);s("cursorBlinkRate",530);s("cursorScrollMargin",0);s("cursorHeight",1,bB,true);s("singleCursorHeightPerLine",true,bB,true);s("workTime",100);s("workDelay",100);s("flattenSpans",true,eh,true);s("addModeClass",false,eh,true);s("pollInterval",100);s("undoDepth",200,function(f8,f9){f8.doc.history.undoDepth=f9});s("historyEventDelay",1250);s("viewportMargin",10,function(f8){f8.refresh()},true);s("maxHighlightLength",10000,eh,true);s("moveInputWithCursor",true,function(f8,f9){if(!f9){f8.display.inputDiv.style.top=f8.display.inputDiv.style.left=0}});s("tabindex",null,function(f8,f9){f8.display.input.tabIndex=f9||""});s("autofocus",null);var dp=I.modes={},aP=I.mimeModes={};I.defineMode=function(f8,f9){if(!I.defaults.mode&&f8!="null"){I.defaults.mode=f8}if(arguments.length>2){f9.dependencies=Array.prototype.slice.call(arguments,2)}dp[f8]=f9};I.defineMIME=function(f9,f8){aP[f9]=f8};I.resolveMode=function(f8){if(typeof f8=="string"&&aP.hasOwnProperty(f8)){f8=aP[f8]}else{if(f8&&typeof f8.name=="string"&&aP.hasOwnProperty(f8.name)){var f9=aP[f8.name];if(typeof f9=="string"){f9={name:f9}}f8=ck(f9,f8);f8.name=f9.name}else{if(typeof f8=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(f8)){return I.resolveMode("application/xml")}}}if(typeof f8=="string"){return{name:f8}}else{return f8||{name:"null"}}};I.getMode=function(f9,f8){var f8=I.resolveMode(f8);var gb=dp[f8.name];if(!gb){return I.getMode(f9,"text/plain")}var gc=gb(f9,f8);if(dl.hasOwnProperty(f8.name)){var ga=dl[f8.name];for(var gd in ga){if(!ga.hasOwnProperty(gd)){continue}if(gc.hasOwnProperty(gd)){gc["_"+gd]=gc[gd]}gc[gd]=ga[gd]}}gc.name=f8.name;if(f8.helperType){gc.helperType=f8.helperType}if(f8.modeProps){for(var gd in f8.modeProps){gc[gd]=f8.modeProps[gd]}}return gc};I.defineMode("null",function(){return{token:function(f8){f8.skipToEnd()}}});I.defineMIME("text/plain","null");var dl=I.modeExtensions={};I.extendMode=function(ga,f9){var f8=dl.hasOwnProperty(ga)?dl[ga]:(dl[ga]={});aK(f9,f8)};I.defineExtension=function(f8,f9){I.prototype[f8]=f9};I.defineDocExtension=function(f8,f9){ar.prototype[f8]=f9};I.defineOption=s;var a5=[];I.defineInitHook=function(f8){a5.push(f8)};var fk=I.helpers={};I.registerHelper=function(f9,f8,ga){if(!fk.hasOwnProperty(f9)){fk[f9]=I[f9]={_global:[]}}fk[f9][f8]=ga};I.registerGlobalHelper=function(ga,f9,f8,gb){I.registerHelper(ga,f9,gb);fk[ga]._global.push({pred:f8,val:gb})};var b2=I.copyState=function(gb,f8){if(f8===true){return f8}if(gb.copyState){return gb.copyState(f8)}var ga={};for(var gc in f8){var f9=f8[gc];if(f9 instanceof Array){f9=f9.concat([])}ga[gc]=f9}return ga};var bZ=I.startState=function(ga,f9,f8){return ga.startState?ga.startState(f9,f8):true};I.innerMode=function(ga,f8){while(ga.innerMode){var f9=ga.innerMode(f8);if(!f9||f9.mode==ga){break}f8=f9.state;ga=f9.mode}return f9||{mode:ga,state:f8}};var ez=I.commands={selectAll:function(f8){f8.setSelection(X(f8.firstLine(),0),X(f8.lastLine()),Z)},singleSelection:function(f8){f8.setSelection(f8.getCursor("anchor"),f8.getCursor("head"),Z)},killLine:function(f8){eT(f8,function(ga){if(ga.empty()){var f9=fb(f8.doc,ga.head.line).text.length;if(ga.head.ch==f9&&ga.head.line0){ge=new X(ge.line,ge.ch+1);f8.replaceRange(f9.charAt(ge.ch-1)+f9.charAt(ge.ch-2),X(ge.line,ge.ch-2),ge,"+transpose")}else{if(ge.line>f8.doc.first){var gd=fb(f8.doc,ge.line-1).text;if(gd){f8.replaceRange(f9.charAt(0)+"\n"+gd.charAt(gd.length-1),X(ge.line-1,gd.length-1),X(ge.line,1),"+transpose")}}}}ga.push(new dU(ge,ge))}f8.setSelections(ga)})},newlineAndIndent:function(f8){cK(f8,function(){var f9=f8.listSelections().length;for(var gb=0;gb=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.posf9},eatSpace:function(){var f8=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>f8},skipToEnd:function(){this.pos=this.string.length},skipTo:function(f8){var f9=this.string.indexOf(f8,this.pos);if(f9>-1){this.pos=f9;return true}},backUp:function(f8){this.pos-=f8},column:function(){if(this.lastColumnPos0){return null}if(ga&&f9!==false){this.pos+=ga[0].length}return ga}},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(f9,f8){this.lineStart+=f9;try{return f8()}finally{this.lineStart-=f9}}};var Q=I.TextMarker=function(f9,f8){this.lines=[];this.type=f8;this.doc=f9};bx(Q);Q.prototype.clear=function(){if(this.explicitlyCleared){return}var gf=this.doc.cm,f9=gf&&!gf.curOp;if(f9){cG(gf)}if(fe(this,"clear")){var gg=this.find();if(gg){ad(this,"clear",gg.from,gg.to)}}var ga=null,gd=null;for(var gb=0;gbgf.display.maxLineLength){gf.display.maxLine=f8;gf.display.maxLineLength=gc;gf.display.maxLineChanged=true}}}if(ga!=null&&gf&&this.collapsed){ag(gf,ga,gd+1)}this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;if(gf){et(gf.doc)}}if(gf){ad(gf,"markerCleared",gf,this)}if(f9){al(gf)}if(this.parent){this.parent.clear()}};Q.prototype.find=function(gb,f9){if(gb==null&&this.type=="bookmark"){gb=1}var ge,gd;for(var ga=0;ga0||gh==0&&gb.clearWhenEmpty!==false){return gb}if(gb.replacedWith){gb.collapsed=true;gb.widgetNode=fT("span",[gb.replacedWith],"CodeMirror-widget");if(!gi.handleMouseEvents){gb.widgetNode.setAttribute("cm-ignore-events","true")}if(gi.insertLeft){gb.widgetNode.insertLeft=true}}if(gb.collapsed){if(z(gg,ge.line,ge,gf,gb)||ge.line!=gf.line&&z(gg,gf.line,ge,gf,gb)){throw new Error("Inserting collapsed marker partially overlapping an existing one")}a4=true}if(gb.addToHistory){fJ(gg,{from:ge,to:gf,origin:"markText"},gg.sel,NaN)}var f9=ge.line,gd=gg.cm,f8;gg.iter(f9,gf.line+1,function(gj){if(gd&&gb.collapsed&&!gd.options.lineWrapping&&y(gj)==gd.display.maxLine){f8=true}if(gb.collapsed&&f9!=ge.line){fW(gj,0)}cc(gj,new ee(gb,f9==ge.line?ge.ch:null,f9==gf.line?gf.ch:null));++f9});if(gb.collapsed){gg.iter(ge.line,gf.line+1,function(gj){if(ft(gg,gj)){fW(gj,0)}})}if(gb.clearOnEnter){bW(gb,"beforeCursorEnter",function(){gb.clear()})}if(gb.readOnly){f3=true;if(gg.history.done.length||gg.history.undone.length){gg.clearHistory()}}if(gb.collapsed){gb.id=++a2;gb.atomic=true}if(gd){if(f8){gd.curOp.updateMaxLine=true}if(gb.collapsed){ag(gd,ge.line,gf.line+1)}else{if(gb.className||gb.title||gb.startStyle||gb.endStyle||gb.css){for(var ga=ge.line;ga<=gf.line;ga++){S(gd,ga,"text")}}}if(gb.atomic){et(gd.doc)}ad(gd,"markerAdded",gd,gb)}return gb}var x=I.SharedTextMarker=function(ga,f9){this.markers=ga;this.primary=f9;for(var f8=0;f8=ga:gg.to>ga);(gf||(gf=[])).push(new ee(gd,gg.from,gb?null:gg.to))}}}return gf}function az(f9,gb,ge){if(f9){for(var gc=0,gf;gc=gb:gg.to>gb);if(ga||gg.from==gb&&gd.type=="bookmark"&&(!ge||gg.marker.insertLeft)){var f8=gg.from==null||(gd.inclusiveLeft?gg.from<=gb:gg.from0&&ge){for(var gb=0;gb0){continue}var gh=[gb,1],f8=ce(f9.from,ga.from),gg=ce(f9.to,ga.to);if(f8<0||!gf.inclusiveLeft&&!f8){gh.push({from:f9.from,to:ga.from})}if(gg>0||!gf.inclusiveRight&&!gg){gh.push({from:ga.to,to:f9.to})}gd.splice.apply(gd,gh);gb+=gh.length-1}}return gd}function fZ(f8){var ga=f8.markedSpans;if(!ga){return}for(var f9=0;f9=0&&gd<=0||gh<=0&&gd>=0){continue}if(gh<=0&&(ce(gi.to,ge)>0||(f9.marker.inclusiveRight&&gc.inclusiveLeft))||gh>=0&&(ce(gi.from,gf)<0||(f9.marker.inclusiveLeft&&gc.inclusiveRight))){return true}}}}function y(f9){var f8;while(f8=eK(f9)){f9=f8.find(-1,true).line}return f9}function h(ga){var f8,f9;while(f8=er(ga)){ga=f8.find(1,true).line;(f9||(f9=[])).push(ga)}return f9}function aT(gb,f9){var f8=fb(gb,f9),ga=y(f8);if(f8==ga){return f9}return bM(ga)}function dZ(gb,ga){if(ga>gb.lastLine()){return ga}var f9=fb(gb,ga),f8;if(!ft(gb,f9)){return ga}while(f8=er(f9)){f9=f8.find(1,true).line}return bM(f9)+1}function ft(gc,f9){var f8=a4&&f9.markedSpans;if(f8){for(var gb,ga=0;gagc.start){return ga}}throw new Error("Mode "+gd.name+" failed to advance stream.")}function cq(gh,gf,gc,gb){function f8(gk){return{start:gi.start,end:gi.pos,string:gi.current(),type:ga||null,state:gk?b2(gg.mode,f9):f9}}var gg=gh.doc,gd=gg.mode,ga;gf=fG(gg,gf);var gj=fb(gg,gf.line),f9=dx(gh,gf.line,gc);var gi=new eP(gj.text,gh.options.tabSize),ge;if(gb){ge=[]}while((gb||gi.posgi.options.maxHighlightLength){ga=false;if(gc){dt(gi,gk,f9,gj.pos)}gj.pos=gk.length;f8=null}else{f8=dg(ew(gd,gj,f9,gm),gb)}if(gm){var gl=gm[0].name;if(gl){f8="m-"+(f8?gl+" "+f8:gl)}}if(!ga||gf!=f8){while(gggi){gg.splice(ge,1,gi,gg[ge+1],gj)}ge+=2;ga=Math.min(gi,gj)}if(!gk){return}if(gd.opaque){gg.splice(gm,ge-gm,gi,"cm-overlay "+gk);ge=gm+2}else{for(;gmgb&&gc.from<=gb){break}}if(gc.to>=gd){return f9(gg,gi,ga,ge,gj,gh)}f9(gg,gi.slice(0,gc.to-gb),ga,ge,null,gh);ge=null;gi=gi.slice(gc.to-gb);gb=gc.to}}}function ab(f9,gb,f8,ga){var gc=!ga&&f8.widgetNode;if(gc){f9.map.push(f9.pos,f9.pos+gb,gc);f9.content.appendChild(gc)}f9.pos+=gb}function bn(gh,go,gg){var gd=gh.markedSpans,gf=gh.text,gm=0;if(!gd){for(var gr=1;grgc)){if(gq.to!=null&&gv>gq.to){gv=gq.to;gu=""}if(gn.className){f8+=" "+gn.className}if(gn.css){gi=gn.css}if(gn.startStyle&&gq.from==gc){gl+=" "+gn.startStyle}if(gn.endStyle&&gq.to==gv){gu+=" "+gn.endStyle}if(gn.title&&!gw){gw=gn.title}if(gn.collapsed&&(!ga||dM(ga.marker,gn)<0)){ga=gq}}else{if(gq.from>gc&&gv>gq.from){gv=gq.from}}if(gn.type=="bookmark"&&gq.from==gc&&gn.widgetNode){ge.push(gn)}}if(ga&&(ga.from||0)==gc){ab(go,(ga.to==null?gs+1:ga.to)-gc,ga.marker,ga.from==null);if(ga.to==null){return}}if(!ga&&ge.length){for(var gp=0;gp=gs){break}var gj=Math.min(gs,gv);while(true){if(gk){var f9=gc+gk.length;if(!ga){var gb=f9>gj?gk.slice(0,gj-gc):gk;go.addToken(go,gb,gt?gt+f8:f8,gl,gc+gb.length==gv?gu:"",gw,gi)}if(f9>=gj){gk=gk.slice(gj-gc);gc=gj;break}gc=f9;gl=""}gk=gf.slice(gm,gm=gg[gr++]);gt=eS(gg[gr++],go.cm.options)}}}function dO(f8,f9){return f9.from.ch==0&&f9.to.ch==0&&fE(f9.text)==""&&(!f8.cm||f8.cm.options.wholeLineUpdateBefore)}function fv(gl,gg,f9,gc){function gm(go){return f9?f9[go]:null}function ga(go,gq,gp){ei(go,gq,gp,gc);ad(go,"change",go,gg)}function f8(gr,gp){for(var gq=gr,go=[];gq1){gl.remove(gk.line+1,ge-1)}gl.insert(gk.line+1,gd)}}}}ad(gl,"change",gl,gg)}function eV(f9){this.lines=f9;this.parent=null;for(var ga=0,f8=0;ga1||!(this.children[0] instanceof eV))){var f9=[];this.collapse(f9);this.children=[new eV(f9)];this.children[0].parent=this}},collapse:function(f8){for(var f9=0;f950){while(gf.lines.length>50){var gc=gf.lines.splice(gf.lines.length-25,25);var gb=new eV(gc);gf.height-=gb.height;this.children.splice(gd+1,0,gb);gb.parent=this}this.maybeSpill()}break}f9-=ge}},maybeSpill:function(){if(this.children.length<=10){return}var gb=this;do{var f9=gb.children.splice(gb.children.length-5,5);var ga=new fu(f9);if(!gb.parent){var gc=new fu(gb.children);gc.parent=gb;gb.children=[gc,ga];gb=gc}else{gb.size-=ga.size;gb.height-=ga.height;var f8=df(gb.parent.children,gb);gb.parent.children.splice(f8+1,0,ga)}ga.parent=gb.parent}while(gb.children.length>10);gb.parent.maybeSpill()},iterN:function(f8,ge,gd){for(var f9=0;f9=0;gb--){bd(this,gc[gb])}if(f8){e3(this,f8)}else{if(this.cm){fD(this.cm)}}}),undo:cC(function(){b7(this,"undo")}),redo:cC(function(){b7(this,"redo")}),undoSelection:cC(function(){b7(this,"undo",true)}),redoSelection:cC(function(){b7(this,"redo",true)}),setExtending:function(f8){this.extend=f8},getExtending:function(){return this.extend},historySize:function(){var gb=this.history,f8=0,ga=0;for(var f9=0;f9=gc.ch)){gb.push(ga.marker.parent||ga.marker)}}}return gb},findMarks:function(gc,gb,f8){gc=fG(this,gc);gb=fG(this,gb);var f9=[],ga=gc.line;this.iter(gc.line,gb.line+1,function(gd){var gf=gd.markedSpans;if(gf){for(var ge=0;gegg.to||gg.from==null&&ga!=gc.line||ga==gb.line&&gg.from>gb.ch)&&(!f8||f8(gg.marker))){f9.push(gg.marker.parent||gg.marker)}}}++ga});return f9},getAllMarks:function(){var f8=[];this.iter(function(ga){var f9=ga.markedSpans;if(f9){for(var gb=0;gbf9){f8=f9;return true}f9-=gc;++ga});return fG(this,X(ga,f8))},indexFromPos:function(f9){f9=fG(this,f9);var f8=f9.ch;if(f9.linegb){gb=f8.from}if(f8.to!=null&&f8.to=gb.size){throw new Error("There is no line "+(gd+gb.first)+" in the document.")}for(var f8=gb;!f8.lines;){for(var f9=0;;++f9){var gc=f8.children[f9],ga=gc.chunkSize();if(gd1&&!f9.done[f9.done.length-2].ranges){f9.done.pop();return fE(f9.done)}}}}function fJ(ge,gc,f8,gb){var ga=ge.history;ga.undone.length=0;var f9=+new Date,gf;if((ga.lastOp==gb||ga.lastOrigin==gc.origin&&gc.origin&&((gc.origin.charAt(0)=="+"&&ge.cm&&ga.lastModTime>f9-ge.cm.options.historyEventDelay)||gc.origin.charAt(0)=="*"))&&(gf=eI(ga,ga.lastOp==gb))){var gg=fE(gf.changes);if(ce(gc.from,gc.to)==0&&ce(gc.from,gg.to)==0){gg.to=cV(gc)}else{gf.changes.push(dr(ge,gc))}}else{var gd=fE(ga.done);if(!gd||!gd.ranges){cL(ge.sel,ga.done)}gf={changes:[dr(ge,gc)],generation:ga.generation};ga.done.push(gf);while(ga.done.length>ga.undoDepth){ga.done.shift();if(!ga.done[0].ranges){ga.done.shift()}}}ga.done.push(f8);ga.generation=++ga.maxGeneration;ga.lastModTime=ga.lastSelTime=f9;ga.lastOp=ga.lastSelOp=gb;ga.lastOrigin=ga.lastSelOrigin=gc.origin;if(!gg){aC(ge,"historyAdded")}}function bz(gc,f8,ga,gb){var f9=f8.charAt(0);return f9=="*"||f9=="+"&&ga.ranges.length==gb.ranges.length&&ga.somethingSelected()==gb.somethingSelected()&&new Date-gc.history.lastSelTime<=(gc.cm?gc.cm.options.historyEventDelay:500)}function f2(gd,gb,f8,ga){var gc=gd.history,f9=ga&&ga.origin;if(f8==gc.lastSelOp||(f9&&gc.lastSelOrigin==f9&&(gc.lastModTime==gc.lastSelTime&&gc.lastOrigin==f9||bz(gd,f9,fE(gc.done),gb)))){gc.done[gc.done.length-1]=gb}else{cL(gb,gc.done)}gc.lastSelTime=+new Date;gc.lastSelOrigin=f9;gc.lastSelOp=f8;if(ga&&ga.clearRedo!==false){fy(gc.undone)}}function cL(f9,f8){var ga=fE(f8);if(!(ga&&ga.ranges&&ga.equals(f9))){f8.push(f9)}}function bX(f9,gd,gc,gb){var f8=gd["spans_"+f9.id],ga=0;f9.iter(Math.max(f9.first,gc),Math.min(f9.first+f9.size,gb),function(ge){if(ge.markedSpans){(f8||(f8=gd["spans_"+f9.id]={}))[ga]=ge.markedSpans}++ga})}function bi(ga){if(!ga){return null}for(var f9=0,f8;f9-1){fE(gh)[f8]=gf[f8];delete gf[f8]}}}}}}return f9}function J(gb,ga,f9,f8){if(f90}function bx(f8){f8.prototype.on=function(f9,ga){bW(this,f9,ga)};f8.prototype.off=function(f9,ga){d9(this,f9,ga)}}var dF=30;var b9=I.Pass={toString:function(){return"CodeMirror.Pass"}};var Z={scroll:false},N={origin:"*mouse"},cU={origin:"+move"};function f7(){this.id=null}f7.prototype.set=function(f8,f9){clearTimeout(this.id);this.id=setTimeout(f9,f8)};var bS=I.countColumn=function(gb,f9,gd,ge,ga){if(f9==null){f9=gb.search(/[^\s\u00a0]/);if(f9==-1){f9=gb.length}}for(var gc=ge||0,gf=ga||0;;){var f8=gb.indexOf("\t",gc);if(f8<0||f8>=f9){return gf+(f9-gc)}gf+=f8-gc;gf+=gd-(gf%gd);gc=f8+1}};function em(gc,gb,gd){for(var ge=0,ga=0;;){var f9=gc.indexOf("\t",ge);if(f9==-1){f9=gc.length}var f8=f9-ge;if(f9==gc.length||ga+f8>=gb){return ge+Math.min(f8,gb-ga)}ga+=f9-ge;ga+=gd-(ga%gd);ge=f9+1;if(ga>=gb){return ge}}}var aW=[""];function cp(f8){while(aW.length<=f8){aW.push(fE(aW)+" ")}return aW[f8]}function fE(f8){return f8[f8.length-1]}var dH=function(f8){f8.select()};if(eX){dH=function(f8){f8.selectionStart=0;f8.selectionEnd=f8.value.length}}else{if(dG){dH=function(f9){try{f9.select()}catch(f8){}}}}function df(ga,f8){for(var f9=0;f9"\x80"&&(f8.toUpperCase()!=f8.toLowerCase()||a9.test(f8))};function cz(f8,f9){if(!f9){return fA(f8)}if(f9.source.indexOf("\\w")>-1&&fA(f8)){return true}return f9.test(f8)}function eQ(f8){for(var f9 in f8){if(f8.hasOwnProperty(f9)&&f8[f9]){return false}}return true}var eF=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function fm(f8){return f8.charCodeAt(0)>=768&&eF.test(f8)}function fT(f8,gc,gb,ga){var gd=document.createElement(f8);if(gb){gd.className=gb}if(ga){gd.style.cssText=ga}if(typeof gc=="string"){gd.appendChild(document.createTextNode(gc))}else{if(gc){for(var f9=0;f90;--f8){f9.removeChild(f9.firstChild)}return f9}function bQ(f8,f9){return dX(f8).appendChild(f9)}function f1(f8,f9){if(f8.contains){return f8.contains(f9)}while(f9=f9.parentNode){if(f9==f8){return true}}}function dK(){return document.activeElement}if(dG&&k<11){dK=function(){try{return document.activeElement}catch(f8){return document.body}}}function T(f8){return new RegExp("(^|\\s)"+f8+"(?:$|\\s)\\s*")}var f=I.rmClass=function(ga,f8){var gb=ga.className;var f9=T(f8).exec(gb);if(f9){var gc=gb.slice(f9.index+f9[0].length);ga.className=gb.slice(0,f9.index)+(gc?f9[1]+gc:"")}};var fx=I.addClass=function(f9,f8){var ga=f9.className;if(!T(f8).test(ga)){f9.className+=(ga?" ":"")+f8}};function fO(ga,f8){var f9=ga.split(" ");for(var gb=0;gb2&&!(dG&&k<8)}}if(fI){return fT("span","\u200b")}else{return fT("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px")}}var fH;function bN(gb){if(fH!=null){return fH}var f8=bQ(gb,document.createTextNode("A\u062eA"));var ga=cl(f8,0,1).getBoundingClientRect();if(!ga||ga.left==ga.right){return false}var f9=cl(f8,1,2).getBoundingClientRect();return fH=(f9.right-ga.right<3)}var aX=I.splitLines="\n\nb".split(/\n/).length!=3?function(gd){var ge=0,f8=[],gc=gd.length;while(ge<=gc){var gb=gd.indexOf("\n",ge);if(gb==-1){gb=gd.length}var ga=gd.slice(ge,gd.charAt(gb-1)=="\r"?gb-1:gb);var f9=ga.indexOf("\r");if(f9!=-1){f8.push(ga.slice(0,f9));ge+=f9+1}else{f8.push(ga);ge=gb+1}}return f8}:function(f8){return f8.split(/\r\n?|\n/)};var br=window.getSelection?function(f9){try{return f9.selectionStart!=f9.selectionEnd}catch(f8){return false}}:function(ga){try{var f8=ga.ownerDocument.selection.createRange()}catch(f9){}if(!f8||f8.parentElement()!=ga){return false}return f8.compareEndPoints("StartToEnd",f8)!=0};var c8=(function(){var f8=fT("div");if("oncopy" in f8){return true}f8.setAttribute("oncopy","return;");return typeof f8.oncopy=="function"})();var e2=null;function aI(f9){if(e2!=null){return e2}var ga=bQ(f9,fT("span","x"));var gb=ga.getBoundingClientRect();var f8=cl(ga,0,1).getBoundingClientRect();return e2=Math.abs(gb.left-f8.left)>1}var fc={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:";",61:"=",91:"Mod",92:"Mod",93:"Mod",107:"=",109:"-",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};I.keyNames=fc;(function(){for(var f8=0;f8<10;f8++){fc[f8+48]=fc[f8+96]=String(f8)}for(var f8=65;f8<=90;f8++){fc[f8]=String.fromCharCode(f8)}for(var f8=1;f8<=12;f8++){fc[f8+111]=fc[f8+63235]="F"+f8}})();function d0(f8,ge,gd,gc){if(!f8){return gc(ge,gd,"ltr")}var gb=false;for(var ga=0;gage||ge==gd&&f9.to==ge){gc(Math.max(f9.from,ge),Math.min(f9.to,gd),f9.level==1?"rtl":"ltr");gb=true}}if(!gb){gc(ge,gd,"ltr")}}function du(f8){return f8.level%2?f8.to:f8.from}function f4(f8){return f8.level%2?f8.from:f8.to}function cD(f9){var f8=a(f9);return f8?du(f8[0]):0}function cQ(f9){var f8=a(f9);if(!f8){return f9.text.length}return f4(fE(f8))}function bs(f9,gc){var ga=fb(f9.doc,gc);var gd=y(ga);if(gd!=ga){gc=bM(gd)}var f8=a(gd);var gb=!f8?0:f8[0].level%2?cQ(gd):cD(gd);return X(gc,gb)}function dL(ga,gd){var f9,gb=fb(ga.doc,gd);while(f9=er(gb)){gb=f9.find(1,true).line;gd=null}var f8=a(gb);var gc=!f8?gb.text.length:f8[0].level%2?cD(gb):cQ(gb);return X(gd==null?bM(gb):gd,gc)}function dE(f9,ge){var gd=bs(f9,ge.line);var ga=fb(f9.doc,gd.line);var f8=a(ga);if(!f8||f8[0].level==0){var gc=Math.max(0,ga.text.search(/\S/));var gb=ge.line==gd.line&&ge.ch<=gc&&ge.ch;return X(gd.line,gb?0:gc)}return gd}function am(f9,ga,f8){var gb=f9[0].level;if(ga==gb){return true}if(f8==gb){return false}return gagc){return f9}if((gb.from==gc||gb.to==gc)){if(ga==null){ga=f9}else{if(am(f8,gb.level,f8[ga].level)){if(gb.from!=gb.to){eY=ga}return f9}else{if(gb.from!=gb.to){eY=f9}return ga}}}}return ga}function fa(f8,gb,f9,ga){if(!ga){return gb+f9}do{gb+=f9}while(gb>0&&fm(f8.text.charAt(gb)));return gb}function u(f8,gf,ga,gb){var gc=a(f8);if(!gc){return ah(f8,gf,ga,gb)}var ge=aE(gc,gf),f9=gc[ge];var gd=fa(f8,gf,f9.level%2?-ga:ga,gb);for(;;){if(gd>f9.from&&gd0)==f9.level%2?f9.to:f9.from}else{f9=gc[ge+=ga];if(!f9){return null}if((ga>0)==f9.level%2){gd=fa(f8,f9.to,-1,gb)}else{gd=fa(f8,f9.from,1,gb)}}}}function ah(f8,gc,f9,ga){var gb=gc+f9;if(ga){while(gb>0&&fm(f8.text.charAt(gb))){gb+=f9}}return gb<0||gb>f8.text.length?null:gb}var be=(function(){var ge="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN";var gc="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm";function gb(gi){if(gi<=247){return ge.charAt(gi)}else{if(1424<=gi&&gi<=1524){return"R"}else{if(1536<=gi&&gi<=1773){return gc.charAt(gi-1536)}else{if(1774<=gi&&gi<=2220){return"r"}else{if(8192<=gi&&gi<=8203){return"w"}else{if(gi==8204){return"b"}else{return"L"}}}}}}}var f8=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;var gh=/[stwN]/,ga=/[LRr]/,f9=/[Lb1n]/,gd=/[1n]/;var gg="L";function gf(gk,gj,gi){this.level=gk;this.from=gj;this.to=gi}return function(gs){if(!f8.test(gs)){return false}var gy=gs.length,go=[];for(var gx=0,gk;gx and others | MIT license: http://codemirror.net/LICENSE | https://github.com/codemirror/codemirror */ -.CodeMirror{font-family:monospace;height:300px}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:white}.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;-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-guttermarker{color:black}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror div.CodeMirror-cursor{border-left:1px solid black}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-fat-cursor div.CodeMirror-cursor{width:auto;border:0;background:#7e7}.CodeMirror.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}@-moz-keyframes blink{0%{background:#7e7}50%{background:0}100%{background:#7e7}}@-webkit-keyframes blink{0%{background:#7e7}50%{background:0}100%{background:#7e7}}@keyframes blink{0%{background:#7e7}50%{background:0}100%{background:#7e7}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute}.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-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.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:blue}.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:bold}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-error{color:#f00}.cm-invalidchar{color:#f00}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{line-height:1;position:relative;overflow:hidden;background:white;color:black}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative;-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-sizer{position:relative;border-right:30px solid transparent;-moz-box-sizing:content-box;box-sizing:content-box}.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;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;-moz-box-sizing:content-box;box-sizing:content-box;display:inline-block;margin-bottom:-30px;*zoom:1;*display:inline}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;height:100%}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-lines{cursor:text;min-height:1px}.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-linebackground{position:absolute;left:0;right:0;top:0;bottom:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;overflow:auto}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-measure pre{position:static}.CodeMirror div.CodeMirror-cursor{position:absolute;border-right:0;width:0}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.CodeMirror span{*vertical-align:text-bottom}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0} \ No newline at end of file +/* CodeMirror v5.0 | CodeMirror, copyright (c) by Marijn Haverbeke and others | Distributed under an MIT license: http://codemirror.net/LICENSE */ +.CodeMirror{font-family:monospace;height:300px;color:black}.CodeMirror-lines{padding:4px 0}.CodeMirror pre{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:white}.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;-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-guttermarker{color:black}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror div.CodeMirror-cursor{border-left:1px solid black}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.CodeMirror.cm-fat-cursor div.CodeMirror-cursor{width:auto;border:0;background:#7e7}.CodeMirror.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-animate-fat-cursor{width:auto;border:0;-webkit-animation:blink 1.06s steps(1) infinite;-moz-animation:blink 1.06s steps(1) infinite;animation:blink 1.06s steps(1) infinite}@-moz-keyframes blink{0%{background:#7e7}50%{background:0}100%{background:#7e7}}@-webkit-keyframes blink{0%{background:#7e7}50%{background:0}100%{background:#7e7}}@keyframes blink{0%{background:#7e7}50%{background:0}100%{background:#7e7}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-ruler{border-left:1px solid #ccc;position:absolute}.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-2{color:#05a}.cm-s-default .cm-variable-3{color:#085}.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:blue}.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:bold}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-error{color:#f00}.cm-invalidchar{color:#f00}div.CodeMirror span.CodeMirror-matchingbracket{color:#0f0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#f22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:white}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-30px;margin-right:-30px;padding-bottom:30px;height:100%;outline:0;position:relative;-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-sizer{position:relative;border-right:30px solid transparent;-moz-box-sizing:content-box;box-sizing:content-box}.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;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;-moz-box-sizing:content-box;box-sizing:content-box;display:inline-block;margin-bottom:-30px;*zoom:1;*display:inline}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;height:100%}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper{-webkit-user-select:none;-moz-user-select:none;user-select:none}.CodeMirror-lines{cursor:text;min-height:1px}.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;-webkit-tap-highlight-color:transparent}.CodeMirror-wrap pre{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.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-code{outline:0}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-measure pre{position:static}.CodeMirror div.CodeMirror-cursor{position:absolute;border-right:0;width:0}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror ::selection{background:#d7d4f0}.CodeMirror ::-moz-selection{background:#d7d4f0}.cm-searching{background:#ffa;background:rgba(255,255,0,.4)}.CodeMirror span{*vertical-align:text-bottom}.cm-force-border{padding-right:.1px} +@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:''}span.CodeMirror-selectedtext{background:0} \ No newline at end of file diff --git a/lib/codemirror/codemirror.min.js b/lib/codemirror/codemirror.min.js index e757158..aa2eb13 100644 --- a/lib/codemirror/codemirror.min.js +++ b/lib/codemirror/codemirror.min.js @@ -1,2 +1,54 @@ -/*! CodeMirror v4.12.0 | Copyright (C) 2014 by Marijn Haverbeke and others | MIT license: http://codemirror.net/LICENSE | https://github.com/codemirror/codemirror */ -(function(a){if(typeof exports=="object"&&typeof module=="object"){module.exports=a()}else{if(typeof define=="function"&&define.amd){return define([],a)}else{this.CodeMirror=a()}}})(function(){var co=/gecko\/\d/i.test(navigator.userAgent);var eG=/MSIE \d/.test(navigator.userAgent);var bI=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);var dG=eG||bI;var k=dG&&(eG?document.documentMode||6:bI[1]);var cY=/WebKit\//.test(navigator.userAgent);var dJ=cY&&/Qt\/\d+\.\d+/.test(navigator.userAgent);var da=/Chrome\//.test(navigator.userAgent);var dY=/Opera\//.test(navigator.userAgent);var aA=/Apple Computer/.test(navigator.vendor);var a8=/KHTML\//.test(navigator.userAgent);var c5=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent);var fr=/PhantomJS/.test(navigator.userAgent);var eX=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent);var ec=eX||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent);var b6=eX||/Mac/.test(navigator.platform);var aM=/win/i.test(navigator.platform);var aV=dY&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);if(aV){aV=Number(aV[1])}if(aV&&aV>=15){dY=false;cY=true}var bP=b6&&(dJ||dY&&(aV==null||aV<12.11));var f0=co||(dG&&k>=9);var f3=false,a4=false;function I(f8,f9){if(!(this instanceof I)){return new I(f8,f9)}this.options=f9=f9?aK(f9):{};aK(eZ,f9,false);cd(f9);var gd=f9.value;if(typeof gd=="string"){gd=new ar(gd,f9.mode)}this.doc=gd;var gc=this.display=new eE(f8,gd);gc.wrapper.CodeMirror=this;d8(this);cM(this);if(f9.lineWrapping){this.display.wrapper.className+=" CodeMirror-wrap"}if(f9.autofocus&&!ec){ev(this)}aB(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:false,focused:false,suppressEdits:false,pasteIncoming:false,cutIncoming:false,draggingText:false,highlight:new f7(),keySeq:null};if(dG&&k<11){setTimeout(cv(fl,this,true),20)}fM(this);bg();cG(this);this.curOp.forceUpdate=true;d7(this,gd);if((f9.autofocus&&!ec)||dK()==gc.input){setTimeout(cv(cA,this),20)}else{aS(this)}for(var gb in bc){if(bc.hasOwnProperty(gb)){bc[gb](this,f9[gb],cb)}}d1(this);for(var ga=0;gaga.maxLineLength){ga.maxLineLength=gb;ga.maxLine=gc}})}function cd(f8){var f9=df(f8.gutters,"CodeMirror-linenumbers");if(f9==-1&&f8.lineNumbers){f8.gutters=f8.gutters.concat(["CodeMirror-linenumbers"])}else{if(f9>-1&&!f8.lineNumbers){f8.gutters=f8.gutters.slice(0);f8.gutters.splice(f9,1)}}}function dw(f8){var gb=f8.display,ga=gb.gutters.offsetWidth;var f9=Math.round(f8.doc.height+bH(f8.display));return{clientHeight:gb.scroller.clientHeight,viewHeight:gb.wrapper.clientHeight,scrollWidth:gb.scroller.scrollWidth,clientWidth:gb.scroller.clientWidth,viewWidth:gb.wrapper.clientWidth,barLeft:f8.options.fixedGutter?ga:0,docHeight:f9,scrollHeight:f9+cR(f8)+gb.barHeight,nativeBarWidth:gb.nativeBarWidth,gutterWidth:ga}}function dh(ga,f9,f8){this.cm=f8;var gb=this.vert=fT("div",[fT("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar");var gc=this.horiz=fT("div",[fT("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");ga(gb);ga(gc);bW(gb,"scroll",function(){if(gb.clientHeight){f9(gb.scrollTop,"vertical")}});bW(gc,"scroll",function(){if(gc.clientWidth){f9(gc.scrollLeft,"horizontal")}});this.checkedOverlay=false;if(dG&&k<8){this.horiz.style.minHeight=this.vert.style.minWidth="18px"}}dh.prototype=aK({update:function(gb){var gc=gb.scrollWidth>gb.clientWidth+1;var ga=gb.scrollHeight>gb.clientHeight+1;var gd=gb.nativeBarWidth;if(ga){this.vert.style.display="block";this.vert.style.bottom=gc?gd+"px":"0";var f9=gb.viewHeight-(gc?gd:0);this.vert.firstChild.style.height=Math.max(0,gb.scrollHeight-gb.clientHeight+f9)+"px"}else{this.vert.style.display="";this.vert.firstChild.style.height="0"}if(gc){this.horiz.style.display="block";this.horiz.style.right=ga?gd+"px":"0";this.horiz.style.left=gb.barLeft+"px";var f8=gb.viewWidth-gb.barLeft-(ga?gd:0);this.horiz.firstChild.style.width=(gb.scrollWidth-gb.clientWidth+f8)+"px"}else{this.horiz.style.display="";this.horiz.firstChild.style.width="0"}if(!this.checkedOverlay&&gb.clientHeight>0){if(gd==0){this.overlayHack()}this.checkedOverlay=true}return{right:ga?gd:0,bottom:gc?gd:0}},setScrollLeft:function(f8){if(this.horiz.scrollLeft!=f8){this.horiz.scrollLeft=f8}},setScrollTop:function(f8){if(this.vert.scrollTop!=f8){this.vert.scrollTop=f8}},overlayHack:function(){var f8=b6&&!c5?"12px":"18px";this.horiz.style.minHeight=this.vert.style.minWidth=f8;var f9=this;var ga=function(gb){if(M(gb)!=f9.vert&&M(gb)!=f9.horiz){c0(f9.cm,ep)(gb)}};bW(this.vert,"mousedown",ga);bW(this.horiz,"mousedown",ga)},clear:function(){var f8=this.horiz.parentNode;f8.removeChild(this.horiz);f8.removeChild(this.vert)}},dh.prototype);function e0(){}e0.prototype=aK({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},e0.prototype);I.scrollbarModel={"native":dh,"null":e0};function aB(f8){if(f8.display.scrollbars){f8.display.scrollbars.clear();if(f8.display.scrollbars.addClass){f(f8.display.wrapper,f8.display.scrollbars.addClass)}}f8.display.scrollbars=new I.scrollbarModel[f8.options.scrollbarStyle](function(f9){f8.display.wrapper.insertBefore(f9,f8.display.scrollbarFiller);bW(f9,"mousedown",function(){if(f8.state.focused){setTimeout(cv(ev,f8),0)}});f9.setAttribute("not-content","true")},function(ga,f9){if(f9=="horizontal"){bD(f8,ga)}else{O(f8,ga)}},f8);if(f8.display.scrollbars.addClass){fx(f8.display.wrapper,f8.display.scrollbars.addClass)}}function eU(ga,gc){if(!gc){gc=dw(ga)}var f9=ga.display.barWidth,f8=ga.display.barHeight;aR(ga,gc);for(var gb=0;gb<4&&f9!=ga.display.barWidth||f8!=ga.display.barHeight;gb++){if(f9!=ga.display.barWidth&&ga.options.lineWrapping){a6(ga)}aR(ga,dw(ga));f9=ga.display.barWidth;f8=ga.display.barHeight}}function aR(f8,f9){var gb=f8.display;var ga=gb.scrollbars.update(f9);gb.sizer.style.paddingRight=(gb.barWidth=ga.right)+"px";gb.sizer.style.paddingBottom=(gb.barHeight=ga.bottom)+"px";if(ga.right&&ga.bottom){gb.scrollbarFiller.style.display="block";gb.scrollbarFiller.style.height=ga.bottom+"px";gb.scrollbarFiller.style.width=ga.right+"px"}else{gb.scrollbarFiller.style.display=""}if(ga.bottom&&f8.options.coverGutterNextToScrollbar&&f8.options.fixedGutter){gb.gutterFiller.style.display="block";gb.gutterFiller.style.height=ga.bottom+"px";gb.gutterFiller.style.width=f9.gutterWidth+"px"}else{gb.gutterFiller.style.display=""}}function b5(gb,gf,ga){var gc=ga&&ga.top!=null?Math.max(0,ga.top):gb.scroller.scrollTop;gc=Math.floor(gc-e4(gb));var f8=ga&&ga.bottom!=null?ga.bottom:gc+gb.wrapper.clientHeight;var gd=bF(gf,gc),ge=bF(gf,f8);if(ga&&ga.ensure){var f9=ga.ensure.from.line,gg=ga.ensure.to.line;if(f9=ge){gd=bF(gf,bL(fb(gf,gg))-gb.wrapper.clientHeight);ge=gg}}}return{from:gd,to:Math.max(ge,gd+1)}}function eA(gg){var ge=gg.display,gf=ge.view;if(!ge.alignWidgets&&(!ge.gutters.firstChild||!gg.options.fixedGutter)){return}var gc=dT(ge)-ge.scroller.scrollLeft+gg.doc.scrollLeft;var f8=ge.gutters.offsetWidth,f9=gc+"px";for(var gb=0;gb=gc.viewFrom&&gb.visible.to<=gc.viewTo&&(gc.updateLineNumbers==null||gc.updateLineNumbers>=gc.viewTo)&&gc.renderedView==gc.view&&c9(gh)==0){return false}if(d1(gh)){es(gh);gb.dims=e9(gh)}var ga=gg.first+gg.size;var ge=Math.max(gb.visible.from-gh.options.viewportMargin,gg.first);var gf=Math.min(ga,gb.visible.to+gh.options.viewportMargin);if(gc.viewFromgf&&gc.viewTo-gf<20){gf=Math.min(ga,gc.viewTo)}if(a4){ge=aT(gh.doc,ge);gf=dZ(gh.doc,gf)}var f9=ge!=gc.viewFrom||gf!=gc.viewTo||gc.lastWrapHeight!=gb.wrapperHeight||gc.lastWrapWidth!=gb.wrapperWidth;cP(gh,ge,gf);gc.viewOffset=bL(fb(gh.doc,gc.viewFrom));gh.display.mover.style.top=gc.viewOffset+"px";var f8=c9(gh);if(!f9&&f8==0&&!gb.force&&gc.renderedView==gc.view&&(gc.updateLineNumbers==null||gc.updateLineNumbers>=gc.viewTo)){return false}var gd=dK();if(f8>4){gc.lineDiv.style.display="none"}cm(gh,gc.updateLineNumbers,gb.dims);if(f8>4){gc.lineDiv.style.display=""}gc.renderedView=gc.view;if(gd&&dK()!=gd&&gd.offsetHeight){gd.focus()}dX(gc.cursorDiv);dX(gc.selectionDiv);gc.gutters.style.height=0;if(f9){gc.lastWrapHeight=gb.wrapperHeight;gc.lastWrapWidth=gb.wrapperWidth;eb(gh,400)}gc.updateLineNumbers=null;return true}function cj(f9,gd){var gb=gd.force,f8=gd.viewport;for(var gc=true;;gc=false){if(gc&&f9.options.lineWrapping&&gd.oldDisplayWidth!=di(f9)){gb=true}else{gb=false;if(f8&&f8.top!=null){f8={top:Math.min(f9.doc.height+bH(f9.display)-cT(f9),f8.top)}}gd.visible=b5(f9.display,f9.doc,f8);if(gd.visible.from>=f9.display.viewFrom&&gd.visible.to<=f9.display.viewTo){break}}if(!C(f9,gd)){break}a6(f9);var ga=dw(f9);bB(f9);dv(f9,ga);eU(f9,ga)}ad(f9,"update",f9);if(f9.display.viewFrom!=f9.display.reportedViewFrom||f9.display.viewTo!=f9.display.reportedViewTo){ad(f9,"viewportChange",f9,f9.display.viewFrom,f9.display.viewTo);f9.display.reportedViewFrom=f9.display.viewFrom;f9.display.reportedViewTo=f9.display.viewTo}}function dP(f9,f8){var gb=new aG(f9,f8);if(C(f9,gb)){a6(f9);cj(f9,gb);var ga=dw(f9);bB(f9);dv(f9,ga);eU(f9,ga)}}function dv(f8,f9){f8.display.sizer.style.minHeight=f9.docHeight+"px";var ga=f9.docHeight+f8.display.barHeight;f8.display.heightForcer.style.top=ga+"px";f8.display.gutters.style.height=Math.max(ga+cR(f8),f9.clientHeight)+"px"}function a6(gf){var gd=gf.display;var f9=gd.lineDiv.offsetTop;for(var ga=0;ga0.001||ge<-0.001){fW(gg.line,gh);ca(gg.line);if(gg.rest){for(var f8=0;f8-1){gh=false}aa(gj,gc,gd,gi)}if(gh){dX(gc.lineNumber);gc.lineNumber.appendChild(document.createTextNode(eo(gj.options,gd)))}gk=gc.node.nextSibling}}gd+=gc.size}while(gk){gk=ge(gk)}}function aa(f8,ga,gc,gd){for(var f9=0;f9=0&&ce(gb,f9.to())<=0){return ga}}return -1}};function dU(f8,f9){this.anchor=f8;this.head=f9}dU.prototype={from:function(){return aq(this.anchor,this.head)},to:function(){return bw(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};function cw(f8,gf){var ga=f8[gf];f8.sort(function(gi,gh){return ce(gi.from(),gh.from())});gf=df(f8,ga);for(var gc=1;gc=0){var gd=aq(f9.from(),gg.from()),ge=bw(f9.to(),gg.to());var gb=f9.empty()?gg.from()==gg.head:f9.from()==f9.head;if(gc<=gf){--gf}f8.splice(--gc,2,new dU(gb?ge:gd,gb?gd:ge))}}return new fU(f8,gf)}function eO(f8,f9){return new fU([new dU(f8,f9||f8)],0)}function c3(f8,f9){return Math.max(f8.first,Math.min(f9,f8.first+f8.size-1))}function fG(f9,ga){if(ga.linef8){return X(f8,fb(f9,f8).text.length)}return fp(ga,fb(f9,ga.line).text.length)}function fp(ga,f9){var f8=ga.ch;if(f8==null||f8>f9){return X(ga.line,f9)}else{if(f8<0){return X(ga.line,0)}else{return ga}}}function b8(f9,f8){return f8>=f9.first&&f8=ga.ch:f8.to>ga.ch))){if(ge){aC(f9,"beforeCursorEnter");if(f9.explicitlyCleared){if(!gj.markedSpans){break}else{--gc;continue}}}if(!f9.atomic){continue}var gf=f9.find(gb<0?-1:1);if(ce(gf,ga)==0){gf.ch+=gb;if(gf.ch<0){if(gf.line>gh.first){gf=fG(gh,X(gf.line-1))}else{gf=null}}else{if(gf.ch>gj.text.length){if(gf.line3){gj(gD,gB.top,null,gB.bottom);gD=gb;if(gB.bottomgq.bottom||gC.bottom==gq.bottom&&gC.right>gq.right){gq=gC}if(gD0){ga.blinker=setInterval(function(){ga.cursorDiv.style.visibility=(f9=!f9)?"":"hidden"},f8.options.cursorBlinkRate)}else{if(f8.options.cursorBlinkRate<0){ga.cursorDiv.style.visibility="hidden"}}}function eb(f8,f9){if(f8.doc.mode.startState&&f8.doc.frontier=f8.display.viewTo){return}var ga=+new Date+f8.options.workTime;var gb=b2(gc.mode,dx(f8,gc.frontier));var f9=[];gc.iter(gc.frontier,Math.min(gc.first+gc.size,f8.display.viewTo+500),function(gd){if(gc.frontier>=f8.display.viewFrom){var gg=gd.styles;var gi=fw(f8,gd,gb,true);gd.styles=gi.styles;var gf=gd.styleClasses,gh=gi.classes;if(gh){gd.styleClasses=gh}else{if(gf){gd.styleClasses=null}}var gj=!gg||gg.length!=gd.styles.length||gf!=gh&&(!gf||!gh||gf.bgClass!=gh.bgClass||gf.textClass!=gh.textClass);for(var ge=0;!gj&&gega){eb(f8,f8.options.workDelay);return true}});if(f9.length){cK(f8,function(){for(var gd=0;gdga;--gh){if(gh<=gd.first){return gd.first}var gg=fb(gd,gh-1);if(gg.stateAfter&&(!gb||gh<=gd.frontier)){return gh}var gf=bS(gg.text,null,ge.options.tabSize);if(gc==null||f9>gf){gc=gh-1;f9=gf}}return gc}function dx(f8,ge,f9){var gc=f8.doc,gb=f8.display;if(!gc.mode.startState){return true}var gd=cy(f8,ge,f9),ga=gd>gc.first&&fb(gc,gd-1).stateAfter;if(!ga){ga=bZ(gc.mode)}else{ga=b2(gc.mode,ga)}gc.iter(gd,ge,function(gf){dt(f8,gf.text,ga);var gg=gd==ge-1||gd%5==0||gd>=gb.viewFrom&&gd2){gd.push((gg.bottom+f9.top)/2-ge.top)}}}gd.push(ge.bottom-ge.top)}}function ct(ga,f8,gb){if(ga.line==f8){return{map:ga.measure.map,cache:ga.measure.cache}}for(var f9=0;f9gb){return{map:ga.measure.maps[f9],cache:ga.measure.caches[f9],before:true}}}}function cZ(f8,ga){ga=y(ga);var gc=bM(ga);var f9=f8.display.externalMeasured=new bu(f8.doc,ga,gc);f9.lineN=gc;var gb=f9.built=eN(f8,f9);f9.text=gb.pre;bQ(f8.display.lineMeasure,gb.pre);return f9}function ed(f8,f9,gb,ga){return D(f8,a1(f8,f9),gb,ga)}function e7(f8,ga){if(ga>=f8.display.viewFrom&&ga=f9.lineN&&gagh){gb=gn-gr;gc=gb-1;if(gh>=gn){f8="right"}}}}if(gc!=null){gm=gt[go+2];if(gr==gn&&gd==(gm.insertLeft?"left":"right")){f8=gd}if(gd=="left"&&gc==0){while(go&>[go-2]==gt[go-3]&>[go-1].insertLeft){gm=gt[(go-=3)+2];f8="left"}}if(gd=="right"&&gc==gn-gr){while(go0){f8=gd="right"}var ga;if(gf.options.lineWrapping&&(ga=gm.getClientRects()).length>1){f9=ga[gd=="right"?ga.length-1:0]}else{f9=gm.getBoundingClientRect()}}if(dG&&k<9&&!gc&&(!f9||!f9.left&&!f9.right)){var ge=gm.parentNode.getClientRects()[0];if(ge){f9={left:ge.left,right:ge.left+dz(gf.display),top:ge.top,bottom:ge.bottom}}else{f9=ex}}var gk=f9.top-gp.rect.top,gi=f9.bottom-gp.rect.top;var gs=(gk+gi)/2;var gq=gp.view.measure.heights;for(var go=0;gogl.from){return gc(gn-1)}return gc(gn,gm)}var gd=a(ge),f8=gg.ch;if(!gd){return gc(f8)}var f9=aE(gd,f8);var gb=gi(f8,f9);if(eY!=null){gb.other=gi(f8,eY)}return gb}function dD(f8,gc){var gb=0,gc=fG(f8.doc,gc);if(!f8.options.lineWrapping){gb=dz(f8.display)*gc.ch}var f9=fb(f8.doc,gc.line);var ga=bL(f9)+e4(f8.display);return{left:gb,right:gb,top:ga,bottom:ga+f9.height}}function fS(f8,f9,ga,gc){var gb=X(f8,f9);gb.xRel=gc;if(ga){gb.outside=true}return gb}function fL(gf,gc,gb){var ge=gf.doc;gb+=gf.display.viewOffset;if(gb<0){return fS(ge.first,0,true,-1)}var ga=bF(ge,gb),gg=ge.first+ge.size-1;if(ga>gg){return fS(ge.first+ge.size-1,fb(ge,gg).text.length,true,1)}if(gc<0){gc=0}var f9=fb(ge,ga);for(;;){var gh=cX(gf,f9,ga,gc,gb);var gd=er(f9);var f8=gd&&gd.find(0,true);if(gd&&(gh.ch>f8.from.ch||gh.ch==f8.from.ch&&gh.xRel>0)){ga=bM(f9=f8.to.line)}else{return gh}}}function cX(gi,ga,gl,gk,gj){var gh=gj-bL(ga);var ge=false,gr=2*gi.display.wrapper.clientWidth;var go=a1(gi,ga);function gv(gx){var gy=dQ(gi,X(gl,gx),"line",ga,go);ge=true;if(gh>gy.bottom){return gy.left-gr}else{if(ghf9){return fS(gl,gb,gd,1)}for(;;){if(gn?gb==gs||gb==u(ga,gs,1):gb-gs<=1){var gm=gk1?1:0);return gg}var gf=Math.ceil(gq/2),gw=gs+gf;if(gn){gw=gs;for(var gt=0;gtgk){gb=gw;f9=gc;if(gd=ge){f9+=1000}gq=gf}else{gs=gw;gp=gc;f8=ge;gq-=gf}}}var aF;function aU(ga){if(ga.cachedTextHeight!=null){return ga.cachedTextHeight}if(aF==null){aF=fT("pre");for(var f9=0;f9<49;++f9){aF.appendChild(document.createTextNode("x"));aF.appendChild(fT("br"))}aF.appendChild(document.createTextNode("x"))}bQ(ga.measure,aF);var f8=aF.offsetHeight/50;if(f8>3){ga.cachedTextHeight=f8}dX(ga.measure);return f8||1}function dz(gc){if(gc.cachedCharWidth!=null){return gc.cachedCharWidth}var f8=fT("span","xxxxxxxxxx");var gb=fT("pre",[f8]);bQ(gc.measure,gb);var ga=f8.getBoundingClientRect(),f9=(ga.right-ga.left)/10;if(f9>2){gc.cachedCharWidth=f9}return f9||10}var bo=null;var d4=0;function cG(f8){f8.curOp={cm:f8,viewChanged:false,startHeight:f8.doc.height,forceUpdate:false,updateInput:null,typing:false,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:false,updateMaxLine:false,scrollLeft:null,scrollTop:null,scrollToPos:null,id:++d4};if(bo){bo.ops.push(f8.curOp)}else{f8.curOp.ownsGroup=bo={ops:[f8.curOp],delayedCallbacks:[]}}}function cS(gb){var ga=gb.delayedCallbacks,f9=0;do{for(;f9=f9.viewTo)||f9.maxLineChanged&&f8.options.lineWrapping;ga.update=ga.mustUpdate&&new aG(f8,ga.mustUpdate&&{top:ga.scrollTop,ensure:ga.scrollToPos},ga.forceUpdate)}function ap(f8){f8.updatedDisplay=f8.mustUpdate&&C(f8.cm,f8.update)}function b1(ga){var f8=ga.cm,f9=f8.display;if(ga.updatedDisplay){a6(f8)}ga.barMeasure=dw(f8);if(f9.maxLineChanged&&!f8.options.lineWrapping){ga.adjustWidthTo=ed(f8,f9.maxLine,f9.maxLine.text.length).left+3;f8.display.sizerWidth=ga.adjustWidthTo;ga.barMeasure.scrollWidth=Math.max(f9.scroller.clientWidth,f9.sizer.offsetLeft+ga.adjustWidthTo+cR(f8)+f8.display.barWidth);ga.maxScrollLeft=Math.max(0,f9.sizer.offsetLeft+ga.adjustWidthTo-di(f8))}if(ga.updatedDisplay||ga.selectionChanged){ga.newSelectionNodes=bk(f8)}}function ao(f9){var f8=f9.cm;if(f9.adjustWidthTo!=null){f8.display.sizer.style.minWidth=f9.adjustWidthTo+"px";if(f9.maxScrollLeftgd)){ga.updateLineNumbers=gd}gf.curOp.viewChanged=true;if(gd>=ga.viewTo){if(a4&&aT(gf.doc,gd)ga.viewFrom){es(gf)}else{ga.viewFrom+=gg;ga.viewTo+=gg}}else{if(gd<=ga.viewFrom&&ge>=ga.viewTo){es(gf)}else{if(gd<=ga.viewFrom){var gc=dc(gf,ge,ge+gg,1);if(gc){ga.view=ga.view.slice(gc.index);ga.viewFrom=gc.lineN;ga.viewTo+=gg}else{es(gf)}}else{if(ge>=ga.viewTo){var gc=dc(gf,gd,gd,-1);if(gc){ga.view=ga.view.slice(0,gc.index);ga.viewTo=gc.lineN}else{es(gf)}}else{var gb=dc(gf,gd,gd,-1);var f9=dc(gf,ge,ge+gg,1);if(gb&&f9){ga.view=ga.view.slice(0,gb.index).concat(eR(gf,gb.lineN,f9.lineN)).concat(ga.view.slice(f9.index));ga.viewTo+=gg}else{es(gf)}}}}}}var f8=ga.externalMeasured;if(f8){if(ge=gc.lineN&&ga=ge.viewTo){return}var gb=ge.view[dn(f9,ga)];if(gb.node==null){return}var f8=gb.changes||(gb.changes=[]);if(df(f8,gd)==-1){f8.push(gd)}}function es(f8){f8.display.viewFrom=f8.display.viewTo=f8.doc.first;f8.display.view=[];f8.display.viewOffset=0}function dn(f8,gb){if(gb>=f8.display.viewTo){return null}gb-=f8.display.viewFrom;if(gb<0){return null}var f9=f8.display.view;for(var ga=0;ga0){if(gd==ge.length-1){return null}gf=(f8+ge[gd].size)-ga;gd++}else{gf=f8-ga}ga+=gf;gc+=gf}while(aT(gg.doc,gc)!=gc){if(gd==(f9<0?0:ge.length-1)){return null}gc+=f9*ge[gd-(f9<0?1:0)].size;gd+=f9}return{index:gd,lineN:gc}}function cP(f8,gc,gb){var ga=f8.display,f9=ga.view;if(f9.length==0||gc>=ga.viewTo||gb<=ga.viewFrom){ga.view=eR(f8,gc,gb);ga.viewFrom=gc}else{if(ga.viewFrom>gc){ga.view=eR(f8,gc,ga.viewFrom).concat(ga.view)}else{if(ga.viewFromgb){ga.view=ga.view.slice(0,dn(f8,gb))}}}ga.viewTo=gb}function c9(f8){var f9=f8.display.view,gc=0;for(var gb=0;gb=9&&gc.display.inputHasSelection===gf||b6&&/[\uf700-\uf7ff]/.test(gf)){fl(gc);return false}var gn=!gc.curOp;if(gn){cG(gc)}gc.display.shift=false;if(gf.charCodeAt(0)==8203&&gr.sel==gc.display.selForContextMenu&&!gg){gg="\u200b"}var gm=0,gj=Math.min(gg.length,gf.length);while(gm1){if(bj&&bj.join("\n")==f9){gq=gr.sel.ranges.length%bj.length==0&&bR(bj,aX)}else{if(gh.length==gr.sel.ranges.length){gq=bR(gh,function(gs){return[gs]})}}}for(var go=gr.sel.ranges.length-1;go>=0;go--){var gi=gr.sel.ranges[go];var gk=gi.from(),f8=gi.to();if(gm-1){ac(gc,ga.line,"smart");break}}}else{if(ge.electricInput){if(ge.electricInput.test(fb(gr,ga.line).text.slice(0,ga.ch))){ac(gc,ga.line,"smart")}}}}}fD(gc);gc.curOp.updateInput=gb;gc.curOp.typing=true;if(gf.length>1000||gf.indexOf("\n")>-1){gd.value=gc.display.prevInput=""}else{gc.display.prevInput=gf}if(gn){al(gc)}gc.state.pasteIncoming=gc.state.cutIncoming=false;return true}function fl(f8,gc){if(f8.display.contextMenuPending){return}var f9,gb,ge=f8.doc;if(f8.somethingSelected()){f8.display.prevInput="";var ga=ge.sel.primary();f9=c8&&(ga.to().line-ga.from().line>100||(gb=f8.getSelection()).length>1000);var gd=f9?"-":gb||f8.getSelection();f8.display.input.value=gd;if(f8.state.focused){dH(f8.display.input)}if(dG&&k>=9){f8.display.inputHasSelection=gd}}else{if(!gc){f8.display.prevInput=f8.display.input.value="";if(dG&&k>=9){f8.display.inputHasSelection=null}}}f8.display.inaccurateSelection=f9}function ev(f8){if(f8.options.readOnly!="nocursor"&&(!ec||dK()!=f8.display.input)){f8.display.input.focus()}}function r(f8){if(!f8.state.focused){ev(f8);cA(f8)}}function ai(f8){return f8.options.readOnly||f8.doc.cantEdit}function fM(f8){var ga=f8.display;bW(ga.scroller,"mousedown",c0(f8,ep));if(dG&&k<11){bW(ga.scroller,"dblclick",c0(f8,function(gd){if(aO(f8,gd)){return}var ge=cn(f8,gd);if(!ge||l(f8,gd)||a7(f8.display,gd)){return}cE(gd);var gc=f8.findWordAt(ge);fQ(f8.doc,gc.anchor,gc.head)}))}else{bW(ga.scroller,"dblclick",function(gc){aO(f8,gc)||cE(gc)})}bW(ga.lineSpace,"selectstart",function(gc){if(!a7(ga,gc)){cE(gc)}});if(!f0){bW(ga.scroller,"contextmenu",function(gc){ax(f8,gc)})}bW(ga.scroller,"scroll",function(){if(ga.scroller.clientHeight){O(f8,ga.scroller.scrollTop);bD(f8,ga.scroller.scrollLeft,true);aC(f8,"scroll",f8)}});bW(ga.scroller,"mousewheel",function(gc){b(f8,gc)});bW(ga.scroller,"DOMMouseScroll",function(gc){b(f8,gc)});bW(ga.wrapper,"scroll",function(){ga.wrapper.scrollTop=ga.wrapper.scrollLeft=0});bW(ga.input,"keyup",function(gc){bf.call(f8,gc)});bW(ga.input,"input",function(){if(dG&&k>=9&&f8.display.inputHasSelection){f8.display.inputHasSelection=null}cg(f8)});bW(ga.input,"keydown",c0(f8,p));bW(ga.input,"keypress",c0(f8,cx));bW(ga.input,"focus",cv(cA,f8));bW(ga.input,"blur",cv(aS,f8));function f9(gc){if(!aO(f8,gc)){en(gc)}}if(f8.options.dragDrop){bW(ga.scroller,"dragstart",function(gc){R(f8,gc)});bW(ga.scroller,"dragenter",f9);bW(ga.scroller,"dragover",f9);bW(ga.scroller,"drop",c0(f8,bh))}bW(ga.scroller,"paste",function(gc){if(a7(ga,gc)){return}f8.state.pasteIncoming=true;ev(f8);B(f8)});bW(ga.input,"paste",function(){if(cY&&!f8.state.fakedLastChar&&!(new Date-f8.state.lastMiddleDown<200)){var gd=ga.input.selectionStart,gc=ga.input.selectionEnd;ga.input.value+="$";ga.input.selectionEnd=gc;ga.input.selectionStart=gd;f8.state.fakedLastChar=true}f8.state.pasteIncoming=true;B(f8)});function gb(gg){if(f8.somethingSelected()){bj=f8.getSelections();if(ga.inaccurateSelection){ga.prevInput="";ga.inaccurateSelection=false;ga.input.value=bj.join("\n");dH(ga.input)}}else{var gh=[],gd=[];for(var ge=0;gega-400&&ce(db.pos,gf)==0){gc="triple"}else{if(dk&&dk.time>ga-400&&ce(dk.pos,gf)==0){gc="double";db={time:ga,pos:gf}}else{gc="single";dk={time:ga,pos:gf}}}var gd=f9.doc.sel,f8=b6?ge.metaKey:ge.ctrlKey,gb;if(f9.options.dragDrop&&eH&&!ai(f9)&&gc=="single"&&(gb=gd.contains(gf))>-1&&!gd.ranges[gb].empty()){a0(f9,ge,gf,f8)}else{m(f9,ge,gf,gc,f8)}}function a0(ga,gc,gd,f9){var gb=ga.display;var f8=c0(ga,function(ge){if(cY){gb.scroller.draggable=false}ga.state.draggingText=false;d9(document,"mouseup",f8);d9(gb.scroller,"drop",f8);if(Math.abs(gc.clientX-ge.clientX)+Math.abs(gc.clientY-ge.clientY)<10){cE(ge);if(!f9){fQ(ga.doc,gd)}ev(ga);if(dG&&k==9){setTimeout(function(){document.body.focus();ev(ga)},20)}}});if(cY){gb.scroller.draggable=true}ga.state.draggingText=f8;if(gb.scroller.dragDrop){gb.scroller.dragDrop()}bW(document,"mouseup",f8);bW(gb.scroller,"drop",f8)}function m(gc,gq,gb,f9,ge){var gn=gc.display,gs=gc.doc;cE(gq);var ga,gr,gd=gs.sel,f8=gd.ranges;if(ge&&!gq.shiftKey){gr=gs.sel.contains(gb);if(gr>-1){ga=f8[gr]}else{ga=new dU(gb,gb)}}else{ga=gs.sel.primary()}if(gq.altKey){f9="rect";if(!ge){ga=new dU(gb,gb)}gb=cn(gc,gq,true,true);gr=-1}else{if(f9=="double"){var go=gc.findWordAt(gb);if(gc.display.shift||gs.extend){ga=fs(gs,ga,go.anchor,go.head)}else{ga=go}}else{if(f9=="triple"){var gh=new dU(X(gb.line,0),fG(gs,X(gb.line+1,0)));if(gc.display.shift||gs.extend){ga=fs(gs,ga,gh.anchor,gh.head)}else{ga=gh}}else{ga=fs(gs,ga,gb)}}}if(!ge){gr=0;bT(gs,new fU([ga],0),N);gd=gs.sel}else{if(gr==-1){gr=f8.length;bT(gs,cw(f8.concat([ga]),gr),{scroll:false,origin:"*mouse"})}else{if(f8.length>1&&f8[gr].empty()&&f9=="single"){bT(gs,cw(f8.slice(0,gr).concat(f8.slice(gr+1)),0));gd=gs.sel}else{e(gs,gr,ga,N)}}}var gm=gb;function gl(gD){if(ce(gm,gD)==0){return}gm=gD;if(f9=="rect"){var gu=[],gA=gc.options.tabSize;var gt=bS(fb(gs,gb.line).text,gb.ch,gA);var gG=bS(fb(gs,gD.line).text,gD.ch,gA);var gv=Math.min(gt,gG),gE=Math.max(gt,gG);for(var gH=Math.min(gb.line,gD.line),gx=Math.min(gc.lastLine(),Math.max(gb.line,gD.line));gH<=gx;gH++){var gF=fb(gs,gH).text,gw=em(gF,gv,gA);if(gv==gE){gu.push(new dU(X(gH,gw),X(gH,gw)))}else{if(gF.length>gw){gu.push(new dU(X(gH,gw),X(gH,em(gF,gE,gA))))}}}if(!gu.length){gu.push(new dU(gb,gb))}bT(gs,cw(gd.ranges.slice(0,gr).concat(gu),gr),{origin:"*mouse",scroll:false});gc.scrollIntoView(gD)}else{var gB=ga;var gy=gB.anchor,gC=gD;if(f9!="single"){if(f9=="double"){var gz=gc.findWordAt(gD)}else{var gz=new dU(X(gD.line,0),fG(gs,X(gD.line+1,0)))}if(ce(gz.anchor,gy)>0){gC=gz.head;gy=aq(gB.from(),gz.anchor)}else{gC=gz.anchor;gy=bw(gB.to(),gz.head)}}var gu=gd.ranges.slice(0);gu[gr]=new dU(fG(gs,gy),gC);bT(gs,cw(gu,gr),N)}}var gj=gn.wrapper.getBoundingClientRect();var gf=0;function gp(gv){var gt=++gf;var gx=cn(gc,gv,true,f9=="rect");if(!gx){return}if(ce(gx,gm)!=0){r(gc);gl(gx);var gw=b5(gn,gs);if(gx.line>=gw.to||gx.linegj.bottom?20:0;if(gu){setTimeout(c0(gc,function(){if(gf!=gt){return}gn.scroller.scrollTop+=gu;gp(gv)}),50)}}}function gi(gt){gf=Infinity;cE(gt);ev(gc);d9(document,"mousemove",gk);d9(document,"mouseup",gg);gs.history.lastSelOrigin=null}var gk=c0(gc,function(gt){if(!fK(gt)){gi(gt)}else{gp(gt)}});var gg=c0(gc,gi);bW(document,"mousemove",gk);bW(document,"mouseup",gg)}function f6(gj,gf,gh,gi,gb){try{var f9=gf.clientX,f8=gf.clientY}catch(gf){return false}if(f9>=Math.floor(gj.display.gutters.getBoundingClientRect().right)){return false}if(gi){cE(gf)}var gg=gj.display;var ge=gg.lineDiv.getBoundingClientRect();if(f8>ge.bottom||!fe(gj,gh)){return bK(gf)}f8-=ge.top-gg.viewOffset;for(var gc=0;gc=f9){var gk=bF(gj.doc,f8);var ga=gj.options.gutters[gc];gb(gj,gh,gj,gk,ga,gf);return bK(gf)}}}function l(f8,f9){return f6(f8,f9,"gutterClick",true,ad)}var af=0;function bh(ge){var gg=this;if(aO(gg,ge)||a7(gg.display,ge)){return}cE(ge);if(dG){af=+new Date}var gf=cn(gg,ge,true),f8=ge.dataTransfer.files;if(!gf||ai(gg)){return}if(f8&&f8.length&&window.FileReader&&window.File){var ga=f8.length,gh=Array(ga),f9=0;var gc=function(gk,gj){var gi=new FileReader;gi.onload=c0(gg,function(){gh[gj]=gi.result;if(++f9==ga){gf=fG(gg.doc,gf);var gl={from:gf,to:gf,text:aX(gh.join("\n")),origin:"paste"};bd(gg.doc,gl);e3(gg.doc,eO(gf,cV(gl)))}});gi.readAsText(gk)};for(var gd=0;gd-1){gg.state.draggingText(ge);setTimeout(cv(ev,gg),20);return}try{var gh=ge.dataTransfer.getData("Text");if(gh){if(gg.state.draggingText&&!(b6?ge.metaKey:ge.ctrlKey)){var gb=gg.listSelections()}el(gg.doc,eO(gf,gf));if(gb){for(var gd=0;gdgf.clientWidth||gj&&gf.scrollHeight>gf.clientHeight)){return}if(gj&&b6&&cY){outer:for(var gi=ga.target,ge=gc.view;gi!=gf;gi=gi.parentNode){for(var f9=0;f9=9){f8.display.inputHasSelection=null}B(f8)}function cA(f8){if(f8.options.readOnly=="nocursor"){return}if(!f8.state.focused){aC(f8,"focus",f8);f8.state.focused=true;fx(f8.display.wrapper,"CodeMirror-focused");if(!f8.curOp&&f8.display.selForContextMenu!=f8.doc.sel){fl(f8);if(cY){setTimeout(cv(fl,f8,true),0)}}}bl(f8);o(f8)}function aS(f8){if(f8.state.focused){aC(f8,"blur",f8);f8.state.focused=false;f(f8.display.wrapper,"CodeMirror-focused")}clearInterval(f8.display.blinker);setTimeout(function(){if(!f8.state.focused){f8.display.shift=false}},150)}function ax(gh,gc){if(aO(gh,gc,"contextmenu")){return}var ge=gh.display;if(a7(ge,gc)||de(gh,gc)){return}var gg=cn(gh,gc),f8=ge.scroller.scrollTop;if(!gg||dY){return}var gb=gh.options.resetSelectionOnContextMenu;if(gb&&gh.doc.sel.contains(gg)==-1){c0(gh,bT)(gh.doc,eO(gg),Z)}var gd=ge.input.style.cssText;ge.inputDiv.style.position="absolute";ge.input.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(gc.clientY-5)+"px; left: "+(gc.clientX-5)+"px; z-index: 1000; background: "+(dG?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";if(cY){var gi=window.scrollY}ev(gh);if(cY){window.scrollTo(null,gi)}fl(gh);if(!gh.somethingSelected()){ge.input.value=ge.prevInput=" "}ge.contextMenuPending=true;ge.selForContextMenu=gh.doc.sel;clearTimeout(ge.detectingSelectAll);function ga(){if(ge.input.selectionStart!=null){var gj=gh.somethingSelected();var gk=ge.input.value="\u200b"+(gj?ge.input.value:"");ge.prevInput=gj?"":"\u200b";ge.input.selectionStart=1;ge.input.selectionEnd=gk.length;ge.selForContextMenu=gh.doc.sel}}function gf(){ge.contextMenuPending=false;ge.inputDiv.style.position="relative";ge.input.style.cssText=gd;if(dG&&k<9){ge.scrollbars.setScrollTop(ge.scroller.scrollTop=f8)}bl(gh);if(ge.input.selectionStart!=null){if(!dG||(dG&&k<9)){ga()}var gj=0,gk=function(){if(ge.selForContextMenu==gh.doc.sel&&ge.input.selectionStart==0){c0(gh,ez.selectAll)(gh)}else{if(gj++<10){ge.detectingSelectAll=setTimeout(gk,500)}else{fl(gh)}}};ge.detectingSelectAll=setTimeout(gk,200)}}if(dG&&k>=9){ga()}if(f0){en(gc);var f9=function(){d9(window,"mouseup",f9);setTimeout(gf,20)};bW(window,"mouseup",f9)}else{setTimeout(gf,50)}}function de(f8,f9){if(!fe(f8,"gutterContextMenu")){return false}return f6(f8,f9,"gutterContextMenu",false,aC)}var cV=I.changeEnd=function(f8){if(!f8.text){return f8.to}return X(f8.from.line+f8.text.length-1,fE(f8.text).length+(f8.text.length==1?f8.from.ch:0))};function bY(gb,ga){if(ce(gb,ga.from)<0){return gb}if(ce(gb,ga.to)<=0){return cV(ga)}var f8=gb.line+ga.text.length-(ga.to.line-ga.from.line)-1,f9=gb.ch;if(gb.line==ga.to.line){f9+=cV(ga).ch-ga.to.ch}return X(f8,f9)}function fg(gb,gc){var f9=[];for(var ga=0;ga=0;--f8){L(gb,{from:f9[f8].from,to:f9[f8].to,text:f8?[""]:gc.text})}}else{L(gb,gc)}}function L(ga,gb){if(gb.text.length==1&&gb.text[0]==""&&ce(gb.from,gb.to)==0){return}var f9=fg(ga,gb);fJ(ga,gb,f9,ga.cm?ga.cm.curOp.id:NaN);ea(ga,gb,f9,eg(ga,gb));var f8=[];d3(ga,function(gd,gc){if(!gc&&df(f8,gd.history)==-1){dA(gd.history,gb);f8.push(gd.history)}ea(gd,gb,null,eg(gd,gb))})}function b7(gj,gh,gl){if(gj.cm&&gj.cm.state.suppressEdits){return}var gg=gj.history,ga,gc=gj.sel;var f8=gh=="undo"?gg.done:gg.undone,gk=gh=="undo"?gg.undone:gg.done;for(var gd=0;gd=0;--gd){var gi=ga.changes[gd];gi.origin=gh;if(gb&&!dN(gj,gi,false)){f8.length=0;return}gf.push(dr(gj,gi));var f9=gd?fg(gj,gi):fE(f8);ea(gj,gi,f9,d5(gj,gi));if(!gd&&gj.cm){gj.cm.scrollIntoView({from:gi.from,to:cV(gi)})}var ge=[];d3(gj,function(gn,gm){if(!gm&&df(ge,gn.history)==-1){dA(gn.history,gi);ge.push(gn.history)}ea(gn,gi,null,d5(gn,gi))})}}function fj(f9,gb){if(gb==0){return}f9.first+=gb;f9.sel=new fU(bR(f9.sel.ranges,function(gc){return new dU(X(gc.anchor.line+gb,gc.anchor.ch),X(gc.head.line+gb,gc.head.ch))}),f9.sel.primIndex);if(f9.cm){ag(f9.cm,f9.first,f9.first-gb,gb);for(var ga=f9.cm.display,f8=ga.viewFrom;f8gc.lastLine()){return}if(gd.from.linega){gd={from:gd.from,to:X(ga,fb(gc,ga).text.length),text:[gd.text[0]],origin:gd.origin}}gd.removed=fV(gc,gd.from,gd.to);if(!gb){gb=fg(gc,gd)}if(gc.cm){aH(gc.cm,gd,f9)}else{fv(gc,gd,f9)}el(gc,gb,Z)}function aH(gj,gf,gd){var gi=gj.doc,ge=gj.display,gg=gf.from,gh=gf.to;var f8=false,gc=gg.line;if(!gj.options.lineWrapping){gc=bM(y(fb(gi,gg.line)));gi.iter(gc,gh.line+1,function(gl){if(gl==ge.maxLine){f8=true;return true}})}if(gi.sel.contains(gf.from,gf.to)>-1){W(gj)}fv(gi,gf,gd,bb(gj));if(!gj.options.lineWrapping){gi.iter(gc,gg.line+gf.text.length,function(gm){var gl=ej(gm);if(gl>ge.maxLineLength){ge.maxLine=gm;ge.maxLineLength=gl;ge.maxLineChanged=true;f8=false}});if(f8){gj.curOp.updateMaxLine=true}}gi.frontier=Math.min(gi.frontier,gg.line);eb(gj,400);var gk=gf.text.length-(gh.line-gg.line)-1;if(gf.full){ag(gj)}else{if(gg.line==gh.line&&gf.text.length==1&&!dO(gj.doc,gf)){S(gj,gg.line,"text")}else{ag(gj,gg.line,gh.line+1,gk)}}var ga=fe(gj,"changes"),gb=fe(gj,"change");if(gb||ga){var f9={from:gg,to:gh,text:gf.text,removed:gf.removed,origin:gf.origin};if(gb){ad(gj,"change",gj,f9)}if(ga){(gj.curOp.changeObjs||(gj.curOp.changeObjs=[])).push(f9)}}gj.display.selForContextMenu=null}function aY(gb,ga,gd,gc,f8){if(!gc){gc=gd}if(ce(gc,gd)<0){var f9=gc;gc=gd;gd=f9}if(typeof ga=="string"){ga=aX(ga)}bd(gb,{from:gd,to:gc,text:ga,origin:f8})}function d2(f9,gc){if(aO(f9,"scrollCursorIntoView")){return}var gd=f9.display,ga=gd.sizer.getBoundingClientRect(),f8=null;if(gc.top+ga.top<0){f8=true}else{if(gc.bottom+ga.top>(window.innerHeight||document.documentElement.clientHeight)){f8=false}}if(f8!=null&&!fr){var gb=fT("div","\u200b",null,"position: absolute; top: "+(gc.top-gd.viewOffset-e4(f9.display))+"px; height: "+(gc.bottom-gc.top+cR(f9)+gd.barHeight)+"px; left: "+gc.left+"px; width: 2px;");f9.display.lineSpace.appendChild(gb);gb.scrollIntoView(f8);f9.display.lineSpace.removeChild(gb)}}function E(gi,gg,gc,gb){if(gb==null){gb=0}for(var gd=0;gd<5;gd++){var ge=false,gh=dQ(gi,gg);var f8=!gc||gc==gg?gh:dQ(gi,gc);var ga=H(gi,Math.min(gh.left,f8.left),Math.min(gh.top,f8.top)-gb,Math.max(gh.left,f8.left),Math.max(gh.bottom,f8.bottom)+gb);var gf=gi.doc.scrollTop,f9=gi.doc.scrollLeft;if(ga.scrollTop!=null){O(gi,ga.scrollTop);if(Math.abs(gi.doc.scrollTop-gf)>1){ge=true}}if(ga.scrollLeft!=null){bD(gi,ga.scrollLeft);if(Math.abs(gi.doc.scrollLeft-f9)>1){ge=true}}if(!ge){break}}return gh}function F(f8,ga,gc,f9,gb){var gd=H(f8,ga,gc,f9,gb);if(gd.scrollTop!=null){O(f8,gd.scrollTop)}if(gd.scrollLeft!=null){bD(f8,gd.scrollLeft)}}function H(gk,gb,gj,f9,gi){var gg=gk.display,ge=aU(gk.display);if(gj<0){gj=0}var gc=gk.curOp&&gk.curOp.scrollTop!=null?gk.curOp.scrollTop:gg.scroller.scrollTop;var gm=cT(gk),go={};if(gi-gj>gm){gi=gj+gm}var ga=gk.doc.height+bH(gg);var f8=gjga-ge;if(gjgc+gm){var gh=Math.min(gj,(gf?ga:gi)-gm);if(gh!=gc){go.scrollTop=gh}}}var gn=gk.curOp&&gk.curOp.scrollLeft!=null?gk.curOp.scrollLeft:gg.scroller.scrollLeft;var gl=di(gk)-(gk.options.fixedGutter?gg.gutters.offsetWidth:0);var gd=f9-gb>gl;if(gd){f9=gb+gl}if(gb<10){go.scrollLeft=0}else{if(gbgl+gn-3){go.scrollLeft=f9+(gd?0:10)-gl}}}return go}function cJ(f8,ga,f9){if(ga!=null||f9!=null){fz(f8)}if(ga!=null){f8.curOp.scrollLeft=(f8.curOp.scrollLeft==null?f8.doc.scrollLeft:f8.curOp.scrollLeft)+ga}if(f9!=null){f8.curOp.scrollTop=(f8.curOp.scrollTop==null?f8.doc.scrollTop:f8.curOp.scrollTop)+f9}}function fD(f8){fz(f8);var f9=f8.getCursor(),gb=f9,ga=f9;if(!f8.options.lineWrapping){gb=f9.ch?X(f9.line,f9.ch-1):f9;ga=X(f9.line,f9.ch+1)}f8.curOp.scrollToPos={from:gb,to:ga,margin:f8.options.cursorScrollMargin,isCursor:true}}function fz(f8){var ga=f8.curOp.scrollToPos;if(ga){f8.curOp.scrollToPos=null;var gc=dD(f8,ga.from),gb=dD(f8,ga.to);var f9=H(f8,Math.min(gc.left,gb.left),Math.min(gc.top,gb.top)-ga.margin,Math.max(gc.right,gb.right),Math.max(gc.bottom,gb.bottom)+ga.margin);f8.scrollTo(f9.scrollLeft,f9.scrollTop)}}function ac(gl,gb,gk,ga){var gj=gl.doc,f9;if(gk==null){gk="add"}if(gk=="smart"){if(!gj.mode.indent){gk="prev"}else{f9=dx(gl,gb)}}var gf=gl.options.tabSize;var gm=fb(gj,gb),ge=bS(gm.text,null,gf);if(gm.stateAfter){gm.stateAfter=null}var f8=gm.text.match(/^\s*/)[0],gh;if(!ga&&!/\S/.test(gm.text)){gh=0;gk="not"}else{if(gk=="smart"){gh=gj.mode.indent(f9,gm.text.slice(f8.length),gm.text);if(gh==b9||gh>150){if(!ga){return}gk="prev"}}}if(gk=="prev"){if(gb>gj.first){gh=bS(fb(gj,gb-1).text,null,gf)}else{gh=0}}else{if(gk=="add"){gh=ge+gl.options.indentUnit}else{if(gk=="subtract"){gh=ge-gl.options.indentUnit}else{if(typeof gk=="number"){gh=ge+gk}}}}gh=Math.max(0,gh);var gi="",gg=0;if(gl.options.indentWithTabs){for(var gc=Math.floor(gh/gf);gc;--gc){gg+=gf;gi+="\t"}}if(gg=0;gf--){aY(f8.doc,"",gc[gf].from,gc[gf].to,"+delete")}fD(f8)})}function bv(gq,gc,gk,gj,ge){var gh=gc.line,gi=gc.ch,gp=gk;var f9=fb(gq,gh);var gn=true;function go(){var gr=gh+gk;if(gr=gq.first+gq.size){return(gn=false)}gh=gr;return f9=fb(gq,gr)}function gm(gs){var gr=(ge?u:ah)(f9,gi,gk,true);if(gr==null){if(!gs&&go()){if(ge){gi=(gk<0?cQ:cD)(f9)}else{gi=gk<0?f9.text.length:0}}else{return(gn=false)}}else{gi=gr}return true}if(gj=="char"){gm()}else{if(gj=="column"){gm(true)}else{if(gj=="word"||gj=="group"){var gl=null,gf=gj=="group";var f8=gq.cm&&gq.cm.getHelper(gc,"wordChars");for(var gd=true;;gd=false){if(gk<0&&!gm(!gd)){break}var ga=f9.text.charAt(gi)||"\n";var gb=cz(ga,f8)?"w":gf&&ga=="\n"?"n":!gf||/\s/.test(ga)?null:"p";if(gf&&!gd&&!gb){gb="s"}if(gl&&gl!=gb){if(gk<0){gk=1;gm()}break}if(gb){gl=gb}if(gk>0&&!gm(!gd)){break}}}}}var gg=bU(gq,X(gh,gi),gp,true);if(!gn){gg.hitSide=true}return gg}function bp(gg,gb,f8,gf){var ge=gg.doc,gd=gb.left,gc;if(gf=="page"){var ga=Math.min(gg.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight);gc=gb.top+f8*(ga-(f8<0?1.5:0.5)*aU(gg.display))}else{if(gf=="line"){gc=f8>0?gb.bottom+3:gb.top-3}}for(;;){var f9=fL(gg,gd,gc);if(!f9.outside){break}if(f8<0?gc<=0:gc>=ge.height){f9.hitSide=true;break}gc+=f8*5}return f9}I.prototype={constructor:I,focus:function(){window.focus();ev(this);B(this)},setOption:function(ga,gb){var f9=this.options,f8=f9[ga];if(f9[ga]==gb&&ga!="mode"){return}f9[ga]=gb;if(bc.hasOwnProperty(ga)){c0(this,bc[ga])(this,gb,f8)}},getOption:function(f8){return this.options[f8]},getDoc:function(){return this.doc},addKeyMap:function(f9,f8){this.state.keyMaps[f8?"push":"unshift"](fR(f9))},removeKeyMap:function(f9){var ga=this.state.keyMaps;for(var f8=0;f80){e(this.doc,gd,new dU(gf,ga[gd].to()),Z)}}else{if(ge.head.line>gb){ac(this,ge.head.line,gh,true);gb=ge.head.line;if(gd==this.doc.sel.primIndex){fD(this)}}}}}),getTokenAt:function(f9,f8){return cq(this,f9,f8)},getLineTokens:function(f9,f8){return cq(this,X(f9),f8,true)},getTokenTypeAt:function(gf){gf=fG(this.doc,gf);var gb=c4(this,fb(this.doc,gf.line));var gd=0,ge=(gb.length-1)/2,ga=gf.ch;var f9;if(ga==0){f9=gb[2]}else{for(;;){var f8=(gd+ge)>>1;if((f8?gb[f8*2-1]:0)>=ga){ge=f8}else{if(gb[f8*2+1]gb){f9=gb;f8=true}}var ga=fb(this.doc,f9);return eM(this,ga,{top:0,left:0},gc||"page").top+(f8?this.doc.height-bL(ga):0)},defaultTextHeight:function(){return aU(this.display)},defaultCharWidth:function(){return dz(this.display)},setGutterMarker:c6(function(f8,f9,ga){return eu(this.doc,f8,"gutter",function(gb){var gc=gb.gutterMarkers||(gb.gutterMarkers={});gc[f9]=ga;if(!ga&&eQ(gc)){gb.gutterMarkers=null}return true})}),clearGutter:c6(function(ga){var f8=this,gb=f8.doc,f9=gb.first;gb.iter(function(gc){if(gc.gutterMarkers&&gc.gutterMarkers[ga]){gc.gutterMarkers[ga]=null;S(f8,f9,"gutter");if(eQ(gc.gutterMarkers)){gc.gutterMarkers=null}}++f9})}),addLineWidget:c6(function(ga,f9,f8){return bG(this,ga,f9,f8)}),removeLineWidget:function(f8){f8.clear()},lineInfo:function(f8){if(typeof f8=="number"){if(!b8(this.doc,f8)){return null}var f9=f8;f8=fb(this.doc,f8);if(!f8){return null}}else{var f9=bM(f8);if(f9==null){return null}}return{line:f9,handle:f8,text:f8.text,gutterMarkers:f8.gutterMarkers,textClass:f8.textClass,bgClass:f8.bgClass,wrapClass:f8.wrapClass,widgets:f8.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(gd,ga,gf,gb,gh){var gc=this.display;gd=dQ(this,fG(this.doc,gd));var ge=gd.bottom,f9=gd.left;ga.style.position="absolute";ga.setAttribute("cm-ignore-events","true");gc.sizer.appendChild(ga);if(gb=="over"){ge=gd.top}else{if(gb=="above"||gb=="near"){var f8=Math.max(gc.wrapper.clientHeight,this.doc.height),gg=Math.max(gc.sizer.clientWidth,gc.lineSpace.clientWidth);if((gb=="above"||gd.bottom+ga.offsetHeight>f8)&&gd.top>ga.offsetHeight){ge=gd.top-ga.offsetHeight}else{if(gd.bottom+ga.offsetHeight<=f8){ge=gd.bottom}}if(f9+ga.offsetWidth>gg){f9=gg-ga.offsetWidth}}}ga.style.top=ge+"px";ga.style.left=ga.style.right="";if(gh=="right"){f9=gc.sizer.clientWidth-ga.offsetWidth;ga.style.right="0px"}else{if(gh=="left"){f9=0}else{if(gh=="middle"){f9=(gc.sizer.clientWidth-ga.offsetWidth)/2}}ga.style.left=f9+"px"}if(gf){F(this,f9,ge,f9+ga.offsetWidth,ge+ga.offsetHeight)}},triggerOnKeyDown:c6(p),triggerOnKeyPress:c6(cx),triggerOnKeyUp:bf,execCommand:function(f8){if(ez.hasOwnProperty(f8)){return ez[f8](this)}},findPosH:function(ge,gb,gc,f9){var f8=1;if(gb<0){f8=-1;gb=-gb}for(var ga=0,gd=fG(this.doc,ge);ga0&&f8(gb.charAt(ge-1))){--ge}while(ga0.5){Y(this)}aC(this,"refresh",this)}),swapDoc:c6(function(f9){var f8=this.doc;f8.cm=null;d7(this,f9);aj(this);fl(this);this.scrollTo(f9.scrollLeft,f9.scrollTop);this.curOp.forceScroll=true;ad(this,"swapDoc",this,f8);return f8}),getInputField:function(){return this.display.input},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};bx(I);var eZ=I.defaults={};var bc=I.optionHandlers={};function s(f8,gb,ga,f9){I.defaults[f8]=gb;if(ga){bc[f8]=f9?function(gc,ge,gd){if(gd!=cb){ga(gc,ge,gd)}}:ga}}var cb=I.Init={toString:function(){return"CodeMirror.Init"}};s("value","",function(f8,f9){f8.setValue(f9)},true);s("mode",null,function(f8,f9){f8.doc.modeOption=f9;bq(f8)},true);s("indentUnit",2,bq,true);s("indentWithTabs",false);s("smartIndent",true);s("tabSize",4,function(f8){eh(f8);aj(f8);ag(f8)},true);s("specialChars",/[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(f8,f9){f8.options.specialChars=new RegExp(f9.source+(f9.test("\t")?"":"|\t"),"g");f8.refresh()},true);s("specialCharPlaceholder",e8,function(f8){f8.refresh()},true);s("electricChars",true);s("rtlMoveVisually",!aM);s("wholeLineUpdateBefore",true);s("theme","default",function(f8){cM(f8);ds(f8)},true);s("keyMap","default",function(f8,gc,f9){var ga=fR(gc);var gb=f9!=I.Init&&fR(f9);if(gb&&gb.detach){gb.detach(f8,ga)}if(ga.attach){ga.attach(f8,gb||null)}});s("extraKeys",null);s("lineWrapping",false,eC,true);s("gutters",[],function(f8){cd(f8.options);ds(f8)},true);s("fixedGutter",true,function(f8,f9){f8.display.gutters.style.left=f9?dT(f8.display)+"px":"0";f8.refresh()},true);s("coverGutterNextToScrollbar",false,function(f8){eU(f8)},true);s("scrollbarStyle","native",function(f8){aB(f8);eU(f8);f8.display.scrollbars.setScrollTop(f8.doc.scrollTop);f8.display.scrollbars.setScrollLeft(f8.doc.scrollLeft)},true);s("lineNumbers",false,function(f8){cd(f8.options);ds(f8)},true);s("firstLineNumber",1,ds,true);s("lineNumberFormatter",function(f8){return f8},ds,true);s("showCursorWhenSelecting",false,bB,true);s("resetSelectionOnContextMenu",true);s("readOnly",false,function(f8,f9){if(f9=="nocursor"){aS(f8);f8.display.input.blur();f8.display.disabled=true}else{f8.display.disabled=false;if(!f9){fl(f8)}}});s("disableInput",false,function(f8,f9){if(!f9){fl(f8)}},true);s("dragDrop",true);s("cursorBlinkRate",530);s("cursorScrollMargin",0);s("cursorHeight",1,bB,true);s("singleCursorHeightPerLine",true,bB,true);s("workTime",100);s("workDelay",100);s("flattenSpans",true,eh,true);s("addModeClass",false,eh,true);s("pollInterval",100);s("undoDepth",200,function(f8,f9){f8.doc.history.undoDepth=f9});s("historyEventDelay",1250);s("viewportMargin",10,function(f8){f8.refresh()},true);s("maxHighlightLength",10000,eh,true);s("moveInputWithCursor",true,function(f8,f9){if(!f9){f8.display.inputDiv.style.top=f8.display.inputDiv.style.left=0}});s("tabindex",null,function(f8,f9){f8.display.input.tabIndex=f9||""});s("autofocus",null);var dp=I.modes={},aP=I.mimeModes={};I.defineMode=function(f8,f9){if(!I.defaults.mode&&f8!="null"){I.defaults.mode=f8}if(arguments.length>2){f9.dependencies=Array.prototype.slice.call(arguments,2)}dp[f8]=f9};I.defineMIME=function(f9,f8){aP[f9]=f8};I.resolveMode=function(f8){if(typeof f8=="string"&&aP.hasOwnProperty(f8)){f8=aP[f8]}else{if(f8&&typeof f8.name=="string"&&aP.hasOwnProperty(f8.name)){var f9=aP[f8.name];if(typeof f9=="string"){f9={name:f9}}f8=ck(f9,f8);f8.name=f9.name}else{if(typeof f8=="string"&&/^[\w\-]+\/[\w\-]+\+xml$/.test(f8)){return I.resolveMode("application/xml")}}}if(typeof f8=="string"){return{name:f8}}else{return f8||{name:"null"}}};I.getMode=function(f9,f8){var f8=I.resolveMode(f8);var gb=dp[f8.name];if(!gb){return I.getMode(f9,"text/plain")}var gc=gb(f9,f8);if(dl.hasOwnProperty(f8.name)){var ga=dl[f8.name];for(var gd in ga){if(!ga.hasOwnProperty(gd)){continue}if(gc.hasOwnProperty(gd)){gc["_"+gd]=gc[gd]}gc[gd]=ga[gd]}}gc.name=f8.name;if(f8.helperType){gc.helperType=f8.helperType}if(f8.modeProps){for(var gd in f8.modeProps){gc[gd]=f8.modeProps[gd]}}return gc};I.defineMode("null",function(){return{token:function(f8){f8.skipToEnd()}}});I.defineMIME("text/plain","null");var dl=I.modeExtensions={};I.extendMode=function(ga,f9){var f8=dl.hasOwnProperty(ga)?dl[ga]:(dl[ga]={});aK(f9,f8)};I.defineExtension=function(f8,f9){I.prototype[f8]=f9};I.defineDocExtension=function(f8,f9){ar.prototype[f8]=f9};I.defineOption=s;var a5=[];I.defineInitHook=function(f8){a5.push(f8)};var fk=I.helpers={};I.registerHelper=function(f9,f8,ga){if(!fk.hasOwnProperty(f9)){fk[f9]=I[f9]={_global:[]}}fk[f9][f8]=ga};I.registerGlobalHelper=function(ga,f9,f8,gb){I.registerHelper(ga,f9,gb);fk[ga]._global.push({pred:f8,val:gb})};var b2=I.copyState=function(gb,f8){if(f8===true){return f8}if(gb.copyState){return gb.copyState(f8)}var ga={};for(var gc in f8){var f9=f8[gc];if(f9 instanceof Array){f9=f9.concat([])}ga[gc]=f9}return ga};var bZ=I.startState=function(ga,f9,f8){return ga.startState?ga.startState(f9,f8):true};I.innerMode=function(ga,f8){while(ga.innerMode){var f9=ga.innerMode(f8);if(!f9||f9.mode==ga){break}f8=f9.state;ga=f9.mode}return f9||{mode:ga,state:f8}};var ez=I.commands={selectAll:function(f8){f8.setSelection(X(f8.firstLine(),0),X(f8.lastLine()),Z)},singleSelection:function(f8){f8.setSelection(f8.getCursor("anchor"),f8.getCursor("head"),Z)},killLine:function(f8){eT(f8,function(ga){if(ga.empty()){var f9=fb(f8.doc,ga.head.line).text.length;if(ga.head.ch==f9&&ga.head.line0){ge=new X(ge.line,ge.ch+1);f8.replaceRange(f9.charAt(ge.ch-1)+f9.charAt(ge.ch-2),X(ge.line,ge.ch-2),ge,"+transpose")}else{if(ge.line>f8.doc.first){var gd=fb(f8.doc,ge.line-1).text;if(gd){f8.replaceRange(f9.charAt(0)+"\n"+gd.charAt(gd.length-1),X(ge.line-1,gd.length-1),X(ge.line,1),"+transpose")}}}}ga.push(new dU(ge,ge))}f8.setSelections(ga)})},newlineAndIndent:function(f8){cK(f8,function(){var f9=f8.listSelections().length;for(var gb=0;gb=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||undefined},next:function(){if(this.posf9},eatSpace:function(){var f8=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos}return this.pos>f8},skipToEnd:function(){this.pos=this.string.length},skipTo:function(f8){var f9=this.string.indexOf(f8,this.pos);if(f9>-1){this.pos=f9;return true}},backUp:function(f8){this.pos-=f8},column:function(){if(this.lastColumnPos0){return null}if(ga&&f9!==false){this.pos+=ga[0].length}return ga}},current:function(){return this.string.slice(this.start,this.pos)},hideFirstChars:function(f9,f8){this.lineStart+=f9;try{return f8()}finally{this.lineStart-=f9}}};var Q=I.TextMarker=function(f9,f8){this.lines=[];this.type=f8;this.doc=f9};bx(Q);Q.prototype.clear=function(){if(this.explicitlyCleared){return}var gf=this.doc.cm,f9=gf&&!gf.curOp;if(f9){cG(gf)}if(fe(this,"clear")){var gg=this.find();if(gg){ad(this,"clear",gg.from,gg.to)}}var ga=null,gd=null;for(var gb=0;gbgf.display.maxLineLength){gf.display.maxLine=f8;gf.display.maxLineLength=gc;gf.display.maxLineChanged=true}}}if(ga!=null&&gf&&this.collapsed){ag(gf,ga,gd+1)}this.lines.length=0;this.explicitlyCleared=true;if(this.atomic&&this.doc.cantEdit){this.doc.cantEdit=false;if(gf){et(gf.doc)}}if(gf){ad(gf,"markerCleared",gf,this)}if(f9){al(gf)}if(this.parent){this.parent.clear()}};Q.prototype.find=function(gb,f9){if(gb==null&&this.type=="bookmark"){gb=1}var ge,gd;for(var ga=0;ga0||gh==0&&gb.clearWhenEmpty!==false){return gb}if(gb.replacedWith){gb.collapsed=true;gb.widgetNode=fT("span",[gb.replacedWith],"CodeMirror-widget");if(!gi.handleMouseEvents){gb.widgetNode.setAttribute("cm-ignore-events","true")}if(gi.insertLeft){gb.widgetNode.insertLeft=true}}if(gb.collapsed){if(z(gg,ge.line,ge,gf,gb)||ge.line!=gf.line&&z(gg,gf.line,ge,gf,gb)){throw new Error("Inserting collapsed marker partially overlapping an existing one")}a4=true}if(gb.addToHistory){fJ(gg,{from:ge,to:gf,origin:"markText"},gg.sel,NaN)}var f9=ge.line,gd=gg.cm,f8;gg.iter(f9,gf.line+1,function(gj){if(gd&&gb.collapsed&&!gd.options.lineWrapping&&y(gj)==gd.display.maxLine){f8=true}if(gb.collapsed&&f9!=ge.line){fW(gj,0)}cc(gj,new ee(gb,f9==ge.line?ge.ch:null,f9==gf.line?gf.ch:null));++f9});if(gb.collapsed){gg.iter(ge.line,gf.line+1,function(gj){if(ft(gg,gj)){fW(gj,0)}})}if(gb.clearOnEnter){bW(gb,"beforeCursorEnter",function(){gb.clear()})}if(gb.readOnly){f3=true;if(gg.history.done.length||gg.history.undone.length){gg.clearHistory()}}if(gb.collapsed){gb.id=++a2;gb.atomic=true}if(gd){if(f8){gd.curOp.updateMaxLine=true}if(gb.collapsed){ag(gd,ge.line,gf.line+1)}else{if(gb.className||gb.title||gb.startStyle||gb.endStyle||gb.css){for(var ga=ge.line;ga<=gf.line;ga++){S(gd,ga,"text")}}}if(gb.atomic){et(gd.doc)}ad(gd,"markerAdded",gd,gb)}return gb}var x=I.SharedTextMarker=function(ga,f9){this.markers=ga;this.primary=f9;for(var f8=0;f8=ga:gg.to>ga);(gf||(gf=[])).push(new ee(gd,gg.from,gb?null:gg.to))}}}return gf}function az(f9,gb,ge){if(f9){for(var gc=0,gf;gc=gb:gg.to>gb);if(ga||gg.from==gb&&gd.type=="bookmark"&&(!ge||gg.marker.insertLeft)){var f8=gg.from==null||(gd.inclusiveLeft?gg.from<=gb:gg.from0&&ge){for(var gb=0;gb0){continue}var gh=[gb,1],f8=ce(f9.from,ga.from),gg=ce(f9.to,ga.to);if(f8<0||!gf.inclusiveLeft&&!f8){gh.push({from:f9.from,to:ga.from})}if(gg>0||!gf.inclusiveRight&&!gg){gh.push({from:ga.to,to:f9.to})}gd.splice.apply(gd,gh);gb+=gh.length-1}}return gd}function fZ(f8){var ga=f8.markedSpans;if(!ga){return}for(var f9=0;f9=0&&gd<=0||gh<=0&&gd>=0){continue}if(gh<=0&&(ce(gi.to,ge)>0||(f9.marker.inclusiveRight&&gc.inclusiveLeft))||gh>=0&&(ce(gi.from,gf)<0||(f9.marker.inclusiveLeft&&gc.inclusiveRight))){return true}}}}function y(f9){var f8;while(f8=eK(f9)){f9=f8.find(-1,true).line}return f9}function h(ga){var f8,f9;while(f8=er(ga)){ga=f8.find(1,true).line;(f9||(f9=[])).push(ga)}return f9}function aT(gb,f9){var f8=fb(gb,f9),ga=y(f8);if(f8==ga){return f9}return bM(ga)}function dZ(gb,ga){if(ga>gb.lastLine()){return ga}var f9=fb(gb,ga),f8;if(!ft(gb,f9)){return ga}while(f8=er(f9)){f9=f8.find(1,true).line}return bM(f9)+1}function ft(gc,f9){var f8=a4&&f9.markedSpans;if(f8){for(var gb,ga=0;gagc.start){return ga}}throw new Error("Mode "+gd.name+" failed to advance stream.")}function cq(gh,gf,gc,gb){function f8(gk){return{start:gi.start,end:gi.pos,string:gi.current(),type:ga||null,state:gk?b2(gg.mode,f9):f9}}var gg=gh.doc,gd=gg.mode,ga;gf=fG(gg,gf);var gj=fb(gg,gf.line),f9=dx(gh,gf.line,gc);var gi=new eP(gj.text,gh.options.tabSize),ge;if(gb){ge=[]}while((gb||gi.posgi.options.maxHighlightLength){ga=false;if(gc){dt(gi,gk,f9,gj.pos)}gj.pos=gk.length;f8=null}else{f8=dg(ew(gd,gj,f9,gm),gb)}if(gm){var gl=gm[0].name;if(gl){f8="m-"+(f8?gl+" "+f8:gl)}}if(!ga||gf!=f8){while(gggi){gg.splice(ge,1,gi,gg[ge+1],gj)}ge+=2;ga=Math.min(gi,gj)}if(!gk){return}if(gd.opaque){gg.splice(gm,ge-gm,gi,"cm-overlay "+gk);ge=gm+2}else{for(;gmgb&&gc.from<=gb){break}}if(gc.to>=gd){return f9(gg,gi,ga,ge,gj,gh)}f9(gg,gi.slice(0,gc.to-gb),ga,ge,null,gh);ge=null;gi=gi.slice(gc.to-gb);gb=gc.to}}}function ab(f9,gb,f8,ga){var gc=!ga&&f8.widgetNode;if(gc){f9.map.push(f9.pos,f9.pos+gb,gc);f9.content.appendChild(gc)}f9.pos+=gb}function bn(gh,go,gg){var gd=gh.markedSpans,gf=gh.text,gm=0;if(!gd){for(var gr=1;grgc)){if(gq.to!=null&&gv>gq.to){gv=gq.to;gu=""}if(gn.className){f8+=" "+gn.className}if(gn.css){gi=gn.css}if(gn.startStyle&&gq.from==gc){gl+=" "+gn.startStyle}if(gn.endStyle&&gq.to==gv){gu+=" "+gn.endStyle}if(gn.title&&!gw){gw=gn.title}if(gn.collapsed&&(!ga||dM(ga.marker,gn)<0)){ga=gq}}else{if(gq.from>gc&&gv>gq.from){gv=gq.from}}if(gn.type=="bookmark"&&gq.from==gc&&gn.widgetNode){ge.push(gn)}}if(ga&&(ga.from||0)==gc){ab(go,(ga.to==null?gs+1:ga.to)-gc,ga.marker,ga.from==null);if(ga.to==null){return}}if(!ga&&ge.length){for(var gp=0;gp=gs){break}var gj=Math.min(gs,gv);while(true){if(gk){var f9=gc+gk.length;if(!ga){var gb=f9>gj?gk.slice(0,gj-gc):gk;go.addToken(go,gb,gt?gt+f8:f8,gl,gc+gb.length==gv?gu:"",gw,gi)}if(f9>=gj){gk=gk.slice(gj-gc);gc=gj;break}gc=f9;gl=""}gk=gf.slice(gm,gm=gg[gr++]);gt=eS(gg[gr++],go.cm.options)}}}function dO(f8,f9){return f9.from.ch==0&&f9.to.ch==0&&fE(f9.text)==""&&(!f8.cm||f8.cm.options.wholeLineUpdateBefore)}function fv(gl,gg,f9,gc){function gm(go){return f9?f9[go]:null}function ga(go,gq,gp){ei(go,gq,gp,gc);ad(go,"change",go,gg)}function f8(gr,gp){for(var gq=gr,go=[];gq1){gl.remove(gk.line+1,ge-1)}gl.insert(gk.line+1,gd)}}}}ad(gl,"change",gl,gg)}function eV(f9){this.lines=f9;this.parent=null;for(var ga=0,f8=0;ga1||!(this.children[0] instanceof eV))){var f9=[];this.collapse(f9);this.children=[new eV(f9)];this.children[0].parent=this}},collapse:function(f8){for(var f9=0;f950){while(gf.lines.length>50){var gc=gf.lines.splice(gf.lines.length-25,25);var gb=new eV(gc);gf.height-=gb.height;this.children.splice(gd+1,0,gb);gb.parent=this}this.maybeSpill()}break}f9-=ge}},maybeSpill:function(){if(this.children.length<=10){return}var gb=this;do{var f9=gb.children.splice(gb.children.length-5,5);var ga=new fu(f9);if(!gb.parent){var gc=new fu(gb.children);gc.parent=gb;gb.children=[gc,ga];gb=gc}else{gb.size-=ga.size;gb.height-=ga.height;var f8=df(gb.parent.children,gb);gb.parent.children.splice(f8+1,0,ga)}ga.parent=gb.parent}while(gb.children.length>10);gb.parent.maybeSpill()},iterN:function(f8,ge,gd){for(var f9=0;f9=0;gb--){bd(this,gc[gb])}if(f8){e3(this,f8)}else{if(this.cm){fD(this.cm)}}}),undo:cC(function(){b7(this,"undo")}),redo:cC(function(){b7(this,"redo")}),undoSelection:cC(function(){b7(this,"undo",true)}),redoSelection:cC(function(){b7(this,"redo",true)}),setExtending:function(f8){this.extend=f8},getExtending:function(){return this.extend},historySize:function(){var gb=this.history,f8=0,ga=0;for(var f9=0;f9=gc.ch)){gb.push(ga.marker.parent||ga.marker)}}}return gb},findMarks:function(gc,gb,f8){gc=fG(this,gc);gb=fG(this,gb);var f9=[],ga=gc.line;this.iter(gc.line,gb.line+1,function(gd){var gf=gd.markedSpans;if(gf){for(var ge=0;gegg.to||gg.from==null&&ga!=gc.line||ga==gb.line&&gg.from>gb.ch)&&(!f8||f8(gg.marker))){f9.push(gg.marker.parent||gg.marker)}}}++ga});return f9},getAllMarks:function(){var f8=[];this.iter(function(ga){var f9=ga.markedSpans;if(f9){for(var gb=0;gbf9){f8=f9;return true}f9-=gc;++ga});return fG(this,X(ga,f8))},indexFromPos:function(f9){f9=fG(this,f9);var f8=f9.ch;if(f9.linegb){gb=f8.from}if(f8.to!=null&&f8.to=gb.size){throw new Error("There is no line "+(gd+gb.first)+" in the document.")}for(var f8=gb;!f8.lines;){for(var f9=0;;++f9){var gc=f8.children[f9],ga=gc.chunkSize();if(gd1&&!f9.done[f9.done.length-2].ranges){f9.done.pop();return fE(f9.done)}}}}function fJ(ge,gc,f8,gb){var ga=ge.history;ga.undone.length=0;var f9=+new Date,gf;if((ga.lastOp==gb||ga.lastOrigin==gc.origin&&gc.origin&&((gc.origin.charAt(0)=="+"&&ge.cm&&ga.lastModTime>f9-ge.cm.options.historyEventDelay)||gc.origin.charAt(0)=="*"))&&(gf=eI(ga,ga.lastOp==gb))){var gg=fE(gf.changes);if(ce(gc.from,gc.to)==0&&ce(gc.from,gg.to)==0){gg.to=cV(gc)}else{gf.changes.push(dr(ge,gc))}}else{var gd=fE(ga.done);if(!gd||!gd.ranges){cL(ge.sel,ga.done)}gf={changes:[dr(ge,gc)],generation:ga.generation};ga.done.push(gf);while(ga.done.length>ga.undoDepth){ga.done.shift();if(!ga.done[0].ranges){ga.done.shift()}}}ga.done.push(f8);ga.generation=++ga.maxGeneration;ga.lastModTime=ga.lastSelTime=f9;ga.lastOp=ga.lastSelOp=gb;ga.lastOrigin=ga.lastSelOrigin=gc.origin;if(!gg){aC(ge,"historyAdded")}}function bz(gc,f8,ga,gb){var f9=f8.charAt(0);return f9=="*"||f9=="+"&&ga.ranges.length==gb.ranges.length&&ga.somethingSelected()==gb.somethingSelected()&&new Date-gc.history.lastSelTime<=(gc.cm?gc.cm.options.historyEventDelay:500)}function f2(gd,gb,f8,ga){var gc=gd.history,f9=ga&&ga.origin;if(f8==gc.lastSelOp||(f9&&gc.lastSelOrigin==f9&&(gc.lastModTime==gc.lastSelTime&&gc.lastOrigin==f9||bz(gd,f9,fE(gc.done),gb)))){gc.done[gc.done.length-1]=gb}else{cL(gb,gc.done)}gc.lastSelTime=+new Date;gc.lastSelOrigin=f9;gc.lastSelOp=f8;if(ga&&ga.clearRedo!==false){fy(gc.undone)}}function cL(f9,f8){var ga=fE(f8);if(!(ga&&ga.ranges&&ga.equals(f9))){f8.push(f9)}}function bX(f9,gd,gc,gb){var f8=gd["spans_"+f9.id],ga=0;f9.iter(Math.max(f9.first,gc),Math.min(f9.first+f9.size,gb),function(ge){if(ge.markedSpans){(f8||(f8=gd["spans_"+f9.id]={}))[ga]=ge.markedSpans}++ga})}function bi(ga){if(!ga){return null}for(var f9=0,f8;f9-1){fE(gh)[f8]=gf[f8];delete gf[f8]}}}}}}return f9}function J(gb,ga,f9,f8){if(f90}function bx(f8){f8.prototype.on=function(f9,ga){bW(this,f9,ga)};f8.prototype.off=function(f9,ga){d9(this,f9,ga)}}var dF=30;var b9=I.Pass={toString:function(){return"CodeMirror.Pass"}};var Z={scroll:false},N={origin:"*mouse"},cU={origin:"+move"};function f7(){this.id=null}f7.prototype.set=function(f8,f9){clearTimeout(this.id);this.id=setTimeout(f9,f8)};var bS=I.countColumn=function(gb,f9,gd,ge,ga){if(f9==null){f9=gb.search(/[^\s\u00a0]/);if(f9==-1){f9=gb.length}}for(var gc=ge||0,gf=ga||0;;){var f8=gb.indexOf("\t",gc);if(f8<0||f8>=f9){return gf+(f9-gc)}gf+=f8-gc;gf+=gd-(gf%gd);gc=f8+1}};function em(gc,gb,gd){for(var ge=0,ga=0;;){var f9=gc.indexOf("\t",ge);if(f9==-1){f9=gc.length}var f8=f9-ge;if(f9==gc.length||ga+f8>=gb){return ge+Math.min(f8,gb-ga)}ga+=f9-ge;ga+=gd-(ga%gd);ge=f9+1;if(ga>=gb){return ge}}}var aW=[""];function cp(f8){while(aW.length<=f8){aW.push(fE(aW)+" ")}return aW[f8]}function fE(f8){return f8[f8.length-1]}var dH=function(f8){f8.select()};if(eX){dH=function(f8){f8.selectionStart=0;f8.selectionEnd=f8.value.length}}else{if(dG){dH=function(f9){try{f9.select()}catch(f8){}}}}function df(ga,f8){for(var f9=0;f9"\x80"&&(f8.toUpperCase()!=f8.toLowerCase()||a9.test(f8))};function cz(f8,f9){if(!f9){return fA(f8)}if(f9.source.indexOf("\\w")>-1&&fA(f8)){return true}return f9.test(f8)}function eQ(f8){for(var f9 in f8){if(f8.hasOwnProperty(f9)&&f8[f9]){return false}}return true}var eF=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function fm(f8){return f8.charCodeAt(0)>=768&&eF.test(f8)}function fT(f8,gc,gb,ga){var gd=document.createElement(f8);if(gb){gd.className=gb}if(ga){gd.style.cssText=ga}if(typeof gc=="string"){gd.appendChild(document.createTextNode(gc))}else{if(gc){for(var f9=0;f90;--f8){f9.removeChild(f9.firstChild)}return f9}function bQ(f8,f9){return dX(f8).appendChild(f9)}function f1(f8,f9){if(f8.contains){return f8.contains(f9)}while(f9=f9.parentNode){if(f9==f8){return true}}}function dK(){return document.activeElement}if(dG&&k<11){dK=function(){try{return document.activeElement}catch(f8){return document.body}}}function T(f8){return new RegExp("(^|\\s)"+f8+"(?:$|\\s)\\s*")}var f=I.rmClass=function(ga,f8){var gb=ga.className;var f9=T(f8).exec(gb);if(f9){var gc=gb.slice(f9.index+f9[0].length);ga.className=gb.slice(0,f9.index)+(gc?f9[1]+gc:"")}};var fx=I.addClass=function(f9,f8){var ga=f9.className;if(!T(f8).test(ga)){f9.className+=(ga?" ":"")+f8}};function fO(ga,f8){var f9=ga.split(" ");for(var gb=0;gb2&&!(dG&&k<8)}}if(fI){return fT("span","\u200b")}else{return fT("span","\u00a0",null,"display: inline-block; width: 1px; margin-right: -1px")}}var fH;function bN(gb){if(fH!=null){return fH}var f8=bQ(gb,document.createTextNode("A\u062eA"));var ga=cl(f8,0,1).getBoundingClientRect();if(!ga||ga.left==ga.right){return false}var f9=cl(f8,1,2).getBoundingClientRect();return fH=(f9.right-ga.right<3)}var aX=I.splitLines="\n\nb".split(/\n/).length!=3?function(gd){var ge=0,f8=[],gc=gd.length;while(ge<=gc){var gb=gd.indexOf("\n",ge);if(gb==-1){gb=gd.length}var ga=gd.slice(ge,gd.charAt(gb-1)=="\r"?gb-1:gb);var f9=ga.indexOf("\r");if(f9!=-1){f8.push(ga.slice(0,f9));ge+=f9+1}else{f8.push(ga);ge=gb+1}}return f8}:function(f8){return f8.split(/\r\n?|\n/)};var br=window.getSelection?function(f9){try{return f9.selectionStart!=f9.selectionEnd}catch(f8){return false}}:function(ga){try{var f8=ga.ownerDocument.selection.createRange()}catch(f9){}if(!f8||f8.parentElement()!=ga){return false}return f8.compareEndPoints("StartToEnd",f8)!=0};var c8=(function(){var f8=fT("div");if("oncopy" in f8){return true}f8.setAttribute("oncopy","return;");return typeof f8.oncopy=="function"})();var e2=null;function aI(f9){if(e2!=null){return e2}var ga=bQ(f9,fT("span","x"));var gb=ga.getBoundingClientRect();var f8=cl(ga,0,1).getBoundingClientRect();return e2=Math.abs(gb.left-f8.left)>1}var fc={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:";",61:"=",91:"Mod",92:"Mod",93:"Mod",107:"=",109:"-",127:"Delete",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};I.keyNames=fc;(function(){for(var f8=0;f8<10;f8++){fc[f8+48]=fc[f8+96]=String(f8)}for(var f8=65;f8<=90;f8++){fc[f8]=String.fromCharCode(f8)}for(var f8=1;f8<=12;f8++){fc[f8+111]=fc[f8+63235]="F"+f8}})();function d0(f8,ge,gd,gc){if(!f8){return gc(ge,gd,"ltr")}var gb=false;for(var ga=0;gage||ge==gd&&f9.to==ge){gc(Math.max(f9.from,ge),Math.min(f9.to,gd),f9.level==1?"rtl":"ltr");gb=true}}if(!gb){gc(ge,gd,"ltr")}}function du(f8){return f8.level%2?f8.to:f8.from}function f4(f8){return f8.level%2?f8.from:f8.to}function cD(f9){var f8=a(f9);return f8?du(f8[0]):0}function cQ(f9){var f8=a(f9);if(!f8){return f9.text.length}return f4(fE(f8))}function bs(f9,gc){var ga=fb(f9.doc,gc);var gd=y(ga);if(gd!=ga){gc=bM(gd)}var f8=a(gd);var gb=!f8?0:f8[0].level%2?cQ(gd):cD(gd);return X(gc,gb)}function dL(ga,gd){var f9,gb=fb(ga.doc,gd);while(f9=er(gb)){gb=f9.find(1,true).line;gd=null}var f8=a(gb);var gc=!f8?gb.text.length:f8[0].level%2?cD(gb):cQ(gb);return X(gd==null?bM(gb):gd,gc)}function dE(f9,ge){var gd=bs(f9,ge.line);var ga=fb(f9.doc,gd.line);var f8=a(ga);if(!f8||f8[0].level==0){var gc=Math.max(0,ga.text.search(/\S/));var gb=ge.line==gd.line&&ge.ch<=gc&&ge.ch;return X(gd.line,gb?0:gc)}return gd}function am(f9,ga,f8){var gb=f9[0].level;if(ga==gb){return true}if(f8==gb){return false}return gagc){return f9}if((gb.from==gc||gb.to==gc)){if(ga==null){ga=f9}else{if(am(f8,gb.level,f8[ga].level)){if(gb.from!=gb.to){eY=ga}return f9}else{if(gb.from!=gb.to){eY=f9}return ga}}}}return ga}function fa(f8,gb,f9,ga){if(!ga){return gb+f9}do{gb+=f9}while(gb>0&&fm(f8.text.charAt(gb)));return gb}function u(f8,gf,ga,gb){var gc=a(f8);if(!gc){return ah(f8,gf,ga,gb)}var ge=aE(gc,gf),f9=gc[ge];var gd=fa(f8,gf,f9.level%2?-ga:ga,gb);for(;;){if(gd>f9.from&&gd0)==f9.level%2?f9.to:f9.from}else{f9=gc[ge+=ga];if(!f9){return null}if((ga>0)==f9.level%2){gd=fa(f8,f9.to,-1,gb)}else{gd=fa(f8,f9.from,1,gb)}}}}function ah(f8,gc,f9,ga){var gb=gc+f9;if(ga){while(gb>0&&fm(f8.text.charAt(gb))){gb+=f9}}return gb<0||gb>f8.text.length?null:gb}var be=(function(){var ge="bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN";var gc="rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm";function gb(gi){if(gi<=247){return ge.charAt(gi)}else{if(1424<=gi&&gi<=1524){return"R"}else{if(1536<=gi&&gi<=1773){return gc.charAt(gi-1536)}else{if(1774<=gi&&gi<=2220){return"r"}else{if(8192<=gi&&gi<=8203){return"w"}else{if(gi==8204){return"b"}else{return"L"}}}}}}}var f8=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;var gh=/[stwN]/,ga=/[LRr]/,f9=/[Lb1n]/,gd=/[1n]/;var gg="L";function gf(gk,gj,gi){this.level=gk;this.from=gj;this.to=gi}return function(gs){if(!f8.test(gs)){return false}var gy=gs.length,go=[];for(var gx=0,gk;gx=15){presto=false;webkit=true}var flipCtrlCmd=mac&&(qtwebkit||presto&&(presto_version==null||presto_version<12.11));var captureRightClick=gecko||(ie&&ie_version>=9);var sawReadOnlySpans=false,sawCollapsedSpans=false;function CodeMirror(place,options){if(!(this instanceof CodeMirror)){return new CodeMirror(place,options)}this.options=options=options?copyObj(options):{};copyObj(defaults,options,false);setGuttersForLineNumbers(options);var doc=options.value;if(typeof doc=="string"){doc=new Doc(doc,options.mode)}this.doc=doc;var input=new CodeMirror.inputStyles[options.inputStyle](this);var display=this.display=new Display(place,doc,input);display.wrapper.CodeMirror=this;updateGutters(this);themeChanged(this);if(options.lineWrapping){this.display.wrapper.className+=" CodeMirror-wrap"}if(options.autofocus&&!mobile){display.input.focus()}initScrollbars(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:false,focused:false,suppressEdits:false,pasteIncoming:false,cutIncoming:false,draggingText:false,highlight:new Delayed(),keySeq:null};var cm=this;if(ie&&ie_version<11){setTimeout(function(){cm.display.input.reset(true)},20)}registerEventHandlers(this);ensureGlobalHandlers();startOperation(this);this.curOp.forceUpdate=true;attachDoc(this,doc);if((options.autofocus&&!mobile)||cm.hasFocus()){setTimeout(bind(onFocus,this),20)}else{onBlur(this)}for(var opt in optionHandlers){if(optionHandlers.hasOwnProperty(opt)){optionHandlers[opt](this,options[opt],Init)}}maybeUpdateLineNumberWidth(this);if(options.finishInit){options.finishInit(this)}for(var i=0;id.maxLineLength){d.maxLineLength=len;d.maxLine=line}})}function setGuttersForLineNumbers(options){var found=indexOf(options.gutters,"CodeMirror-linenumbers");if(found==-1&&options.lineNumbers){options.gutters=options.gutters.concat(["CodeMirror-linenumbers"])}else{if(found>-1&&!options.lineNumbers){options.gutters=options.gutters.slice(0);options.gutters.splice(found,1)}}}function measureForScrollbars(cm){var d=cm.display,gutterW=d.gutters.offsetWidth;var docH=Math.round(cm.doc.height+paddingVert(cm.display));return{clientHeight:d.scroller.clientHeight,viewHeight:d.wrapper.clientHeight,scrollWidth:d.scroller.scrollWidth,clientWidth:d.scroller.clientWidth,viewWidth:d.wrapper.clientWidth,barLeft:cm.options.fixedGutter?gutterW:0,docHeight:docH,scrollHeight:docH+scrollGap(cm)+d.barHeight,nativeBarWidth:d.nativeBarWidth,gutterWidth:gutterW}}function NativeScrollbars(place,scroll,cm){this.cm=cm;var vert=this.vert=elt("div",[elt("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar");var horiz=this.horiz=elt("div",[elt("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");place(vert);place(horiz);on(vert,"scroll",function(){if(vert.clientHeight){scroll(vert.scrollTop,"vertical")}});on(horiz,"scroll",function(){if(horiz.clientWidth){scroll(horiz.scrollLeft,"horizontal")}});this.checkedOverlay=false;if(ie&&ie_version<8){this.horiz.style.minHeight=this.vert.style.minWidth="18px"}}NativeScrollbars.prototype=copyObj({update:function(measure){var needsH=measure.scrollWidth>measure.clientWidth+1;var needsV=measure.scrollHeight>measure.clientHeight+1;var sWidth=measure.nativeBarWidth;if(needsV){this.vert.style.display="block";this.vert.style.bottom=needsH?sWidth+"px":"0";var totalHeight=measure.viewHeight-(needsH?sWidth:0);this.vert.firstChild.style.height=Math.max(0,measure.scrollHeight-measure.clientHeight+totalHeight)+"px" +}else{this.vert.style.display="";this.vert.firstChild.style.height="0"}if(needsH){this.horiz.style.display="block";this.horiz.style.right=needsV?sWidth+"px":"0";this.horiz.style.left=measure.barLeft+"px";var totalWidth=measure.viewWidth-measure.barLeft-(needsV?sWidth:0);this.horiz.firstChild.style.width=(measure.scrollWidth-measure.clientWidth+totalWidth)+"px"}else{this.horiz.style.display="";this.horiz.firstChild.style.width="0"}if(!this.checkedOverlay&&measure.clientHeight>0){if(sWidth==0){this.overlayHack()}this.checkedOverlay=true}return{right:needsV?sWidth:0,bottom:needsH?sWidth:0}},setScrollLeft:function(pos){if(this.horiz.scrollLeft!=pos){this.horiz.scrollLeft=pos}},setScrollTop:function(pos){if(this.vert.scrollTop!=pos){this.vert.scrollTop=pos}},overlayHack:function(){var w=mac&&!mac_geMountainLion?"12px":"18px";this.horiz.style.minHeight=this.vert.style.minWidth=w;var self=this;var barMouseDown=function(e){if(e_target(e)!=self.vert&&e_target(e)!=self.horiz){operation(self.cm,onMouseDown)(e)}};on(this.vert,"mousedown",barMouseDown);on(this.horiz,"mousedown",barMouseDown)},clear:function(){var parent=this.horiz.parentNode;parent.removeChild(this.horiz);parent.removeChild(this.vert)}},NativeScrollbars.prototype);function NullScrollbars(){}NullScrollbars.prototype=copyObj({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},NullScrollbars.prototype);CodeMirror.scrollbarModel={"native":NativeScrollbars,"null":NullScrollbars};function initScrollbars(cm){if(cm.display.scrollbars){cm.display.scrollbars.clear();if(cm.display.scrollbars.addClass){rmClass(cm.display.wrapper,cm.display.scrollbars.addClass)}}cm.display.scrollbars=new CodeMirror.scrollbarModel[cm.options.scrollbarStyle](function(node){cm.display.wrapper.insertBefore(node,cm.display.scrollbarFiller);on(node,"mousedown",function(){if(cm.state.focused){setTimeout(function(){cm.display.input.focus()},0)}});node.setAttribute("cm-not-content","true")},function(pos,axis){if(axis=="horizontal"){setScrollLeft(cm,pos)}else{setScrollTop(cm,pos)}},cm);if(cm.display.scrollbars.addClass){addClass(cm.display.wrapper,cm.display.scrollbars.addClass)}}function updateScrollbars(cm,measure){if(!measure){measure=measureForScrollbars(cm)}var startWidth=cm.display.barWidth,startHeight=cm.display.barHeight;updateScrollbarsInner(cm,measure);for(var i=0;i<4&&startWidth!=cm.display.barWidth||startHeight!=cm.display.barHeight;i++){if(startWidth!=cm.display.barWidth&&cm.options.lineWrapping){updateHeightsInViewport(cm)}updateScrollbarsInner(cm,measureForScrollbars(cm));startWidth=cm.display.barWidth;startHeight=cm.display.barHeight}}function updateScrollbarsInner(cm,measure){var d=cm.display;var sizes=d.scrollbars.update(measure);d.sizer.style.paddingRight=(d.barWidth=sizes.right)+"px";d.sizer.style.paddingBottom=(d.barHeight=sizes.bottom)+"px";if(sizes.right&&sizes.bottom){d.scrollbarFiller.style.display="block";d.scrollbarFiller.style.height=sizes.bottom+"px";d.scrollbarFiller.style.width=sizes.right+"px"}else{d.scrollbarFiller.style.display=""}if(sizes.bottom&&cm.options.coverGutterNextToScrollbar&&cm.options.fixedGutter){d.gutterFiller.style.display="block";d.gutterFiller.style.height=sizes.bottom+"px";d.gutterFiller.style.width=measure.gutterWidth+"px"}else{d.gutterFiller.style.display=""}}function visibleLines(display,doc,viewport){var top=viewport&&viewport.top!=null?Math.max(0,viewport.top):display.scroller.scrollTop;top=Math.floor(top-paddingTop(display));var bottom=viewport&&viewport.bottom!=null?viewport.bottom:top+display.wrapper.clientHeight;var from=lineAtHeight(doc,top),to=lineAtHeight(doc,bottom);if(viewport&&viewport.ensure){var ensureFrom=viewport.ensure.from.line,ensureTo=viewport.ensure.to.line;if(ensureFrom=to){from=lineAtHeight(doc,heightAtLine(getLine(doc,ensureTo))-display.wrapper.clientHeight);to=ensureTo}}}return{from:from,to:Math.max(to,from+1)}}function alignHorizontally(cm){var display=cm.display,view=display.view;if(!display.alignWidgets&&(!display.gutters.firstChild||!cm.options.fixedGutter)){return}var comp=compensateForHScroll(display)-display.scroller.scrollLeft+cm.doc.scrollLeft;var gutterW=display.gutters.offsetWidth,left=comp+"px";for(var i=0;i=display.viewFrom&&update.visible.to<=display.viewTo&&(display.updateLineNumbers==null||display.updateLineNumbers>=display.viewTo)&&display.renderedView==display.view&&countDirtyView(cm)==0){return false}if(maybeUpdateLineNumberWidth(cm)){resetView(cm);update.dims=getDimensions(cm)}var end=doc.first+doc.size;var from=Math.max(update.visible.from-cm.options.viewportMargin,doc.first);var to=Math.min(end,update.visible.to+cm.options.viewportMargin);if(display.viewFromto&&display.viewTo-to<20){to=Math.min(end,display.viewTo)}if(sawCollapsedSpans){from=visualLineNo(cm.doc,from);to=visualLineEndNo(cm.doc,to)}var different=from!=display.viewFrom||to!=display.viewTo||display.lastWrapHeight!=update.wrapperHeight||display.lastWrapWidth!=update.wrapperWidth;adjustView(cm,from,to);display.viewOffset=heightAtLine(getLine(cm.doc,display.viewFrom));cm.display.mover.style.top=display.viewOffset+"px";var toUpdate=countDirtyView(cm);if(!different&&toUpdate==0&&!update.force&&display.renderedView==display.view&&(display.updateLineNumbers==null||display.updateLineNumbers>=display.viewTo)){return false}var focused=activeElt();if(toUpdate>4){display.lineDiv.style.display="none"}patchDisplay(cm,display.updateLineNumbers,update.dims);if(toUpdate>4){display.lineDiv.style.display=""}display.renderedView=display.view;if(focused&&activeElt()!=focused&&focused.offsetHeight){focused.focus()}removeChildren(display.cursorDiv);removeChildren(display.selectionDiv);display.gutters.style.height=0;if(different){display.lastWrapHeight=update.wrapperHeight;display.lastWrapWidth=update.wrapperWidth;startWorker(cm,400)}display.updateLineNumbers=null;return true}function postUpdateDisplay(cm,update){var force=update.force,viewport=update.viewport;for(var first=true;;first=false){if(first&&cm.options.lineWrapping&&update.oldDisplayWidth!=displayWidth(cm)){force=true}else{force=false;if(viewport&&viewport.top!=null){viewport={top:Math.min(cm.doc.height+paddingVert(cm.display)-displayHeight(cm),viewport.top)}}update.visible=visibleLines(cm.display,cm.doc,viewport);if(update.visible.from>=cm.display.viewFrom&&update.visible.to<=cm.display.viewTo){break}}if(!updateDisplayIfNeeded(cm,update)){break}updateHeightsInViewport(cm);var barMeasure=measureForScrollbars(cm);updateSelection(cm);setDocumentHeight(cm,barMeasure);updateScrollbars(cm,barMeasure)}update.signal(cm,"update",cm);if(cm.display.viewFrom!=cm.display.reportedViewFrom||cm.display.viewTo!=cm.display.reportedViewTo){update.signal(cm,"viewportChange",cm,cm.display.viewFrom,cm.display.viewTo);cm.display.reportedViewFrom=cm.display.viewFrom;cm.display.reportedViewTo=cm.display.viewTo}}function updateDisplaySimple(cm,viewport){var update=new DisplayUpdate(cm,viewport);if(updateDisplayIfNeeded(cm,update)){updateHeightsInViewport(cm);postUpdateDisplay(cm,update);var barMeasure=measureForScrollbars(cm);updateSelection(cm);setDocumentHeight(cm,barMeasure);updateScrollbars(cm,barMeasure);update.finish()}}function setDocumentHeight(cm,measure){cm.display.sizer.style.minHeight=measure.docHeight+"px";var total=measure.docHeight+cm.display.barHeight; +cm.display.heightForcer.style.top=total+"px";cm.display.gutters.style.height=Math.max(total+scrollGap(cm),measure.clientHeight)+"px"}function updateHeightsInViewport(cm){var display=cm.display;var prevBottom=display.lineDiv.offsetTop;for(var i=0;i0.001||diff<-0.001){updateLineHeight(cur.line,height);updateWidgetHeight(cur.line);if(cur.rest){for(var j=0;j-1){updateNumber=false}updateLineForChanges(cm,lineView,lineN,dims)}if(updateNumber){removeChildren(lineView.lineNumber);lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options,lineN)))}cur=lineView.node.nextSibling}}lineN+=lineView.size}while(cur){cur=rm(cur)}}function updateLineForChanges(cm,lineView,lineN,dims){for(var j=0;j1){if(lastCopied&&lastCopied.join("\n")==inserted){multiPaste=sel.ranges.length%lastCopied.length==0&&map(lastCopied,splitLines)}else{if(textLines.length==sel.ranges.length){multiPaste=map(textLines,function(l){return[l]})}}}for(var i=sel.ranges.length-1;i>=0;i--){var range=sel.ranges[i];var from=range.from(),to=range.to();if(range.empty()){if(deleted&&deleted>0){from=Pos(from.line,from.ch-deleted)}else{if(cm.state.overwrite&&!cm.state.pasteIncoming){to=Pos(to.line,Math.min(getLine(doc,to.line).text.length,to.ch+lst(textLines).length))}}}var updateInput=cm.curOp.updateInput;var changeEvent={from:from,to:to,text:multiPaste?multiPaste[i%multiPaste.length]:textLines,origin:cm.state.pasteIncoming?"paste":cm.state.cutIncoming?"cut":"+input"};makeChange(cm.doc,changeEvent);signalLater(cm,"inputRead",cm,changeEvent);if(inserted&&!cm.state.pasteIncoming&&cm.options.electricChars&&cm.options.smartIndent&&range.head.ch<100&&(!i||sel.ranges[i-1].head.line!=range.head.line)){var mode=cm.getModeAt(range.head);var end=changeEnd(changeEvent);if(mode.electricChars){for(var j=0;j-1){indentLine(cm,end.line,"smart");break}}}else{if(mode.electricInput){if(mode.electricInput.test(getLine(doc,end.line).text.slice(0,end.ch))){indentLine(cm,end.line,"smart")}}}}}ensureCursorVisible(cm);cm.curOp.updateInput=updateInput;cm.curOp.typing=true;cm.state.pasteIncoming=cm.state.cutIncoming=false}function copyableRanges(cm){var text=[],ranges=[];for(var i=0;i=9&&input.hasSelection){input.hasSelection=null}input.poll()});on(te,"paste",function(){if(webkit&&!cm.state.fakedLastChar&&!(new Date-cm.state.lastMiddleDown<200)){var start=te.selectionStart,end=te.selectionEnd;te.value+="$";te.selectionEnd=end;te.selectionStart=start;cm.state.fakedLastChar=true}cm.state.pasteIncoming=true;input.fastPoll()});function prepareCopyCut(e){if(cm.somethingSelected()){lastCopied=cm.getSelections();if(input.inaccurateSelection){input.prevInput="";input.inaccurateSelection=false;te.value=lastCopied.join("\n");selectInput(te)}}else{var ranges=copyableRanges(cm);lastCopied=ranges.text;if(e.type=="cut"){cm.setSelections(ranges.ranges,null,sel_dontScroll)}else{input.prevInput="";te.value=ranges.text.join("\n");selectInput(te)}}if(e.type=="cut"){cm.state.cutIncoming=true}}on(te,"cut",prepareCopyCut);on(te,"copy",prepareCopyCut);on(display.scroller,"paste",function(e){if(eventInWidget(display,e)){return}cm.state.pasteIncoming=true;input.focus()});on(display.lineSpace,"selectstart",function(e){if(!eventInWidget(display,e)){e_preventDefault(e)}})},prepareSelection:function(){var cm=this.cm,display=cm.display,doc=cm.doc;var result=prepareSelection(cm);if(cm.options.moveInputWithCursor){var headPos=cursorCoords(cm,doc.sel.primary().head,"div");var wrapOff=display.wrapper.getBoundingClientRect(),lineOff=display.lineDiv.getBoundingClientRect();result.teTop=Math.max(0,Math.min(display.wrapper.clientHeight-10,headPos.top+lineOff.top-wrapOff.top));result.teLeft=Math.max(0,Math.min(display.wrapper.clientWidth-10,headPos.left+lineOff.left-wrapOff.left))}return result},showSelection:function(drawn){var cm=this.cm,display=cm.display;removeChildrenAndAdd(display.cursorDiv,drawn.cursors);removeChildrenAndAdd(display.selectionDiv,drawn.selection);if(drawn.teTop!=null){this.wrapper.style.top=drawn.teTop+"px";this.wrapper.style.left=drawn.teLeft+"px"}},reset:function(typing){if(this.contextMenuPending){return}var minimal,selected,cm=this.cm,doc=cm.doc;if(cm.somethingSelected()){this.prevInput="";var range=doc.sel.primary();minimal=hasCopyEvent&&(range.to().line-range.from().line>100||(selected=cm.getSelection()).length>1000);var content=minimal?"-":selected||cm.getSelection();this.textarea.value=content;if(cm.state.focused){selectInput(this.textarea)}if(ie&&ie_version>=9){this.hasSelection=content}}else{if(!typing){this.prevInput=this.textarea.value="";if(ie&&ie_version>=9){this.hasSelection=null}}}this.inaccurateSelection=minimal},getField:function(){return this.textarea},supportsTouch:function(){return false},focus:function(){if(this.cm.options.readOnly!="nocursor"&&(!mobile||activeElt()!=this.textarea)){try{this.textarea.focus()}catch(e){}}},blur:function(){this.textarea.blur()},resetPosition:function(){this.wrapper.style.top=this.wrapper.style.left=0},receivedFocus:function(){this.slowPoll()},slowPoll:function(){var input=this;if(input.pollingFast){return}input.polling.set(this.cm.options.pollInterval,function(){input.poll();if(input.cm.state.focused){input.slowPoll()}})},fastPoll:function(){var missed=false,input=this;input.pollingFast=true;function p(){var changed=input.poll();if(!changed&&!missed){missed=true;input.polling.set(60,p)}else{input.pollingFast=false;input.slowPoll()}}input.polling.set(20,p)},poll:function(){var cm=this.cm,input=this.textarea,prevInput=this.prevInput;if(!cm.state.focused||(hasSelection(input)&&!prevInput)||isReadOnly(cm)||cm.options.disableInput||cm.state.keySeq){return false}if(cm.state.pasteIncoming&&cm.state.fakedLastChar){input.value=input.value.substring(0,input.value.length-1);cm.state.fakedLastChar=false}var text=input.value;if(text==prevInput&&!cm.somethingSelected()){return false}if(ie&&ie_version>=9&&this.hasSelection===text||mac&&/[\uf700-\uf7ff]/.test(text)){cm.display.input.reset();return false}if(text.charCodeAt(0)==8203&&cm.doc.sel==cm.display.selForContextMenu&&!prevInput){prevInput="\u200b" +}var same=0,l=Math.min(prevInput.length,text.length);while(same1000||text.indexOf("\n")>-1){input.value=self.prevInput=""}else{self.prevInput=text}});return true},ensurePolled:function(){if(this.pollingFast&&this.poll()){this.pollingFast=false}},onKeyPress:function(){if(ie&&ie_version>=9){this.hasSelection=null}this.fastPoll()},onContextMenu:function(e){var input=this,cm=input.cm,display=cm.display,te=input.textarea;var pos=posFromMouse(cm,e),scrollPos=display.scroller.scrollTop;if(!pos||presto){return}var reset=cm.options.resetSelectionOnContextMenu;if(reset&&cm.doc.sel.contains(pos)==-1){operation(cm,setSelection)(cm.doc,simpleSelection(pos),sel_dontScroll)}var oldCSS=te.style.cssText;input.wrapper.style.position="absolute";te.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(e.clientY-5)+"px; left: "+(e.clientX-5)+"px; z-index: 1000; background: "+(ie?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);";if(webkit){var oldScrollY=window.scrollY}display.input.focus();if(webkit){window.scrollTo(null,oldScrollY)}display.input.reset();if(!cm.somethingSelected()){te.value=input.prevInput=" "}input.contextMenuPending=true;display.selForContextMenu=cm.doc.sel;clearTimeout(display.detectingSelectAll);function prepareSelectAllHack(){if(te.selectionStart!=null){var selected=cm.somethingSelected();var extval=te.value="\u200b"+(selected?te.value:"");input.prevInput=selected?"":"\u200b";te.selectionStart=1;te.selectionEnd=extval.length;display.selForContextMenu=cm.doc.sel}}function rehide(){input.contextMenuPending=false;input.wrapper.style.position="relative";te.style.cssText=oldCSS;if(ie&&ie_version<9){display.scrollbars.setScrollTop(display.scroller.scrollTop=scrollPos)}if(te.selectionStart!=null){if(!ie||(ie&&ie_version<9)){prepareSelectAllHack()}var i=0,poll=function(){if(display.selForContextMenu==cm.doc.sel&&te.selectionStart==0){operation(cm,commands.selectAll)(cm)}else{if(i++<10){display.detectingSelectAll=setTimeout(poll,500)}else{display.input.reset()}}};display.detectingSelectAll=setTimeout(poll,200)}}if(ie&&ie_version>=9){prepareSelectAllHack()}if(captureRightClick){e_stop(e);var mouseup=function(){off(window,"mouseup",mouseup);setTimeout(rehide,20)};on(window,"mouseup",mouseup)}else{setTimeout(rehide,50)}},setUneditable:nothing,needsContentAttribute:false},TextareaInput.prototype);function ContentEditableInput(cm){this.cm=cm;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new Delayed()}ContentEditableInput.prototype=copyObj({init:function(display){var input=this,cm=input.cm;var div=input.div=display.lineDiv;div.contentEditable="true";disableBrowserMagic(div);on(div,"paste",function(e){var pasted=e.clipboardData&&e.clipboardData.getData("text/plain");if(pasted){e.preventDefault();cm.replaceSelection(pasted,null,"paste")}});on(div,"compositionstart",function(e){var data=e.data;input.composing={sel:cm.doc.sel,data:data,startData:data};if(!data){return}var prim=cm.doc.sel.primary();var line=cm.getLine(prim.head.line);var found=line.indexOf(data,Math.max(0,prim.head.ch-data.length));if(found>-1&&found<=prim.head.ch){input.composing.sel=simpleSelection(Pos(prim.head.line,found),Pos(prim.head.line,found+data.length))}});on(div,"compositionupdate",function(e){input.composing.data=e.data});on(div,"compositionend",function(e){var ours=input.composing;if(!ours){return}if(e.data!=ours.startData&&!/\u200b/.test(e.data)){ours.data=e.data}setTimeout(function(){if(!ours.handled){input.applyComposition(ours)}if(input.composing==ours){input.composing=null}},50)});on(div,"touchstart",function(){input.forceCompositionEnd()});on(div,"input",function(){if(input.composing){return}if(!input.pollContent()){runInOp(input.cm,function(){regChange(cm)})}});function onCopyCut(e){if(cm.somethingSelected()){lastCopied=cm.getSelections();if(e.type=="cut"){cm.replaceSelection("",null,"cut")}}else{var ranges=copyableRanges(cm);lastCopied=ranges.text;if(e.type=="cut"){cm.operation(function(){cm.setSelections(ranges.ranges,0,sel_dontScroll);cm.replaceSelection("",null,"cut")})}}if(e.clipboardData&&!ios){e.preventDefault();e.clipboardData.clearData();e.clipboardData.setData("text/plain",lastCopied.join("\n"))}else{var kludge=hiddenTextarea(),te=kludge.firstChild;cm.display.lineSpace.insertBefore(kludge,cm.display.lineSpace.firstChild);te.value=lastCopied.join("\n");var hadFocus=document.activeElement;selectInput(te);setTimeout(function(){cm.display.lineSpace.removeChild(kludge);hadFocus.focus()},50)}}on(div,"copy",onCopyCut);on(div,"cut",onCopyCut)},prepareSelection:function(){var result=prepareSelection(this.cm,false);result.focus=this.cm.state.focused;return result},showSelection:function(info){if(!info||!this.cm.display.view.length){return +}if(info.focus){this.showPrimarySelection()}this.showMultipleSelections(info)},showPrimarySelection:function(){var sel=window.getSelection(),prim=this.cm.doc.sel.primary();var curAnchor=domToPos(this.cm,sel.anchorNode,sel.anchorOffset);var curFocus=domToPos(this.cm,sel.focusNode,sel.focusOffset);if(curAnchor&&!curAnchor.bad&&curFocus&&!curFocus.bad&&cmp(minPos(curAnchor,curFocus),prim.from())==0&&cmp(maxPos(curAnchor,curFocus),prim.to())==0){return}var start=posToDOM(this.cm,prim.from());var end=posToDOM(this.cm,prim.to());if(!start&&!end){return}var view=this.cm.display.view;var old=sel.rangeCount&&sel.getRangeAt(0);if(!start){start={node:view[0].measure.map[2],offset:0}}else{if(!end){var measure=view[view.length-1].measure;var map=measure.maps?measure.maps[measure.maps.length-1]:measure.map;end={node:map[map.length-1],offset:map[map.length-2]-map[map.length-3]}}}try{var rng=range(start.node,start.offset,end.offset,end.node)}catch(e){}if(rng){sel.removeAllRanges();sel.addRange(rng);if(old&&sel.anchorNode==null){sel.addRange(old)}}this.rememberSelection()},showMultipleSelections:function(info){removeChildrenAndAdd(this.cm.display.cursorDiv,info.cursors);removeChildrenAndAdd(this.cm.display.selectionDiv,info.selection)},rememberSelection:function(){var sel=window.getSelection();this.lastAnchorNode=sel.anchorNode;this.lastAnchorOffset=sel.anchorOffset;this.lastFocusNode=sel.focusNode;this.lastFocusOffset=sel.focusOffset},selectionInEditor:function(){var sel=window.getSelection();if(!sel.rangeCount){return false}var node=sel.getRangeAt(0).commonAncestorContainer;return contains(this.div,node)},focus:function(){if(this.cm.options.readOnly!="nocursor"){this.div.focus()}},blur:function(){this.div.blur()},getField:function(){return this.div},supportsTouch:function(){return true},receivedFocus:function(){var input=this;if(this.selectionInEditor()){this.pollSelection()}else{runInOp(this.cm,function(){input.cm.curOp.selectionChanged=true})}function poll(){if(input.cm.state.focused){input.pollSelection();input.polling.set(input.cm.options.pollInterval,poll)}}this.polling.set(this.cm.options.pollInterval,poll)},pollSelection:function(){if(this.composing){return}var sel=window.getSelection(),cm=this.cm;if(sel.anchorNode!=this.lastAnchorNode||sel.anchorOffset!=this.lastAnchorOffset||sel.focusNode!=this.lastFocusNode||sel.focusOffset!=this.lastFocusOffset){this.rememberSelection();var anchor=domToPos(cm,sel.anchorNode,sel.anchorOffset);var head=domToPos(cm,sel.focusNode,sel.focusOffset);if(anchor&&head){runInOp(cm,function(){setSelection(cm.doc,simpleSelection(anchor,head),sel_dontScroll);if(anchor.bad||head.bad){cm.curOp.selectionChanged=true}})}}},pollContent:function(){var cm=this.cm,display=cm.display,sel=cm.doc.sel.primary();var from=sel.from(),to=sel.to();if(from.linedisplay.viewTo-1){return false}var fromIndex;if(from.line==display.viewFrom||(fromIndex=findViewIndex(cm,from.line))==0){var fromLine=lineNo(display.view[0].line);var fromNode=display.view[0].node}else{var fromLine=lineNo(display.view[fromIndex].line);var fromNode=display.view[fromIndex-1].node.nextSibling}var toIndex=findViewIndex(cm,to.line);if(toIndex==display.view.length-1){var toLine=display.viewTo-1;var toNode=display.view[toIndex].node}else{var toLine=lineNo(display.view[toIndex+1].line)-1;var toNode=display.view[toIndex+1].node.previousSibling}var newText=splitLines(domTextBetween(cm,fromNode,toNode,fromLine,toLine));var oldText=getBetween(cm.doc,Pos(fromLine,0),Pos(toLine,getLine(cm.doc,toLine).text.length));while(newText.length>1&&oldText.length>1){if(lst(newText)==lst(oldText)){newText.pop();oldText.pop();toLine--}else{if(newText[0]==oldText[0]){newText.shift();oldText.shift();fromLine++}else{break}}}var cutFront=0,cutEnd=0;var newTop=newText[0],oldTop=oldText[0],maxCutFront=Math.min(newTop.length,oldTop.length);while(cutFront1||newText[0]||cmp(chFrom,chTo)){replaceRange(cm.doc,newText,chFrom,chTo,"+input");return true}},ensurePolled:function(){this.forceCompositionEnd()},reset:function(){this.forceCompositionEnd()},forceCompositionEnd:function(){if(!this.composing||this.composing.handled){return}this.applyComposition(this.composing);this.composing.handled=true;this.div.blur();this.div.focus()},applyComposition:function(composing){if(composing.data&&composing.data!=composing.startData){operation(this.cm,applyTextInput)(this.cm,composing.data,0,composing.sel) +}},setUneditable:function(node){node.setAttribute("contenteditable","false")},onKeyPress:function(e){e.preventDefault();operation(this.cm,applyTextInput)(this.cm,String.fromCharCode(e.charCode==null?e.keyCode:e.charCode),0)},onContextMenu:nothing,resetPosition:nothing,needsContentAttribute:true},ContentEditableInput.prototype);function posToDOM(cm,pos){var view=findViewForLine(cm,pos.line);if(!view||view.hidden){return null}var line=getLine(cm.doc,pos.line);var info=mapFromLineView(view,line,pos.line);var order=getOrder(line),side="left";if(order){var partPos=getBidiPartAt(order,pos.ch);side=partPos%2?"right":"left"}var result=nodeAndOffsetInLineMap(info.map,pos.ch,"left");result.offset=result.collapse=="right"?result.end:result.start;return result}function badPos(pos,bad){if(bad){pos.bad=true}return pos}function domToPos(cm,node,offset){var lineNode;if(node==cm.display.lineDiv){lineNode=cm.display.lineDiv.childNodes[offset];if(!lineNode){return badPos(cm.clipPos(Pos(cm.display.viewTo-1)),true)}node=null;offset=0}else{for(lineNode=node;;lineNode=lineNode.parentNode){if(!lineNode||lineNode==cm.display.lineDiv){return null}if(lineNode.parentNode&&lineNode.parentNode==cm.display.lineDiv){break}}}for(var i=0;i=0&&cmp(pos,range.to())<=0){return i}}return -1}};function Range(anchor,head){this.anchor=anchor;this.head=head +}Range.prototype={from:function(){return minPos(this.anchor,this.head)},to:function(){return maxPos(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};function normalizeSelection(ranges,primIndex){var prim=ranges[primIndex];ranges.sort(function(a,b){return cmp(a.from(),b.from())});primIndex=indexOf(ranges,prim);for(var i=1;i=0){var from=minPos(prev.from(),cur.from()),to=maxPos(prev.to(),cur.to());var inv=prev.empty()?cur.from()==cur.head:prev.from()==prev.head;if(i<=primIndex){--primIndex}ranges.splice(--i,2,new Range(inv?to:from,inv?from:to))}}return new Selection(ranges,primIndex)}function simpleSelection(anchor,head){return new Selection([new Range(anchor,head||anchor)],0)}function clipLine(doc,n){return Math.max(doc.first,Math.min(n,doc.first+doc.size-1))}function clipPos(doc,pos){if(pos.linelast){return Pos(last,getLine(doc,last).text.length)}return clipToLen(pos,getLine(doc,pos.line).text.length)}function clipToLen(pos,linelen){var ch=pos.ch;if(ch==null||ch>linelen){return Pos(pos.line,linelen)}else{if(ch<0){return Pos(pos.line,0)}else{return pos}}}function isLine(doc,l){return l>=doc.first&&l=curPos.ch:sp.to>curPos.ch))){if(mayClear){signal(m,"beforeCursorEnter");if(m.explicitlyCleared){if(!line.markedSpans){break}else{--i;continue}}}if(!m.atomic){continue}var newPos=m.find(dir<0?-1:1);if(cmp(newPos,curPos)==0){newPos.ch+=dir; +if(newPos.ch<0){if(newPos.line>doc.first){newPos=clipPos(doc,Pos(newPos.line-1))}else{newPos=null}}else{if(newPos.ch>line.text.length){if(newPos.line3){add(left,leftPos.top,null,leftPos.bottom);left=leftSide;if(leftPos.bottomend.bottom||rightPos.bottom==end.bottom&&rightPos.right>end.right){end=rightPos}if(left0){display.blinker=setInterval(function(){display.cursorDiv.style.visibility=(on=!on)?"":"hidden"},cm.options.cursorBlinkRate)}else{if(cm.options.cursorBlinkRate<0){display.cursorDiv.style.visibility="hidden"}}}function startWorker(cm,time){if(cm.doc.mode.startState&&cm.doc.frontier=cm.display.viewTo){return}var end=+new Date+cm.options.workTime;var state=copyState(doc.mode,getStateBefore(cm,doc.frontier));var changedLines=[];doc.iter(doc.frontier,Math.min(doc.first+doc.size,cm.display.viewTo+500),function(line){if(doc.frontier>=cm.display.viewFrom){var oldStyles=line.styles; +var highlighted=highlightLine(cm,line,state,true);line.styles=highlighted.styles;var oldCls=line.styleClasses,newCls=highlighted.classes;if(newCls){line.styleClasses=newCls}else{if(oldCls){line.styleClasses=null}}var ischange=!oldStyles||oldStyles.length!=line.styles.length||oldCls!=newCls&&(!oldCls||!newCls||oldCls.bgClass!=newCls.bgClass||oldCls.textClass!=newCls.textClass);for(var i=0;!ischange&&iend){startWorker(cm,cm.options.workDelay);return true}});if(changedLines.length){runInOp(cm,function(){for(var i=0;ilim;--search){if(search<=doc.first){return doc.first}var line=getLine(doc,search-1);if(line.stateAfter&&(!precise||search<=doc.frontier)){return search}var indented=countColumn(line.text,null,cm.options.tabSize);if(minline==null||minindent>indented){minline=search-1;minindent=indented}}return minline}function getStateBefore(cm,n,precise){var doc=cm.doc,display=cm.display;if(!doc.mode.startState){return true}var pos=findStartLine(cm,n,precise),state=pos>doc.first&&getLine(doc,pos-1).stateAfter;if(!state){state=startState(doc.mode)}else{state=copyState(doc.mode,state)}doc.iter(pos,n,function(line){processLine(cm,line.text,state);var save=pos==n-1||pos%5==0||pos>=display.viewFrom&&pos2){heights.push((cur.bottom+next.top)/2-rect.top)}}}heights.push(rect.bottom-rect.top)}}function mapFromLineView(lineView,line,lineN){if(lineView.line==line){return{map:lineView.measure.map,cache:lineView.measure.cache}}for(var i=0;ilineN){return{map:lineView.measure.maps[i],cache:lineView.measure.caches[i],before:true}}}}function updateExternalMeasurement(cm,line){line=visualLine(line);var lineN=lineNo(line);var view=cm.display.externalMeasured=new LineView(cm.doc,line,lineN);view.lineN=lineN;var built=view.built=buildLineContent(cm,view);view.text=built.pre;removeChildrenAndAdd(cm.display.lineMeasure,built.pre);return view}function measureChar(cm,line,ch,bias){return measureCharPrepared(cm,prepareMeasureForLine(cm,line),ch,bias)}function findViewForLine(cm,lineN){if(lineN>=cm.display.viewFrom&&lineN=ext.lineN&&lineNch){end=mEnd-mStart;start=end-1;if(ch>=mEnd){collapse="right"}}}}if(start!=null){node=map[i+2];if(mStart==mEnd&&bias==(node.insertLeft?"left":"right")){collapse=bias}if(bias=="left"&&start==0){while(i&&map[i-2]==map[i-3]&&map[i-1].insertLeft){node=map[(i-=3)+2];collapse="left"}}if(bias=="right"&&start==mEnd-mStart){while(i0){collapse=bias="right"}var rects;if(cm.options.lineWrapping&&(rects=node.getClientRects()).length>1){rect=rects[bias=="right"?rects.length-1:0]}else{rect=node.getBoundingClientRect()}}if(ie&&ie_version<9&&!start&&(!rect||!rect.left&&!rect.right)){var rSpan=node.parentNode.getClientRects()[0];if(rSpan){rect={left:rSpan.left,right:rSpan.left+charWidth(cm.display),top:rSpan.top,bottom:rSpan.bottom}}else{rect=nullRect}}var rtop=rect.top-prepared.rect.top,rbot=rect.bottom-prepared.rect.top;var mid=(rtop+rbot)/2;var heights=prepared.view.measure.heights;for(var i=0;ipart.from){return get(ch-1)}return get(ch,right)}var order=getOrder(lineObj),ch=pos.ch;if(!order){return get(ch)}var partPos=getBidiPartAt(order,ch);var val=getBidi(ch,partPos);if(bidiOther!=null){val.other=getBidi(ch,bidiOther)}return val}function estimateCoords(cm,pos){var left=0,pos=clipPos(cm.doc,pos);if(!cm.options.lineWrapping){left=charWidth(cm.display)*pos.ch}var lineObj=getLine(cm.doc,pos.line);var top=heightAtLine(lineObj)+paddingTop(cm.display);return{left:left,right:left,top:top,bottom:top+lineObj.height}}function PosWithInfo(line,ch,outside,xRel){var pos=Pos(line,ch);pos.xRel=xRel;if(outside){pos.outside=true}return pos}function coordsChar(cm,x,y){var doc=cm.doc;y+=cm.display.viewOffset;if(y<0){return PosWithInfo(doc.first,0,true,-1)}var lineN=lineAtHeight(doc,y),last=doc.first+doc.size-1;if(lineN>last){return PosWithInfo(doc.first+doc.size-1,getLine(doc,last).text.length,true,1)}if(x<0){x=0}var lineObj=getLine(doc,lineN);for(;;){var found=coordsCharInner(cm,lineObj,lineN,x,y);var merged=collapsedSpanAtEnd(lineObj);var mergedPos=merged&&merged.find(0,true);if(merged&&(found.ch>mergedPos.from.ch||found.ch==mergedPos.from.ch&&found.xRel>0)){lineN=lineNo(lineObj=mergedPos.to.line)}else{return found}}}function coordsCharInner(cm,lineObj,lineNo,x,y){var innerOff=y-heightAtLine(lineObj);var wrongLine=false,adjust=2*cm.display.wrapper.clientWidth;var preparedMeasure=prepareMeasureForLine(cm,lineObj);function getX(ch){var sp=cursorCoords(cm,Pos(lineNo,ch),"line",lineObj,preparedMeasure);wrongLine=true;if(innerOff>sp.bottom){return sp.left-adjust}else{if(innerOfftoX){return PosWithInfo(lineNo,to,toOutside,1)}for(;;){if(bidi?to==from||to==moveVisually(lineObj,from,1):to-from<=1){var ch=x1?1:0);return pos}var step=Math.ceil(dist/2),middle=from+step;if(bidi){middle=from;for(var i=0;ix){to=middle;toX=middleX;if(toOutside=wrongLine){toX+=1000}dist=step}else{from=middle;fromX=middleX;fromOutside=wrongLine;dist-=step}}}var measureText;function textHeight(display){if(display.cachedTextHeight!=null){return display.cachedTextHeight}if(measureText==null){measureText=elt("pre");for(var i=0;i<49;++i){measureText.appendChild(document.createTextNode("x"));measureText.appendChild(elt("br"))}measureText.appendChild(document.createTextNode("x"))}removeChildrenAndAdd(display.measure,measureText);var height=measureText.offsetHeight/50;if(height>3){display.cachedTextHeight=height}removeChildren(display.measure);return height||1}function charWidth(display){if(display.cachedCharWidth!=null){return display.cachedCharWidth}var anchor=elt("span","xxxxxxxxxx");var pre=elt("pre",[anchor]);removeChildrenAndAdd(display.measure,pre);var rect=anchor.getBoundingClientRect(),width=(rect.right-rect.left)/10;if(width>2){display.cachedCharWidth=width}return width||10}var operationGroup=null;var nextOpId=0;function startOperation(cm){cm.curOp={cm:cm,viewChanged:false,startHeight:cm.doc.height,forceUpdate:false,updateInput:null,typing:false,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:false,updateMaxLine:false,scrollLeft:null,scrollTop:null,scrollToPos:null,id:++nextOpId};if(operationGroup){operationGroup.ops.push(cm.curOp)}else{cm.curOp.ownsGroup=operationGroup={ops:[cm.curOp],delayedCallbacks:[]}}}function fireCallbacksForOps(group){var callbacks=group.delayedCallbacks,i=0; +do{for(;i=display.viewTo)||display.maxLineChanged&&cm.options.lineWrapping;op.update=op.mustUpdate&&new DisplayUpdate(cm,op.mustUpdate&&{top:op.scrollTop,ensure:op.scrollToPos},op.forceUpdate)}function endOperation_W1(op){op.updatedDisplay=op.mustUpdate&&updateDisplayIfNeeded(op.cm,op.update)}function endOperation_R2(op){var cm=op.cm,display=cm.display;if(op.updatedDisplay){updateHeightsInViewport(cm)}op.barMeasure=measureForScrollbars(cm);if(display.maxLineChanged&&!cm.options.lineWrapping){op.adjustWidthTo=measureChar(cm,display.maxLine,display.maxLine.text.length).left+3;cm.display.sizerWidth=op.adjustWidthTo;op.barMeasure.scrollWidth=Math.max(display.scroller.clientWidth,display.sizer.offsetLeft+op.adjustWidthTo+scrollGap(cm)+cm.display.barWidth);op.maxScrollLeft=Math.max(0,display.sizer.offsetLeft+op.adjustWidthTo-displayWidth(cm))}if(op.updatedDisplay||op.selectionChanged){op.preparedSelection=display.input.prepareSelection()}}function endOperation_W2(op){var cm=op.cm;if(op.adjustWidthTo!=null){cm.display.sizer.style.minWidth=op.adjustWidthTo+"px";if(op.maxScrollLeft