@egova/egova-api 1.0.197 → 1.0.200

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -20485,6 +20485,677 @@ exports.version = "1.2.9";
20485
20485
 
20486
20486
  module.exports = window.ace.acequire("ace/ace");
20487
20487
 
20488
+ /***/ }),
20489
+
20490
+ /***/ "0696":
20491
+ /***/ (function(module, exports, __webpack_require__) {
20492
+
20493
+ ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(acequire, exports, module) {
20494
+ "use strict";
20495
+
20496
+ var oop = acequire("../lib/oop");
20497
+ var TextHighlightRules = acequire("./text_highlight_rules").TextHighlightRules;
20498
+
20499
+ var XmlHighlightRules = function(normalize) {
20500
+ var tagRegex = "[_:a-zA-Z\xc0-\uffff][-_:.a-zA-Z0-9\xc0-\uffff]*";
20501
+
20502
+ this.$rules = {
20503
+ start : [
20504
+ {token : "string.cdata.xml", regex : "<\\!\\[CDATA\\[", next : "cdata"},
20505
+ {
20506
+ token : ["punctuation.instruction.xml", "keyword.instruction.xml"],
20507
+ regex : "(<\\?)(" + tagRegex + ")", next : "processing_instruction"
20508
+ },
20509
+ {token : "comment.start.xml", regex : "<\\!--", next : "comment"},
20510
+ {
20511
+ token : ["xml-pe.doctype.xml", "xml-pe.doctype.xml"],
20512
+ regex : "(<\\!)(DOCTYPE)(?=[\\s])", next : "doctype", caseInsensitive: true
20513
+ },
20514
+ {include : "tag"},
20515
+ {token : "text.end-tag-open.xml", regex: "</"},
20516
+ {token : "text.tag-open.xml", regex: "<"},
20517
+ {include : "reference"},
20518
+ {defaultToken : "text.xml"}
20519
+ ],
20520
+
20521
+ processing_instruction : [{
20522
+ token : "entity.other.attribute-name.decl-attribute-name.xml",
20523
+ regex : tagRegex
20524
+ }, {
20525
+ token : "keyword.operator.decl-attribute-equals.xml",
20526
+ regex : "="
20527
+ }, {
20528
+ include: "whitespace"
20529
+ }, {
20530
+ include: "string"
20531
+ }, {
20532
+ token : "punctuation.xml-decl.xml",
20533
+ regex : "\\?>",
20534
+ next : "start"
20535
+ }],
20536
+
20537
+ doctype : [
20538
+ {include : "whitespace"},
20539
+ {include : "string"},
20540
+ {token : "xml-pe.doctype.xml", regex : ">", next : "start"},
20541
+ {token : "xml-pe.xml", regex : "[-_a-zA-Z0-9:]+"},
20542
+ {token : "punctuation.int-subset", regex : "\\[", push : "int_subset"}
20543
+ ],
20544
+
20545
+ int_subset : [{
20546
+ token : "text.xml",
20547
+ regex : "\\s+"
20548
+ }, {
20549
+ token: "punctuation.int-subset.xml",
20550
+ regex: "]",
20551
+ next: "pop"
20552
+ }, {
20553
+ token : ["punctuation.markup-decl.xml", "keyword.markup-decl.xml"],
20554
+ regex : "(<\\!)(" + tagRegex + ")",
20555
+ push : [{
20556
+ token : "text",
20557
+ regex : "\\s+"
20558
+ },
20559
+ {
20560
+ token : "punctuation.markup-decl.xml",
20561
+ regex : ">",
20562
+ next : "pop"
20563
+ },
20564
+ {include : "string"}]
20565
+ }],
20566
+
20567
+ cdata : [
20568
+ {token : "string.cdata.xml", regex : "\\]\\]>", next : "start"},
20569
+ {token : "text.xml", regex : "\\s+"},
20570
+ {token : "text.xml", regex : "(?:[^\\]]|\\](?!\\]>))+"}
20571
+ ],
20572
+
20573
+ comment : [
20574
+ {token : "comment.end.xml", regex : "-->", next : "start"},
20575
+ {defaultToken : "comment.xml"}
20576
+ ],
20577
+
20578
+ reference : [{
20579
+ token : "constant.language.escape.reference.xml",
20580
+ regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
20581
+ }],
20582
+
20583
+ attr_reference : [{
20584
+ token : "constant.language.escape.reference.attribute-value.xml",
20585
+ regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
20586
+ }],
20587
+
20588
+ tag : [{
20589
+ token : ["meta.tag.punctuation.tag-open.xml", "meta.tag.punctuation.end-tag-open.xml", "meta.tag.tag-name.xml"],
20590
+ regex : "(?:(<)|(</))((?:" + tagRegex + ":)?" + tagRegex + ")",
20591
+ next: [
20592
+ {include : "attributes"},
20593
+ {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : "start"}
20594
+ ]
20595
+ }],
20596
+
20597
+ tag_whitespace : [
20598
+ {token : "text.tag-whitespace.xml", regex : "\\s+"}
20599
+ ],
20600
+ whitespace : [
20601
+ {token : "text.whitespace.xml", regex : "\\s+"}
20602
+ ],
20603
+ string: [{
20604
+ token : "string.xml",
20605
+ regex : "'",
20606
+ push : [
20607
+ {token : "string.xml", regex: "'", next: "pop"},
20608
+ {defaultToken : "string.xml"}
20609
+ ]
20610
+ }, {
20611
+ token : "string.xml",
20612
+ regex : '"',
20613
+ push : [
20614
+ {token : "string.xml", regex: '"', next: "pop"},
20615
+ {defaultToken : "string.xml"}
20616
+ ]
20617
+ }],
20618
+
20619
+ attributes: [{
20620
+ token : "entity.other.attribute-name.xml",
20621
+ regex : tagRegex
20622
+ }, {
20623
+ token : "keyword.operator.attribute-equals.xml",
20624
+ regex : "="
20625
+ }, {
20626
+ include: "tag_whitespace"
20627
+ }, {
20628
+ include: "attribute_value"
20629
+ }],
20630
+
20631
+ attribute_value: [{
20632
+ token : "string.attribute-value.xml",
20633
+ regex : "'",
20634
+ push : [
20635
+ {token : "string.attribute-value.xml", regex: "'", next: "pop"},
20636
+ {include : "attr_reference"},
20637
+ {defaultToken : "string.attribute-value.xml"}
20638
+ ]
20639
+ }, {
20640
+ token : "string.attribute-value.xml",
20641
+ regex : '"',
20642
+ push : [
20643
+ {token : "string.attribute-value.xml", regex: '"', next: "pop"},
20644
+ {include : "attr_reference"},
20645
+ {defaultToken : "string.attribute-value.xml"}
20646
+ ]
20647
+ }]
20648
+ };
20649
+
20650
+ if (this.constructor === XmlHighlightRules)
20651
+ this.normalizeRules();
20652
+ };
20653
+
20654
+
20655
+ (function() {
20656
+
20657
+ this.embedTagRules = function(HighlightRules, prefix, tag){
20658
+ this.$rules.tag.unshift({
20659
+ token : ["meta.tag.punctuation.tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
20660
+ regex : "(<)(" + tag + "(?=\\s|>|$))",
20661
+ next: [
20662
+ {include : "attributes"},
20663
+ {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next : prefix + "start"}
20664
+ ]
20665
+ });
20666
+
20667
+ this.$rules[tag + "-end"] = [
20668
+ {include : "attributes"},
20669
+ {token : "meta.tag.punctuation.tag-close.xml", regex : "/?>", next: "start",
20670
+ onMatch : function(value, currentState, stack) {
20671
+ stack.splice(0);
20672
+ return this.token;
20673
+ }}
20674
+ ];
20675
+
20676
+ this.embedRules(HighlightRules, prefix, [{
20677
+ token: ["meta.tag.punctuation.end-tag-open.xml", "meta.tag." + tag + ".tag-name.xml"],
20678
+ regex : "(</)(" + tag + "(?=\\s|>|$))",
20679
+ next: tag + "-end"
20680
+ }, {
20681
+ token: "string.cdata.xml",
20682
+ regex : "<\\!\\[CDATA\\["
20683
+ }, {
20684
+ token: "string.cdata.xml",
20685
+ regex : "\\]\\]>"
20686
+ }]);
20687
+ };
20688
+
20689
+ }).call(TextHighlightRules.prototype);
20690
+
20691
+ oop.inherits(XmlHighlightRules, TextHighlightRules);
20692
+
20693
+ exports.XmlHighlightRules = XmlHighlightRules;
20694
+ });
20695
+
20696
+ ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(acequire, exports, module) {
20697
+ "use strict";
20698
+
20699
+ var oop = acequire("../../lib/oop");
20700
+ var Behaviour = acequire("../behaviour").Behaviour;
20701
+ var TokenIterator = acequire("../../token_iterator").TokenIterator;
20702
+ var lang = acequire("../../lib/lang");
20703
+
20704
+ function is(token, type) {
20705
+ return token.type.lastIndexOf(type + ".xml") > -1;
20706
+ }
20707
+
20708
+ var XmlBehaviour = function () {
20709
+
20710
+ this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
20711
+ if (text == '"' || text == "'") {
20712
+ var quote = text;
20713
+ var selected = session.doc.getTextRange(editor.getSelectionRange());
20714
+ if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
20715
+ return {
20716
+ text: quote + selected + quote,
20717
+ selection: false
20718
+ };
20719
+ }
20720
+
20721
+ var cursor = editor.getCursorPosition();
20722
+ var line = session.doc.getLine(cursor.row);
20723
+ var rightChar = line.substring(cursor.column, cursor.column + 1);
20724
+ var iterator = new TokenIterator(session, cursor.row, cursor.column);
20725
+ var token = iterator.getCurrentToken();
20726
+
20727
+ if (rightChar == quote && (is(token, "attribute-value") || is(token, "string"))) {
20728
+ return {
20729
+ text: "",
20730
+ selection: [1, 1]
20731
+ };
20732
+ }
20733
+
20734
+ if (!token)
20735
+ token = iterator.stepBackward();
20736
+
20737
+ if (!token)
20738
+ return;
20739
+
20740
+ while (is(token, "tag-whitespace") || is(token, "whitespace")) {
20741
+ token = iterator.stepBackward();
20742
+ }
20743
+ var rightSpace = !rightChar || rightChar.match(/\s/);
20744
+ if (is(token, "attribute-equals") && (rightSpace || rightChar == '>') || (is(token, "decl-attribute-equals") && (rightSpace || rightChar == '?'))) {
20745
+ return {
20746
+ text: quote + quote,
20747
+ selection: [1, 1]
20748
+ };
20749
+ }
20750
+ }
20751
+ });
20752
+
20753
+ this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
20754
+ var selected = session.doc.getTextRange(range);
20755
+ if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
20756
+ var line = session.doc.getLine(range.start.row);
20757
+ var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
20758
+ if (rightChar == selected) {
20759
+ range.end.column++;
20760
+ return range;
20761
+ }
20762
+ }
20763
+ });
20764
+
20765
+ this.add("autoclosing", "insertion", function (state, action, editor, session, text) {
20766
+ if (text == '>') {
20767
+ var position = editor.getSelectionRange().start;
20768
+ var iterator = new TokenIterator(session, position.row, position.column);
20769
+ var token = iterator.getCurrentToken() || iterator.stepBackward();
20770
+ if (!token || !(is(token, "tag-name") || is(token, "tag-whitespace") || is(token, "attribute-name") || is(token, "attribute-equals") || is(token, "attribute-value")))
20771
+ return;
20772
+ if (is(token, "reference.attribute-value"))
20773
+ return;
20774
+ if (is(token, "attribute-value")) {
20775
+ var firstChar = token.value.charAt(0);
20776
+ if (firstChar == '"' || firstChar == "'") {
20777
+ var lastChar = token.value.charAt(token.value.length - 1);
20778
+ var tokenEnd = iterator.getCurrentTokenColumn() + token.value.length;
20779
+ if (tokenEnd > position.column || tokenEnd == position.column && firstChar != lastChar)
20780
+ return;
20781
+ }
20782
+ }
20783
+ while (!is(token, "tag-name")) {
20784
+ token = iterator.stepBackward();
20785
+ if (token.value == "<") {
20786
+ token = iterator.stepForward();
20787
+ break;
20788
+ }
20789
+ }
20790
+
20791
+ var tokenRow = iterator.getCurrentTokenRow();
20792
+ var tokenColumn = iterator.getCurrentTokenColumn();
20793
+ if (is(iterator.stepBackward(), "end-tag-open"))
20794
+ return;
20795
+
20796
+ var element = token.value;
20797
+ if (tokenRow == position.row)
20798
+ element = element.substring(0, position.column - tokenColumn);
20799
+
20800
+ if (this.voidElements.hasOwnProperty(element.toLowerCase()))
20801
+ return;
20802
+
20803
+ return {
20804
+ text: ">" + "</" + element + ">",
20805
+ selection: [1, 1]
20806
+ };
20807
+ }
20808
+ });
20809
+
20810
+ this.add("autoindent", "insertion", function (state, action, editor, session, text) {
20811
+ if (text == "\n") {
20812
+ var cursor = editor.getCursorPosition();
20813
+ var line = session.getLine(cursor.row);
20814
+ var iterator = new TokenIterator(session, cursor.row, cursor.column);
20815
+ var token = iterator.getCurrentToken();
20816
+
20817
+ if (token && token.type.indexOf("tag-close") !== -1) {
20818
+ if (token.value == "/>")
20819
+ return;
20820
+ while (token && token.type.indexOf("tag-name") === -1) {
20821
+ token = iterator.stepBackward();
20822
+ }
20823
+
20824
+ if (!token) {
20825
+ return;
20826
+ }
20827
+
20828
+ var tag = token.value;
20829
+ var row = iterator.getCurrentTokenRow();
20830
+ token = iterator.stepBackward();
20831
+ if (!token || token.type.indexOf("end-tag") !== -1) {
20832
+ return;
20833
+ }
20834
+
20835
+ if (this.voidElements && !this.voidElements[tag]) {
20836
+ var nextToken = session.getTokenAt(cursor.row, cursor.column+1);
20837
+ var line = session.getLine(row);
20838
+ var nextIndent = this.$getIndent(line);
20839
+ var indent = nextIndent + session.getTabString();
20840
+
20841
+ if (nextToken && nextToken.value === "</") {
20842
+ return {
20843
+ text: "\n" + indent + "\n" + nextIndent,
20844
+ selection: [1, indent.length, 1, indent.length]
20845
+ };
20846
+ } else {
20847
+ return {
20848
+ text: "\n" + indent
20849
+ };
20850
+ }
20851
+ }
20852
+ }
20853
+ }
20854
+ });
20855
+
20856
+ };
20857
+
20858
+ oop.inherits(XmlBehaviour, Behaviour);
20859
+
20860
+ exports.XmlBehaviour = XmlBehaviour;
20861
+ });
20862
+
20863
+ ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"], function(acequire, exports, module) {
20864
+ "use strict";
20865
+
20866
+ var oop = acequire("../../lib/oop");
20867
+ var lang = acequire("../../lib/lang");
20868
+ var Range = acequire("../../range").Range;
20869
+ var BaseFoldMode = acequire("./fold_mode").FoldMode;
20870
+ var TokenIterator = acequire("../../token_iterator").TokenIterator;
20871
+
20872
+ var FoldMode = exports.FoldMode = function(voidElements, optionalEndTags) {
20873
+ BaseFoldMode.call(this);
20874
+ this.voidElements = voidElements || {};
20875
+ this.optionalEndTags = oop.mixin({}, this.voidElements);
20876
+ if (optionalEndTags)
20877
+ oop.mixin(this.optionalEndTags, optionalEndTags);
20878
+
20879
+ };
20880
+ oop.inherits(FoldMode, BaseFoldMode);
20881
+
20882
+ var Tag = function() {
20883
+ this.tagName = "";
20884
+ this.closing = false;
20885
+ this.selfClosing = false;
20886
+ this.start = {row: 0, column: 0};
20887
+ this.end = {row: 0, column: 0};
20888
+ };
20889
+
20890
+ function is(token, type) {
20891
+ return token.type.lastIndexOf(type + ".xml") > -1;
20892
+ }
20893
+
20894
+ (function() {
20895
+
20896
+ this.getFoldWidget = function(session, foldStyle, row) {
20897
+ var tag = this._getFirstTagInLine(session, row);
20898
+
20899
+ if (!tag)
20900
+ return this.getCommentFoldWidget(session, row);
20901
+
20902
+ if (tag.closing || (!tag.tagName && tag.selfClosing))
20903
+ return foldStyle == "markbeginend" ? "end" : "";
20904
+
20905
+ if (!tag.tagName || tag.selfClosing || this.voidElements.hasOwnProperty(tag.tagName.toLowerCase()))
20906
+ return "";
20907
+
20908
+ if (this._findEndTagInLine(session, row, tag.tagName, tag.end.column))
20909
+ return "";
20910
+
20911
+ return "start";
20912
+ };
20913
+
20914
+ this.getCommentFoldWidget = function(session, row) {
20915
+ if (/comment/.test(session.getState(row)) && /<!-/.test(session.getLine(row)))
20916
+ return "start";
20917
+ return "";
20918
+ };
20919
+ this._getFirstTagInLine = function(session, row) {
20920
+ var tokens = session.getTokens(row);
20921
+ var tag = new Tag();
20922
+
20923
+ for (var i = 0; i < tokens.length; i++) {
20924
+ var token = tokens[i];
20925
+ if (is(token, "tag-open")) {
20926
+ tag.end.column = tag.start.column + token.value.length;
20927
+ tag.closing = is(token, "end-tag-open");
20928
+ token = tokens[++i];
20929
+ if (!token)
20930
+ return null;
20931
+ tag.tagName = token.value;
20932
+ tag.end.column += token.value.length;
20933
+ for (i++; i < tokens.length; i++) {
20934
+ token = tokens[i];
20935
+ tag.end.column += token.value.length;
20936
+ if (is(token, "tag-close")) {
20937
+ tag.selfClosing = token.value == '/>';
20938
+ break;
20939
+ }
20940
+ }
20941
+ return tag;
20942
+ } else if (is(token, "tag-close")) {
20943
+ tag.selfClosing = token.value == '/>';
20944
+ return tag;
20945
+ }
20946
+ tag.start.column += token.value.length;
20947
+ }
20948
+
20949
+ return null;
20950
+ };
20951
+
20952
+ this._findEndTagInLine = function(session, row, tagName, startColumn) {
20953
+ var tokens = session.getTokens(row);
20954
+ var column = 0;
20955
+ for (var i = 0; i < tokens.length; i++) {
20956
+ var token = tokens[i];
20957
+ column += token.value.length;
20958
+ if (column < startColumn)
20959
+ continue;
20960
+ if (is(token, "end-tag-open")) {
20961
+ token = tokens[i + 1];
20962
+ if (token && token.value == tagName)
20963
+ return true;
20964
+ }
20965
+ }
20966
+ return false;
20967
+ };
20968
+ this._readTagForward = function(iterator) {
20969
+ var token = iterator.getCurrentToken();
20970
+ if (!token)
20971
+ return null;
20972
+
20973
+ var tag = new Tag();
20974
+ do {
20975
+ if (is(token, "tag-open")) {
20976
+ tag.closing = is(token, "end-tag-open");
20977
+ tag.start.row = iterator.getCurrentTokenRow();
20978
+ tag.start.column = iterator.getCurrentTokenColumn();
20979
+ } else if (is(token, "tag-name")) {
20980
+ tag.tagName = token.value;
20981
+ } else if (is(token, "tag-close")) {
20982
+ tag.selfClosing = token.value == "/>";
20983
+ tag.end.row = iterator.getCurrentTokenRow();
20984
+ tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;
20985
+ iterator.stepForward();
20986
+ return tag;
20987
+ }
20988
+ } while(token = iterator.stepForward());
20989
+
20990
+ return null;
20991
+ };
20992
+
20993
+ this._readTagBackward = function(iterator) {
20994
+ var token = iterator.getCurrentToken();
20995
+ if (!token)
20996
+ return null;
20997
+
20998
+ var tag = new Tag();
20999
+ do {
21000
+ if (is(token, "tag-open")) {
21001
+ tag.closing = is(token, "end-tag-open");
21002
+ tag.start.row = iterator.getCurrentTokenRow();
21003
+ tag.start.column = iterator.getCurrentTokenColumn();
21004
+ iterator.stepBackward();
21005
+ return tag;
21006
+ } else if (is(token, "tag-name")) {
21007
+ tag.tagName = token.value;
21008
+ } else if (is(token, "tag-close")) {
21009
+ tag.selfClosing = token.value == "/>";
21010
+ tag.end.row = iterator.getCurrentTokenRow();
21011
+ tag.end.column = iterator.getCurrentTokenColumn() + token.value.length;
21012
+ }
21013
+ } while(token = iterator.stepBackward());
21014
+
21015
+ return null;
21016
+ };
21017
+
21018
+ this._pop = function(stack, tag) {
21019
+ while (stack.length) {
21020
+
21021
+ var top = stack[stack.length-1];
21022
+ if (!tag || top.tagName == tag.tagName) {
21023
+ return stack.pop();
21024
+ }
21025
+ else if (this.optionalEndTags.hasOwnProperty(top.tagName)) {
21026
+ stack.pop();
21027
+ continue;
21028
+ } else {
21029
+ return null;
21030
+ }
21031
+ }
21032
+ };
21033
+
21034
+ this.getFoldWidgetRange = function(session, foldStyle, row) {
21035
+ var firstTag = this._getFirstTagInLine(session, row);
21036
+
21037
+ if (!firstTag) {
21038
+ return this.getCommentFoldWidget(session, row)
21039
+ && session.getCommentFoldRange(row, session.getLine(row).length);
21040
+ }
21041
+
21042
+ var isBackward = firstTag.closing || firstTag.selfClosing;
21043
+ var stack = [];
21044
+ var tag;
21045
+
21046
+ if (!isBackward) {
21047
+ var iterator = new TokenIterator(session, row, firstTag.start.column);
21048
+ var start = {
21049
+ row: row,
21050
+ column: firstTag.start.column + firstTag.tagName.length + 2
21051
+ };
21052
+ if (firstTag.start.row == firstTag.end.row)
21053
+ start.column = firstTag.end.column;
21054
+ while (tag = this._readTagForward(iterator)) {
21055
+ if (tag.selfClosing) {
21056
+ if (!stack.length) {
21057
+ tag.start.column += tag.tagName.length + 2;
21058
+ tag.end.column -= 2;
21059
+ return Range.fromPoints(tag.start, tag.end);
21060
+ } else
21061
+ continue;
21062
+ }
21063
+
21064
+ if (tag.closing) {
21065
+ this._pop(stack, tag);
21066
+ if (stack.length == 0)
21067
+ return Range.fromPoints(start, tag.start);
21068
+ }
21069
+ else {
21070
+ stack.push(tag);
21071
+ }
21072
+ }
21073
+ }
21074
+ else {
21075
+ var iterator = new TokenIterator(session, row, firstTag.end.column);
21076
+ var end = {
21077
+ row: row,
21078
+ column: firstTag.start.column
21079
+ };
21080
+
21081
+ while (tag = this._readTagBackward(iterator)) {
21082
+ if (tag.selfClosing) {
21083
+ if (!stack.length) {
21084
+ tag.start.column += tag.tagName.length + 2;
21085
+ tag.end.column -= 2;
21086
+ return Range.fromPoints(tag.start, tag.end);
21087
+ } else
21088
+ continue;
21089
+ }
21090
+
21091
+ if (!tag.closing) {
21092
+ this._pop(stack, tag);
21093
+ if (stack.length == 0) {
21094
+ tag.start.column += tag.tagName.length + 2;
21095
+ if (tag.start.row == tag.end.row && tag.start.column < tag.end.column)
21096
+ tag.start.column = tag.end.column;
21097
+ return Range.fromPoints(tag.start, end);
21098
+ }
21099
+ }
21100
+ else {
21101
+ stack.push(tag);
21102
+ }
21103
+ }
21104
+ }
21105
+
21106
+ };
21107
+
21108
+ }).call(FoldMode.prototype);
21109
+
21110
+ });
21111
+
21112
+ ace.define("ace/mode/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/xml_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/xml","ace/worker/worker_client"], function(acequire, exports, module) {
21113
+ "use strict";
21114
+
21115
+ var oop = acequire("../lib/oop");
21116
+ var lang = acequire("../lib/lang");
21117
+ var TextMode = acequire("./text").Mode;
21118
+ var XmlHighlightRules = acequire("./xml_highlight_rules").XmlHighlightRules;
21119
+ var XmlBehaviour = acequire("./behaviour/xml").XmlBehaviour;
21120
+ var XmlFoldMode = acequire("./folding/xml").FoldMode;
21121
+ var WorkerClient = acequire("../worker/worker_client").WorkerClient;
21122
+
21123
+ var Mode = function() {
21124
+ this.HighlightRules = XmlHighlightRules;
21125
+ this.$behaviour = new XmlBehaviour();
21126
+ this.foldingRules = new XmlFoldMode();
21127
+ };
21128
+
21129
+ oop.inherits(Mode, TextMode);
21130
+
21131
+ (function() {
21132
+
21133
+ this.voidElements = lang.arrayToMap([]);
21134
+
21135
+ this.blockComment = {start: "<!--", end: "-->"};
21136
+
21137
+ this.createWorker = function(session) {
21138
+ var worker = new WorkerClient(["ace"], __webpack_require__("275b"), "Worker");
21139
+ worker.attachToDocument(session.getDocument());
21140
+
21141
+ worker.on("error", function(e) {
21142
+ session.setAnnotations(e.data);
21143
+ });
21144
+
21145
+ worker.on("terminate", function() {
21146
+ session.clearAnnotations();
21147
+ });
21148
+
21149
+ return worker;
21150
+ };
21151
+
21152
+ this.$id = "ace/mode/xml";
21153
+ }).call(Mode.prototype);
21154
+
21155
+ exports.Mode = Mode;
21156
+ });
21157
+
21158
+
20488
21159
  /***/ }),
20489
21160
 
20490
21161
  /***/ "06cf":
@@ -20519,7 +21190,7 @@ exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDes
20519
21190
  /***/ "07ab":
20520
21191
  /***/ (function(module, exports) {
20521
21192
 
20522
- module.exports = "<div class=\"u-tree-node\">\r\n<!-- <i class=\"iconfont\" :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"></i>-->\r\n <i class=\"iconfont icon-mulushu\" @click=\"onClickNode\"></i>\r\n <div class=\"name\" @click=\"onClickNode\">{{data.name}}</div>\r\n <i-dropdown @on-click=\"onClick\" transfer transfer-class-name=\"node-oprate\" v-if=\"data.id !== 'virtual_root_directory'\">\r\n <i-icon type=\"ios-more\" />\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item v-for=\"item in actions\" :key=\"item.name\" :name=\"item.name\">\r\n <template v-if=\"item.name === 'import'\">\r\n <i-upload\r\n class=\"action-item\"\r\n :action=\"uploadAction\"\r\n :data=\"uploadParams\"\r\n accept=\".json\"\r\n :headers=\"headers\"\r\n :show-upload-list=\"false\"\r\n :format=\"['json']\"\r\n :on-success=\"onSuccess\"\r\n :before-upload=\"onBeforeUpload\"\r\n :on-format-error=\"onFormatError\"\r\n >\r\n <i title=\"导入\" class=\"iconfont icon-import\"></i>{{item.text}}\r\n </i-upload>\r\n </template>\r\n <template v-else> <i class=\"iconfont\" :class=\"'icon-' + (item.icon || item.name)\"></i>{{item.text}} </template>\r\n </i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n</div>\r\n"
21193
+ module.exports = "<div class=\"u-tree-node\">\n<!-- <i class=\"iconfont\" :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"></i>-->\n <i class=\"iconfont icon-mulushu\" @click=\"onClickNode\"></i>\n <div class=\"name\" @click=\"onClickNode\">{{data.name}}</div>\n <i-dropdown @on-click=\"onClick\" transfer transfer-class-name=\"node-oprate\" v-if=\"data.id !== 'virtual_root_directory'\">\n <i-icon type=\"ios-more\" />\n <i-dropdown-menu slot=\"list\">\n <i-dropdown-item v-for=\"item in actions\" :key=\"item.name\" :name=\"item.name\">\n <template v-if=\"item.name === 'import'\">\n <i-upload\n class=\"action-item\"\n :action=\"uploadAction\"\n :data=\"uploadParams\"\n accept=\".json\"\n :headers=\"headers\"\n :show-upload-list=\"false\"\n :format=\"['json']\"\n :on-success=\"onSuccess\"\n :before-upload=\"onBeforeUpload\"\n :on-format-error=\"onFormatError\"\n >\n <i title=\"导入\" class=\"iconfont icon-import\"></i>{{item.text}}\n </i-upload>\n </template>\n <template v-else> <i class=\"iconfont\" :class=\"'icon-' + (item.icon || item.name)\"></i>{{item.text}} </template>\n </i-dropdown-item>\n </i-dropdown-menu>\n </i-dropdown>\n</div>\n"
20523
21194
 
20524
21195
  /***/ }),
20525
21196
 
@@ -20557,7 +21228,7 @@ module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-c
20557
21228
  /***/ "0941":
20558
21229
  /***/ (function(module, exports) {
20559
21230
 
20560
- module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-api-project-modal diy-modal\">\r\n <header slot=\"header\">添加API</header>\r\n <main>\r\n <i-split v-model=\"splitHorizontal\">\r\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择列表</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-tree :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\r\n </div>\r\n </section>\r\n <section slot=\"right\" class=\"right-content\">\r\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\r\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择模型</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-api-project-list\r\n :data=\"tableData\"\r\n :paging.sync=\"paging\"\r\n @on-search=\"onSearch\"\r\n @on-page-index-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n @on-selection-change=\"onSelectionChange\"\r\n @on-delete-refresh=\"getTableData\"\r\n >\r\n </u-api-project-list>\r\n </div>\r\n </section>\r\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\r\n <div class=\"card-panel-header\">\r\n <span>已选({{checkedLength}})</span>\r\n <span>\r\n <i-poptip confirm title=\"您确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\r\n <span class=\"action-text\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>清空</span>\r\n </span>\r\n </i-poptip>\r\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\r\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\r\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <template v-if=\"checkedData?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </div>\r\n </section>\r\n </i-split>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-if=\"isLoading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n </main>\r\n <footer slot=\"footer\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n </footer>\r\n</i-modal>\r\n"
21231
+ module.exports = "<i-modal draggable sticky transfer reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-api-project-modal diy-modal\">\n <header slot=\"header\">添加API</header>\n <main>\n <i-split v-model=\"splitHorizontal\">\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\n <div class=\"card-panel-header\">\n <span>选择列表</span>\n </div>\n <div class=\"card-panel-main\">\n <u-tree :commonTaskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\n </div>\n </section>\n <section slot=\"right\" class=\"right-content\">\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\n <div class=\"card-panel-header\">\n <span>选择模型</span>\n </div>\n <div class=\"card-panel-main\">\n <u-api-project-list\n :data=\"tableData\"\n :paging.sync=\"paging\"\n @on-search=\"onSearch\"\n @on-page-index-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n @on-selection-change=\"onSelectionChange\"\n @on-delete-refresh=\"getTableData\"\n @on-row-click=\"onRowClick\"\n >\n </u-api-project-list>\n </div>\n </section>\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\n <div class=\"card-panel-header\">\n <span>已选({{checkedLength}})</span>\n <span>\n <i-poptip confirm title=\"您确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\n <span class=\"action-text\">\n <i class=\"iconfont icon-delete\"></i>\n <span>清空</span>\n </span>\n </i-poptip>\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\n </span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <template v-if=\"checkedData?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </div>\n </section>\n </i-split>\n </section>\n </i-split>\n <i-spin fix v-if=\"isLoading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n </main>\n <footer slot=\"footer\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n </footer>\n</i-modal>\n"
20561
21232
 
20562
21233
  /***/ }),
20563
21234
 
@@ -24216,6 +24887,13 @@ module.exports = "<article class=\"after-execution-transfer\">\r\n <i-form :l
24216
24887
 
24217
24888
  /***/ }),
24218
24889
 
24890
+ /***/ "2380":
24891
+ /***/ (function(module, exports, __webpack_require__) {
24892
+
24893
+ // extracted by mini-css-extract-plugin
24894
+
24895
+ /***/ }),
24896
+
24219
24897
  /***/ "23cb":
24220
24898
  /***/ (function(module, exports, __webpack_require__) {
24221
24899
 
@@ -24416,6 +25094,14 @@ module.exports = function (CONSTRUCTOR_NAME) {
24416
25094
 
24417
25095
  /***/ }),
24418
25096
 
25097
+ /***/ "275b":
25098
+ /***/ (function(module, exports) {
25099
+
25100
+ module.exports.id = 'ace/mode/xml_worker';
25101
+ module.exports.src = "\"no use strict\";!function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\"\";testPath;){var alias=paths[testPath];if(\"string\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\/*$/,\"/\")+(tail||alias.main||alias.name);if(alias===!1)return\"\";var i=testPath.lastIndexOf(\"/\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\"log\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\"error\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\"!\")){var chunks=moduleName.split(\"!\");return window.normalizeModule(parentId,chunks[0])+\"!\"+window.normalizeModule(parentId,chunks[1])}if(\".\"==moduleName.charAt(0)){var base=parentId.split(\"/\").slice(0,-1).join(\"/\");for(moduleName=(base?base+\"/\":\"\")+moduleName;-1!==moduleName.indexOf(\".\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,\"\").replace(/\\/\\.\\//,\"/\").replace(/[^\\/]+\\/\\.\\.\\//,\"\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\"worker.js acequire() accepts only (parentId, id) as arguments\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\"unable to load \"+id);var path=resolveModuleId(id,window.acequire.tlns);return\".js\"!=path.slice(-3)&&(path+=\".js\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\"string\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\"function\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\"require\",\"exports\",\"module\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\"require\":return req;case\"exports\":return module.exports;case\"module\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\"ace/lib/event_emitter\").EventEmitter,oop=window.acequire(\"ace/lib/oop\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\"call\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\"event\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\"Unknown command:\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\"ace/lib/es5-shim\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}}(this),ace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\"\").reverse().join(\"\")},exports.stringRepeat=function(string,count){for(var result=\"\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\s\\s*/,trimEndRegexp=/\\s\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\"\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\"\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\"object\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\"object\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\"[object Object]\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,\"\\\\$1\")},exports.escapeHTML=function(str){return str.replace(/&/g,\"&#38;\").replace(/\"/g,\"&#34;\").replace(/'/g,\"&#39;\").replace(/</g,\"&#60;\")},exports.getMatchOffsets=function(string,regExp){var matches=[];return string.replace(regExp,function(str){matches.push({offset:arguments[arguments.length-2],length:str.length})}),matches},exports.deferredCall=function(fcn){var timer=null,callback=function(){timer=null,fcn()},deferred=function(timeout){return deferred.cancel(),timer=setTimeout(callback,timeout||0),deferred};return deferred.schedule=deferred,deferred.call=function(){return this.cancel(),fcn(),deferred},deferred.cancel=function(){return clearTimeout(timer),timer=null,deferred},deferred.isPending=function(){return timer},deferred},exports.delayedCall=function(fcn,defaultTimeout){var timer=null,callback=function(){timer=null,fcn()},_self=function(timeout){null==timer&&(timer=setTimeout(callback,timeout||defaultTimeout))};return _self.delay=function(timeout){timer&&clearTimeout(timer),timer=setTimeout(callback,timeout||defaultTimeout)},_self.schedule=_self,_self.call=function(){this.cancel(),fcn()},_self.cancel=function(){timer&&clearTimeout(timer),timer=null},_self.isPending=function(){return timer},_self}}),ace.define(\"ace/range\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\"Range: [\"+this.start.row+\"/\"+this.start.column+\"] -> [\"+this.end.row+\"/\"+this.end.column+\"]\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\"object\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\"object\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\"\";switch(delta.action){case\"insert\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\"remove\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\"object\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\"unshift\":\"push\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.column<point2.column;return point1.row<point2.row||point1.row==point2.row&&bColIsAfter}function $getTransformedPoint(delta,point,moveIfEqual){var deltaIsInsert=\"insert\"==delta.action,deltaRowShift=(deltaIsInsert?1:-1)*(delta.end.row-delta.start.row),deltaColShift=(deltaIsInsert?1:-1)*(delta.end.column-delta.start.column),deltaStart=delta.start,deltaEnd=deltaIsInsert?deltaStart:delta.end;return $pointsInOrder(point,deltaStart,moveIfEqual)?{row:point.row,column:point.column}:$pointsInOrder(deltaEnd,point,!moveIfEqual)?{row:point.row+deltaRowShift,column:point.column+(point.row==deltaEnd.row?deltaColShift:0)}:{row:deltaStart.row,column:deltaStart.column}}oop.implement(this,EventEmitter),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(delta){if(!(delta.start.row==delta.end.row&&delta.start.row!=this.row||delta.start.row>this.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\"change\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\"change\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\"change\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),applyDelta=acequire(\"./apply_delta\").applyDelta,EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Range=acequire(\"./range\").Range,Anchor=acequire(\"./anchor\").Anchor,Document=function(textOrLines){this.$lines=[\"\"],0===textOrLines.length?this.$lines=[\"\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\"aaa\".split(/a/).length?function(text){return text.replace(/\\r\\n|\\r/g,\"\\n\").split(\"\\n\")}:function(text){return text.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=match?match[1]:\"\\n\",this._signal(\"changeNewLineMode\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\"windows\":return\"\\r\\n\";case\"unix\":return\"\\n\";default:return this.$autoNewLine||\"\\n\"}},this.$autoNewLine=\"\",this.$newLineMode=\"auto\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\"changeNewLineMode\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\"\\r\\n\"==text||\"\\r\"==text||\"\\n\"==text},this.getLine=function(row){return this.$lines[row]||\"\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\"\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\"),this.insertMergedLines(position,[\"\",\"\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\"insert\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\"\"]),column=0):(lines=[\"\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\"insert\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\"remove\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\"remove\",lines:[\"\",\"\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\"insert\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\"change\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\"\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\"insert\"==delta.action?\"remove\":\"insert\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\"ace/worker/mirror\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/document\",\"ace/lib/lang\"],function(acequire,exports){\"use strict\";acequire(\"../range\").Range;var Document=acequire(\"../document\").Document,lang=acequire(\"../lib/lang\"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(\"\"),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on(\"change\",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:\"insert\",start:data[i],lines:data[i+1]};else var d={action:\"remove\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\"ace/mode/xml/sax\",[\"require\",\"exports\",\"module\"],function(){function XMLReader(){}function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){function fixedFromCharCode(code){if(code>65535){code-=65536;var surrogate1=55296+(code>>10),surrogate2=56320+(1023&code);return String.fromCharCode(surrogate1,surrogate2)}return String.fromCharCode(code)}function entityReplacer(a){var k=a.slice(1,-1);return k in entityMap?entityMap[k]:\"#\"===k.charAt(0)?fixedFromCharCode(parseInt(k.substr(1).replace(\"x\",\"0x\"))):(errorHandler.error(\"entity not found:\"+a),a)}function appendText(end){var xt=source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);locator&&position(start),domBuilder.characters(xt,0,end-start),start=end}function position(start,m){for(;start>=endPos&&(m=linePattern.exec(source));)startPos=m.index,endPos=startPos+m[0].length,locator.lineNumber++;locator.columnNumber=start-startPos+1}for(var startPos=0,endPos=0,linePattern=/.+(?:\\r\\n?|\\n)|.*$/g,locator=domBuilder.locator,parseStack=[{currentNSMap:defaultNSMapCopy}],closeMap={},start=0;;){var i=source.indexOf(\"<\",start);if(0>i){if(!source.substr(start).match(/^\\s*$/)){var doc=domBuilder.document,text=doc.createTextNode(source.substr(start));doc.appendChild(text),domBuilder.currentElement=text}return}switch(i>start&&appendText(i),source.charAt(i+1)){case\"/\":var config,end=source.indexOf(\">\",i+3),tagName=source.substring(i+2,end);if(!(parseStack.length>1)){errorHandler.fatalError(\"end tag name not found for: \"+tagName);break}config=parseStack.pop();var localNSMap=config.localNSMap;if(config.tagName!=tagName&&errorHandler.fatalError(\"end tag name: \"+tagName+\" does not match the current start tagName: \"+config.tagName),domBuilder.endElement(config.uri,config.localName,tagName),localNSMap)for(var prefix in localNSMap)domBuilder.endPrefixMapping(prefix);end++;break;case\"?\":locator&&position(i),end=parseInstruction(source,i,domBuilder);break;case\"!\":locator&&position(i),end=parseDCC(source,i,domBuilder,errorHandler);break;default:try{locator&&position(i);var el=new ElementAttributes,end=parseElementStartPart(source,i,el,entityReplacer,errorHandler),len=el.length;if(len&&locator){for(var backup=copyLocator(locator,{}),i=0;len>i;i++){var a=el[i];position(a.offset),a.offset=copyLocator(locator,{})}copyLocator(backup,locator)}!el.closed&&fixSelfClosed(source,end,el.tagName,closeMap)&&(el.closed=!0,entityMap.nbsp||errorHandler.warning(\"unclosed xml attribute\")),appendElement(el,domBuilder,parseStack),\"http://www.w3.org/1999/xhtml\"!==el.uri||el.closed?end++:end=parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)}catch(e){errorHandler.error(\"element parse error: \"+e),end=-1}}0>end?appendText(i+1):start=end}}function copyLocator(f,t){return t.lineNumber=f.lineNumber,t.columnNumber=f.columnNumber,t}function parseElementStartPart(source,start,el,entityReplacer,errorHandler){for(var attrName,value,p=++start,s=S_TAG;;){var c=source.charAt(p);switch(c){case\"=\":if(s===S_ATTR)attrName=source.slice(start,p),s=S_EQ;else{if(s!==S_ATTR_S)throw Error(\"attribute equal must after attrName\");s=S_EQ}break;case\"'\":case'\"':if(s===S_EQ){if(start=p+1,p=source.indexOf(c,start),!(p>0))throw Error(\"attribute value no end '\"+c+\"' match\");value=source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer),el.add(attrName,value,start-1),s=S_E}else{if(s!=S_V)throw Error('attribute value must after \"=\"');value=source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer),el.add(attrName,value,start),errorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+\")!!\"),start=p+1,s=S_E}break;case\"/\":switch(s){case S_TAG:el.setTagName(source.slice(start,p));case S_E:case S_S:case S_C:s=S_C,el.closed=!0;case S_V:case S_ATTR:case S_ATTR_S:break;default:throw Error(\"attribute invalid close char('/')\")}break;case\"\":errorHandler.error(\"unexpected end of input\");case\">\":switch(s){case S_TAG:el.setTagName(source.slice(start,p));case S_E:case S_S:case S_C:break;case S_V:case S_ATTR:value=source.slice(start,p),\"/\"===value.slice(-1)&&(el.closed=!0,value=value.slice(0,-1));case S_ATTR_S:s===S_ATTR_S&&(value=attrName),s==S_V?(errorHandler.warning('attribute \"'+value+'\" missed quot(\")!!'),el.add(attrName,value.replace(/&#?\\w+;/g,entityReplacer),start)):(errorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!'),el.add(value,value,start));break;case S_EQ:throw Error(\"attribute value missed!!\")}return p;case\"€\":c=\" \";default:if(\" \">=c)switch(s){case S_TAG:el.setTagName(source.slice(start,p)),s=S_S;break;case S_ATTR:attrName=source.slice(start,p),s=S_ATTR_S;break;case S_V:var value=source.slice(start,p).replace(/&#?\\w+;/g,entityReplacer);errorHandler.warning('attribute \"'+value+'\" missed quot(\")!!'),el.add(attrName,value,start);case S_E:s=S_S}else switch(s){case S_ATTR_S:errorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead!!'),el.add(attrName,attrName,start),start=p,s=S_ATTR;\nbreak;case S_E:errorHandler.warning('attribute space is acequired\"'+attrName+'\"!!');case S_S:s=S_ATTR,start=p;break;case S_EQ:s=S_V,start=p;break;case S_C:throw Error(\"elements closed character '/' and '>' must be connected to\")}}p++}}function appendElement(el,domBuilder,parseStack){for(var tagName=el.tagName,localNSMap=null,currentNSMap=parseStack[parseStack.length-1].currentNSMap,i=el.length;i--;){var a=el[i],qName=a.qName,value=a.value,nsp=qName.indexOf(\":\");if(nsp>0)var prefix=a.prefix=qName.slice(0,nsp),localName=qName.slice(nsp+1),nsPrefix=\"xmlns\"===prefix&&localName;else localName=qName,prefix=null,nsPrefix=\"xmlns\"===qName&&\"\";a.localName=localName,nsPrefix!==!1&&(null==localNSMap&&(localNSMap={},_copy(currentNSMap,currentNSMap={})),currentNSMap[nsPrefix]=localNSMap[nsPrefix]=value,a.uri=\"http://www.w3.org/2000/xmlns/\",domBuilder.startPrefixMapping(nsPrefix,value))}for(var i=el.length;i--;){a=el[i];var prefix=a.prefix;prefix&&(\"xml\"===prefix&&(a.uri=\"http://www.w3.org/XML/1998/namespace\"),\"xmlns\"!==prefix&&(a.uri=currentNSMap[prefix]))}var nsp=tagName.indexOf(\":\");nsp>0?(prefix=el.prefix=tagName.slice(0,nsp),localName=el.localName=tagName.slice(nsp+1)):(prefix=null,localName=el.localName=tagName);var ns=el.uri=currentNSMap[prefix||\"\"];if(domBuilder.startElement(ns,localName,tagName,el),el.closed){if(domBuilder.endElement(ns,localName,tagName),localNSMap)for(prefix in localNSMap)domBuilder.endPrefixMapping(prefix)}else el.currentNSMap=currentNSMap,el.localNSMap=localNSMap,parseStack.push(el)}function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){if(/^(?:script|textarea)$/i.test(tagName)){var elEndStart=source.indexOf(\"</\"+tagName+\">\",elStartEnd),text=source.substring(elStartEnd+1,elEndStart);if(/[&<]/.test(text))return/^script$/i.test(tagName)?(domBuilder.characters(text,0,text.length),elEndStart):(text=text.replace(/&#?\\w+;/g,entityReplacer),domBuilder.characters(text,0,text.length),elEndStart)}return elStartEnd+1}function fixSelfClosed(source,elStartEnd,tagName,closeMap){var pos=closeMap[tagName];return null==pos&&(pos=closeMap[tagName]=source.lastIndexOf(\"</\"+tagName+\">\")),elStartEnd>pos}function _copy(source,target){for(var n in source)target[n]=source[n]}function parseDCC(source,start,domBuilder,errorHandler){var next=source.charAt(start+2);switch(next){case\"-\":if(\"-\"===source.charAt(start+3)){var end=source.indexOf(\"-->\",start+4);return end>start?(domBuilder.comment(source,start+4,end-start-4),end+3):(errorHandler.error(\"Unclosed comment\"),-1)}return-1;default:if(\"CDATA[\"==source.substr(start+3,6)){var end=source.indexOf(\"]]>\",start+9);return domBuilder.startCDATA(),domBuilder.characters(source,start+9,end-start-9),domBuilder.endCDATA(),end+3}var matchs=split(source,start),len=matchs.length;if(len>1&&/!doctype/i.test(matchs[0][0])){var name=matchs[1][0],pubid=len>3&&/^public$/i.test(matchs[2][0])&&matchs[3][0],sysid=len>4&&matchs[4][0],lastMatch=matchs[len-1];return domBuilder.startDTD(name,pubid&&pubid.replace(/^(['\"])(.*?)\\1$/,\"$2\"),sysid&&sysid.replace(/^(['\"])(.*?)\\1$/,\"$2\")),domBuilder.endDTD(),lastMatch.index+lastMatch[0].length}}return-1}function parseInstruction(source,start,domBuilder){var end=source.indexOf(\"?>\",start);if(end){var match=source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);return match?(match[0].length,domBuilder.processingInstruction(match[1],match[2]),end+2):-1}return-1}function ElementAttributes(){}function _set_proto_(thiz,parent){return thiz.__proto__=parent,thiz}function split(source,start){var match,buf=[],reg=/'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;for(reg.lastIndex=start,reg.exec(source);match=reg.exec(source);)if(buf.push(match),match[1])return buf}var nameStartChar=/[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/,nameChar=RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"·̀-ͯ\\\\ux203F-⁀]\"),tagNamePattern=RegExp(\"^\"+nameStartChar.source+nameChar.source+\"*(?::\"+nameStartChar.source+nameChar.source+\"*)?$\"),S_TAG=0,S_ATTR=1,S_ATTR_S=2,S_EQ=3,S_V=4,S_E=5,S_S=6,S_C=7;return XMLReader.prototype={parse:function(source,defaultNSMap,entityMap){var domBuilder=this.domBuilder;domBuilder.startDocument(),_copy(defaultNSMap,defaultNSMap={}),parse(source,defaultNSMap,entityMap,domBuilder,this.errorHandler),domBuilder.endDocument()}},ElementAttributes.prototype={setTagName:function(tagName){if(!tagNamePattern.test(tagName))throw Error(\"invalid tagName:\"+tagName);this.tagName=tagName},add:function(qName,value,offset){if(!tagNamePattern.test(qName))throw Error(\"invalid attribute:\"+qName);this[this.length++]={qName:qName,value:value,offset:offset}},length:0,getLocalName:function(i){return this[i].localName},getOffset:function(i){return this[i].offset},getQName:function(i){return this[i].qName},getURI:function(i){return this[i].uri},getValue:function(i){return this[i].value}},_set_proto_({},_set_proto_.prototype)instanceof _set_proto_||(_set_proto_=function(thiz,parent){function p(){}p.prototype=parent,p=new p;for(parent in thiz)p[parent]=thiz[parent];return p}),XMLReader}),ace.define(\"ace/mode/xml/dom\",[\"require\",\"exports\",\"module\"],function(){function copy(src,dest){for(var p in src)dest[p]=src[p]}function _extends(Class,Super){function t(){}var pt=Class.prototype;if(Object.create){var ppt=Object.create(Super.prototype);pt.__proto__=ppt}pt instanceof Super||(t.prototype=Super.prototype,t=new t,copy(pt,t),Class.prototype=pt=t),pt.constructor!=Class&&(\"function\"!=typeof Class&&console.error(\"unknow Class:\"+Class),pt.constructor=Class)}function DOMException(code,message){if(message instanceof Error)var error=message;else error=this,Error.call(this,ExceptionMessage[code]),this.message=ExceptionMessage[code],Error.captureStackTrace&&Error.captureStackTrace(this,DOMException);return error.code=code,message&&(this.message=this.message+\": \"+message),error}function NodeList(){}function LiveNodeList(node,refresh){this._node=node,this._refresh=refresh,_updateLiveList(this)}function _updateLiveList(list){var inc=list._node._inc||list._node.ownerDocument._inc;if(list._inc!=inc){var ls=list._refresh(list._node);__set__(list,\"length\",ls.length),copy(ls,list),list._inc=inc}}function NamedNodeMap(){}function _findNodeIndex(list,node){for(var i=list.length;i--;)if(list[i]===node)return i}function _addNamedNode(el,list,newAttr,oldAttr){if(oldAttr?list[_findNodeIndex(list,oldAttr)]=newAttr:list[list.length++]=newAttr,el){newAttr.ownerElement=el;var doc=el.ownerDocument;doc&&(oldAttr&&_onRemoveAttribute(doc,el,oldAttr),_onAddAttribute(doc,el,newAttr))}}function _removeNamedNode(el,list,attr){var i=_findNodeIndex(list,attr);if(!(i>=0))throw DOMException(NOT_FOUND_ERR,Error());for(var lastIndex=list.length-1;lastIndex>i;)list[i]=list[++i];if(list.length=lastIndex,el){var doc=el.ownerDocument;doc&&(_onRemoveAttribute(doc,el,attr),attr.ownerElement=null)}}function DOMImplementation(features){if(this._features={},features)for(var feature in features)this._features=features[feature]}function Node(){}function _xmlEncoder(c){return\"<\"==c&&\"&lt;\"||\">\"==c&&\"&gt;\"||\"&\"==c&&\"&amp;\"||'\"'==c&&\"&quot;\"||\"&#\"+c.charCodeAt()+\";\"}function _visitNode(node,callback){if(callback(node))return!0;if(node=node.firstChild)do if(_visitNode(node,callback))return!0;while(node=node.nextSibling)}function Document(){}function _onAddAttribute(doc,el,newAttr){doc&&doc._inc++;var ns=newAttr.namespaceURI;\"http://www.w3.org/2000/xmlns/\"==ns&&(el._nsMap[newAttr.prefix?newAttr.localName:\"\"]=newAttr.value)}function _onRemoveAttribute(doc,el,newAttr){doc&&doc._inc++;var ns=newAttr.namespaceURI;\"http://www.w3.org/2000/xmlns/\"==ns&&delete el._nsMap[newAttr.prefix?newAttr.localName:\"\"]}function _onUpdateChild(doc,el,newChild){if(doc&&doc._inc){doc._inc++;var cs=el.childNodes;if(newChild)cs[cs.length++]=newChild;else{for(var child=el.firstChild,i=0;child;)cs[i++]=child,child=child.nextSibling;cs.length=i}}}function _removeChild(parentNode,child){var previous=child.previousSibling,next=child.nextSibling;return previous?previous.nextSibling=next:parentNode.firstChild=next,next?next.previousSibling=previous:parentNode.lastChild=previous,_onUpdateChild(parentNode.ownerDocument,parentNode),child}function _insertBefore(parentNode,newChild,nextChild){var cp=newChild.parentNode;if(cp&&cp.removeChild(newChild),newChild.nodeType===DOCUMENT_FRAGMENT_NODE){var newFirst=newChild.firstChild;if(null==newFirst)return newChild;var newLast=newChild.lastChild}else newFirst=newLast=newChild;var pre=nextChild?nextChild.previousSibling:parentNode.lastChild;newFirst.previousSibling=pre,newLast.nextSibling=nextChild,pre?pre.nextSibling=newFirst:parentNode.firstChild=newFirst,null==nextChild?parentNode.lastChild=newLast:nextChild.previousSibling=newLast;do newFirst.parentNode=parentNode;while(newFirst!==newLast&&(newFirst=newFirst.nextSibling));return _onUpdateChild(parentNode.ownerDocument||parentNode,parentNode),newChild.nodeType==DOCUMENT_FRAGMENT_NODE&&(newChild.firstChild=newChild.lastChild=null),newChild}function _appendSingleChild(parentNode,newChild){var cp=newChild.parentNode;if(cp){var pre=parentNode.lastChild;cp.removeChild(newChild);var pre=parentNode.lastChild}var pre=parentNode.lastChild;return newChild.parentNode=parentNode,newChild.previousSibling=pre,newChild.nextSibling=null,pre?pre.nextSibling=newChild:parentNode.firstChild=newChild,parentNode.lastChild=newChild,_onUpdateChild(parentNode.ownerDocument,parentNode,newChild),newChild}function Element(){this._nsMap={}}function Attr(){}function CharacterData(){}function Text(){}function Comment(){}function CDATASection(){}function DocumentType(){}function Notation(){}function Entity(){}function EntityReference(){}function DocumentFragment(){}function ProcessingInstruction(){}function XMLSerializer(){}function serializeToString(node,buf){switch(node.nodeType){case ELEMENT_NODE:var attrs=node.attributes,len=attrs.length,child=node.firstChild,nodeName=node.tagName,isHTML=htmlns===node.namespaceURI;buf.push(\"<\",nodeName);for(var i=0;len>i;i++)serializeToString(attrs.item(i),buf,isHTML);if(child||isHTML&&!/^(?:meta|link|img|br|hr|input|button)$/i.test(nodeName)){if(buf.push(\">\"),isHTML&&/^script$/i.test(nodeName))child&&buf.push(child.data);else for(;child;)serializeToString(child,buf),child=child.nextSibling;buf.push(\"</\",nodeName,\">\")}else buf.push(\"/>\");return;case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:for(var child=node.firstChild;child;)serializeToString(child,buf),child=child.nextSibling;return;case ATTRIBUTE_NODE:return buf.push(\" \",node.name,'=\"',node.value.replace(/[<&\"]/g,_xmlEncoder),'\"');case TEXT_NODE:return buf.push(node.data.replace(/[<&]/g,_xmlEncoder));case CDATA_SECTION_NODE:return buf.push(\"<![CDATA[\",node.data,\"]]>\");case COMMENT_NODE:return buf.push(\"<!--\",node.data,\"-->\");case DOCUMENT_TYPE_NODE:var pubid=node.publicId,sysid=node.systemId;if(buf.push(\"<!DOCTYPE \",node.name),pubid)buf.push(' PUBLIC \"',pubid),sysid&&\".\"!=sysid&&buf.push('\" \"',sysid),buf.push('\">');else if(sysid&&\".\"!=sysid)buf.push(' SYSTEM \"',sysid,'\">');else{var sub=node.internalSubset;sub&&buf.push(\" [\",sub,\"]\"),buf.push(\">\")}return;case PROCESSING_INSTRUCTION_NODE:return buf.push(\"<?\",node.target,\" \",node.data,\"?>\");case ENTITY_REFERENCE_NODE:return buf.push(\"&\",node.nodeName,\";\");default:buf.push(\"??\",node.nodeName)}}function importNode(doc,node,deep){var node2;switch(node.nodeType){case ELEMENT_NODE:node2=node.cloneNode(!1),node2.ownerDocument=doc;case DOCUMENT_FRAGMENT_NODE:break;case ATTRIBUTE_NODE:deep=!0}if(node2||(node2=node.cloneNode(!1)),node2.ownerDocument=doc,node2.parentNode=null,deep)for(var child=node.firstChild;child;)node2.appendChild(importNode(doc,child,deep)),child=child.nextSibling;return node2}function cloneNode(doc,node,deep){var node2=new node.constructor;for(var n in node){var v=node[n];\"object\"!=typeof v&&v!=node2[n]&&(node2[n]=v)}switch(node.childNodes&&(node2.childNodes=new NodeList),node2.ownerDocument=doc,node2.nodeType){case ELEMENT_NODE:var attrs=node.attributes,attrs2=node2.attributes=new NamedNodeMap,len=attrs.length;attrs2._ownerElement=node2;for(var i=0;len>i;i++)node2.setAttributeNode(cloneNode(doc,attrs.item(i),!0));break;case ATTRIBUTE_NODE:deep=!0}if(deep)for(var child=node.firstChild;child;)node2.appendChild(cloneNode(doc,child,deep)),child=child.nextSibling;return node2}function __set__(object,key,value){object[key]=value}function getTextContent(node){switch(node.nodeType){case 1:case 11:var buf=[];for(node=node.firstChild;node;)7!==node.nodeType&&8!==node.nodeType&&buf.push(getTextContent(node)),node=node.nextSibling;return buf.join(\"\");default:return node.nodeValue}}var htmlns=\"http://www.w3.org/1999/xhtml\",NodeType={},ELEMENT_NODE=NodeType.ELEMENT_NODE=1,ATTRIBUTE_NODE=NodeType.ATTRIBUTE_NODE=2,TEXT_NODE=NodeType.TEXT_NODE=3,CDATA_SECTION_NODE=NodeType.CDATA_SECTION_NODE=4,ENTITY_REFERENCE_NODE=NodeType.ENTITY_REFERENCE_NODE=5,ENTITY_NODE=NodeType.ENTITY_NODE=6,PROCESSING_INSTRUCTION_NODE=NodeType.PROCESSING_INSTRUCTION_NODE=7,COMMENT_NODE=NodeType.COMMENT_NODE=8,DOCUMENT_NODE=NodeType.DOCUMENT_NODE=9,DOCUMENT_TYPE_NODE=NodeType.DOCUMENT_TYPE_NODE=10,DOCUMENT_FRAGMENT_NODE=NodeType.DOCUMENT_FRAGMENT_NODE=11,NOTATION_NODE=NodeType.NOTATION_NODE=12,ExceptionCode={},ExceptionMessage={};ExceptionCode.INDEX_SIZE_ERR=(ExceptionMessage[1]=\"Index size error\",1),ExceptionCode.DOMSTRING_SIZE_ERR=(ExceptionMessage[2]=\"DOMString size error\",2),ExceptionCode.HIERARCHY_REQUEST_ERR=(ExceptionMessage[3]=\"Hierarchy request error\",3),ExceptionCode.WRONG_DOCUMENT_ERR=(ExceptionMessage[4]=\"Wrong document\",4),ExceptionCode.INVALID_CHARACTER_ERR=(ExceptionMessage[5]=\"Invalid character\",5),ExceptionCode.NO_DATA_ALLOWED_ERR=(ExceptionMessage[6]=\"No data allowed\",6),ExceptionCode.NO_MODIFICATION_ALLOWED_ERR=(ExceptionMessage[7]=\"No modification allowed\",7);var NOT_FOUND_ERR=ExceptionCode.NOT_FOUND_ERR=(ExceptionMessage[8]=\"Not found\",8);ExceptionCode.NOT_SUPPORTED_ERR=(ExceptionMessage[9]=\"Not supported\",9);var INUSE_ATTRIBUTE_ERR=ExceptionCode.INUSE_ATTRIBUTE_ERR=(ExceptionMessage[10]=\"Attribute in use\",10);ExceptionCode.INVALID_STATE_ERR=(ExceptionMessage[11]=\"Invalid state\",11),ExceptionCode.SYNTAX_ERR=(ExceptionMessage[12]=\"Syntax error\",12),ExceptionCode.INVALID_MODIFICATION_ERR=(ExceptionMessage[13]=\"Invalid modification\",13),ExceptionCode.NAMESPACE_ERR=(ExceptionMessage[14]=\"Invalid namespace\",14),ExceptionCode.INVALID_ACCESS_ERR=(ExceptionMessage[15]=\"Invalid access\",15),DOMException.prototype=Error.prototype,copy(ExceptionCode,DOMException),NodeList.prototype={length:0,item:function(index){return this[index]||null}},LiveNodeList.prototype.item=function(i){return _updateLiveList(this),this[i]},_extends(LiveNodeList,NodeList),NamedNodeMap.prototype={length:0,item:NodeList.prototype.item,getNamedItem:function(key){for(var i=this.length;i--;){var attr=this[i];if(attr.nodeName==key)return attr}},setNamedItem:function(attr){var el=attr.ownerElement;if(el&&el!=this._ownerElement)throw new DOMException(INUSE_ATTRIBUTE_ERR);var oldAttr=this.getNamedItem(attr.nodeName);return _addNamedNode(this._ownerElement,this,attr,oldAttr),oldAttr},setNamedItemNS:function(attr){var oldAttr,el=attr.ownerElement;if(el&&el!=this._ownerElement)throw new DOMException(INUSE_ATTRIBUTE_ERR);return oldAttr=this.getNamedItemNS(attr.namespaceURI,attr.localName),_addNamedNode(this._ownerElement,this,attr,oldAttr),oldAttr},removeNamedItem:function(key){var attr=this.getNamedItem(key);return _removeNamedNode(this._ownerElement,this,attr),attr},removeNamedItemNS:function(namespaceURI,localName){var attr=this.getNamedItemNS(namespaceURI,localName);return _removeNamedNode(this._ownerElement,this,attr),attr},getNamedItemNS:function(namespaceURI,localName){for(var i=this.length;i--;){var node=this[i];if(node.localName==localName&&node.namespaceURI==namespaceURI)return node}return null}},DOMImplementation.prototype={hasFeature:function(feature,version){var versions=this._features[feature.toLowerCase()];return versions&&(!version||version in versions)?!0:!1},createDocument:function(namespaceURI,qualifiedName,doctype){var doc=new Document;if(doc.implementation=this,doc.childNodes=new NodeList,doc.doctype=doctype,doctype&&doc.appendChild(doctype),qualifiedName){var root=doc.createElementNS(namespaceURI,qualifiedName);doc.appendChild(root)}return doc},createDocumentType:function(qualifiedName,publicId,systemId){var node=new DocumentType;return node.name=qualifiedName,node.nodeName=qualifiedName,node.publicId=publicId,node.systemId=systemId,node}},Node.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(newChild,refChild){return _insertBefore(this,newChild,refChild)},replaceChild:function(newChild,oldChild){this.insertBefore(newChild,oldChild),oldChild&&this.removeChild(oldChild)},removeChild:function(oldChild){return _removeChild(this,oldChild)},appendChild:function(newChild){return this.insertBefore(newChild,null)},hasChildNodes:function(){return null!=this.firstChild},cloneNode:function(deep){return cloneNode(this.ownerDocument||this,this,deep)},normalize:function(){for(var child=this.firstChild;child;){var next=child.nextSibling;next&&next.nodeType==TEXT_NODE&&child.nodeType==TEXT_NODE?(this.removeChild(next),child.appendData(next.data)):(child.normalize(),child=next)}},isSupported:function(feature,version){return this.ownerDocument.implementation.hasFeature(feature,version)},hasAttributes:function(){return this.attributes.length>0},lookupPrefix:function(namespaceURI){for(var el=this;el;){var map=el._nsMap;if(map)for(var n in map)if(map[n]==namespaceURI)return n;el=2==el.nodeType?el.ownerDocument:el.parentNode}return null},lookupNamespaceURI:function(prefix){for(var el=this;el;){var map=el._nsMap;if(map&&prefix in map)return map[prefix];el=2==el.nodeType?el.ownerDocument:el.parentNode}return null},isDefaultNamespace:function(namespaceURI){var prefix=this.lookupPrefix(namespaceURI);return null==prefix}},copy(NodeType,Node),copy(NodeType,Node.prototype),Document.prototype={nodeName:\"#document\",nodeType:DOCUMENT_NODE,doctype:null,documentElement:null,_inc:1,insertBefore:function(newChild,refChild){if(newChild.nodeType==DOCUMENT_FRAGMENT_NODE){for(var child=newChild.firstChild;child;){var next=child.nextSibling;this.insertBefore(child,refChild),child=next}return newChild}return null==this.documentElement&&1==newChild.nodeType&&(this.documentElement=newChild),_insertBefore(this,newChild,refChild),newChild.ownerDocument=this,newChild},removeChild:function(oldChild){return this.documentElement==oldChild&&(this.documentElement=null),_removeChild(this,oldChild)},importNode:function(importedNode,deep){return importNode(this,importedNode,deep)},getElementById:function(id){var rtv=null;return _visitNode(this.documentElement,function(node){return 1==node.nodeType&&node.getAttribute(\"id\")==id?(rtv=node,!0):void 0}),rtv},createElement:function(tagName){var node=new Element;node.ownerDocument=this,node.nodeName=tagName,node.tagName=tagName,node.childNodes=new NodeList;var attrs=node.attributes=new NamedNodeMap;return attrs._ownerElement=node,node},createDocumentFragment:function(){var node=new DocumentFragment;return node.ownerDocument=this,node.childNodes=new NodeList,node},createTextNode:function(data){var node=new Text;return node.ownerDocument=this,node.appendData(data),node},createComment:function(data){var node=new Comment;return node.ownerDocument=this,node.appendData(data),node},createCDATASection:function(data){var node=new CDATASection;return node.ownerDocument=this,node.appendData(data),node},createProcessingInstruction:function(target,data){var node=new ProcessingInstruction;return node.ownerDocument=this,node.tagName=node.target=target,node.nodeValue=node.data=data,node},createAttribute:function(name){var node=new Attr;return node.ownerDocument=this,node.name=name,node.nodeName=name,node.localName=name,node.specified=!0,node},createEntityReference:function(name){var node=new EntityReference;return node.ownerDocument=this,node.nodeName=name,node},createElementNS:function(namespaceURI,qualifiedName){var node=new Element,pl=qualifiedName.split(\":\"),attrs=node.attributes=new NamedNodeMap;return node.childNodes=new NodeList,node.ownerDocument=this,node.nodeName=qualifiedName,node.tagName=qualifiedName,node.namespaceURI=namespaceURI,2==pl.length?(node.prefix=pl[0],node.localName=pl[1]):node.localName=qualifiedName,attrs._ownerElement=node,node},createAttributeNS:function(namespaceURI,qualifiedName){var node=new Attr,pl=qualifiedName.split(\":\");return node.ownerDocument=this,node.nodeName=qualifiedName,node.name=qualifiedName,node.namespaceURI=namespaceURI,node.specified=!0,2==pl.length?(node.prefix=pl[0],node.localName=pl[1]):node.localName=qualifiedName,node}},_extends(Document,Node),Element.prototype={nodeType:ELEMENT_NODE,hasAttribute:function(name){return null!=this.getAttributeNode(name)},getAttribute:function(name){var attr=this.getAttributeNode(name);return attr&&attr.value||\"\"},getAttributeNode:function(name){return this.attributes.getNamedItem(name)},setAttribute:function(name,value){var attr=this.ownerDocument.createAttribute(name);attr.value=attr.nodeValue=\"\"+value,this.setAttributeNode(attr)},removeAttribute:function(name){var attr=this.getAttributeNode(name);attr&&this.removeAttributeNode(attr)},appendChild:function(newChild){return newChild.nodeType===DOCUMENT_FRAGMENT_NODE?this.insertBefore(newChild,null):_appendSingleChild(this,newChild)},setAttributeNode:function(newAttr){return this.attributes.setNamedItem(newAttr)},setAttributeNodeNS:function(newAttr){return this.attributes.setNamedItemNS(newAttr)},removeAttributeNode:function(oldAttr){return this.attributes.removeNamedItem(oldAttr.nodeName)},removeAttributeNS:function(namespaceURI,localName){var old=this.getAttributeNodeNS(namespaceURI,localName);old&&this.removeAttributeNode(old)},hasAttributeNS:function(namespaceURI,localName){return null!=this.getAttributeNodeNS(namespaceURI,localName)},getAttributeNS:function(namespaceURI,localName){var attr=this.getAttributeNodeNS(namespaceURI,localName);return attr&&attr.value||\"\"},setAttributeNS:function(namespaceURI,qualifiedName,value){var attr=this.ownerDocument.createAttributeNS(namespaceURI,qualifiedName);attr.value=attr.nodeValue=\"\"+value,this.setAttributeNode(attr)},getAttributeNodeNS:function(namespaceURI,localName){return this.attributes.getNamedItemNS(namespaceURI,localName)},getElementsByTagName:function(tagName){return new LiveNodeList(this,function(base){var ls=[];return _visitNode(base,function(node){node===base||node.nodeType!=ELEMENT_NODE||\"*\"!==tagName&&node.tagName!=tagName||ls.push(node)}),ls})},getElementsByTagNameNS:function(namespaceURI,localName){return new LiveNodeList(this,function(base){var ls=[];return _visitNode(base,function(node){node===base||node.nodeType!==ELEMENT_NODE||\"*\"!==namespaceURI&&node.namespaceURI!==namespaceURI||\"*\"!==localName&&node.localName!=localName||ls.push(node)}),ls})}},Document.prototype.getElementsByTagName=Element.prototype.getElementsByTagName,Document.prototype.getElementsByTagNameNS=Element.prototype.getElementsByTagNameNS,_extends(Element,Node),Attr.prototype.nodeType=ATTRIBUTE_NODE,_extends(Attr,Node),CharacterData.prototype={data:\"\",substringData:function(offset,count){return this.data.substring(offset,offset+count)},appendData:function(text){text=this.data+text,this.nodeValue=this.data=text,this.length=text.length},insertData:function(offset,text){this.replaceData(offset,0,text)},appendChild:function(){throw Error(ExceptionMessage[3])},deleteData:function(offset,count){this.replaceData(offset,count,\"\")},replaceData:function(offset,count,text){var start=this.data.substring(0,offset),end=this.data.substring(offset+count);text=start+text+end,this.nodeValue=this.data=text,this.length=text.length}},_extends(CharacterData,Node),Text.prototype={nodeName:\"#text\",nodeType:TEXT_NODE,splitText:function(offset){var text=this.data,newText=text.substring(offset);text=text.substring(0,offset),this.data=this.nodeValue=text,this.length=text.length;var newNode=this.ownerDocument.createTextNode(newText);return this.parentNode&&this.parentNode.insertBefore(newNode,this.nextSibling),newNode}},_extends(Text,CharacterData),Comment.prototype={nodeName:\"#comment\",nodeType:COMMENT_NODE},_extends(Comment,CharacterData),CDATASection.prototype={nodeName:\"#cdata-section\",nodeType:CDATA_SECTION_NODE},_extends(CDATASection,CharacterData),DocumentType.prototype.nodeType=DOCUMENT_TYPE_NODE,_extends(DocumentType,Node),Notation.prototype.nodeType=NOTATION_NODE,_extends(Notation,Node),Entity.prototype.nodeType=ENTITY_NODE,_extends(Entity,Node),EntityReference.prototype.nodeType=ENTITY_REFERENCE_NODE,_extends(EntityReference,Node),DocumentFragment.prototype.nodeName=\"#document-fragment\",DocumentFragment.prototype.nodeType=DOCUMENT_FRAGMENT_NODE,_extends(DocumentFragment,Node),ProcessingInstruction.prototype.nodeType=PROCESSING_INSTRUCTION_NODE,_extends(ProcessingInstruction,Node),XMLSerializer.prototype.serializeToString=function(node){var buf=[];return serializeToString(node,buf),buf.join(\"\")},Node.prototype.toString=function(){return XMLSerializer.prototype.serializeToString(this)};try{Object.defineProperty&&(Object.defineProperty(LiveNodeList.prototype,\"length\",{get:function(){return _updateLiveList(this),this.$$length}}),Object.defineProperty(Node.prototype,\"textContent\",{get:function(){return getTextContent(this)},set:function(data){switch(this.nodeType){case 1:case 11:for(;this.firstChild;)this.removeChild(this.firstChild);(data||data+\"\")&&this.appendChild(this.ownerDocument.createTextNode(data));break;default:this.data=data,this.value=value,this.nodeValue=data}}}),__set__=function(object,key,value){object[\"$$\"+key]=value})}catch(e){}return DOMImplementation}),ace.define(\"ace/mode/xml/dom-parser\",[\"require\",\"exports\",\"module\",\"ace/mode/xml/sax\",\"ace/mode/xml/dom\"],function(acequire){\"use strict\";function DOMParser(options){this.options=options||{locator:{}}}function buildErrorHandler(errorImpl,domBuilder,locator){function build(key){var fn=errorImpl[key];if(!fn)if(isCallback)fn=2==errorImpl.length?function(msg){errorImpl(key,msg)}:errorImpl;else for(var i=arguments.length;--i&&!(fn=errorImpl[arguments[i]]););errorHandler[key]=fn&&function(msg){fn(msg+_locator(locator),msg,locator)}||function(){}}if(!errorImpl){if(domBuilder instanceof DOMHandler)return domBuilder;errorImpl=domBuilder}var errorHandler={},isCallback=errorImpl instanceof Function;return locator=locator||{},build(\"warning\",\"warn\"),build(\"error\",\"warn\",\"warning\"),build(\"fatalError\",\"warn\",\"warning\",\"error\"),errorHandler}function DOMHandler(){this.cdata=!1}function position(locator,node){node.lineNumber=locator.lineNumber,node.columnNumber=locator.columnNumber}function _locator(l){return l?\"\\n@\"+(l.systemId||\"\")+\"#[line:\"+l.lineNumber+\",col:\"+l.columnNumber+\"]\":void 0}function _toString(chars,start,length){return\"string\"==typeof chars?chars.substr(start,length):chars.length>=start+length||start?new java.lang.String(chars,start,length)+\"\":chars}function appendElement(hander,node){hander.currentElement?hander.currentElement.appendChild(node):hander.document.appendChild(node)}var XMLReader=acequire(\"./sax\"),DOMImplementation=acequire(\"./dom\");return DOMParser.prototype.parseFromString=function(source,mimeType){var options=this.options,sax=new XMLReader,domBuilder=options.domBuilder||new DOMHandler,errorHandler=options.errorHandler,locator=options.locator,defaultNSMap=options.xmlns||{},entityMap={lt:\"<\",gt:\">\",amp:\"&\",quot:'\"',apos:\"'\"};return locator&&domBuilder.setDocumentLocator(locator),sax.errorHandler=buildErrorHandler(errorHandler,domBuilder,locator),sax.domBuilder=options.domBuilder||domBuilder,/\\/x?html?$/.test(mimeType)&&(entityMap.nbsp=\" \",entityMap.copy=\"©\",defaultNSMap[\"\"]=\"http://www.w3.org/1999/xhtml\"),source?sax.parse(source,defaultNSMap,entityMap):sax.errorHandler.error(\"invalid document source\"),domBuilder.document},DOMHandler.prototype={startDocument:function(){this.document=(new DOMImplementation).createDocument(null,null,null),this.locator&&(this.document.documentURI=this.locator.systemId)},startElement:function(namespaceURI,localName,qName,attrs){var doc=this.document,el=doc.createElementNS(namespaceURI,qName||localName),len=attrs.length;appendElement(this,el),this.currentElement=el,this.locator&&position(this.locator,el);for(var i=0;len>i;i++){var namespaceURI=attrs.getURI(i),value=attrs.getValue(i),qName=attrs.getQName(i),attr=doc.createAttributeNS(namespaceURI,qName);attr.getOffset&&position(attr.getOffset(1),attr),attr.value=attr.nodeValue=value,el.setAttributeNode(attr)}},endElement:function(){var current=this.currentElement;current.tagName,this.currentElement=current.parentNode},startPrefixMapping:function(){},endPrefixMapping:function(){},processingInstruction:function(target,data){var ins=this.document.createProcessingInstruction(target,data);this.locator&&position(this.locator,ins),appendElement(this,ins)},ignorableWhitespace:function(){},characters:function(chars){if(chars=_toString.apply(this,arguments),this.currentElement&&chars){if(this.cdata){var charNode=this.document.createCDATASection(chars);this.currentElement.appendChild(charNode)}else{var charNode=this.document.createTextNode(chars);this.currentElement.appendChild(charNode)}this.locator&&position(this.locator,charNode)}},skippedEntity:function(){},endDocument:function(){this.document.normalize()},setDocumentLocator:function(locator){(this.locator=locator)&&(locator.lineNumber=0)},comment:function(chars){chars=_toString.apply(this,arguments);var comm=this.document.createComment(chars);this.locator&&position(this.locator,comm),appendElement(this,comm)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(name,publicId,systemId){var impl=this.document.implementation;if(impl&&impl.createDocumentType){var dt=impl.createDocumentType(name,publicId,systemId);this.locator&&position(this.locator,dt),appendElement(this,dt)}},warning:function(error){console.warn(error,_locator(this.locator))},error:function(error){console.error(error,_locator(this.locator))},fatalError:function(error){throw console.error(error,_locator(this.locator)),error}},\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){DOMHandler.prototype[key]=function(){return null}}),{DOMParser:DOMParser}}),ace.define(\"ace/mode/xml_worker\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/worker/mirror\",\"ace/mode/xml/dom-parser\"],function(acequire,exports){\"use strict\";var oop=acequire(\"../lib/oop\");acequire(\"../lib/lang\");var Mirror=acequire(\"../worker/mirror\").Mirror,DOMParser=acequire(\"./xml/dom-parser\").DOMParser,Worker=exports.Worker=function(sender){Mirror.call(this,sender),this.setTimeout(400),this.context=null};oop.inherits(Worker,Mirror),function(){this.setOptions=function(options){this.context=options.context},this.onUpdate=function(){var value=this.doc.getValue();if(value){var parser=new DOMParser,errors=[];parser.options.errorHandler={fatalError:function(fullMsg,errorMsg,locator){errors.push({row:locator.lineNumber,column:locator.columnNumber,text:errorMsg,type:\"error\"})},error:function(fullMsg,errorMsg,locator){errors.push({row:locator.lineNumber,column:locator.columnNumber,text:errorMsg,type:\"error\"})},warning:function(fullMsg,errorMsg,locator){errors.push({row:locator.lineNumber,column:locator.columnNumber,text:errorMsg,type:\"warning\"})}},parser.parseFromString(value),this.sender.emit(\"error\",errors)}}}.call(Worker.prototype)}),ace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\"sentinel\",{}),\"sentinel\"in object\n}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\"function\"!=typeof target)throw new TypeError(\"Function.prototype.bind called on incompatible \"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\"__defineGetter__\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\"XXX\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\"[object Array]\"==_toString(obj)});var boxedString=Object(\"a\"),splitString=\"a\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduce of empty array with no initial value\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\"reduce of empty array with no initial value\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduceRight of empty array with no initial value\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\"reduceRight of empty array with no initial value\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\"Object.getOwnPropertyDescriptor called on a non-object: \";Object.getOwnPropertyDescriptor=function(object,property){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\"object\"!=typeof prototype)throw new TypeError(\"typeof prototype[\"+typeof prototype+\"] != 'object'\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\"undefined\"==typeof document||doesDefinePropertyWork(document.createElement(\"div\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\"Property description must be an object: \",ERR_NON_OBJECT_TARGET=\"Object.defineProperty called on non-object: \",ERR_ACCESSORS_NOT_SUPPORTED=\"getters & setters can not be defined on this javascript engine\";Object.defineProperty=function(object,property,descriptor){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\"object\"!=typeof descriptor&&\"function\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\"value\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\"get\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\"set\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\"function\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\"\";owns(object,name);)name+=\"?\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(\"Object.keys called on a non-object\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\"\t\\n\u000b\\f\\r   ᠎              \\u2028\\u2029\";if(!String.prototype.trim||ws.trim()){ws=\"[\"+ws+\"]\";var trimBeginRegexp=RegExp(\"^\"+ws+ws+\"*\"),trimEndRegexp=RegExp(ws+ws+\"*$\");String.prototype.trim=function(){return(this+\"\").replace(trimBeginRegexp,\"\").replace(trimEndRegexp,\"\")}}var toObject=function(o){if(null==o)throw new TypeError(\"can't convert \"+o+\" to object\");return Object(o)}});";
25102
+
25103
+ /***/ }),
25104
+
24419
25105
  /***/ "2a62":
24420
25106
  /***/ (function(module, exports, __webpack_require__) {
24421
25107
 
@@ -25778,7 +26464,7 @@ module.exports = function (it) {
25778
26464
  /***/ "35e3":
25779
26465
  /***/ (function(module, exports) {
25780
26466
 
25781
- module.exports = "<editor\r\n id=\"editor\"\r\n class=\"code-edit\"\r\n v-model=\"code\"\r\n theme=\"chrome\"\r\n :options=\"option\"\r\n @init=\"editorInit\"\r\n :lang=\"lang\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n></editor>"
26467
+ module.exports = "<editor class=\"code-edit\" v-model=\"code\" :options=\"option\" @init=\"editorInit\" :lang=\"lang\" width=\"100%\" height=\"100%\"></editor>\r\n"
25782
26468
 
25783
26469
  /***/ }),
25784
26470
 
@@ -26178,7 +26864,7 @@ module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
26178
26864
  /***/ "4935":
26179
26865
  /***/ (function(module, exports) {
26180
26866
 
26181
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-data-model-modal diy-modal\" transfer>\r\n <header slot=\"header\">添加数据模型</header>\r\n <main>\r\n <i-split v-model=\"splitHorizontal\">\r\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择列表</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-tree :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\r\n </div>\r\n </section>\r\n <section slot=\"right\" class=\"right-content\">\r\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\r\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\r\n <div class=\"card-panel-header\">\r\n <span>选择模型</span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-data-model-list\r\n :data=\"tableData\"\r\n :paging.sync=\"paging\"\r\n @on-search=\"onSearch\"\r\n @on-page-index-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n @on-selection-change=\"onSelectionChange\"\r\n @on-delete-refresh=\"getTableData\"\r\n >\r\n </u-data-model-list>\r\n </div>\r\n </section>\r\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\r\n <div class=\"card-panel-header\">\r\n <span>已选({{checkedLength}})</span>\r\n <span>\r\n <i-poptip confirm title=\"确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\r\n <span class=\"action-text\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>清空</span>\r\n </span>\r\n </i-poptip>\r\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\r\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\r\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\r\n </span>\r\n </span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <template v-if=\"checkedData?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </div>\r\n </section>\r\n </i-split>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-if=\"isLoading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n </main>\r\n <footer slot=\"footer\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n </footer>\r\n</i-modal>\r\n"
26867
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"show\" width=\"1280\" class=\"u-data-model-modal diy-modal\" transfer>\n <header slot=\"header\">添加数据模型</header>\n <main>\n <i-split v-model=\"splitHorizontal\">\n <section slot=\"left\" class=\"card-panel card-panel-no-right-border\">\n <div class=\"card-panel-header\">\n <span>选择列表</span>\n </div>\n <div class=\"card-panel-main\">\n <u-tree :commonTaskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" :prop-data=\"treeData\" :isTreeList=\"true\" @on-select=\"onSelect\" />\n </div>\n </section>\n <section slot=\"right\" class=\"right-content\">\n <i-split v-model=\"splitVertical\" mode=\"vertical\" max=\"600\">\n <section slot=\"top\" class=\"card-panel card-panel-no-bottom-border\">\n <div class=\"card-panel-header\">\n <span>选择模型</span>\n </div>\n <div class=\"card-panel-main\">\n <u-data-model-list\n :data=\"tableData\"\n :paging.sync=\"paging\"\n @on-search=\"onSearch\"\n @on-page-index-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n @on-selection-change=\"onSelectionChange\"\n @on-delete-refresh=\"getTableData\"\n @on-row-click=\"onRowClick\"\n >\n </u-data-model-list>\n </div>\n </section>\n <section slot=\"bottom\" :class=\"['card-panel', collapse ? 'card-panel-no-bottom-border' : '']\">\n <div class=\"card-panel-header\">\n <span>已选({{checkedLength}})</span>\n <span>\n <i-poptip confirm title=\"确定要清空已选中的数据吗?\" transfer placement=\"top-end\" @on-ok=\"onBatchDelete\">\n <span class=\"action-text\">\n <i class=\"iconfont icon-delete\"></i>\n <span>清空</span>\n </span>\n </i-poptip>\n <span class=\"action-text collapse-text\" @click=\"onClickCollapse\">\n <span>{{collapse ? \"展开\" : \"收起\"}}</span>\n <i class=\"ivu-icon ivu-icon-ios-arrow-forward\" :class=\"{'icon-arrow-collapse':collapse}\"></i>\n </span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <template v-if=\"checkedData?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"checkedData\">\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </div>\n </section>\n </i-split>\n </section>\n </i-split>\n <i-spin fix v-if=\"isLoading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n </main>\n <footer slot=\"footer\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n </footer>\n</i-modal>\n"
26182
26868
 
26183
26869
  /***/ }),
26184
26870
 
@@ -38482,6 +39168,13 @@ module.exports = {
38482
39168
  };
38483
39169
 
38484
39170
 
39171
+ /***/ }),
39172
+
39173
+ /***/ "6a21":
39174
+ /***/ (function(module, exports) {
39175
+
39176
+ ace.define("ace/snippets/javascript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='# Prototype\nsnippet proto\n ${1:class_name}.prototype.${2:method_name} = function(${3:first_argument}) {\n ${4:// body...}\n };\n# Function\nsnippet fun\n function ${1?:function_name}(${2:argument}) {\n ${3:// body...}\n }\n# Anonymous Function\nregex /((=)\\s*|(:)\\s*|(\\()|\\b)/f/(\\))?/\nsnippet f\n function${M1?: ${1:functionName}}($2) {\n ${0:$TM_SELECTED_TEXT}\n }${M2?;}${M3?,}${M4?)}\n# Immediate function\ntrigger \\(?f\\(\nendTrigger \\)?\nsnippet f(\n (function(${1}) {\n ${0:${TM_SELECTED_TEXT:/* code */}}\n }(${1}));\n# if\nsnippet if\n if (${1:true}) {\n ${0}\n }\n# if ... else\nsnippet ife\n if (${1:true}) {\n ${2}\n } else {\n ${0}\n }\n# tertiary conditional\nsnippet ter\n ${1:/* condition */} ? ${2:a} : ${3:b}\n# switch\nsnippet switch\n switch (${1:expression}) {\n case \'${3:case}\':\n ${4:// code}\n break;\n ${5}\n default:\n ${2:// code}\n }\n# case\nsnippet case\n case \'${1:case}\':\n ${2:// code}\n break;\n ${3}\n\n# while (...) {...}\nsnippet wh\n while (${1:/* condition */}) {\n ${0:/* code */}\n }\n# try\nsnippet try\n try {\n ${0:/* code */}\n } catch (e) {}\n# do...while\nsnippet do\n do {\n ${2:/* code */}\n } while (${1:/* condition */});\n# Object Method\nsnippet :f\nregex /([,{[])|^\\s*/:f/\n ${1:method_name}: function(${2:attribute}) {\n ${0}\n }${3:,}\n# setTimeout function\nsnippet setTimeout\nregex /\\b/st|timeout|setTimeo?u?t?/\n setTimeout(function() {${3:$TM_SELECTED_TEXT}}, ${1:10});\n# Get Elements\nsnippet gett\n getElementsBy${1:TagName}(\'${2}\')${3}\n# Get Element\nsnippet get\n getElementBy${1:Id}(\'${2}\')${3}\n# console.log (Firebug)\nsnippet cl\n console.log(${1});\n# return\nsnippet ret\n return ${1:result}\n# for (property in object ) { ... }\nsnippet fori\n for (var ${1:prop} in ${2:Things}) {\n ${0:$2[$1]}\n }\n# hasOwnProperty\nsnippet has\n hasOwnProperty(${1})\n# docstring\nsnippet /**\n /**\n * ${1:description}\n *\n */\nsnippet @par\nregex /^\\s*\\*\\s*/@(para?m?)?/\n @param {${1:type}} ${2:name} ${3:description}\nsnippet @ret\n @return {${1:type}} ${2:description}\n# JSON.parse\nsnippet jsonp\n JSON.parse(${1:jstr});\n# JSON.stringify\nsnippet jsons\n JSON.stringify(${1:object});\n# self-defining function\nsnippet sdf\n var ${1:function_name} = function(${2:argument}) {\n ${3:// initial code ...}\n\n $1 = function($2) {\n ${4:// main code}\n };\n }\n# singleton\nsnippet sing\n function ${1:Singleton} (${2:argument}) {\n // the cached instance\n var instance;\n\n // rewrite the constructor\n $1 = function $1($2) {\n return instance;\n };\n \n // carry over the prototype properties\n $1.prototype = this;\n\n // the instance\n instance = new $1();\n\n // reset the constructor pointer\n instance.constructor = $1;\n\n ${3:// code ...}\n\n return instance;\n }\n# class\nsnippet class\nregex /^\\s*/clas{0,2}/\n var ${1:class} = function(${20}) {\n $40$0\n };\n \n (function() {\n ${60:this.prop = ""}\n }).call(${1:class}.prototype);\n \n exports.${1:class} = ${1:class};\n# \nsnippet for-\n for (var ${1:i} = ${2:Things}.length; ${1:i}--; ) {\n ${0:${2:Things}[${1:i}];}\n }\n# for (...) {...}\nsnippet for\n for (var ${1:i} = 0; $1 < ${2:Things}.length; $1++) {\n ${3:$2[$1]}$0\n }\n# for (...) {...} (Improved Native For-Loop)\nsnippet forr\n for (var ${1:i} = ${2:Things}.length - 1; $1 >= 0; $1--) {\n ${3:$2[$1]}$0\n }\n\n\n#modules\nsnippet def\n define(function(require, exports, module) {\n "use strict";\n var ${1/.*\\///} = require("${1}");\n \n $TM_SELECTED_TEXT\n });\nsnippet req\nguard ^\\s*\n var ${1/.*\\///} = require("${1}");\n $0\nsnippet requ\nguard ^\\s*\n var ${1/.*\\/(.)/\\u$1/} = require("${1}").${1/.*\\/(.)/\\u$1/};\n $0\n',t.scope="javascript"})
39177
+
38485
39178
  /***/ }),
38486
39179
 
38487
39180
  /***/ "6d46":
@@ -39615,6 +40308,332 @@ module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap
39615
40308
 
39616
40309
  // extracted by mini-css-extract-plugin
39617
40310
 
40311
+ /***/ }),
40312
+
40313
+ /***/ "818b":
40314
+ /***/ (function(module, exports, __webpack_require__) {
40315
+
40316
+ ace.define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(acequire, exports, module) {
40317
+ "use strict";
40318
+
40319
+ var oop = acequire("../lib/oop");
40320
+ var TextHighlightRules = acequire("./text_highlight_rules").TextHighlightRules;
40321
+
40322
+ var JsonHighlightRules = function() {
40323
+ this.$rules = {
40324
+ "start" : [
40325
+ {
40326
+ token : "variable", // single line
40327
+ regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'
40328
+ }, {
40329
+ token : "string", // single line
40330
+ regex : '"',
40331
+ next : "string"
40332
+ }, {
40333
+ token : "constant.numeric", // hex
40334
+ regex : "0[xX][0-9a-fA-F]+\\b"
40335
+ }, {
40336
+ token : "constant.numeric", // float
40337
+ regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
40338
+ }, {
40339
+ token : "constant.language.boolean",
40340
+ regex : "(?:true|false)\\b"
40341
+ }, {
40342
+ token : "text", // single quoted strings are not allowed
40343
+ regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
40344
+ }, {
40345
+ token : "comment", // comments are not allowed, but who cares?
40346
+ regex : "\\/\\/.*$"
40347
+ }, {
40348
+ token : "comment.start", // comments are not allowed, but who cares?
40349
+ regex : "\\/\\*",
40350
+ next : "comment"
40351
+ }, {
40352
+ token : "paren.lparen",
40353
+ regex : "[[({]"
40354
+ }, {
40355
+ token : "paren.rparen",
40356
+ regex : "[\\])}]"
40357
+ }, {
40358
+ token : "text",
40359
+ regex : "\\s+"
40360
+ }
40361
+ ],
40362
+ "string" : [
40363
+ {
40364
+ token : "constant.language.escape",
40365
+ regex : /\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/
40366
+ }, {
40367
+ token : "string",
40368
+ regex : '"|$',
40369
+ next : "start"
40370
+ }, {
40371
+ defaultToken : "string"
40372
+ }
40373
+ ],
40374
+ "comment" : [
40375
+ {
40376
+ token : "comment.end", // comments are not allowed, but who cares?
40377
+ regex : "\\*\\/",
40378
+ next : "start"
40379
+ }, {
40380
+ defaultToken: "comment"
40381
+ }
40382
+ ]
40383
+ };
40384
+
40385
+ };
40386
+
40387
+ oop.inherits(JsonHighlightRules, TextHighlightRules);
40388
+
40389
+ exports.JsonHighlightRules = JsonHighlightRules;
40390
+ });
40391
+
40392
+ ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(acequire, exports, module) {
40393
+ "use strict";
40394
+
40395
+ var Range = acequire("../range").Range;
40396
+
40397
+ var MatchingBraceOutdent = function() {};
40398
+
40399
+ (function() {
40400
+
40401
+ this.checkOutdent = function(line, input) {
40402
+ if (! /^\s+$/.test(line))
40403
+ return false;
40404
+
40405
+ return /^\s*\}/.test(input);
40406
+ };
40407
+
40408
+ this.autoOutdent = function(doc, row) {
40409
+ var line = doc.getLine(row);
40410
+ var match = line.match(/^(\s*\})/);
40411
+
40412
+ if (!match) return 0;
40413
+
40414
+ var column = match[1].length;
40415
+ var openBracePos = doc.findMatchingBracket({row: row, column: column});
40416
+
40417
+ if (!openBracePos || openBracePos.row == row) return 0;
40418
+
40419
+ var indent = this.$getIndent(doc.getLine(openBracePos.row));
40420
+ doc.replace(new Range(row, 0, row, column-1), indent);
40421
+ };
40422
+
40423
+ this.$getIndent = function(line) {
40424
+ return line.match(/^\s*/)[0];
40425
+ };
40426
+
40427
+ }).call(MatchingBraceOutdent.prototype);
40428
+
40429
+ exports.MatchingBraceOutdent = MatchingBraceOutdent;
40430
+ });
40431
+
40432
+ ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(acequire, exports, module) {
40433
+ "use strict";
40434
+
40435
+ var oop = acequire("../../lib/oop");
40436
+ var Range = acequire("../../range").Range;
40437
+ var BaseFoldMode = acequire("./fold_mode").FoldMode;
40438
+
40439
+ var FoldMode = exports.FoldMode = function(commentRegex) {
40440
+ if (commentRegex) {
40441
+ this.foldingStartMarker = new RegExp(
40442
+ this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
40443
+ );
40444
+ this.foldingStopMarker = new RegExp(
40445
+ this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
40446
+ );
40447
+ }
40448
+ };
40449
+ oop.inherits(FoldMode, BaseFoldMode);
40450
+
40451
+ (function() {
40452
+
40453
+ this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
40454
+ this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
40455
+ this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
40456
+ this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
40457
+ this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
40458
+ this._getFoldWidgetBase = this.getFoldWidget;
40459
+ this.getFoldWidget = function(session, foldStyle, row) {
40460
+ var line = session.getLine(row);
40461
+
40462
+ if (this.singleLineBlockCommentRe.test(line)) {
40463
+ if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
40464
+ return "";
40465
+ }
40466
+
40467
+ var fw = this._getFoldWidgetBase(session, foldStyle, row);
40468
+
40469
+ if (!fw && this.startRegionRe.test(line))
40470
+ return "start"; // lineCommentRegionStart
40471
+
40472
+ return fw;
40473
+ };
40474
+
40475
+ this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
40476
+ var line = session.getLine(row);
40477
+
40478
+ if (this.startRegionRe.test(line))
40479
+ return this.getCommentRegionBlock(session, line, row);
40480
+
40481
+ var match = line.match(this.foldingStartMarker);
40482
+ if (match) {
40483
+ var i = match.index;
40484
+
40485
+ if (match[1])
40486
+ return this.openingBracketBlock(session, match[1], row, i);
40487
+
40488
+ var range = session.getCommentFoldRange(row, i + match[0].length, 1);
40489
+
40490
+ if (range && !range.isMultiLine()) {
40491
+ if (forceMultiline) {
40492
+ range = this.getSectionRange(session, row);
40493
+ } else if (foldStyle != "all")
40494
+ range = null;
40495
+ }
40496
+
40497
+ return range;
40498
+ }
40499
+
40500
+ if (foldStyle === "markbegin")
40501
+ return;
40502
+
40503
+ var match = line.match(this.foldingStopMarker);
40504
+ if (match) {
40505
+ var i = match.index + match[0].length;
40506
+
40507
+ if (match[1])
40508
+ return this.closingBracketBlock(session, match[1], row, i);
40509
+
40510
+ return session.getCommentFoldRange(row, i, -1);
40511
+ }
40512
+ };
40513
+
40514
+ this.getSectionRange = function(session, row) {
40515
+ var line = session.getLine(row);
40516
+ var startIndent = line.search(/\S/);
40517
+ var startRow = row;
40518
+ var startColumn = line.length;
40519
+ row = row + 1;
40520
+ var endRow = row;
40521
+ var maxRow = session.getLength();
40522
+ while (++row < maxRow) {
40523
+ line = session.getLine(row);
40524
+ var indent = line.search(/\S/);
40525
+ if (indent === -1)
40526
+ continue;
40527
+ if (startIndent > indent)
40528
+ break;
40529
+ var subRange = this.getFoldWidgetRange(session, "all", row);
40530
+
40531
+ if (subRange) {
40532
+ if (subRange.start.row <= startRow) {
40533
+ break;
40534
+ } else if (subRange.isMultiLine()) {
40535
+ row = subRange.end.row;
40536
+ } else if (startIndent == indent) {
40537
+ break;
40538
+ }
40539
+ }
40540
+ endRow = row;
40541
+ }
40542
+
40543
+ return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
40544
+ };
40545
+ this.getCommentRegionBlock = function(session, line, row) {
40546
+ var startColumn = line.search(/\s*$/);
40547
+ var maxRow = session.getLength();
40548
+ var startRow = row;
40549
+
40550
+ var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
40551
+ var depth = 1;
40552
+ while (++row < maxRow) {
40553
+ line = session.getLine(row);
40554
+ var m = re.exec(line);
40555
+ if (!m) continue;
40556
+ if (m[1]) depth--;
40557
+ else depth++;
40558
+
40559
+ if (!depth) break;
40560
+ }
40561
+
40562
+ var endRow = row;
40563
+ if (endRow > startRow) {
40564
+ return new Range(startRow, startColumn, endRow, line.length);
40565
+ }
40566
+ };
40567
+
40568
+ }).call(FoldMode.prototype);
40569
+
40570
+ });
40571
+
40572
+ ace.define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"], function(acequire, exports, module) {
40573
+ "use strict";
40574
+
40575
+ var oop = acequire("../lib/oop");
40576
+ var TextMode = acequire("./text").Mode;
40577
+ var HighlightRules = acequire("./json_highlight_rules").JsonHighlightRules;
40578
+ var MatchingBraceOutdent = acequire("./matching_brace_outdent").MatchingBraceOutdent;
40579
+ var CstyleBehaviour = acequire("./behaviour/cstyle").CstyleBehaviour;
40580
+ var CStyleFoldMode = acequire("./folding/cstyle").FoldMode;
40581
+ var WorkerClient = acequire("../worker/worker_client").WorkerClient;
40582
+
40583
+ var Mode = function() {
40584
+ this.HighlightRules = HighlightRules;
40585
+ this.$outdent = new MatchingBraceOutdent();
40586
+ this.$behaviour = new CstyleBehaviour();
40587
+ this.foldingRules = new CStyleFoldMode();
40588
+ };
40589
+ oop.inherits(Mode, TextMode);
40590
+
40591
+ (function() {
40592
+
40593
+ this.getNextLineIndent = function(state, line, tab) {
40594
+ var indent = this.$getIndent(line);
40595
+
40596
+ if (state == "start") {
40597
+ var match = line.match(/^.*[\{\(\[]\s*$/);
40598
+ if (match) {
40599
+ indent += tab;
40600
+ }
40601
+ }
40602
+
40603
+ return indent;
40604
+ };
40605
+
40606
+ this.checkOutdent = function(state, line, input) {
40607
+ return this.$outdent.checkOutdent(line, input);
40608
+ };
40609
+
40610
+ this.autoOutdent = function(state, doc, row) {
40611
+ this.$outdent.autoOutdent(doc, row);
40612
+ };
40613
+
40614
+ this.createWorker = function(session) {
40615
+ var worker = new WorkerClient(["ace"], __webpack_require__("e8ff"), "JsonWorker");
40616
+ worker.attachToDocument(session.getDocument());
40617
+
40618
+ worker.on("annotate", function(e) {
40619
+ session.setAnnotations(e.data);
40620
+ });
40621
+
40622
+ worker.on("terminate", function() {
40623
+ session.clearAnnotations();
40624
+ });
40625
+
40626
+ return worker;
40627
+ };
40628
+
40629
+
40630
+ this.$id = "ace/mode/json";
40631
+ }).call(Mode.prototype);
40632
+
40633
+ exports.Mode = Mode;
40634
+ });
40635
+
40636
+
39618
40637
  /***/ }),
39619
40638
 
39620
40639
  /***/ "81d5":
@@ -39663,7 +40682,7 @@ module.exports = function (argument) {
39663
40682
  /***/ "82af":
39664
40683
  /***/ (function(module, exports) {
39665
40684
 
39666
- module.exports = "<div class=\"v-data-modal-list-container\">\r\n <header>\r\n <div class=\"condition\">\r\n <div class=\"input-item\">\r\n <span>名称:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"input-item\">\r\n <span>编码:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"condition.code\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"search-btn\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\r\n </div>\r\n </div>\r\n </header>\r\n <main>\r\n <template v-if=\"data?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\">\r\n <template slot=\"enableCache\" slot-scope=\"{row}\">\r\n <span>{{row.enableCache === true ? \"是\" : \"否\"}}</span>\r\n </template>\r\n <template slot=\"doc\" slot-scope=\"{row}\">\r\n <a @click=\"onOpenDoc(row)\">查看</a>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </main>\r\n <div class=\"pagination\" v-if=\"data?.length\">\r\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" show-elevator show-total show-sizer> </i-page>\r\n </div>\r\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\r\n</div>\r\n"
40685
+ module.exports = "<div class=\"v-data-modal-list-container\">\r\n <header>\r\n <div class=\"condition\">\r\n <div class=\"input-item\">\r\n <span>名称:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"input-item\">\r\n <span>编码:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"condition.code\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"search-btn\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\r\n </div>\r\n </div>\r\n </header>\r\n <main>\r\n <template v-if=\"data?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\" @on-row-click=\"onRowClick\">\r\n <template slot=\"enableCache\" slot-scope=\"{row}\">\r\n <span>{{row.enableCache === true ? \"是\" : \"否\"}}</span>\r\n </template>\r\n <template slot=\"doc\" slot-scope=\"{row}\">\r\n <a @click=\"onOpenDoc(row)\">查看</a>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </main>\r\n <div class=\"pagination\" v-if=\"data?.length\">\r\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" show-elevator show-total show-sizer> </i-page>\r\n </div>\r\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\r\n</div>\r\n"
39667
40686
 
39668
40687
  /***/ }),
39669
40688
 
@@ -39799,7 +40818,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_
39799
40818
  /***/ "88af":
39800
40819
  /***/ (function(module, exports) {
39801
40820
 
39802
- module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\r\n <header slot=\"header\">批量修改环境变量与授权</header>\r\n <main class=\"variable-content\">\r\n <div class=\"left\">\r\n <div class=\"left-title\">\r\n <div class=\"left-title-text\">选择API</div>\r\n </div>\r\n <div class=\"left-content\">\r\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\r\n <template #prefix>\r\n <i-icon type=\"ios-search\"/>\r\n </template>\r\n </i-input>\r\n <div class=\"security-list\">\r\n <i-checkbox class=\"security-list-item-checkbox\" v-model=\"allSelect\" @on-change=\"onAllSelect\">全选</i-checkbox>\r\n <div class=\"security-list-item\"\r\n v-for=\"(item,index) in apiList\"\r\n :key=\"item.id || index\"\r\n >\r\n <div class=\"security-list-item-name\">\r\n <i-checkbox v-model=\"item.selected\" @on-change=\"onSelect($event,item)\"></i-checkbox>\r\n <i class=\"iconfont icon-API\"></i>\r\n <div class=\"security-list-item-text\" :title=\"item.name\">{{ item.name }}</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"right-title\">环境与授权</div>\r\n <div class=\"right-content\">\r\n <i-form ref=\"batch-api-form\" class=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\r\n <i-form-item class=\"content-form-item un-required-item\" label=\"选择属性\">\r\n <i-select class=\"diy-select\" placeholder=\"请输入\" clearable v-model=\"type\">\r\n <i-option value=\"env\">环境变量</i-option>\r\n <i-option value=\"auth\">授权设置</i-option>\r\n <i-option value=\"both\">环境变量和授权设置</i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" v-if=\"type !== 'auth'\" label=\"环境变量\" prop=\"envId\">\r\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.envId\">\r\n <i-option value=\"empty\">清空所有已设置环境变量</i-option>\r\n <i-option v-for=\"item in variableList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\r\n </i-select>\r\n </i-form-item>\r\n <i-form-item class=\"content-form-item\" label=\"授权设置\" v-if=\"type !== 'env'\" prop=\"authId\">\r\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.authId\">\r\n <i-option value=\"empty\">清空所有已设置授权</i-option>\r\n <i-option v-for=\"item in securityList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\r\n </i-select>\r\n </i-form-item>\r\n </i-form>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n <footer slot=\"footer\">\r\n <template>\r\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\r\n </template>\r\n </footer>\r\n</i-modal>\r\n"
40821
+ module.exports = "<i-modal draggable sticky reset-drag-position :mask-closable=\"false\" v-model=\"value\" width=\"800\" class=\"u-variable-modal diy-modal\" transfer>\n <header slot=\"header\">批量修改环境变量与授权</header>\n <main class=\"variable-content\">\n <div class=\"left\">\n <div class=\"left-title\">\n <div class=\"left-title-text\">选择API</div>\n </div>\n <div class=\"left-content\">\n <i-input class=\"diy-input search-input\" v-model=\"keyword\" placeholder=\"输入关键字查询\" @on-change=\"onFilter\">\n <template #prefix>\n <i-icon type=\"ios-search\"/>\n </template>\n </i-input>\n <div class=\"security-list\">\n <i-checkbox class=\"security-list-item-checkbox\" v-model=\"allSelect\" @on-change=\"onAllSelect\">全选</i-checkbox>\n <div class=\"security-list-item\"\n v-for=\"(item,index) in apiList\"\n :key=\"item.id || index\"\n >\n <div class=\"security-list-item-name\">\n <i-checkbox v-model=\"item.selected\" @on-change=\"onSelect($event,item)\"></i-checkbox>\n <i class=\"iconfont icon-API\"></i>\n <div class=\"security-list-item-text\" :title=\"item.name\">{{ item.name }}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"right\">\n <div class=\"right-title\">环境与授权</div>\n <div class=\"right-content\">\n <i-form ref=\"batch-api-form\" class=\"variable-content-form\" label-colon label-position=\"left\" v-if=\"isEmpty\" :rules=\"rules\" :label-width=\"100\" :model=\"formData\">\n <i-form-item class=\"content-form-item un-required-item\" label=\"选择属性\">\n <i-select class=\"diy-select\" placeholder=\"请输入\" clearable v-model=\"type\">\n <i-option value=\"env\">环境变量</i-option>\n <i-option value=\"auth\">授权设置</i-option>\n <i-option value=\"both\">环境变量和授权设置</i-option>\n </i-select>\n </i-form-item>\n <i-form-item class=\"content-form-item\" v-if=\"type !== 'auth'\" label=\"环境变量\" prop=\"envId\">\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.envId\">\n <i-option value=\"empty\">清空所有已设置环境变量</i-option>\n <i-option v-for=\"item in variableList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\n </i-select>\n </i-form-item>\n <i-form-item class=\"content-form-item\" label=\"授权设置\" v-if=\"type !== 'env'\" prop=\"authId\">\n <i-select class=\"diy-select diy-batch-select\" placeholder=\"请选择\" clearable v-model=\"formData.authId\">\n <i-option value=\"empty\">清空所有已设置授权</i-option>\n <i-option v-for=\"item in securityList\" :key=\"item.name\" :value=\"item.id\">{{item.name}} </i-option>\n </i-select>\n </i-form-item>\n </i-form>\n </div>\n </div>\n </main>\n\n <footer slot=\"footer\">\n <template>\n <i-button class=\"diy-btn-default\" @click=\"onCancel\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click=\"onSave\">保存</i-button>\n </template>\n </footer>\n</i-modal>\n"
39803
40822
 
39804
40823
  /***/ }),
39805
40824
 
@@ -41286,7 +42305,7 @@ dom.importCssString(exports.cssText, exports.cssClass);
41286
42305
  /***/ "981a":
41287
42306
  /***/ (function(module, exports) {
41288
42307
 
41289
- module.exports = "<div class=\"v-api-project-list-container\">\r\n <header>\r\n <div class=\"condition\">\r\n <div class=\"input-item\">\r\n <span>名称:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"input-item\">\r\n <span>地址:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入地址\" v-model=\"condition.url\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"search-btn\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\r\n </div>\r\n </div>\r\n </header>\r\n <main>\r\n <template v-if=\"data?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\">\r\n <template slot=\"detail\" slot-scope=\"{row}\">\r\n <a @click=\"onDetail(row)\">查看</a>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </main>\r\n <div class=\"pagination\" v-if=\"data?.length\">\r\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" show-elevator show-total show-sizer> </i-page>\r\n </div>\r\n <u-api-project-detail :visiable.sync=\"detailShow\" :model=\"detail\"></u-api-project-detail>\r\n</div>\r\n"
42308
+ module.exports = "<div class=\"v-api-project-list-container\">\r\n <header>\r\n <div class=\"condition\">\r\n <div class=\"input-item\">\r\n <span>名称:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"condition.name\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"input-item\">\r\n <span>地址:</span>\r\n <i-input class=\"diy-input\" placeholder=\"请输入地址\" v-model=\"condition.url\" @on-enter=\"onSearch\"></i-input>\r\n </div>\r\n <div class=\"search-btn\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onSearch\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onEmpty\">重置</i-button>\r\n </div>\r\n </div>\r\n </header>\r\n <main>\r\n <template v-if=\"data?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelected\" @on-row-click=\"onRowClick\">\r\n <template slot=\"detail\" slot-scope=\"{row}\">\r\n <a @click=\"onDetail(row)\">查看</a>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </main>\r\n <div class=\"pagination\" v-if=\"data?.length\">\r\n <i-page class=\"diy-page\" :total=\"page.totalCount\" @on-change=\"onPageIndexChange\" @on-page-size-change=\"onPageSizeChange\" show-elevator show-total show-sizer> </i-page>\r\n </div>\r\n <u-api-project-detail :visiable.sync=\"detailShow\" :model=\"detail\"></u-api-project-detail>\r\n</div>\r\n"
41290
42309
 
41291
42310
  /***/ }),
41292
42311
 
@@ -41698,6 +42717,13 @@ module.exports = {
41698
42717
 
41699
42718
  /***/ }),
41700
42719
 
42720
+ /***/ "9915":
42721
+ /***/ (function(module, exports) {
42722
+
42723
+ module.exports = "<editor\r\n id=\"editor\"\r\n class=\"code-edit\"\r\n v-model=\"code\"\r\n theme=\"chrome\"\r\n :options=\"option\"\r\n @init=\"editorInit\"\r\n :lang=\"lang\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n></editor>"
42724
+
42725
+ /***/ }),
42726
+
41701
42727
  /***/ "99af":
41702
42728
  /***/ (function(module, exports, __webpack_require__) {
41703
42729
 
@@ -42707,6 +43733,13 @@ module.exports = {
42707
43733
  };
42708
43734
 
42709
43735
 
43736
+ /***/ }),
43737
+
43738
+ /***/ "b039":
43739
+ /***/ (function(module, exports) {
43740
+
43741
+ ace.define("ace/snippets/json",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="json"})
43742
+
42710
43743
  /***/ }),
42711
43744
 
42712
43745
  /***/ "b041":
@@ -45127,6 +46160,802 @@ module.exports = !fails(function () {
45127
46160
  });
45128
46161
 
45129
46162
 
46163
+ /***/ }),
46164
+
46165
+ /***/ "bb36":
46166
+ /***/ (function(module, exports, __webpack_require__) {
46167
+
46168
+ ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(acequire, exports, module) {
46169
+ "use strict";
46170
+
46171
+ var oop = acequire("../lib/oop");
46172
+ var TextHighlightRules = acequire("./text_highlight_rules").TextHighlightRules;
46173
+
46174
+ var DocCommentHighlightRules = function() {
46175
+ this.$rules = {
46176
+ "start" : [ {
46177
+ token : "comment.doc.tag",
46178
+ regex : "@[\\w\\d_]+" // TODO: fix email addresses
46179
+ },
46180
+ DocCommentHighlightRules.getTagRule(),
46181
+ {
46182
+ defaultToken : "comment.doc",
46183
+ caseInsensitive: true
46184
+ }]
46185
+ };
46186
+ };
46187
+
46188
+ oop.inherits(DocCommentHighlightRules, TextHighlightRules);
46189
+
46190
+ DocCommentHighlightRules.getTagRule = function(start) {
46191
+ return {
46192
+ token : "comment.doc.tag.storage.type",
46193
+ regex : "\\b(?:TODO|FIXME|XXX|HACK)\\b"
46194
+ };
46195
+ };
46196
+
46197
+ DocCommentHighlightRules.getStartRule = function(start) {
46198
+ return {
46199
+ token : "comment.doc", // doc comment
46200
+ regex : "\\/\\*(?=\\*)",
46201
+ next : start
46202
+ };
46203
+ };
46204
+
46205
+ DocCommentHighlightRules.getEndRule = function (start) {
46206
+ return {
46207
+ token : "comment.doc", // closing comment
46208
+ regex : "\\*\\/",
46209
+ next : start
46210
+ };
46211
+ };
46212
+
46213
+
46214
+ exports.DocCommentHighlightRules = DocCommentHighlightRules;
46215
+
46216
+ });
46217
+
46218
+ ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(acequire, exports, module) {
46219
+ "use strict";
46220
+
46221
+ var oop = acequire("../lib/oop");
46222
+ var DocCommentHighlightRules = acequire("./doc_comment_highlight_rules").DocCommentHighlightRules;
46223
+ var TextHighlightRules = acequire("./text_highlight_rules").TextHighlightRules;
46224
+ var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*";
46225
+
46226
+ var JavaScriptHighlightRules = function(options) {
46227
+ var keywordMapper = this.createKeywordMapper({
46228
+ "variable.language":
46229
+ "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|" + // Constructors
46230
+ "Namespace|QName|XML|XMLList|" + // E4X
46231
+ "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
46232
+ "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|" +
46233
+ "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" + // Errors
46234
+ "SyntaxError|TypeError|URIError|" +
46235
+ "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
46236
+ "isNaN|parseFloat|parseInt|" +
46237
+ "JSON|Math|" + // Other
46238
+ "this|arguments|prototype|window|document" , // Pseudo
46239
+ "keyword":
46240
+ "const|yield|import|get|set|async|await|" +
46241
+ "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
46242
+ "if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
46243
+ "__parent__|__count__|escape|unescape|with|__proto__|" +
46244
+ "class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
46245
+ "storage.type":
46246
+ "const|let|var|function",
46247
+ "constant.language":
46248
+ "null|Infinity|NaN|undefined",
46249
+ "support.function":
46250
+ "alert",
46251
+ "constant.language.boolean": "true|false"
46252
+ }, "identifier");
46253
+ var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
46254
+
46255
+ var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
46256
+ "u[0-9a-fA-F]{4}|" + // unicode
46257
+ "u{[0-9a-fA-F]{1,6}}|" + // es6 unicode
46258
+ "[0-2][0-7]{0,2}|" + // oct
46259
+ "3[0-7][0-7]?|" + // oct
46260
+ "[4-7][0-7]?|" + //oct
46261
+ ".)";
46262
+
46263
+ this.$rules = {
46264
+ "no_regex" : [
46265
+ DocCommentHighlightRules.getStartRule("doc-start"),
46266
+ comments("no_regex"),
46267
+ {
46268
+ token : "string",
46269
+ regex : "'(?=.)",
46270
+ next : "qstring"
46271
+ }, {
46272
+ token : "string",
46273
+ regex : '"(?=.)',
46274
+ next : "qqstring"
46275
+ }, {
46276
+ token : "constant.numeric", // hexadecimal, octal and binary
46277
+ regex : /0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/
46278
+ }, {
46279
+ token : "constant.numeric", // decimal integers and floats
46280
+ regex : /(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/
46281
+ }, {
46282
+ token : [
46283
+ "storage.type", "punctuation.operator", "support.function",
46284
+ "punctuation.operator", "entity.name.function", "text","keyword.operator"
46285
+ ],
46286
+ regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)",
46287
+ next: "function_arguments"
46288
+ }, {
46289
+ token : [
46290
+ "storage.type", "punctuation.operator", "entity.name.function", "text",
46291
+ "keyword.operator", "text", "storage.type", "text", "paren.lparen"
46292
+ ],
46293
+ regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
46294
+ next: "function_arguments"
46295
+ }, {
46296
+ token : [
46297
+ "entity.name.function", "text", "keyword.operator", "text", "storage.type",
46298
+ "text", "paren.lparen"
46299
+ ],
46300
+ regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
46301
+ next: "function_arguments"
46302
+ }, {
46303
+ token : [
46304
+ "storage.type", "punctuation.operator", "entity.name.function", "text",
46305
+ "keyword.operator", "text",
46306
+ "storage.type", "text", "entity.name.function", "text", "paren.lparen"
46307
+ ],
46308
+ regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",
46309
+ next: "function_arguments"
46310
+ }, {
46311
+ token : [
46312
+ "storage.type", "text", "entity.name.function", "text", "paren.lparen"
46313
+ ],
46314
+ regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
46315
+ next: "function_arguments"
46316
+ }, {
46317
+ token : [
46318
+ "entity.name.function", "text", "punctuation.operator",
46319
+ "text", "storage.type", "text", "paren.lparen"
46320
+ ],
46321
+ regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",
46322
+ next: "function_arguments"
46323
+ }, {
46324
+ token : [
46325
+ "text", "text", "storage.type", "text", "paren.lparen"
46326
+ ],
46327
+ regex : "(:)(\\s*)(function)(\\s*)(\\()",
46328
+ next: "function_arguments"
46329
+ }, {
46330
+ token : "keyword",
46331
+ regex : "from(?=\\s*('|\"))"
46332
+ }, {
46333
+ token : "keyword",
46334
+ regex : "(?:" + kwBeforeRe + ")\\b",
46335
+ next : "start"
46336
+ }, {
46337
+ token : ["support.constant"],
46338
+ regex : /that\b/
46339
+ }, {
46340
+ token : ["storage.type", "punctuation.operator", "support.function.firebug"],
46341
+ regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
46342
+ }, {
46343
+ token : keywordMapper,
46344
+ regex : identifierRe
46345
+ }, {
46346
+ token : "punctuation.operator",
46347
+ regex : /[.](?![.])/,
46348
+ next : "property"
46349
+ }, {
46350
+ token : "storage.type",
46351
+ regex : /=>/
46352
+ }, {
46353
+ token : "keyword.operator",
46354
+ regex : /--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,
46355
+ next : "start"
46356
+ }, {
46357
+ token : "punctuation.operator",
46358
+ regex : /[?:,;.]/,
46359
+ next : "start"
46360
+ }, {
46361
+ token : "paren.lparen",
46362
+ regex : /[\[({]/,
46363
+ next : "start"
46364
+ }, {
46365
+ token : "paren.rparen",
46366
+ regex : /[\])}]/
46367
+ }, {
46368
+ token: "comment",
46369
+ regex: /^#!.*$/
46370
+ }
46371
+ ],
46372
+ property: [{
46373
+ token : "text",
46374
+ regex : "\\s+"
46375
+ }, {
46376
+ token : [
46377
+ "storage.type", "punctuation.operator", "entity.name.function", "text",
46378
+ "keyword.operator", "text",
46379
+ "storage.type", "text", "entity.name.function", "text", "paren.lparen"
46380
+ ],
46381
+ regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",
46382
+ next: "function_arguments"
46383
+ }, {
46384
+ token : "punctuation.operator",
46385
+ regex : /[.](?![.])/
46386
+ }, {
46387
+ token : "support.function",
46388
+ regex : /(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/
46389
+ }, {
46390
+ token : "support.function.dom",
46391
+ regex : /(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/
46392
+ }, {
46393
+ token : "support.constant",
46394
+ regex : /(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/
46395
+ }, {
46396
+ token : "identifier",
46397
+ regex : identifierRe
46398
+ }, {
46399
+ regex: "",
46400
+ token: "empty",
46401
+ next: "no_regex"
46402
+ }
46403
+ ],
46404
+ "start": [
46405
+ DocCommentHighlightRules.getStartRule("doc-start"),
46406
+ comments("start"),
46407
+ {
46408
+ token: "string.regexp",
46409
+ regex: "\\/",
46410
+ next: "regex"
46411
+ }, {
46412
+ token : "text",
46413
+ regex : "\\s+|^$",
46414
+ next : "start"
46415
+ }, {
46416
+ token: "empty",
46417
+ regex: "",
46418
+ next: "no_regex"
46419
+ }
46420
+ ],
46421
+ "regex": [
46422
+ {
46423
+ token: "regexp.keyword.operator",
46424
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
46425
+ }, {
46426
+ token: "string.regexp",
46427
+ regex: "/[sxngimy]*",
46428
+ next: "no_regex"
46429
+ }, {
46430
+ token : "invalid",
46431
+ regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
46432
+ }, {
46433
+ token : "constant.language.escape",
46434
+ regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
46435
+ }, {
46436
+ token : "constant.language.delimiter",
46437
+ regex: /\|/
46438
+ }, {
46439
+ token: "constant.language.escape",
46440
+ regex: /\[\^?/,
46441
+ next: "regex_character_class"
46442
+ }, {
46443
+ token: "empty",
46444
+ regex: "$",
46445
+ next: "no_regex"
46446
+ }, {
46447
+ defaultToken: "string.regexp"
46448
+ }
46449
+ ],
46450
+ "regex_character_class": [
46451
+ {
46452
+ token: "regexp.charclass.keyword.operator",
46453
+ regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
46454
+ }, {
46455
+ token: "constant.language.escape",
46456
+ regex: "]",
46457
+ next: "regex"
46458
+ }, {
46459
+ token: "constant.language.escape",
46460
+ regex: "-"
46461
+ }, {
46462
+ token: "empty",
46463
+ regex: "$",
46464
+ next: "no_regex"
46465
+ }, {
46466
+ defaultToken: "string.regexp.charachterclass"
46467
+ }
46468
+ ],
46469
+ "function_arguments": [
46470
+ {
46471
+ token: "variable.parameter",
46472
+ regex: identifierRe
46473
+ }, {
46474
+ token: "punctuation.operator",
46475
+ regex: "[, ]+"
46476
+ }, {
46477
+ token: "punctuation.operator",
46478
+ regex: "$"
46479
+ }, {
46480
+ token: "empty",
46481
+ regex: "",
46482
+ next: "no_regex"
46483
+ }
46484
+ ],
46485
+ "qqstring" : [
46486
+ {
46487
+ token : "constant.language.escape",
46488
+ regex : escapedRe
46489
+ }, {
46490
+ token : "string",
46491
+ regex : "\\\\$",
46492
+ consumeLineEnd : true
46493
+ }, {
46494
+ token : "string",
46495
+ regex : '"|$',
46496
+ next : "no_regex"
46497
+ }, {
46498
+ defaultToken: "string"
46499
+ }
46500
+ ],
46501
+ "qstring" : [
46502
+ {
46503
+ token : "constant.language.escape",
46504
+ regex : escapedRe
46505
+ }, {
46506
+ token : "string",
46507
+ regex : "\\\\$",
46508
+ consumeLineEnd : true
46509
+ }, {
46510
+ token : "string",
46511
+ regex : "'|$",
46512
+ next : "no_regex"
46513
+ }, {
46514
+ defaultToken: "string"
46515
+ }
46516
+ ]
46517
+ };
46518
+
46519
+
46520
+ if (!options || !options.noES6) {
46521
+ this.$rules.no_regex.unshift({
46522
+ regex: "[{}]", onMatch: function(val, state, stack) {
46523
+ this.next = val == "{" ? this.nextState : "";
46524
+ if (val == "{" && stack.length) {
46525
+ stack.unshift("start", state);
46526
+ }
46527
+ else if (val == "}" && stack.length) {
46528
+ stack.shift();
46529
+ this.next = stack.shift();
46530
+ if (this.next.indexOf("string") != -1 || this.next.indexOf("jsx") != -1)
46531
+ return "paren.quasi.end";
46532
+ }
46533
+ return val == "{" ? "paren.lparen" : "paren.rparen";
46534
+ },
46535
+ nextState: "start"
46536
+ }, {
46537
+ token : "string.quasi.start",
46538
+ regex : /`/,
46539
+ push : [{
46540
+ token : "constant.language.escape",
46541
+ regex : escapedRe
46542
+ }, {
46543
+ token : "paren.quasi.start",
46544
+ regex : /\${/,
46545
+ push : "start"
46546
+ }, {
46547
+ token : "string.quasi.end",
46548
+ regex : /`/,
46549
+ next : "pop"
46550
+ }, {
46551
+ defaultToken: "string.quasi"
46552
+ }]
46553
+ });
46554
+
46555
+ if (!options || options.jsx != false)
46556
+ JSX.call(this);
46557
+ }
46558
+
46559
+ this.embedRules(DocCommentHighlightRules, "doc-",
46560
+ [ DocCommentHighlightRules.getEndRule("no_regex") ]);
46561
+
46562
+ this.normalizeRules();
46563
+ };
46564
+
46565
+ oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
46566
+
46567
+ function JSX() {
46568
+ var tagRegex = identifierRe.replace("\\d", "\\d\\-");
46569
+ var jsxTag = {
46570
+ onMatch : function(val, state, stack) {
46571
+ var offset = val.charAt(1) == "/" ? 2 : 1;
46572
+ if (offset == 1) {
46573
+ if (state != this.nextState)
46574
+ stack.unshift(this.next, this.nextState, 0);
46575
+ else
46576
+ stack.unshift(this.next);
46577
+ stack[2]++;
46578
+ } else if (offset == 2) {
46579
+ if (state == this.nextState) {
46580
+ stack[1]--;
46581
+ if (!stack[1] || stack[1] < 0) {
46582
+ stack.shift();
46583
+ stack.shift();
46584
+ }
46585
+ }
46586
+ }
46587
+ return [{
46588
+ type: "meta.tag.punctuation." + (offset == 1 ? "" : "end-") + "tag-open.xml",
46589
+ value: val.slice(0, offset)
46590
+ }, {
46591
+ type: "meta.tag.tag-name.xml",
46592
+ value: val.substr(offset)
46593
+ }];
46594
+ },
46595
+ regex : "</?" + tagRegex + "",
46596
+ next: "jsxAttributes",
46597
+ nextState: "jsx"
46598
+ };
46599
+ this.$rules.start.unshift(jsxTag);
46600
+ var jsxJsRule = {
46601
+ regex: "{",
46602
+ token: "paren.quasi.start",
46603
+ push: "start"
46604
+ };
46605
+ this.$rules.jsx = [
46606
+ jsxJsRule,
46607
+ jsxTag,
46608
+ {include : "reference"},
46609
+ {defaultToken: "string"}
46610
+ ];
46611
+ this.$rules.jsxAttributes = [{
46612
+ token : "meta.tag.punctuation.tag-close.xml",
46613
+ regex : "/?>",
46614
+ onMatch : function(value, currentState, stack) {
46615
+ if (currentState == stack[0])
46616
+ stack.shift();
46617
+ if (value.length == 2) {
46618
+ if (stack[0] == this.nextState)
46619
+ stack[1]--;
46620
+ if (!stack[1] || stack[1] < 0) {
46621
+ stack.splice(0, 2);
46622
+ }
46623
+ }
46624
+ this.next = stack[0] || "start";
46625
+ return [{type: this.token, value: value}];
46626
+ },
46627
+ nextState: "jsx"
46628
+ },
46629
+ jsxJsRule,
46630
+ comments("jsxAttributes"),
46631
+ {
46632
+ token : "entity.other.attribute-name.xml",
46633
+ regex : tagRegex
46634
+ }, {
46635
+ token : "keyword.operator.attribute-equals.xml",
46636
+ regex : "="
46637
+ }, {
46638
+ token : "text.tag-whitespace.xml",
46639
+ regex : "\\s+"
46640
+ }, {
46641
+ token : "string.attribute-value.xml",
46642
+ regex : "'",
46643
+ stateName : "jsx_attr_q",
46644
+ push : [
46645
+ {token : "string.attribute-value.xml", regex: "'", next: "pop"},
46646
+ {include : "reference"},
46647
+ {defaultToken : "string.attribute-value.xml"}
46648
+ ]
46649
+ }, {
46650
+ token : "string.attribute-value.xml",
46651
+ regex : '"',
46652
+ stateName : "jsx_attr_qq",
46653
+ push : [
46654
+ {token : "string.attribute-value.xml", regex: '"', next: "pop"},
46655
+ {include : "reference"},
46656
+ {defaultToken : "string.attribute-value.xml"}
46657
+ ]
46658
+ },
46659
+ jsxTag
46660
+ ];
46661
+ this.$rules.reference = [{
46662
+ token : "constant.language.escape.reference.xml",
46663
+ regex : "(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"
46664
+ }];
46665
+ }
46666
+
46667
+ function comments(next) {
46668
+ return [
46669
+ {
46670
+ token : "comment", // multi line comment
46671
+ regex : /\/\*/,
46672
+ next: [
46673
+ DocCommentHighlightRules.getTagRule(),
46674
+ {token : "comment", regex : "\\*\\/", next : next || "pop"},
46675
+ {defaultToken : "comment", caseInsensitive: true}
46676
+ ]
46677
+ }, {
46678
+ token : "comment",
46679
+ regex : "\\/\\/",
46680
+ next: [
46681
+ DocCommentHighlightRules.getTagRule(),
46682
+ {token : "comment", regex : "$|^", next : next || "pop"},
46683
+ {defaultToken : "comment", caseInsensitive: true}
46684
+ ]
46685
+ }
46686
+ ];
46687
+ }
46688
+ exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
46689
+ });
46690
+
46691
+ ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(acequire, exports, module) {
46692
+ "use strict";
46693
+
46694
+ var Range = acequire("../range").Range;
46695
+
46696
+ var MatchingBraceOutdent = function() {};
46697
+
46698
+ (function() {
46699
+
46700
+ this.checkOutdent = function(line, input) {
46701
+ if (! /^\s+$/.test(line))
46702
+ return false;
46703
+
46704
+ return /^\s*\}/.test(input);
46705
+ };
46706
+
46707
+ this.autoOutdent = function(doc, row) {
46708
+ var line = doc.getLine(row);
46709
+ var match = line.match(/^(\s*\})/);
46710
+
46711
+ if (!match) return 0;
46712
+
46713
+ var column = match[1].length;
46714
+ var openBracePos = doc.findMatchingBracket({row: row, column: column});
46715
+
46716
+ if (!openBracePos || openBracePos.row == row) return 0;
46717
+
46718
+ var indent = this.$getIndent(doc.getLine(openBracePos.row));
46719
+ doc.replace(new Range(row, 0, row, column-1), indent);
46720
+ };
46721
+
46722
+ this.$getIndent = function(line) {
46723
+ return line.match(/^\s*/)[0];
46724
+ };
46725
+
46726
+ }).call(MatchingBraceOutdent.prototype);
46727
+
46728
+ exports.MatchingBraceOutdent = MatchingBraceOutdent;
46729
+ });
46730
+
46731
+ ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(acequire, exports, module) {
46732
+ "use strict";
46733
+
46734
+ var oop = acequire("../../lib/oop");
46735
+ var Range = acequire("../../range").Range;
46736
+ var BaseFoldMode = acequire("./fold_mode").FoldMode;
46737
+
46738
+ var FoldMode = exports.FoldMode = function(commentRegex) {
46739
+ if (commentRegex) {
46740
+ this.foldingStartMarker = new RegExp(
46741
+ this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
46742
+ );
46743
+ this.foldingStopMarker = new RegExp(
46744
+ this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
46745
+ );
46746
+ }
46747
+ };
46748
+ oop.inherits(FoldMode, BaseFoldMode);
46749
+
46750
+ (function() {
46751
+
46752
+ this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/;
46753
+ this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/;
46754
+ this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/;
46755
+ this.tripleStarBlockCommentRe = /^\s*(\/\*\*\*).*\*\/\s*$/;
46756
+ this.startRegionRe = /^\s*(\/\*|\/\/)#?region\b/;
46757
+ this._getFoldWidgetBase = this.getFoldWidget;
46758
+ this.getFoldWidget = function(session, foldStyle, row) {
46759
+ var line = session.getLine(row);
46760
+
46761
+ if (this.singleLineBlockCommentRe.test(line)) {
46762
+ if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line))
46763
+ return "";
46764
+ }
46765
+
46766
+ var fw = this._getFoldWidgetBase(session, foldStyle, row);
46767
+
46768
+ if (!fw && this.startRegionRe.test(line))
46769
+ return "start"; // lineCommentRegionStart
46770
+
46771
+ return fw;
46772
+ };
46773
+
46774
+ this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
46775
+ var line = session.getLine(row);
46776
+
46777
+ if (this.startRegionRe.test(line))
46778
+ return this.getCommentRegionBlock(session, line, row);
46779
+
46780
+ var match = line.match(this.foldingStartMarker);
46781
+ if (match) {
46782
+ var i = match.index;
46783
+
46784
+ if (match[1])
46785
+ return this.openingBracketBlock(session, match[1], row, i);
46786
+
46787
+ var range = session.getCommentFoldRange(row, i + match[0].length, 1);
46788
+
46789
+ if (range && !range.isMultiLine()) {
46790
+ if (forceMultiline) {
46791
+ range = this.getSectionRange(session, row);
46792
+ } else if (foldStyle != "all")
46793
+ range = null;
46794
+ }
46795
+
46796
+ return range;
46797
+ }
46798
+
46799
+ if (foldStyle === "markbegin")
46800
+ return;
46801
+
46802
+ var match = line.match(this.foldingStopMarker);
46803
+ if (match) {
46804
+ var i = match.index + match[0].length;
46805
+
46806
+ if (match[1])
46807
+ return this.closingBracketBlock(session, match[1], row, i);
46808
+
46809
+ return session.getCommentFoldRange(row, i, -1);
46810
+ }
46811
+ };
46812
+
46813
+ this.getSectionRange = function(session, row) {
46814
+ var line = session.getLine(row);
46815
+ var startIndent = line.search(/\S/);
46816
+ var startRow = row;
46817
+ var startColumn = line.length;
46818
+ row = row + 1;
46819
+ var endRow = row;
46820
+ var maxRow = session.getLength();
46821
+ while (++row < maxRow) {
46822
+ line = session.getLine(row);
46823
+ var indent = line.search(/\S/);
46824
+ if (indent === -1)
46825
+ continue;
46826
+ if (startIndent > indent)
46827
+ break;
46828
+ var subRange = this.getFoldWidgetRange(session, "all", row);
46829
+
46830
+ if (subRange) {
46831
+ if (subRange.start.row <= startRow) {
46832
+ break;
46833
+ } else if (subRange.isMultiLine()) {
46834
+ row = subRange.end.row;
46835
+ } else if (startIndent == indent) {
46836
+ break;
46837
+ }
46838
+ }
46839
+ endRow = row;
46840
+ }
46841
+
46842
+ return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
46843
+ };
46844
+ this.getCommentRegionBlock = function(session, line, row) {
46845
+ var startColumn = line.search(/\s*$/);
46846
+ var maxRow = session.getLength();
46847
+ var startRow = row;
46848
+
46849
+ var re = /^\s*(?:\/\*|\/\/|--)#?(end)?region\b/;
46850
+ var depth = 1;
46851
+ while (++row < maxRow) {
46852
+ line = session.getLine(row);
46853
+ var m = re.exec(line);
46854
+ if (!m) continue;
46855
+ if (m[1]) depth--;
46856
+ else depth++;
46857
+
46858
+ if (!depth) break;
46859
+ }
46860
+
46861
+ var endRow = row;
46862
+ if (endRow > startRow) {
46863
+ return new Range(startRow, startColumn, endRow, line.length);
46864
+ }
46865
+ };
46866
+
46867
+ }).call(FoldMode.prototype);
46868
+
46869
+ });
46870
+
46871
+ ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(acequire, exports, module) {
46872
+ "use strict";
46873
+
46874
+ var oop = acequire("../lib/oop");
46875
+ var TextMode = acequire("./text").Mode;
46876
+ var JavaScriptHighlightRules = acequire("./javascript_highlight_rules").JavaScriptHighlightRules;
46877
+ var MatchingBraceOutdent = acequire("./matching_brace_outdent").MatchingBraceOutdent;
46878
+ var WorkerClient = acequire("../worker/worker_client").WorkerClient;
46879
+ var CstyleBehaviour = acequire("./behaviour/cstyle").CstyleBehaviour;
46880
+ var CStyleFoldMode = acequire("./folding/cstyle").FoldMode;
46881
+
46882
+ var Mode = function() {
46883
+ this.HighlightRules = JavaScriptHighlightRules;
46884
+
46885
+ this.$outdent = new MatchingBraceOutdent();
46886
+ this.$behaviour = new CstyleBehaviour();
46887
+ this.foldingRules = new CStyleFoldMode();
46888
+ };
46889
+ oop.inherits(Mode, TextMode);
46890
+
46891
+ (function() {
46892
+
46893
+ this.lineCommentStart = "//";
46894
+ this.blockComment = {start: "/*", end: "*/"};
46895
+ this.$quotes = {'"': '"', "'": "'", "`": "`"};
46896
+
46897
+ this.getNextLineIndent = function(state, line, tab) {
46898
+ var indent = this.$getIndent(line);
46899
+
46900
+ var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
46901
+ var tokens = tokenizedLine.tokens;
46902
+ var endState = tokenizedLine.state;
46903
+
46904
+ if (tokens.length && tokens[tokens.length-1].type == "comment") {
46905
+ return indent;
46906
+ }
46907
+
46908
+ if (state == "start" || state == "no_regex") {
46909
+ var match = line.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);
46910
+ if (match) {
46911
+ indent += tab;
46912
+ }
46913
+ } else if (state == "doc-start") {
46914
+ if (endState == "start" || endState == "no_regex") {
46915
+ return "";
46916
+ }
46917
+ var match = line.match(/^\s*(\/?)\*/);
46918
+ if (match) {
46919
+ if (match[1]) {
46920
+ indent += " ";
46921
+ }
46922
+ indent += "* ";
46923
+ }
46924
+ }
46925
+
46926
+ return indent;
46927
+ };
46928
+
46929
+ this.checkOutdent = function(state, line, input) {
46930
+ return this.$outdent.checkOutdent(line, input);
46931
+ };
46932
+
46933
+ this.autoOutdent = function(state, doc, row) {
46934
+ this.$outdent.autoOutdent(doc, row);
46935
+ };
46936
+
46937
+ this.createWorker = function(session) {
46938
+ var worker = new WorkerClient(["ace"], __webpack_require__("6d68"), "JavaScriptWorker");
46939
+ worker.attachToDocument(session.getDocument());
46940
+
46941
+ worker.on("annotate", function(results) {
46942
+ session.setAnnotations(results.data);
46943
+ });
46944
+
46945
+ worker.on("terminate", function() {
46946
+ session.clearAnnotations();
46947
+ });
46948
+
46949
+ return worker;
46950
+ };
46951
+
46952
+ this.$id = "ace/mode/javascript";
46953
+ }).call(Mode.prototype);
46954
+
46955
+ exports.Mode = Mode;
46956
+ });
46957
+
46958
+
45130
46959
  /***/ }),
45131
46960
 
45132
46961
  /***/ "bc13":
@@ -45421,7 +47250,7 @@ $({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
45421
47250
  /***/ "ccf6":
45422
47251
  /***/ (function(module, exports) {
45423
47252
 
45424
- module.exports = "<!DOCTYPE html>\r\n<article class=\"v-api-combine-wrapper\">\r\n <i-split v-model=\"split\" min=\"200px\" max=\"1100px\">\r\n <!-- 左侧内容 -->\r\n <section slot=\"left\" class=\"left-split-pane\">\r\n <u-type-tree :taskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" @on-import-success=\"onQuery\" @on-select=\"onNodeSelect\" @on-tree-data=\"onTreeData\"> </u-type-tree>\r\n </section>\r\n <!-- 分割线 -->\r\n <section class=\"trigger\" slot=\"trigger\"></section>\r\n <!-- 右侧内容 -->\r\n <section slot=\"right\" class=\"right-split-pane\">\r\n <section class=\"search-wrapper\">\r\n <i-form class=\"diy-search-form\" ref=\"searchForm\" :model=\"formData\" label-position=\"left\" label-colon>\r\n <i-form-item label=\"名称\" prop=\"name\">\r\n <i-input class=\"diy-input\" v-model=\"formData.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"编码\" prop=\"code\">\r\n <i-input class=\"diy-input\" v-model=\"formData.code\"></i-input>\r\n </i-form-item>\r\n </i-form>\r\n <div class=\"btns\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onQuery\">查询</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onReset\">重置</i-button>\r\n </div>\r\n </section>\r\n <section class=\"actions-wrapper\">\r\n <div class=\"action-item action-text\" @click=\"onAdd()\" :class=\"currentNode.id === 'virtual_root_directory' ? 'icon-button-disabled' : ''\">\r\n <i class=\"iconfont icon-add\"></i>\r\n <div>新增</div>\r\n </div>\r\n <div class=\"action-item action-text\" :class=\"selection.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span>批量删除</span>\r\n </div>\r\n </section>\r\n <section class=\"main-wrapper\">\r\n <template v-if=\"list?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"list\" @on-selection-change=\"onSelectChange\" @on-row-click=\"onRowClick\">\r\n <template slot=\"status\" slot-scope=\"{row,index}\">\r\n <i-switch class=\"diy-switch\" :value=\"row.status==='PUBLISHED'\" @on-change=\"onStatusChange($event, row, index)\"></i-switch>\r\n <span>{{row.status===\"PUBLISHED\" ? \"已发布\" : \"未发布\"}}</span>\r\n </template>\r\n <template slot=\"doc\" slot-scope=\"{row}\">\r\n <a @click=\"onOpenDoc(row)\">查看</a>\r\n </template>\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i @click.stop=\"onDetail(row)\" title=\"查看\" class=\"iconfont icon-a-xinzengzhibiaobeifen9\"></i>\r\n <i @click.stop=\"onCopy(row)\" title=\"复制\" class=\"iconfont icon-fuzhi1\"> </i>\r\n <template v-if=\"row.status!=='PUBLISHED'\">\r\n <i @click.stop=\"onEdit(row)\" title=\"编辑\" class=\"iconfont icon-Edit\"></i>\r\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </template>\r\n </div>\r\n </template>\r\n </i-table>\r\n <i-page\r\n class=\"diy-page\"\r\n show-total\r\n show-sizer\r\n show-elevator\r\n :total=\"paging.totalCount\"\r\n :current=\"paging.pageIndex\"\r\n :page-size=\"paging.pageSize\"\r\n @on-change=\"onPageIndexChange\"\r\n @on-page-size-change=\"onPageSizeChange\"\r\n ></i-page>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </section>\r\n </section>\r\n </i-split>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\r\n <i-modal draggable sticky reset-drag-position v-model=\"showCopyModal\" class=\"diy-modal combine-copy-modal\" :mask-closable=\"false\" title=\"复制接口\">\r\n <i-form :label-width=\"100\" class=\"diy-form\" v-model=\"copyData\" label-colon>\r\n <i-form-item label=\"接口名称\" required>\r\n <i-input class=\"diy-input\" v-model=\"copyData.name\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"接口编码\" required>\r\n <i-input class=\"diy-input\" v-model=\"copyData.code\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"选择分组\" required>\r\n <u-tree-selector :treeData=\"treeData\" leaf-name=\"copy\" :canChooseFolder=\"true\" v-model=\"categoryData.id\" @on-select=\"selectCategory\"> </u-tree-selector>\r\n </i-form-item>\r\n </i-form>\r\n <footer slot=\"footer\">\r\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onCopyConfirm\">确定</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onCopyCancel\">取消</i-button>\r\n </footer>\r\n </i-modal>\r\n</article>\r\n"
47253
+ module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-wrapper\">\n <i-split v-model=\"split\" min=\"200px\" max=\"1100px\">\n <!-- 左侧内容 -->\n <section slot=\"left\" class=\"left-split-pane\">\n <u-type-tree :taskCategoryID=\"taskCategoryID\" :initSelectItem=\"initNode\" @on-import-success=\"onQuery\" @on-select=\"onNodeSelect\" @on-tree-data=\"onTreeData\"> </u-type-tree>\n </section>\n <!-- 分割线 -->\n <section class=\"trigger\" slot=\"trigger\"></section>\n <!-- 右侧内容 -->\n <section slot=\"right\" class=\"right-split-pane\">\n <section class=\"search-wrapper\">\n <i-form class=\"diy-search-form\" ref=\"searchForm\" :model=\"formData\" label-position=\"left\" label-colon>\n <i-form-item label=\"名称\" prop=\"name\">\n <i-input class=\"diy-input\" v-model=\"formData.name\"></i-input>\n </i-form-item>\n <i-form-item label=\"编码\" prop=\"code\">\n <i-input class=\"diy-input\" v-model=\"formData.code\"></i-input>\n </i-form-item>\n </i-form>\n <div class=\"btns\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onQuery\">查询</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onReset\">重置</i-button>\n </div>\n </section>\n <section class=\"actions-wrapper\">\n <div class=\"action-item action-text\" @click=\"onAdd()\" :class=\"currentNode.id === 'virtual_root_directory' ? 'icon-button-disabled' : ''\">\n <i class=\"iconfont icon-add\"></i>\n <div>新增</div>\n </div>\n <div class=\"action-item action-text\" :class=\"selection.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\n <i class=\"iconfont icon-delete\"></i>\n <span>批量删除</span>\n </div>\n </section>\n <section class=\"main-wrapper\">\n <template v-if=\"list?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"list\" @on-selection-change=\"onSelectChange\" @on-row-click=\"onRowClick\">\n <template slot=\"status\" slot-scope=\"{row,index}\">\n <i-switch class=\"diy-switch\" :value=\"row.status==='PUBLISHED'\" @on-change=\"onStatusChange($event, row, index)\"></i-switch>\n <span>{{row.status===\"PUBLISHED\" ? \"已发布\" : \"未发布\"}}</span>\n </template>\n <template slot=\"doc\" slot-scope=\"{row}\">\n <a @click=\"onOpenDoc(row)\">查看</a>\n </template>\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i @click.stop=\"onDetail(row)\" title=\"查看\" class=\"iconfont icon-a-xinzengzhibiaobeifen9\"></i>\n <i @click.stop=\"onCopy(row)\" title=\"复制\" class=\"iconfont icon-fuzhi1\"> </i>\n <template v-if=\"row.status!=='PUBLISHED'\">\n <i @click.stop=\"onEdit(row)\" title=\"编辑\" class=\"iconfont icon-Edit\"></i>\n <i-poptip confirm transfer title=\"确认要删除这条数据吗?\" @on-ok=\"onDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </template>\n </div>\n </template>\n </i-table>\n <i-page\n class=\"diy-page\"\n show-total\n show-sizer\n show-elevator\n :total=\"paging.totalCount\"\n :current=\"paging.pageIndex\"\n :page-size=\"paging.pageSize\"\n @on-change=\"onPageIndexChange\"\n @on-page-size-change=\"onPageSizeChange\"\n ></i-page>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </section>\n </section>\n </i-split>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n <i-modal draggable sticky reset-drag-position v-model=\"showCopyModal\" class=\"diy-modal combine-copy-modal\" :mask-closable=\"false\" title=\"复制接口\">\n <i-form :label-width=\"100\" class=\"diy-form\" v-model=\"copyData\" label-colon>\n <i-form-item label=\"接口名称\" required>\n <i-input class=\"diy-input\" v-model=\"copyData.name\"></i-input>\n </i-form-item>\n <i-form-item label=\"接口编码\" required>\n <i-input class=\"diy-input\" v-model=\"copyData.code\"></i-input>\n </i-form-item>\n <i-form-item label=\"选择分组\" required>\n <u-tree-selector :treeData=\"treeData\" leaf-name=\"copy\" :canChooseFolder=\"true\" v-model=\"categoryData.id\" @on-select=\"selectCategory\"> </u-tree-selector>\n </i-form-item>\n </i-form>\n <footer slot=\"footer\">\n <i-button class=\"diy-btn-primary\" type=\"primary\" @click=\"onCopyConfirm\">确定</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onCopyCancel\">取消</i-button>\n </footer>\n </i-modal>\n</article>\n"
45425
47254
 
45426
47255
  /***/ }),
45427
47256
 
@@ -45473,7 +47302,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_cebe__;
45473
47302
  /***/ "cfb3":
45474
47303
  /***/ (function(module, exports) {
45475
47304
 
45476
- module.exports = "<article class=\"project-list\">\r\n <header>\r\n <i-input\r\n class=\"diy-input\"\r\n v-model=\"condition.name\"\r\n search\r\n @on-search=\"onQuery\"\r\n placeholder=\"输入关键字检索\"\r\n ></i-input>\r\n </header>\r\n <main>\r\n <header class=\"tool-bar\">\r\n <span>项目列表</span>\r\n <div class=\"right-tool\">\r\n <div class=\"action-btn\">\r\n <i-upload\r\n class=\"action-item\"\r\n :action=\"uploadAction\"\r\n accept=\".json\"\r\n :headers=\"headers\"\r\n :show-upload-list=\"false\"\r\n :format=\"['json']\"\r\n :on-success=\"onSuccess\"\r\n :before-upload=\"onBeforeUpload\"\r\n :on-format-error=\"onFormatError\"\r\n >\r\n <i class=\"api-icon icon-import\"></i>\r\n <div>导入项目</div>\r\n </i-upload>\r\n </div>\r\n <div class=\"action-btn\" @click=\"onComment\">\r\n <i\r\n class=\"api-icon icon-star\"\r\n @click=\"onCheckType('list')\"\r\n ></i>\r\n <div>查看项目动态</div>\r\n </div>\r\n <i\r\n class=\"api-icon icon-list\"\r\n :class=\"{'active': type === 'list'}\"\r\n title=\"列表展示\"\r\n @click=\"onCheckType('list')\"\r\n ></i>\r\n <i\r\n class=\"api-icon icon-card\"\r\n :class=\"{'active': type === 'card'}\"\r\n title=\"卡片展示\"\r\n @click=\"onCheckType('card')\"\r\n ></i>\r\n </div>\r\n </header>\r\n <main>\r\n <section class=\"projects\" v-if=\"type==='card'\">\r\n <div class=\"project-card\" @click=\"onAdd\">\r\n <div class=\"add-card\">\r\n <i-icon type=\"md-add\" />\r\n <p>新建项目</p>\r\n </div>\r\n </div>\r\n <u-card\r\n v-for=\"item in dataList\"\r\n :data=\"item\"\r\n :key=\"item.id\"\r\n @on-delete=\"onDelete\"\r\n @on-detail=\"onDetail\"\r\n @on-edit=\"onEdit\"\r\n @on-export=\"onExport\"\r\n ></u-card>\r\n </section>\r\n <section class=\"projects\" v-else>\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"dataList\">\r\n <template slot-scope=\"{ row,index }\" slot=\"action\">\r\n <span @click=\"onExport(row)\" class=\"action-btn export\"\r\n ><i class=\"api-icon icon-export projects-icon-export\" title=\"导出此项目\"></i\r\n ></span>\r\n <span @click=\"onDetail(row)\" class=\"action-btn detail\"\r\n ><i class=\"api-icon icon-detail\" title=\"详情\"></i\r\n ></span>\r\n <span @click=\"onEdit(row)\" class=\"action-btn detail\"\r\n ><i class=\"api-icon icon-edit\" title=\"修改\"></i\r\n ></span>\r\n <u-confirm\r\n title=\"删除项目\"\r\n @on-ok=\"onDelete(row)\"\r\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\r\n >\r\n <span class=\"action-btn delete\"\r\n ><i\r\n class=\"api-icon icon-delete\"\r\n title=\"删除\"\r\n ></i\r\n ></span>\r\n </u-confirm>\r\n </template>\r\n </i-table>\r\n </section>\r\n </main>\r\n </main>\r\n <u-add-modal :visiable.sync=\"showAddModal\" :data=\"current\">\r\n <footer slot=\"footer\">\r\n <i-button @click=\"showAddModal = false\">取消</i-button>\r\n <i-button type=\"primary\" class=\"diy-btn-primary \" @click=\"onSave\"\r\n >确定</i-button\r\n >\r\n </footer>\r\n </u-add-modal>\r\n <i-spin fix v-show=\"loading\">\r\n <i class=\"spin-icon-load ivu-icon\"></i>\r\n </i-spin>\r\n</article>\r\n"
47305
+ module.exports = "<article class=\"project-list\">\n <header>\n <i-input\n class=\"diy-input\"\n v-model=\"condition.name\"\n search\n @on-search=\"onQuery\"\n placeholder=\"输入关键字检索\"\n ></i-input>\n </header>\n <main>\n <header class=\"tool-bar\">\n <span>项目列表</span>\n <div class=\"right-tool\">\n <div class=\"action-btn\">\n <i-upload\n class=\"action-item\"\n :action=\"uploadAction\"\n accept=\".json\"\n :headers=\"headers\"\n :show-upload-list=\"false\"\n :format=\"['json']\"\n :on-success=\"onSuccess\"\n :before-upload=\"onBeforeUpload\"\n :on-format-error=\"onFormatError\"\n >\n <i class=\"api-icon icon-import\"></i>\n <div>导入项目</div>\n </i-upload>\n </div>\n <div class=\"action-btn\" @click=\"onComment\">\n <i\n class=\"api-icon icon-star\"\n @click=\"onCheckType('list')\"\n ></i>\n <div>查看项目动态</div>\n </div>\n <i\n class=\"api-icon icon-list\"\n :class=\"{'active': type === 'list'}\"\n title=\"列表展示\"\n @click=\"onCheckType('list')\"\n ></i>\n <i\n class=\"api-icon icon-card\"\n :class=\"{'active': type === 'card'}\"\n title=\"卡片展示\"\n @click=\"onCheckType('card')\"\n ></i>\n </div>\n </header>\n <main>\n <section class=\"projects\" v-if=\"type==='card'\">\n <div class=\"project-card\" @click=\"onAdd\">\n <div class=\"add-card\">\n <i-icon type=\"md-add\" />\n <p>新建项目</p>\n </div>\n </div>\n <u-card\n v-for=\"item in dataList\"\n :data=\"item\"\n :key=\"item.id\"\n @on-delete=\"onDelete\"\n @on-detail=\"onDetail\"\n @on-edit=\"onEdit\"\n @on-export=\"onExport\"\n ></u-card>\n </section>\n <section class=\"projects\" v-else>\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"dataList\">\n <template slot-scope=\"{ row,index }\" slot=\"action\">\n <span @click=\"onExport(row)\" class=\"action-btn export\"\n ><i class=\"api-icon icon-export projects-icon-export\" title=\"导出此项目\"></i\n ></span>\n <span @click=\"onDetail(row)\" class=\"action-btn detail\"\n ><i class=\"api-icon icon-detail\" title=\"详情\"></i\n ></span>\n <span @click=\"onEdit(row)\" class=\"action-btn detail\"\n ><i class=\"api-icon icon-edit\" title=\"修改\"></i\n ></span>\n <u-confirm\n title=\"删除项目\"\n @on-ok=\"onDelete(row)\"\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\n >\n <span class=\"action-btn delete\"\n ><i\n class=\"api-icon icon-delete\"\n title=\"删除\"\n ></i\n ></span>\n </u-confirm>\n </template>\n </i-table>\n </section>\n </main>\n </main>\n <u-add-modal :visiable.sync=\"showAddModal\" :data=\"current\">\n <footer slot=\"footer\">\n <i-button @click=\"showAddModal = false\">取消</i-button>\n <i-button type=\"primary\" class=\"diy-btn-primary \" @click=\"onSave\"\n >确定</i-button\n >\n </footer>\n </u-add-modal>\n <i-spin fix v-show=\"loading\">\n <i class=\"spin-icon-load ivu-icon\"></i>\n </i-spin>\n</article>\n"
45477
47306
 
45478
47307
  /***/ }),
45479
47308
 
@@ -45594,7 +47423,7 @@ module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
45594
47423
  /***/ "d30a":
45595
47424
  /***/ (function(module, exports) {
45596
47425
 
45597
- module.exports = "<div class=\"u-selector-tree-node\" @click=\"onClickNode\">\r\n <i-icon v-if=\"!data.children\" type=\"ios-bookmark-outline\" />\r\n <template v-else>\r\n<!-- <i-->\r\n<!-- class=\"iconfont\"-->\r\n<!-- :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"-->\r\n<!-- ></i>-->\r\n <i class=\"iconfont icon-bumenkaohe\"></i>\r\n </template>\r\n <span>{{data.title}}</span>\r\n</div>\r\n"
47426
+ module.exports = "<div class=\"u-selector-tree-node\" @click=\"onClickNode\">\n <i-icon v-if=\"!data.children\" type=\"ios-bookmark-outline\" />\n <template v-else>\n<!-- <i-->\n<!-- class=\"iconfont\"-->\n<!-- :class=\"data.expand? 'icon-expand': 'icon-unexpand'\"-->\n<!-- ></i>-->\n <i class=\"iconfont icon-bumenkaohe\"></i>\n </template>\n <span>{{data.title}}</span>\n</div>\n"
45598
47427
 
45599
47428
  /***/ }),
45600
47429
 
@@ -45776,14 +47605,14 @@ module.exports = fails(function () {
45776
47605
  /***/ "d8b4":
45777
47606
  /***/ (function(module, exports) {
45778
47607
 
45779
- module.exports = "<div class=\"v-parameter-list-container\">\r\n <main>\r\n <div class=\"parameter-table-btns\" v-if=\"isEdit\">\r\n <span class=\"table-btns table-btns-add\" @click=\"onAdd\">\r\n <i class=\"iconfont icon-add\"></i>\r\n <span class=\"table-btns-text\">新增</span>\r\n </span>\r\n <span class=\"table-btns table-btns-delete\" :class=\"selections.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\r\n <i class=\"iconfont icon-delete\"></i>\r\n <span class=\"table-btns-text\">批量删除</span>\r\n </span>\r\n </div>\r\n <template v-if=\"data?.length\">\r\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelectionChange\">\r\n <div slot=\"name\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.name\">{{row.name}}</i-input>\r\n <span v-else>{{row.name}}</span>\r\n </div>\r\n <div slot=\"type\" slot-scope=\"{row}\">\r\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" v-model=\"row.type\" transfer>\r\n <i-option v-for=\"item in typeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\r\n </i-select>\r\n <span v-else>{{getTypeText(row.type)}}</span>\r\n </div>\r\n <div slot=\"required\" slot-scope=\"{row}\">\r\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" :value=\"booleanObj[row.required]\" @on-change=\"onChangeRequired($event, row)\" transfer>\r\n <i-option :value=\"0\" key=\"0\">否</i-option>\r\n <i-option :value=\"1\" key=\"1\">是</i-option>\r\n </i-select>\r\n <span v-else>{{row.required ? \"是\" : \"否\"}}</span>\r\n </div>\r\n <div slot=\"defaultValue\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.defaultValue\"></i-input>\r\n <span v-else>{{row.defaultValue}}</span>\r\n </div>\r\n <div slot=\"description\" slot-scope=\"{row}\">\r\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.description\"></i-input>\r\n <span v-else>{{row.description}}</span>\r\n </div>\r\n <div v-if=\"isEdit\" class=\"row-actions\" slot=\"actions\" slot-scope=\"{row,index}\">\r\n <div v-if=\"row.isEdit\" class=\"edit-status\">\r\n <i class=\"iconfont icon-ok\" title=\"确认\" @click=\"onConfirm(row, index)\"></i>\r\n <i class=\"iconfont icon-cancel\" title=\"取消\" @click=\"onCancel(index)\"></i>\r\n </div>\r\n <div v-else class=\"read-status\">\r\n <i class=\"iconfont icon-edit\" title=\"编辑\" @click=\"onEdit(row)\"></i>\r\n <i-poptip confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onDelete(row, index)\">\r\n <i class=\"iconfont icon-delete\" title=\"删除\"> </i>\r\n </i-poptip>\r\n </div>\r\n </div>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data-wrap\">\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </div>\r\n </template>\r\n </main>\r\n</div>\r\n"
47608
+ module.exports = "<div class=\"v-parameter-list-container\">\n <main>\n <div class=\"parameter-table-btns\" v-if=\"isEdit\">\n <span class=\"table-btns table-btns-add\" @click=\"onAdd\">\n <i class=\"iconfont icon-add\"></i>\n <span class=\"table-btns-text\">新增</span>\n </span>\n <span class=\"table-btns table-btns-delete\" :class=\"selections.length ? '' : 'icon-button-disabled'\" @click=\"onBatchDelete\">\n <i class=\"iconfont icon-delete\"></i>\n <span class=\"table-btns-text\">批量删除</span>\n </span>\n </div>\n <template v-if=\"data?.length\">\n <i-table class=\"diy-table\" :columns=\"columns\" :data=\"data\" @on-selection-change=\"onSelectionChange\">\n <div slot=\"name\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.name\">{{row.name}}</i-input>\n <span v-else>{{row.name}}</span>\n </div>\n <div slot=\"type\" slot-scope=\"{row}\">\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" v-model=\"row.type\" transfer>\n <i-option v-for=\"item in typeList\" :value=\"item.name\" :key=\"item.name\">{{item.text}}</i-option>\n </i-select>\n <span v-else>{{getTypeText(row.type)}}</span>\n </div>\n <div slot=\"required\" slot-scope=\"{row}\">\n <i-select class=\"diy-select\" v-if=\"row.isEdit\" :value=\"booleanObj[row.required]\" @on-change=\"onChangeRequired($event, row)\" transfer>\n <i-option :value=\"0\" key=\"0\">否</i-option>\n <i-option :value=\"1\" key=\"1\">是</i-option>\n </i-select>\n <span v-else>{{row.required ? \"是\" : \"否\"}}</span>\n </div>\n <div slot=\"defaultValue\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.defaultValue\"></i-input>\n <span v-else>{{row.defaultValue}}</span>\n </div>\n <div slot=\"description\" slot-scope=\"{row}\">\n <i-input class=\"diy-input\" v-if=\"row.isEdit\" v-model=\"row.description\"></i-input>\n <span v-else>{{row.description}}</span>\n </div>\n <div v-if=\"isEdit\" class=\"row-actions\" slot=\"actions\" slot-scope=\"{row,index}\">\n <div v-if=\"row.isEdit\" class=\"edit-status\">\n <i class=\"iconfont icon-ok\" title=\"确认\" @click=\"onConfirm(row, index)\"></i>\n <i class=\"iconfont icon-cancel\" title=\"取消\" @click=\"onCancel(index)\"></i>\n </div>\n <div v-else class=\"read-status\">\n <i class=\"iconfont icon-edit\" title=\"编辑\" @click=\"onEdit(row)\"></i>\n <i-poptip confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onDelete(row, index)\">\n <i class=\"iconfont icon-delete\" title=\"删除\"> </i>\n </i-poptip>\n </div>\n </div>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data-wrap\">\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </div>\n </template>\n </main>\n</div>\n"
45780
47609
 
45781
47610
  /***/ }),
45782
47611
 
45783
47612
  /***/ "d8e7":
45784
47613
  /***/ (function(module, exports) {
45785
47614
 
45786
- module.exports = "<!DOCTYPE html>\r\n<article class=\"v-api-combine-info-wrapper\">\r\n <header class=\"header\">\r\n {{title}}\r\n </header>\r\n <main>\r\n <i-form ref=\"form\" class=\"info-form\" :model=\"model\" :rules=\"rules\">\r\n <i-row>\r\n <section class=\"title-g\">基本信息</section>\r\n <i-form-item label=\"名称:\" prop=\"name\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"model.name\" :disabled=\"!isEdit\"></i-input>\r\n </i-form-item>\r\n <i-form-item label=\"编码:\" prop=\"code\">\r\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"model.code\" :disabled=\"!isEdit\"></i-input>\r\n </i-form-item>\r\n <i-form-item class=\"full-width\" label=\"描述:\">\r\n <i-input type=\"textarea\" class=\"diy-input-textarea\" :rows=\"1\" placeholder=\"请输入描述\" v-model=\"model.description\" :disabled=\"!isEdit\"></i-input>\r\n </i-form-item>\r\n </i-row>\r\n <i-row>\r\n <section class=\"title-g\">待合并列表</section>\r\n <section class=\"to-combine-list\">\r\n <template v-if=\"isEdit\">\r\n <i-button class=\"diy-btn-default\" @click=\"onAddDataModel\">添加数据模型</i-button>\r\n <i-button class=\"diy-btn-default\" @click=\"onAddApiProject\">添加 API</i-button>\r\n </template>\r\n <template v-if=\"model.relations?.length\">\r\n <i-table class=\"diy-table\" :columns=\"relationColumns\" :data=\"model.relations\">\r\n <template #type=\"{row}\">\r\n <span>{{row.type==='MODEL'?'数据模型':row.type==='API'?'API':''}}</span>\r\n </template>\r\n <template #operates=\"{row,index}\">\r\n <div class=\"row-actions\">\r\n <i title=\"查看\" class=\"iconfont icon-rizhichakan\" @click=\"onDetail(row)\"></i>\r\n <i-poptip v-if=\"isEdit\" confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onRelationDelete(row)\">\r\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\r\n </i-poptip>\r\n </div>\r\n </template>\r\n </i-table>\r\n </template>\r\n <template v-else>\r\n <div class=\"table-no-data\">\r\n <div class=\"table-no-data-bg\"></div>\r\n <div class=\"table-no-data-text\">暂无数据</div>\r\n </div>\r\n </template>\r\n </section>\r\n </i-row>\r\n <i-row>\r\n <section class=\"title-g\">参数详情</section>\r\n <section class=\"parameter-detail\">\r\n <section class=\"card-panel card-panel-no-right-border\">\r\n <i-tabs>\r\n <i-tab-pane label=\"请求参数\" name=\"request\">\r\n <u-request-parameter-list :data=\"model.reqParams\" :isEdit=\"isEdit\"></u-request-parameter-list>\r\n </i-tab-pane>\r\n <i-tab-pane label=\"响应参数\" name=\"response\">\r\n <u-response-parameter-list :data=\"model.respParams\" :isEdit=\"isEdit\"></u-response-parameter-list>\r\n </i-tab-pane>\r\n </i-tabs>\r\n </section>\r\n <section class=\"card-panel\">\r\n <div class=\"card-panel-header\">\r\n <div>\r\n <span>执行脚本</span>\r\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"onOpenDoc\" title=\"帮助文档\"> </i-icon>\r\n </div>\r\n <span class=\"action-text\" @click.stop=\"onOpenTest\">\r\n <i class=\"iconfont icon-run\"></i>\r\n <span>试运行</span>\r\n </span>\r\n </div>\r\n <div class=\"card-panel-main\">\r\n <u-base-editor class=\"editor\" :data.sync=\"model.content\" :readOnly=\"!isEdit\"></u-base-editor>\r\n </div>\r\n </section>\r\n </section>\r\n </i-row>\r\n </i-form>\r\n </main>\r\n <footer>\r\n <template v-if=\"isEdit\">\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onSave\">确定</i-button>\r\n <i-button type=\"text\" class=\"diy-btn-text\" @click.stop=\"onBack\">取消</i-button>\r\n </template>\r\n <template v-else>\r\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onBack\">关闭</i-button>\r\n </template>\r\n </footer>\r\n <u-data-model-modal v-model=\"dataModelShow\" :data=\"dataModelRelations\" @save=\"onRelationsSave\"></u-data-model-modal>\r\n <u-api-project-modal v-model=\"apiProjectShow\" :data=\"apiProjectRelations\" @save=\"onRelationsSave\"></u-api-project-modal>\r\n <u-data-model-doc-modal v-model=\"dataModelDocShow\" :doc=\"dataModelDoc\"></u-data-model-doc-modal>\r\n <u-api-project-detail-modal :visiable.sync=\"apiProjectDetailShow\" :model=\"apiProjectDetail\"></u-api-project-detail-modal>\r\n <u-test-run-modal :visible.sync=\"testShow\" :params=\"model.reqParams\" :data=\"testResult\" @on-run=\"onTestRun\"></u-test-run-modal>\r\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\r\n</article>\r\n"
47615
+ module.exports = "<!DOCTYPE html>\n<article class=\"v-api-combine-info-wrapper\">\n <header class=\"header\">\n {{title}}\n </header>\n <main>\n <i-form ref=\"form\" class=\"info-form\" :model=\"model\" :rules=\"rules\">\n <i-row>\n <section class=\"title-g\">基本信息</section>\n <i-form-item label=\"名称:\" prop=\"name\">\n <i-input class=\"diy-input\" placeholder=\"请输入名称\" v-model=\"model.name\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n <i-form-item label=\"编码:\" prop=\"code\">\n <i-input class=\"diy-input\" placeholder=\"请输入编码\" v-model=\"model.code\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n <i-form-item class=\"full-width\" label=\"描述:\">\n <i-input type=\"textarea\" class=\"diy-input-textarea\" :rows=\"1\" placeholder=\"请输入描述\" v-model=\"model.description\" :disabled=\"!isEdit\"></i-input>\n </i-form-item>\n </i-row>\n <i-row>\n <section class=\"title-g\">待合并列表</section>\n <section class=\"to-combine-list\">\n <template v-if=\"isEdit\">\n <i-button class=\"diy-btn-default\" @click=\"onAddDataModel\">添加数据模型</i-button>\n <i-button class=\"diy-btn-default\" @click=\"onAddApiProject\">添加 API</i-button>\n </template>\n <template v-if=\"model.relations?.length\">\n <i-table class=\"diy-table\" :columns=\"relationColumns\" :data=\"model.relations\">\n <template #type=\"{row}\">\n <span>{{row.type==='MODEL'?'数据模型':row.type==='API'?'API':''}}</span>\n </template>\n <template #operates=\"{row,index}\">\n <div class=\"row-actions\">\n <i title=\"查看\" class=\"iconfont icon-rizhichakan\" @click=\"onDetail(row)\"></i>\n <i-poptip v-if=\"isEdit\" confirm transfer title=\"确认删除这条数据吗?\" @on-ok=\"onRelationDelete(row)\">\n <i title=\"删除\" class=\"iconfont icon-delete\"></i>\n </i-poptip>\n </div>\n </template>\n </i-table>\n </template>\n <template v-else>\n <div class=\"table-no-data\">\n <div class=\"table-no-data-bg\"></div>\n <div class=\"table-no-data-text\">暂无数据</div>\n </div>\n </template>\n </section>\n </i-row>\n <i-row>\n <section class=\"title-g\">参数详情</section>\n <section class=\"parameter-detail\">\n <section class=\"card-panel card-panel-no-right-border\">\n <i-tabs>\n <i-tab-pane label=\"请求参数\" name=\"request\">\n <u-request-parameter-list :data=\"model.reqParams\" :isEdit=\"isEdit\"></u-request-parameter-list>\n </i-tab-pane>\n <i-tab-pane label=\"响应参数\" name=\"response\">\n <u-response-parameter-list :data=\"model.respParams\" :isEdit=\"isEdit\"></u-response-parameter-list>\n </i-tab-pane>\n </i-tabs>\n </section>\n <section class=\"card-panel\">\n <div class=\"card-panel-header\">\n <div>\n <span>执行脚本</span>\n <i-icon class=\"help-icon\" type=\"md-alert\" @click=\"onOpenDoc\" title=\"帮助文档\"> </i-icon>\n </div>\n <span class=\"action-text\" @click.stop=\"onOpenTest\">\n <i class=\"iconfont icon-run\"></i>\n <span>试运行</span>\n </span>\n </div>\n <div class=\"card-panel-main\">\n <u-base-editor class=\"editor\" :data.sync=\"model.content\" :readOnly=\"!isEdit\"></u-base-editor>\n </div>\n </section>\n </section>\n </i-row>\n </i-form>\n </main>\n <footer>\n <template v-if=\"isEdit\">\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onSave\">确定</i-button>\n <i-button type=\"text\" class=\"diy-btn-text\" @click.stop=\"onBack\">取消</i-button>\n </template>\n <template v-else>\n <i-button type=\"primary\" class=\"diy-btn-primary\" @click.stop=\"onBack\">关闭</i-button>\n </template>\n </footer>\n <u-data-model-modal v-model=\"dataModelShow\" :data=\"dataModelRelations\" @save=\"onRelationsSave\"></u-data-model-modal>\n <u-api-project-modal v-model=\"apiProjectShow\" :data=\"apiProjectRelations\" @save=\"onRelationsSave\"></u-api-project-modal>\n <u-data-model-doc-modal v-model=\"dataModelDocShow\" :doc=\"dataModelDoc\"></u-data-model-doc-modal>\n <u-api-project-detail-modal :visiable.sync=\"apiProjectDetailShow\" :model=\"apiProjectDetail\"></u-api-project-detail-modal>\n <u-test-run-modal :visible.sync=\"testShow\" :params=\"model.reqParams\" :data=\"testResult\" @on-run=\"onTestRun\"></u-test-run-modal>\n <u-data-model-doc v-model=\"docShow\" :doc=\"doc\"></u-data-model-doc>\n</article>\n"
45787
47616
 
45788
47617
  /***/ }),
45789
47618
 
@@ -45797,7 +47626,7 @@ module.exports = "<!DOCTYPE html>\r\n<article class=\"v-api-combine-info-wrapper
45797
47626
  /***/ "d953":
45798
47627
  /***/ (function(module, exports) {
45799
47628
 
45800
- module.exports = "<div class=\"interface-tree-node\">\r\n <span v-if=\"isLeaf && data.method\" class=\"method\" :class=\"data.method.toLowerCase() \" @click=\"onClick\"\r\n >{{data.method}}</span\r\n >\r\n <i :class=\"isLeaf ? 'iconfont icon-API' : 'iconfont icon-APIfenzu2'\" @click=\"onClick\"></i>\r\n <span class=\"interface-tree-node-name\" :title=\"data.title\" @click=\"onClick\">{{data.title}}</span>\r\n <i-dropdown\r\n transfer\r\n stop-propagation\r\n class=\"diy-dropdown\"\r\n transfer-class-name=\"diy-transfer-dropdown\"\r\n @on-click=\"onClickAction\"\r\n >\r\n <i class=\"api-icon icon-more\"></i>\r\n <i-dropdown-menu slot=\"list\">\r\n <template v-if=\"isLeaf\">\r\n <i-dropdown-item name=\"edit-interface\">修改</i-dropdown-item>\r\n <i-dropdown-item name=\"delete-interface\">删除</i-dropdown-item>\r\n <i-dropdown-item name=\"copy-interface\">复制</i-dropdown-item>\r\n </template>\r\n <template v-else>\r\n <i-dropdown-item name=\"edit-group\">修改</i-dropdown-item>\r\n <i-dropdown-item name=\"add-interface\">新增接口</i-dropdown-item>\r\n <i-dropdown-item name=\"edit-attribute\">批量修改属性</i-dropdown-item>\r\n <u-confirm\r\n title=\"删除接口\"\r\n @on-ok=\"onDelete('delete-group')\"\r\n message=\"分组内的接口一并删除, 是否确认执行?\"\r\n >\r\n <i-dropdown-item>删除</i-dropdown-item>\r\n </u-confirm>\r\n </template>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n</div>\r\n"
47629
+ module.exports = "<div class=\"interface-tree-node\">\n <span v-if=\"isLeaf && data.method\" class=\"method\" :class=\"data.method.toLowerCase() \" @click=\"onClick\"\n >{{data.method}}</span\n >\n <i :class=\"isLeaf ? 'iconfont icon-API' : 'iconfont icon-APIfenzu2'\" @click=\"onClick\"></i>\n <span class=\"interface-tree-node-name\" :title=\"data.title\" @click=\"onClick\">{{data.title}}</span>\n <i-dropdown\n transfer\n stop-propagation\n class=\"diy-dropdown\"\n transfer-class-name=\"diy-transfer-dropdown\"\n @on-click=\"onClickAction\"\n >\n <i class=\"api-icon icon-more\"></i>\n <i-dropdown-menu slot=\"list\">\n <template v-if=\"isLeaf\">\n <i-dropdown-item name=\"edit-interface\">修改</i-dropdown-item>\n <i-dropdown-item name=\"delete-interface\">删除</i-dropdown-item>\n <i-dropdown-item name=\"copy-interface\">复制</i-dropdown-item>\n </template>\n <template v-else>\n <i-dropdown-item name=\"edit-group\">修改</i-dropdown-item>\n <i-dropdown-item name=\"add-interface\">新增接口</i-dropdown-item>\n <i-dropdown-item name=\"edit-attribute\">批量修改属性</i-dropdown-item>\n <u-confirm\n title=\"删除接口\"\n @on-ok=\"onDelete('delete-group')\"\n message=\"分组内的接口一并删除, 是否确认执行?\"\n >\n <i-dropdown-item>删除</i-dropdown-item>\n </u-confirm>\n </template>\n </i-dropdown-menu>\n </i-dropdown>\n</div>\n"
45801
47630
 
45802
47631
  /***/ }),
45803
47632
 
@@ -46780,6 +48609,14 @@ module.exports = Array.isArray || function isArray(argument) {
46780
48609
  };
46781
48610
 
46782
48611
 
48612
+ /***/ }),
48613
+
48614
+ /***/ "e8ff":
48615
+ /***/ (function(module, exports) {
48616
+
48617
+ module.exports.id = 'ace/mode/json_worker';
48618
+ module.exports.src = "\"no use strict\";!function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\"\";testPath;){var alias=paths[testPath];if(\"string\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\/*$/,\"/\")+(tail||alias.main||alias.name);if(alias===!1)return\"\";var i=testPath.lastIndexOf(\"/\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\"log\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\"error\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\"!\")){var chunks=moduleName.split(\"!\");return window.normalizeModule(parentId,chunks[0])+\"!\"+window.normalizeModule(parentId,chunks[1])}if(\".\"==moduleName.charAt(0)){var base=parentId.split(\"/\").slice(0,-1).join(\"/\");for(moduleName=(base?base+\"/\":\"\")+moduleName;-1!==moduleName.indexOf(\".\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,\"\").replace(/\\/\\.\\//,\"/\").replace(/[^\\/]+\\/\\.\\.\\//,\"\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\"worker.js acequire() accepts only (parentId, id) as arguments\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\"unable to load \"+id);var path=resolveModuleId(id,window.acequire.tlns);return\".js\"!=path.slice(-3)&&(path+=\".js\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\"string\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\"function\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\"require\",\"exports\",\"module\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\"require\":return req;case\"exports\":return module.exports;case\"module\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\"ace/lib/event_emitter\").EventEmitter,oop=window.acequire(\"ace/lib/oop\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\"call\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\"event\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\"Unknown command:\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\"ace/lib/es5-shim\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}}(this),ace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\"ace/range\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\"Range: [\"+this.start.row+\"/\"+this.start.column+\"] -> [\"+this.end.row+\"/\"+this.end.column+\"]\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\"object\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\"object\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\"\";switch(delta.action){case\"insert\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\"remove\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\"object\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\"unshift\":\"push\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.column<point2.column;return point1.row<point2.row||point1.row==point2.row&&bColIsAfter}function $getTransformedPoint(delta,point,moveIfEqual){var deltaIsInsert=\"insert\"==delta.action,deltaRowShift=(deltaIsInsert?1:-1)*(delta.end.row-delta.start.row),deltaColShift=(deltaIsInsert?1:-1)*(delta.end.column-delta.start.column),deltaStart=delta.start,deltaEnd=deltaIsInsert?deltaStart:delta.end;return $pointsInOrder(point,deltaStart,moveIfEqual)?{row:point.row,column:point.column}:$pointsInOrder(deltaEnd,point,!moveIfEqual)?{row:point.row+deltaRowShift,column:point.column+(point.row==deltaEnd.row?deltaColShift:0)}:{row:deltaStart.row,column:deltaStart.column}}oop.implement(this,EventEmitter),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(delta){if(!(delta.start.row==delta.end.row&&delta.start.row!=this.row||delta.start.row>this.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\"change\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\"change\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\"change\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),applyDelta=acequire(\"./apply_delta\").applyDelta,EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Range=acequire(\"./range\").Range,Anchor=acequire(\"./anchor\").Anchor,Document=function(textOrLines){this.$lines=[\"\"],0===textOrLines.length?this.$lines=[\"\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\"aaa\".split(/a/).length?function(text){return text.replace(/\\r\\n|\\r/g,\"\\n\").split(\"\\n\")}:function(text){return text.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=match?match[1]:\"\\n\",this._signal(\"changeNewLineMode\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\"windows\":return\"\\r\\n\";case\"unix\":return\"\\n\";default:return this.$autoNewLine||\"\\n\"}},this.$autoNewLine=\"\",this.$newLineMode=\"auto\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\"changeNewLineMode\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\"\\r\\n\"==text||\"\\r\"==text||\"\\n\"==text},this.getLine=function(row){return this.$lines[row]||\"\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\"\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\"),this.insertMergedLines(position,[\"\",\"\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\"insert\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\"\"]),column=0):(lines=[\"\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\"insert\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\"remove\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\"remove\",lines:[\"\",\"\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\"insert\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\"change\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\"\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\"insert\"==delta.action?\"remove\":\"insert\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\"\").reverse().join(\"\")},exports.stringRepeat=function(string,count){for(var result=\"\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\s\\s*/,trimEndRegexp=/\\s\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\"\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\"\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\"object\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\"object\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\"[object Object]\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,\"\\\\$1\")},exports.escapeHTML=function(str){return str.replace(/&/g,\"&#38;\").replace(/\"/g,\"&#34;\").replace(/'/g,\"&#39;\").replace(/</g,\"&#60;\")},exports.getMatchOffsets=function(string,regExp){var matches=[];return string.replace(regExp,function(str){matches.push({offset:arguments[arguments.length-2],length:str.length})}),matches},exports.deferredCall=function(fcn){var timer=null,callback=function(){timer=null,fcn()},deferred=function(timeout){return deferred.cancel(),timer=setTimeout(callback,timeout||0),deferred};return deferred.schedule=deferred,deferred.call=function(){return this.cancel(),fcn(),deferred},deferred.cancel=function(){return clearTimeout(timer),timer=null,deferred},deferred.isPending=function(){return timer},deferred},exports.delayedCall=function(fcn,defaultTimeout){var timer=null,callback=function(){timer=null,fcn()},_self=function(timeout){null==timer&&(timer=setTimeout(callback,timeout||defaultTimeout))};return _self.delay=function(timeout){timer&&clearTimeout(timer),timer=setTimeout(callback,timeout||defaultTimeout)},_self.schedule=_self,_self.call=function(){this.cancel(),fcn()},_self.cancel=function(){timer&&clearTimeout(timer),timer=null},_self.isPending=function(){return timer},_self}}),ace.define(\"ace/worker/mirror\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/document\",\"ace/lib/lang\"],function(acequire,exports){\"use strict\";acequire(\"../range\").Range;var Document=acequire(\"../document\").Document,lang=acequire(\"../lib/lang\"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(\"\"),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on(\"change\",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:\"insert\",start:data[i],lines:data[i+1]};else var d={action:\"remove\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\"ace/mode/json/json_parse\",[\"require\",\"exports\",\"module\"],function(){\"use strict\";var at,ch,text,value,escapee={'\"':'\"',\"\\\\\":\"\\\\\",\"/\":\"/\",b:\"\\b\",f:\"\\f\",n:\"\\n\",r:\"\\r\",t:\"\t\"},error=function(m){throw{name:\"SyntaxError\",message:m,at:at,text:text}},next=function(c){return c&&c!==ch&&error(\"Expected '\"+c+\"' instead of '\"+ch+\"'\"),ch=text.charAt(at),at+=1,ch},number=function(){var number,string=\"\";for(\"-\"===ch&&(string=\"-\",next(\"-\"));ch>=\"0\"&&\"9\">=ch;)string+=ch,next();if(\".\"===ch)for(string+=\".\";next()&&ch>=\"0\"&&\"9\">=ch;)string+=ch;if(\"e\"===ch||\"E\"===ch)for(string+=ch,next(),(\"-\"===ch||\"+\"===ch)&&(string+=ch,next());ch>=\"0\"&&\"9\">=ch;)string+=ch,next();return number=+string,isNaN(number)?(error(\"Bad number\"),void 0):number},string=function(){var hex,i,uffff,string=\"\";if('\"'===ch)for(;next();){if('\"'===ch)return next(),string;if(\"\\\\\"===ch)if(next(),\"u\"===ch){for(uffff=0,i=0;4>i&&(hex=parseInt(next(),16),isFinite(hex));i+=1)uffff=16*uffff+hex;string+=String.fromCharCode(uffff)}else{if(\"string\"!=typeof escapee[ch])break;string+=escapee[ch]}else string+=ch}error(\"Bad string\")},white=function(){for(;ch&&\" \">=ch;)next()},word=function(){switch(ch){case\"t\":return next(\"t\"),next(\"r\"),next(\"u\"),next(\"e\"),!0;case\"f\":return next(\"f\"),next(\"a\"),next(\"l\"),next(\"s\"),next(\"e\"),!1;case\"n\":return next(\"n\"),next(\"u\"),next(\"l\"),next(\"l\"),null}error(\"Unexpected '\"+ch+\"'\")},array=function(){var array=[];if(\"[\"===ch){if(next(\"[\"),white(),\"]\"===ch)return next(\"]\"),array;for(;ch;){if(array.push(value()),white(),\"]\"===ch)return next(\"]\"),array;next(\",\"),white()}}error(\"Bad array\")},object=function(){var key,object={};if(\"{\"===ch){if(next(\"{\"),white(),\"}\"===ch)return next(\"}\"),object;for(;ch;){if(key=string(),white(),next(\":\"),Object.hasOwnProperty.call(object,key)&&error('Duplicate key \"'+key+'\"'),object[key]=value(),white(),\"}\"===ch)return next(\"}\"),object;next(\",\"),white()}}error(\"Bad object\")};return value=function(){switch(white(),ch){case\"{\":return object();case\"[\":return array();case'\"':return string();case\"-\":return number();default:return ch>=\"0\"&&\"9\">=ch?number():word()}},function(source,reviver){var result;return text=source,at=0,ch=\" \",result=value(),white(),ch&&error(\"Syntax error\"),\"function\"==typeof reviver?function walk(holder,key){var k,v,value=holder[key];if(value&&\"object\"==typeof value)for(k in value)Object.hasOwnProperty.call(value,k)&&(v=walk(value,k),void 0!==v?value[k]=v:delete value[k]);return reviver.call(holder,key,value)}({\"\":result},\"\"):result}}),ace.define(\"ace/mode/json_worker\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/worker/mirror\",\"ace/mode/json/json_parse\"],function(acequire,exports){\"use strict\";var oop=acequire(\"../lib/oop\"),Mirror=acequire(\"../worker/mirror\").Mirror,parse=acequire(\"./json/json_parse\"),JsonWorker=exports.JsonWorker=function(sender){Mirror.call(this,sender),this.setTimeout(200)};oop.inherits(JsonWorker,Mirror),function(){this.onUpdate=function(){var value=this.doc.getValue(),errors=[];try{value&&parse(value)}catch(e){var pos=this.doc.indexToPosition(e.at-1);errors.push({row:pos.row,column:pos.column,text:e.message,type:\"error\"})}this.sender.emit(\"annotate\",errors)}}.call(JsonWorker.prototype)}),ace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\"sentinel\",{}),\"sentinel\"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\"function\"!=typeof target)throw new TypeError(\"Function.prototype.bind called on incompatible \"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\"__defineGetter__\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\"XXX\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0\n}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\"[object Array]\"==_toString(obj)});var boxedString=Object(\"a\"),splitString=\"a\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduce of empty array with no initial value\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\"reduce of empty array with no initial value\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduceRight of empty array with no initial value\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\"reduceRight of empty array with no initial value\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\"Object.getOwnPropertyDescriptor called on a non-object: \";Object.getOwnPropertyDescriptor=function(object,property){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\"object\"!=typeof prototype)throw new TypeError(\"typeof prototype[\"+typeof prototype+\"] != 'object'\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\"undefined\"==typeof document||doesDefinePropertyWork(document.createElement(\"div\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\"Property description must be an object: \",ERR_NON_OBJECT_TARGET=\"Object.defineProperty called on non-object: \",ERR_ACCESSORS_NOT_SUPPORTED=\"getters & setters can not be defined on this javascript engine\";Object.defineProperty=function(object,property,descriptor){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\"object\"!=typeof descriptor&&\"function\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\"value\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\"get\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\"set\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\"function\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\"\";owns(object,name);)name+=\"?\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(\"Object.keys called on a non-object\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\"\t\\n\u000b\\f\\r   ᠎              \\u2028\\u2029\";if(!String.prototype.trim||ws.trim()){ws=\"[\"+ws+\"]\";var trimBeginRegexp=RegExp(\"^\"+ws+ws+\"*\"),trimEndRegexp=RegExp(ws+ws+\"*$\");String.prototype.trim=function(){return(this+\"\").replace(trimBeginRegexp,\"\").replace(trimEndRegexp,\"\")}}var toObject=function(o){if(null==o)throw new TypeError(\"can't convert \"+o+\" to object\");return Object(o)}});";
48619
+
46783
48620
  /***/ }),
46784
48621
 
46785
48622
  /***/ "e95a":
@@ -46875,7 +48712,7 @@ if ($stringify) {
46875
48712
  /***/ "ef27":
46876
48713
  /***/ (function(module, exports) {
46877
48714
 
46878
- module.exports = "<article class=\"project-card\" @click=\"onDetail\">\r\n <header>{{data.name}}</header>\r\n <i-dropdown transfer transfer-class-name=\"api-project-oprate\" class=\"project-card-i-dropdown\" @on-click=\"onClick\">\r\n <i-icon type=\"ios-more\" />\r\n <i-dropdown-menu slot=\"list\">\r\n <i-dropdown-item :name=\"'export'\">\r\n <i\r\n class=\"api-icon icon-export project-card-i-dropdown-item-icon\"\r\n title=\"导出此项目\"\r\n @click.stop=\"onExport\"\r\n ></i>\r\n 导出此项目\r\n </i-dropdown-item>\r\n </i-dropdown-menu>\r\n </i-dropdown>\r\n <main></main>\r\n <footer>\r\n <div @click.stop=\"onEdit\">修改</div>\r\n <u-confirm\r\n class=\"delete\"\r\n title=\"删除项目\"\r\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\r\n @on-ok=\"onDelete\"\r\n >\r\n <span>删除</span>\r\n </u-confirm>\r\n </footer>\r\n</article>\r\n"
48715
+ module.exports = "<article class=\"project-card\" @click=\"onDetail\">\n <header>{{data.name}}</header>\n <i-dropdown transfer transfer-class-name=\"api-project-oprate\" class=\"project-card-i-dropdown\" @on-click=\"onClick\">\n <i-icon type=\"ios-more\" />\n <i-dropdown-menu slot=\"list\">\n <i-dropdown-item :name=\"'export'\">\n <i\n class=\"api-icon icon-export project-card-i-dropdown-item-icon\"\n title=\"导出此项目\"\n @click.stop=\"onExport\"\n ></i>\n 导出此项目\n </i-dropdown-item>\n </i-dropdown-menu>\n </i-dropdown>\n <main></main>\n <footer>\n <div @click.stop=\"onEdit\">修改</div>\n <u-confirm\n class=\"delete\"\n title=\"删除项目\"\n message=\"项目内所有接口将被一并删除, 是否确认执行?\"\n @on-ok=\"onDelete\"\n >\n <span>删除</span>\n </u-confirm>\n </footer>\n</article>\n"
46879
48716
 
46880
48717
  /***/ }),
46881
48718
 
@@ -48767,6 +50604,7 @@ var common_tree_metadata = undefined && undefined.__metadata || function (k, v)
48767
50604
 
48768
50605
 
48769
50606
 
50607
+
48770
50608
  var common_tree_CommonTree =
48771
50609
  /** @class */
48772
50610
  function (_super) {
@@ -48876,14 +50714,59 @@ function (_super) {
48876
50714
  this.$emit("on-select", this.selectItem);
48877
50715
  };
48878
50716
 
50717
+ CommonTree.prototype.onLocationSelect = function (node, isQuery) {
50718
+ if (isQuery === void 0) {
50719
+ isQuery = true;
50720
+ }
50721
+
50722
+ this.selectItem = node;
50723
+ this.$emit("on-select", this.selectItem, isQuery);
50724
+ };
50725
+
48879
50726
  CommonTree.prototype.initTreeData = function (nv) {
48880
50727
  if (!nv) return;
48881
50728
  this.treeData = nv;
50729
+
50730
+ if (this.treeData.length && this.treeData[0].id === "virtual_root_directory") {
50731
+ this.onToggleExpand(this.treeData[0]);
50732
+ }
50733
+
48882
50734
  this.renderData = this.treeData.map(function (v) {
48883
50735
  // v.render = this.renderContent;
48884
50736
  return v;
48885
50737
  });
48886
50738
  };
50739
+
50740
+ CommonTree.prototype.watchTaskID = function (nv) {
50741
+ if (nv) {
50742
+ var arr = TreeDataUtil.treeNodeFatherArray(this.treeData, nv);
50743
+
50744
+ if (arr.length > 0) {
50745
+ for (var i = 0; i < arr.length; i++) {
50746
+ if (i === arr.length - 1) {
50747
+ this.onLocationSelect(arr[i], false);
50748
+ } else {
50749
+ arr[i].expand = true;
50750
+ this.onToggleExpand(arr[i]);
50751
+ }
50752
+ }
50753
+ }
50754
+
50755
+ this.$nextTick(function () {
50756
+ clearTimeout();
50757
+ var element = document.getElementsByClassName("ivu-tree-title-selected");
50758
+
50759
+ if (element.length) {
50760
+ setTimeout(function () {
50761
+ element[0].scrollIntoView({
50762
+ behavior: "smooth",
50763
+ block: "center"
50764
+ });
50765
+ }, 200);
50766
+ }
50767
+ });
50768
+ }
50769
+ };
48887
50770
  /**
48888
50771
  * 渲染子节点
48889
50772
  * @param h
@@ -48940,6 +50823,10 @@ function (_super) {
48940
50823
  default: false
48941
50824
  }), common_tree_metadata("design:type", Boolean)], CommonTree.prototype, "isTreeList", void 0);
48942
50825
 
50826
+ common_tree_decorate([Object(flagwind_web_["config"])({
50827
+ default: ""
50828
+ }), common_tree_metadata("design:type", String)], CommonTree.prototype, "commonTaskCategoryID", void 0);
50829
+
48943
50830
  common_tree_decorate([Object(flagwind_web_["watch"])("data", {
48944
50831
  immediate: true,
48945
50832
  deep: false
@@ -48948,6 +50835,10 @@ function (_super) {
48948
50835
  deep: false
48949
50836
  }), common_tree_metadata("design:type", Function), common_tree_metadata("design:paramtypes", [typeof (_b = typeof Array !== "undefined" && Array) === "function" ? _b : Object]), common_tree_metadata("design:returntype", void 0)], CommonTree.prototype, "initTreeData", null);
48950
50837
 
50838
+ common_tree_decorate([Object(flagwind_web_["watch"])("commonTaskCategoryID", {
50839
+ immediate: false
50840
+ }), common_tree_metadata("design:type", Function), common_tree_metadata("design:paramtypes", [String]), common_tree_metadata("design:returntype", void 0)], CommonTree.prototype, "watchTaskID", null);
50841
+
48951
50842
  common_tree_decorate([Object(flagwind_web_["watch"])("initSelectItem"), common_tree_metadata("design:type", Function), common_tree_metadata("design:paramtypes", []), common_tree_metadata("design:returntype", void 0)], CommonTree.prototype, "initSelectItemChange", null);
48952
50843
 
48953
50844
  CommonTree = common_tree_decorate([Object(flagwind_web_["component"])({
@@ -51625,14 +53516,10 @@ function (_super) {
51625
53516
 
51626
53517
  _this.option = {
51627
53518
  showPrintMargin: false,
51628
- enableEmmet: true,
51629
- enableBasicAutocompletion: true,
51630
- enableSnippets: true,
51631
- enableLiveAutocompletion: true,
51632
- showFoldWidgets: false,
51633
- wrap: true,
51634
- fontSize: 16,
51635
- fixedWidthGutter: true
53519
+ wrap: "free",
53520
+ fontSize: 15 // enableBasicAutocompletion: true,
53521
+ // enableSnippets: true
53522
+
51636
53523
  };
51637
53524
  return _this;
51638
53525
  }
@@ -51643,63 +53530,38 @@ function (_super) {
51643
53530
 
51644
53531
 
51645
53532
  __webpack_require__("5f48"); // tslint:disable-next-line
51646
- // require("brace/mode/json");
51647
- // // tslint:disable-next-line
51648
- // require("brace/mode/xml");
51649
- // // tslint:disable-next-line
51650
- // require("brace/mode/javascript");
51651
- // // tslint:disable-next-line
51652
- // require("brace/theme/chrome");
51653
- // // tslint:disable-next-line
51654
- // require("brace/snippets/javascript");
51655
- // // tslint:disable-next-line
51656
- // require("brace/snippets/json");
53533
+
53534
+
53535
+ __webpack_require__("818b"); // tslint:disable-next-line
53536
+
53537
+
53538
+ __webpack_require__("0696"); // tslint:disable-next-line
53539
+
53540
+
53541
+ __webpack_require__("bb36"); // tslint:disable-next-line
53542
+
53543
+
53544
+ __webpack_require__("95b8"); // require("brace/theme/github");
51657
53545
  // tslint:disable-next-line
51658
53546
 
51659
53547
 
51660
- __webpack_require__("2099"); // tslint:disable-next-line
53548
+ __webpack_require__("6a21"); // tslint:disable-next-line
51661
53549
 
51662
53550
 
51663
- __webpack_require__("95b8");
53551
+ __webpack_require__("b039"); // tslint:disable-next-line
51664
53552
 
51665
- var that = this; // tslint:disable-next-line
51666
53553
 
51667
- var ace = __webpack_require__("061c");
53554
+ __webpack_require__("2099");
51668
53555
 
51669
- var langTools = ace.acequire("ace/ext/language_tools");
51670
- langTools.addCompleter({
51671
- getCompletions: function getCompletions(editor, session, pos, prefix, callback) {
51672
- that.setCompletions(editor, session, pos, prefix, callback);
51673
- }
51674
- });
51675
53556
  this.$emit("inited", editor);
51676
53557
  };
51677
53558
 
51678
- CodeEditor.prototype.setCompletions = function (editor, session, pos, prefix, callback) {
51679
- if (prefix.length === 0) {
51680
- return callback(null, []);
51681
- } else {
51682
- return callback(null, this.diyKeywordList);
51683
- }
51684
- };
51685
-
51686
- var _a;
51687
-
51688
- code_editor_decorate([Object(external_vue_property_decorator_["PropSync"])("model", {
51689
- default: ""
51690
- }), code_editor_metadata("design:type", String)], CodeEditor.prototype, "code", void 0);
53559
+ code_editor_decorate([Object(external_vue_property_decorator_["PropSync"])("value"), code_editor_metadata("design:type", String)], CodeEditor.prototype, "code", void 0);
51691
53560
 
51692
53561
  code_editor_decorate([Object(flagwind_web_["config"])({
51693
- default: "groovy"
53562
+ default: "json"
51694
53563
  }), code_editor_metadata("design:type", String)], CodeEditor.prototype, "lang", void 0);
51695
53564
 
51696
- code_editor_decorate([Object(flagwind_web_["config"])({
51697
- type: Array,
51698
- default: function _default() {
51699
- return [];
51700
- }
51701
- }), code_editor_metadata("design:type", typeof (_a = typeof Array !== "undefined" && Array) === "function" ? _a : Object)], CodeEditor.prototype, "diyKeywordList", void 0);
51702
-
51703
53565
  CodeEditor = code_editor_decorate([Object(flagwind_web_["component"])({
51704
53566
  template: __webpack_require__("35e3"),
51705
53567
  components: {
@@ -52225,6 +54087,10 @@ function (_super) {
52225
54087
  });
52226
54088
  };
52227
54089
 
54090
+ DataModelList.prototype.onRowClick = function (row, index) {
54091
+ this.$emit("on-row-click", row.categoryId);
54092
+ };
54093
+
52228
54094
  var _a, _b;
52229
54095
 
52230
54096
  data_model_list_decorate([autowired(data_model_service), data_model_list_metadata("design:type", typeof (_a = typeof data_model_service !== "undefined" && data_model_service) === "function" ? _a : Object)], DataModelList.prototype, "service", void 0);
@@ -52274,6 +54140,7 @@ var data_model = __webpack_require__("a121");
52274
54140
 
52275
54141
 
52276
54142
 
54143
+
52277
54144
  var data_model_extends = undefined && undefined.__extends || function () {
52278
54145
  var _extendStatics = function extendStatics(d, b) {
52279
54146
  _extendStatics = Object.setPrototypeOf || {
@@ -52503,9 +54370,11 @@ function (_super) {
52503
54370
 
52504
54371
  _this.splitHorizontal = 0.25;
52505
54372
  _this.splitVertical = 0.6;
52506
- _this.isLoading = false; // 原始的树形结构
54373
+ _this.isLoading = false;
54374
+ _this.taskCategoryID = ""; // 原始的树形结构
52507
54375
 
52508
- _this.treeData = []; // 当前选中的数据模型
54376
+ _this.treeData = [];
54377
+ _this.tempData = []; // 当前选中的数据模型
52509
54378
 
52510
54379
  _this.currentNode = {}; // 默认选中的数据模型
52511
54380
 
@@ -52619,7 +54488,37 @@ function (_super) {
52619
54488
  this.isLoading = false;
52620
54489
 
52621
54490
  if (res && !res.hasError) {
52622
- this.treeData = TreeDataUtil.handlerTreeData(res.result || [], "name"); // 默认选中第一个节点
54491
+ this.tempData = TreeDataUtil.handlerTreeData(res.result || [], "name");
54492
+
54493
+ if (this.tempData.length > 0) {
54494
+ this.tempData.forEach(function (item) {
54495
+ if (!item.parentId) {
54496
+ item.parentId = "virtual_root_directory";
54497
+ }
54498
+ });
54499
+ this.treeData = [data_model_assign(data_model_assign({}, this.tempData[0]), {
54500
+ id: "virtual_root_directory",
54501
+ children: this.tempData,
54502
+ jobs: [],
54503
+ name: "全部",
54504
+ title: "全部",
54505
+ expand: true,
54506
+ parentId: null,
54507
+ parentName: null
54508
+ })];
54509
+ } else {
54510
+ this.treeData = [{
54511
+ id: "virtual_root_directory",
54512
+ children: this.tempData,
54513
+ jobs: [],
54514
+ name: "全部",
54515
+ title: "全部",
54516
+ expand: true,
54517
+ parentId: null,
54518
+ parentName: null
54519
+ }];
54520
+ } // 默认选中第一个节点
54521
+
52623
54522
 
52624
54523
  if (this.treeData.length) {
52625
54524
  this.initNode = this.treeData[0];
@@ -52636,10 +54535,16 @@ function (_super) {
52636
54535
  }; // 选中某一数据模型分组
52637
54536
 
52638
54537
 
52639
- DataModel.prototype.onSelect = function (data) {
52640
- this.currentNode = data;
52641
- this.condition.categoryId = this.currentNode.id;
52642
- this.getTableData();
54538
+ DataModel.prototype.onSelect = function (data, isQuery) {
54539
+ if (isQuery === void 0) {
54540
+ isQuery = true;
54541
+ }
54542
+
54543
+ if (isQuery) {
54544
+ this.currentNode = data;
54545
+ this.condition.categoryId = this.currentNode.id === "virtual_root_directory" ? "" : this.currentNode.id;
54546
+ this.getTableData();
54547
+ }
52643
54548
  }; // 点击查询 设置condition并调用查询方法
52644
54549
 
52645
54550
 
@@ -52760,6 +54665,12 @@ function (_super) {
52760
54665
  this.$emit("save", "MODEL", addData, delData);
52761
54666
  };
52762
54667
 
54668
+ DataModel.prototype.onRowClick = function (taskCategoryID) {
54669
+ if (this.currentNode.id === "virtual_root_directory") {
54670
+ this.taskCategoryID = taskCategoryID;
54671
+ }
54672
+ };
54673
+
52763
54674
  var _a, _b;
52764
54675
 
52765
54676
  data_model_decorate([autowired(data_model_service), data_model_metadata("design:type", typeof (_a = typeof data_model_service !== "undefined" && data_model_service) === "function" ? _a : Object)], DataModel.prototype, "service", void 0);
@@ -53687,6 +55598,10 @@ function (_super) {
53687
55598
  });
53688
55599
  };
53689
55600
 
55601
+ ApiProjectList.prototype.onRowClick = function (row, index) {
55602
+ this.$emit("on-row-click", row.categoryId);
55603
+ };
55604
+
53690
55605
  var _a, _b;
53691
55606
 
53692
55607
  api_project_list_decorate([autowired(api_project_service), api_project_list_metadata("design:type", typeof (_a = typeof api_project_service !== "undefined" && api_project_service) === "function" ? _a : Object)], ApiProjectList.prototype, "service", void 0);
@@ -53736,6 +55651,7 @@ var api_project = __webpack_require__("eb57");
53736
55651
 
53737
55652
 
53738
55653
 
55654
+
53739
55655
  var api_project_extends = undefined && undefined.__extends || function () {
53740
55656
  var _extendStatics = function extendStatics(d, b) {
53741
55657
  _extendStatics = Object.setPrototypeOf || {
@@ -53965,9 +55881,11 @@ function (_super) {
53965
55881
 
53966
55882
  _this.splitHorizontal = 0.25;
53967
55883
  _this.splitVertical = 0.6;
53968
- _this.isLoading = false; // 原始的树形结构
55884
+ _this.isLoading = false;
55885
+ _this.taskCategoryID = ""; // 原始的树形结构
53969
55886
 
53970
- _this.treeData = []; // 当前选中的数据模型
55887
+ _this.treeData = [];
55888
+ _this.tempData = []; // 当前选中的数据模型
53971
55889
 
53972
55890
  _this.currentNode = {}; // 默认选中的数据模型
53973
55891
 
@@ -54079,7 +55997,38 @@ function (_super) {
54079
55997
  this.isLoading = false;
54080
55998
 
54081
55999
  if (res && !res.hasError) {
54082
- this.treeData = TreeDataUtil.handlerTreeData(res.result || [], "name"); // 默认选中第一个节点
56000
+ // this.treeData = TreeDataUtil.handlerTreeData(res.result || [], "name");
56001
+ this.tempData = TreeDataUtil.handlerTreeData(res.result || [], "name");
56002
+
56003
+ if (this.tempData.length > 0) {
56004
+ this.tempData.forEach(function (item) {
56005
+ if (!item.parentId) {
56006
+ item.parentId = "virtual_root_directory";
56007
+ }
56008
+ });
56009
+ this.treeData = [api_project_assign(api_project_assign({}, this.tempData[0]), {
56010
+ id: "virtual_root_directory",
56011
+ children: this.tempData,
56012
+ jobs: [],
56013
+ name: "全部",
56014
+ title: "全部",
56015
+ expand: true,
56016
+ parentId: null,
56017
+ parentName: null
56018
+ })];
56019
+ } else {
56020
+ this.treeData = [{
56021
+ id: "virtual_root_directory",
56022
+ children: this.tempData,
56023
+ jobs: [],
56024
+ name: "全部",
56025
+ title: "全部",
56026
+ expand: true,
56027
+ parentId: null,
56028
+ parentName: null
56029
+ }];
56030
+ } // 默认选中第一个节点
56031
+
54083
56032
 
54084
56033
  if (this.treeData.length) {
54085
56034
  this.initNode = this.treeData[0];
@@ -54096,10 +56045,16 @@ function (_super) {
54096
56045
  }; // 选中某一数据模型分组
54097
56046
 
54098
56047
 
54099
- ApiProject.prototype.onSelect = function (data) {
54100
- this.currentNode = data;
54101
- this.condition.categoryId = this.currentNode.id;
54102
- this.getTableData();
56048
+ ApiProject.prototype.onSelect = function (data, isQuery) {
56049
+ if (isQuery === void 0) {
56050
+ isQuery = true;
56051
+ }
56052
+
56053
+ if (isQuery) {
56054
+ this.currentNode = data;
56055
+ this.condition.categoryId = this.currentNode.id === "virtual_root_directory" ? "" : this.currentNode.id;
56056
+ this.getTableData();
56057
+ }
54103
56058
  }; // 点击查询 设置condition并调用查询方法
54104
56059
 
54105
56060
 
@@ -54220,6 +56175,12 @@ function (_super) {
54220
56175
  this.$emit("save", "API", addData, delData);
54221
56176
  };
54222
56177
 
56178
+ ApiProject.prototype.onRowClick = function (taskCategoryID) {
56179
+ if (this.currentNode.id === "virtual_root_directory") {
56180
+ this.taskCategoryID = taskCategoryID;
56181
+ }
56182
+ };
56183
+
54223
56184
  var _a, _b, _c;
54224
56185
 
54225
56186
  api_project_decorate([autowired(api_project_service), api_project_metadata("design:type", typeof (_a = typeof api_project_service !== "undefined" && api_project_service) === "function" ? _a : Object)], ApiProject.prototype, "service", void 0);
@@ -58497,6 +60458,158 @@ function (_super) {
58497
60458
  // EXTERNAL MODULE: ./src/views/project-detail/index.scss
58498
60459
  var project_detail = __webpack_require__("fe54");
58499
60460
 
60461
+ // EXTERNAL MODULE: ./src/components/groovy-editor/index.scss
60462
+ var groovy_editor = __webpack_require__("2380");
60463
+
60464
+ // CONCATENATED MODULE: ./src/components/groovy-editor/index.ts
60465
+
60466
+
60467
+
60468
+
60469
+
60470
+
60471
+ var groovy_editor_extends = undefined && undefined.__extends || function () {
60472
+ var _extendStatics = function extendStatics(d, b) {
60473
+ _extendStatics = Object.setPrototypeOf || {
60474
+ __proto__: []
60475
+ } instanceof Array && function (d, b) {
60476
+ d.__proto__ = b;
60477
+ } || function (d, b) {
60478
+ for (var p in b) {
60479
+ if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
60480
+ }
60481
+ };
60482
+
60483
+ return _extendStatics(d, b);
60484
+ };
60485
+
60486
+ return function (d, b) {
60487
+ if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
60488
+
60489
+ _extendStatics(d, b);
60490
+
60491
+ function __() {
60492
+ this.constructor = d;
60493
+ }
60494
+
60495
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
60496
+ };
60497
+ }();
60498
+
60499
+ var groovy_editor_decorate = undefined && undefined.__decorate || function (decorators, target, key, desc) {
60500
+ var c = arguments.length,
60501
+ r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
60502
+ d;
60503
+ if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) {
60504
+ if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
60505
+ }
60506
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
60507
+ };
60508
+
60509
+ var groovy_editor_metadata = undefined && undefined.__metadata || function (k, v) {
60510
+ if ((typeof Reflect === "undefined" ? "undefined" : _typeof(Reflect)) === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
60511
+ };
60512
+
60513
+
60514
+
60515
+
60516
+
60517
+
60518
+ var groovy_editor_CodeEditor =
60519
+ /** @class */
60520
+ function (_super) {
60521
+ groovy_editor_extends(CodeEditor, _super);
60522
+
60523
+ function CodeEditor() {
60524
+ var _this = _super !== null && _super.apply(this, arguments) || this;
60525
+
60526
+ _this.option = {
60527
+ showPrintMargin: false,
60528
+ enableEmmet: true,
60529
+ enableBasicAutocompletion: true,
60530
+ enableSnippets: true,
60531
+ enableLiveAutocompletion: true,
60532
+ showFoldWidgets: false,
60533
+ wrap: true,
60534
+ fontSize: 16,
60535
+ fixedWidthGutter: true
60536
+ };
60537
+ return _this;
60538
+ }
60539
+
60540
+ CodeEditor.prototype.editorInit = function (editor) {
60541
+ // tslint:disable-next-line
60542
+ __webpack_require__("0f6a"); // tslint:disable-next-line
60543
+
60544
+
60545
+ __webpack_require__("5f48"); // tslint:disable-next-line
60546
+ // require("brace/mode/json");
60547
+ // // tslint:disable-next-line
60548
+ // require("brace/mode/xml");
60549
+ // // tslint:disable-next-line
60550
+ // require("brace/mode/javascript");
60551
+ // // tslint:disable-next-line
60552
+ // require("brace/theme/chrome");
60553
+ // // tslint:disable-next-line
60554
+ // require("brace/snippets/javascript");
60555
+ // // tslint:disable-next-line
60556
+ // require("brace/snippets/json");
60557
+ // tslint:disable-next-line
60558
+
60559
+
60560
+ __webpack_require__("2099"); // tslint:disable-next-line
60561
+
60562
+
60563
+ __webpack_require__("95b8");
60564
+
60565
+ var that = this; // tslint:disable-next-line
60566
+
60567
+ var ace = __webpack_require__("061c");
60568
+
60569
+ var langTools = ace.acequire("ace/ext/language_tools");
60570
+ langTools.addCompleter({
60571
+ getCompletions: function getCompletions(editor, session, pos, prefix, callback) {
60572
+ that.setCompletions(editor, session, pos, prefix, callback);
60573
+ }
60574
+ });
60575
+ this.$emit("inited", editor);
60576
+ };
60577
+
60578
+ CodeEditor.prototype.setCompletions = function (editor, session, pos, prefix, callback) {
60579
+ if (prefix.length === 0) {
60580
+ return callback(null, []);
60581
+ } else {
60582
+ return callback(null, this.diyKeywordList);
60583
+ }
60584
+ };
60585
+
60586
+ var _a;
60587
+
60588
+ groovy_editor_decorate([Object(external_vue_property_decorator_["PropSync"])("model", {
60589
+ default: ""
60590
+ }), groovy_editor_metadata("design:type", String)], CodeEditor.prototype, "code", void 0);
60591
+
60592
+ groovy_editor_decorate([Object(flagwind_web_["config"])({
60593
+ default: "groovy"
60594
+ }), groovy_editor_metadata("design:type", String)], CodeEditor.prototype, "lang", void 0);
60595
+
60596
+ groovy_editor_decorate([Object(flagwind_web_["config"])({
60597
+ type: Array,
60598
+ default: function _default() {
60599
+ return [];
60600
+ }
60601
+ }), groovy_editor_metadata("design:type", typeof (_a = typeof Array !== "undefined" && Array) === "function" ? _a : Object)], CodeEditor.prototype, "diyKeywordList", void 0);
60602
+
60603
+ CodeEditor = groovy_editor_decorate([Object(flagwind_web_["component"])({
60604
+ template: __webpack_require__("9915"),
60605
+ components: {
60606
+ editor: vue2_ace_editor_default.a
60607
+ }
60608
+ })], CodeEditor);
60609
+ return CodeEditor;
60610
+ }(flagwind_web_["Component"]);
60611
+
60612
+ /* harmony default export */ var components_groovy_editor = (groovy_editor_CodeEditor);
58500
60613
  // CONCATENATED MODULE: ./src/views/project-detail/base-editor-setting.ts
58501
60614
 
58502
60615
 
@@ -58998,7 +61111,7 @@ function (_super) {
58998
61111
  PreExecutionSetting = pre_execution_setting_decorate([Object(flagwind_web_["component"])({
58999
61112
  template: __webpack_require__("8ab8"),
59000
61113
  components: {
59001
- "u-editor": components_code_editor
61114
+ "u-editor": components_groovy_editor
59002
61115
  }
59003
61116
  })], PreExecutionSetting);
59004
61117
  return PreExecutionSetting;