ber-security.graylog.graylog-plugin-alert-wizard.5.2.1.source-code.af13854f56ac35bdc0056d81c70223f1.js.map Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of graylog-plugin-alert-wizard Show documentation
Show all versions of graylog-plugin-alert-wizard Show documentation
Graylog ${project.artifactId} plugin.
The newest version!
{"version":3,"sources":["webpack://AlertWizard/af13854f56ac35bdc0056d81c70223f1.js"],"sourcesContent":["\"no use strict\";\n!(function(window) {\nif (typeof window.window != \"undefined\" && window.document)\n return;\nif (window.require && window.define)\n return;\n\nif (!window.console) {\n window.console = function() {\n var msgs = Array.prototype.slice.call(arguments, 0);\n postMessage({type: \"log\", data: msgs});\n };\n window.console.error =\n window.console.warn = \n window.console.log =\n window.console.trace = window.console;\n}\nwindow.window = window;\nwindow.ace = window;\n\nwindow.onerror = function(message, file, line, col, err) {\n postMessage({type: \"error\", data: {\n message: message,\n data: err && err.data,\n file: file,\n line: line, \n col: col,\n stack: err && err.stack\n }});\n};\n\nwindow.normalizeModule = function(parentId, moduleName) {\n // normalize plugin requires\n if (moduleName.indexOf(\"!\") !== -1) {\n var chunks = moduleName.split(\"!\");\n return window.normalizeModule(parentId, chunks[0]) + \"!\" + window.normalizeModule(parentId, chunks[1]);\n }\n // normalize relative requires\n if (moduleName.charAt(0) == \".\") {\n var base = parentId.split(\"/\").slice(0, -1).join(\"/\");\n moduleName = (base ? base + \"/\" : \"\") + moduleName;\n \n while (moduleName.indexOf(\".\") !== -1 && previous != moduleName) {\n var previous = moduleName;\n moduleName = moduleName.replace(/^\\.\\//, \"\").replace(/\\/\\.\\//, \"/\").replace(/[^\\/]+\\/\\.\\.\\//, \"\");\n }\n }\n \n return moduleName;\n};\n\nwindow.require = function require(parentId, id) {\n if (!id) {\n id = parentId;\n parentId = null;\n }\n if (!id.charAt)\n throw new Error(\"worker.js require() accepts only (parentId, id) as arguments\");\n\n id = window.normalizeModule(parentId, id);\n\n var module = window.require.modules[id];\n if (module) {\n if (!module.initialized) {\n module.initialized = true;\n module.exports = module.factory().exports;\n }\n return module.exports;\n }\n \n if (!window.require.tlns)\n return console.log(\"unable to load \" + id);\n \n var path = resolveModuleId(id, window.require.tlns);\n if (path.slice(-3) != \".js\") path += \".js\";\n \n window.require.id = id;\n window.require.modules[id] = {}; // prevent infinite loop on broken modules\n importScripts(path);\n return window.require(parentId, id);\n};\nfunction resolveModuleId(id, paths) {\n var testPath = id, tail = \"\";\n while (testPath) {\n var alias = paths[testPath];\n if (typeof alias == \"string\") {\n return alias + tail;\n } else if (alias) {\n return alias.location.replace(/\\/*$/, \"/\") + (tail || alias.main || alias.name);\n } else if (alias === false) {\n return \"\";\n }\n var i = testPath.lastIndexOf(\"/\");\n if (i === -1) break;\n tail = testPath.substr(i) + tail;\n testPath = testPath.slice(0, i);\n }\n return id;\n}\nwindow.require.modules = {};\nwindow.require.tlns = {};\n\nwindow.define = function(id, deps, factory) {\n if (arguments.length == 2) {\n factory = deps;\n if (typeof id != \"string\") {\n deps = id;\n id = window.require.id;\n }\n } else if (arguments.length == 1) {\n factory = id;\n deps = [];\n id = window.require.id;\n }\n \n if (typeof factory != \"function\") {\n window.require.modules[id] = {\n exports: factory,\n initialized: true\n };\n return;\n }\n\n if (!deps.length)\n // If there is no dependencies, we inject \"require\", \"exports\" and\n // \"module\" as dependencies, to provide CommonJS compatibility.\n deps = [\"require\", \"exports\", \"module\"];\n\n var req = function(childId) {\n return window.require(id, childId);\n };\n\n window.require.modules[id] = {\n exports: {},\n factory: function() {\n var module = this;\n var returnExports = factory.apply(this, deps.slice(0, factory.length).map(function(dep) {\n switch (dep) {\n // Because \"require\", \"exports\" and \"module\" aren't actual\n // dependencies, we must handle them seperately.\n case \"require\": return req;\n case \"exports\": return module.exports;\n case \"module\": return module;\n // But for all other dependencies, we can just go ahead and\n // require them.\n default: return req(dep);\n }\n }));\n if (returnExports)\n module.exports = returnExports;\n return module;\n }\n };\n};\nwindow.define.amd = {};\nwindow.require.tlns = {};\nwindow.initBaseUrls = function initBaseUrls(topLevelNamespaces) {\n for (var i in topLevelNamespaces)\n this.require.tlns[i] = topLevelNamespaces[i];\n};\n\nwindow.initSender = function initSender() {\n\n var EventEmitter = window.require(\"ace/lib/event_emitter\").EventEmitter;\n var oop = window.require(\"ace/lib/oop\");\n \n var Sender = function() {};\n \n (function() {\n \n oop.implement(this, EventEmitter);\n \n this.callback = function(data, callbackId) {\n postMessage({\n type: \"call\",\n id: callbackId,\n data: data\n });\n };\n \n this.emit = function(name, data) {\n postMessage({\n type: \"event\",\n name: name,\n data: data\n });\n };\n \n }).call(Sender.prototype);\n \n return new Sender();\n};\n\nvar main = window.main = null;\nvar sender = window.sender = null;\n\nwindow.onmessage = function(e) {\n var msg = e.data;\n if (msg.event && sender) {\n sender._signal(msg.event, msg.data);\n }\n else if (msg.command) {\n if (main[msg.command])\n main[msg.command].apply(main, msg.args);\n else if (window[msg.command])\n window[msg.command].apply(window, msg.args);\n else\n throw new Error(\"Unknown command:\" + msg.command);\n }\n else if (msg.init) {\n window.initBaseUrls(msg.tlns);\n sender = window.sender = window.initSender();\n var clazz = this.require(msg.module)[msg.classname];\n main = window.main = new clazz(sender);\n }\n};\n})(this);\n\nace.define(\"ace/lib/oop\",[], function(require, exports, module){\"use strict\";\nexports.inherits = function (ctor, superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n};\nexports.mixin = function (obj, mixin) {\n for (var key in mixin) {\n obj[key] = mixin[key];\n }\n return obj;\n};\nexports.implement = function (proto, mixin) {\n exports.mixin(proto, mixin);\n};\n\n});\n\nace.define(\"ace/apply_delta\",[], function(require, exports, module){\"use strict\";\nfunction throwDeltaError(delta, errorText) {\n console.log(\"Invalid Delta:\", delta);\n throw \"Invalid Delta: \" + errorText;\n}\nfunction positionInDocument(docLines, position) {\n return position.row >= 0 && position.row < docLines.length &&\n position.column >= 0 && position.column <= docLines[position.row].length;\n}\nfunction validateDelta(docLines, delta) {\n if (delta.action != \"insert\" && delta.action != \"remove\")\n throwDeltaError(delta, \"delta.action must be 'insert' or 'remove'\");\n if (!(delta.lines instanceof Array))\n throwDeltaError(delta, \"delta.lines must be an Array\");\n if (!delta.start || !delta.end)\n throwDeltaError(delta, \"delta.start/end must be an present\");\n var start = delta.start;\n if (!positionInDocument(docLines, delta.start))\n throwDeltaError(delta, \"delta.start must be contained in document\");\n var end = delta.end;\n if (delta.action == \"remove\" && !positionInDocument(docLines, end))\n throwDeltaError(delta, \"delta.end must contained in document for 'remove' actions\");\n var numRangeRows = end.row - start.row;\n var numRangeLastLineChars = (end.column - (numRangeRows == 0 ? start.column : 0));\n if (numRangeRows != delta.lines.length - 1 || delta.lines[numRangeRows].length != numRangeLastLineChars)\n throwDeltaError(delta, \"delta.range must match delta lines\");\n}\nexports.applyDelta = function (docLines, delta, doNotValidate) {\n var row = delta.start.row;\n var startColumn = delta.start.column;\n var line = docLines[row] || \"\";\n switch (delta.action) {\n case \"insert\":\n var lines = delta.lines;\n if (lines.length === 1) {\n docLines[row] = line.substring(0, startColumn) + delta.lines[0] + line.substring(startColumn);\n }\n else {\n var args = [row, 1].concat(delta.lines);\n docLines.splice.apply(docLines, args);\n docLines[row] = line.substring(0, startColumn) + docLines[row];\n docLines[row + delta.lines.length - 1] += line.substring(startColumn);\n }\n break;\n case \"remove\":\n var endColumn = delta.end.column;\n var endRow = delta.end.row;\n if (row === endRow) {\n docLines[row] = line.substring(0, startColumn) + line.substring(endColumn);\n }\n else {\n docLines.splice(row, endRow - row + 1, line.substring(0, startColumn) + docLines[endRow].substring(endColumn));\n }\n break;\n }\n};\n\n});\n\nace.define(\"ace/lib/event_emitter\",[], function(require, exports, module){\"use strict\";\nvar EventEmitter = {};\nvar stopPropagation = function () { this.propagationStopped = true; };\nvar preventDefault = function () { this.defaultPrevented = true; };\nEventEmitter._emit =\n EventEmitter._dispatchEvent = function (eventName, e) {\n this._eventRegistry || (this._eventRegistry = {});\n this._defaultHandlers || (this._defaultHandlers = {});\n var listeners = this._eventRegistry[eventName] || [];\n var defaultHandler = this._defaultHandlers[eventName];\n if (!listeners.length && !defaultHandler)\n return;\n if (typeof e != \"object\" || !e)\n e = {};\n if (!e.type)\n e.type = eventName;\n if (!e.stopPropagation)\n e.stopPropagation = stopPropagation;\n if (!e.preventDefault)\n e.preventDefault = preventDefault;\n listeners = listeners.slice();\n for (var i = 0; i < listeners.length; i++) {\n listeners[i](e, this);\n if (e.propagationStopped)\n break;\n }\n if (defaultHandler && !e.defaultPrevented)\n return defaultHandler(e, this);\n };\nEventEmitter._signal = function (eventName, e) {\n var listeners = (this._eventRegistry || {})[eventName];\n if (!listeners)\n return;\n listeners = listeners.slice();\n for (var i = 0; i < listeners.length; i++)\n listeners[i](e, this);\n};\nEventEmitter.once = function (eventName, callback) {\n var _self = this;\n this.on(eventName, function newCallback() {\n _self.off(eventName, newCallback);\n callback.apply(null, arguments);\n });\n if (!callback) {\n return new Promise(function (resolve) {\n callback = resolve;\n });\n }\n};\nEventEmitter.setDefaultHandler = function (eventName, callback) {\n var handlers = this._defaultHandlers;\n if (!handlers)\n handlers = this._defaultHandlers = { _disabled_: {} };\n if (handlers[eventName]) {\n var old = handlers[eventName];\n var disabled = handlers._disabled_[eventName];\n if (!disabled)\n handlers._disabled_[eventName] = disabled = [];\n disabled.push(old);\n var i = disabled.indexOf(callback);\n if (i != -1)\n disabled.splice(i, 1);\n }\n handlers[eventName] = callback;\n};\nEventEmitter.removeDefaultHandler = function (eventName, callback) {\n var handlers = this._defaultHandlers;\n if (!handlers)\n return;\n var disabled = handlers._disabled_[eventName];\n if (handlers[eventName] == callback) {\n if (disabled)\n this.setDefaultHandler(eventName, disabled.pop());\n }\n else if (disabled) {\n var i = disabled.indexOf(callback);\n if (i != -1)\n disabled.splice(i, 1);\n }\n};\nEventEmitter.on =\n EventEmitter.addEventListener = function (eventName, callback, capturing) {\n this._eventRegistry = this._eventRegistry || {};\n var listeners = this._eventRegistry[eventName];\n if (!listeners)\n listeners = this._eventRegistry[eventName] = [];\n if (listeners.indexOf(callback) == -1)\n listeners[capturing ? \"unshift\" : \"push\"](callback);\n return callback;\n };\nEventEmitter.off =\n EventEmitter.removeListener =\n EventEmitter.removeEventListener = function (eventName, callback) {\n this._eventRegistry = this._eventRegistry || {};\n var listeners = this._eventRegistry[eventName];\n if (!listeners)\n return;\n var index = listeners.indexOf(callback);\n if (index !== -1)\n listeners.splice(index, 1);\n };\nEventEmitter.removeAllListeners = function (eventName) {\n if (!eventName)\n this._eventRegistry = this._defaultHandlers = undefined;\n if (this._eventRegistry)\n this._eventRegistry[eventName] = undefined;\n if (this._defaultHandlers)\n this._defaultHandlers[eventName] = undefined;\n};\nexports.EventEmitter = EventEmitter;\n\n});\n\nace.define(\"ace/range\",[], function(require, exports, module){\"use strict\";\nvar comparePoints = function (p1, p2) {\n return p1.row - p2.row || p1.column - p2.column;\n};\nvar Range = /** @class */ (function () {\n function Range(startRow, startColumn, endRow, endColumn) {\n this.start = {\n row: startRow,\n column: startColumn\n };\n this.end = {\n row: endRow,\n column: endColumn\n };\n }\n Range.prototype.isEqual = function (range) {\n return this.start.row === range.start.row &&\n this.end.row === range.end.row &&\n this.start.column === range.start.column &&\n this.end.column === range.end.column;\n };\n Range.prototype.toString = function () {\n return (\"Range: [\" + this.start.row + \"/\" + this.start.column +\n \"] -> [\" + this.end.row + \"/\" + this.end.column + \"]\");\n };\n Range.prototype.contains = function (row, column) {\n return this.compare(row, column) == 0;\n };\n Range.prototype.compareRange = function (range) {\n var cmp, end = range.end, start = range.start;\n cmp = this.compare(end.row, end.column);\n if (cmp == 1) {\n cmp = this.compare(start.row, start.column);\n if (cmp == 1) {\n return 2;\n }\n else if (cmp == 0) {\n return 1;\n }\n else {\n return 0;\n }\n }\n else if (cmp == -1) {\n return -2;\n }\n else {\n cmp = this.compare(start.row, start.column);\n if (cmp == -1) {\n return -1;\n }\n else if (cmp == 1) {\n return 42;\n }\n else {\n return 0;\n }\n }\n };\n Range.prototype.comparePoint = function (p) {\n return this.compare(p.row, p.column);\n };\n Range.prototype.containsRange = function (range) {\n return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0;\n };\n Range.prototype.intersects = function (range) {\n var cmp = this.compareRange(range);\n return (cmp == -1 || cmp == 0 || cmp == 1);\n };\n Range.prototype.isEnd = function (row, column) {\n return this.end.row == row && this.end.column == column;\n };\n Range.prototype.isStart = function (row, column) {\n return this.start.row == row && this.start.column == column;\n };\n Range.prototype.setStart = function (row, column) {\n if (typeof row == \"object\") {\n this.start.column = row.column;\n this.start.row = row.row;\n }\n else {\n this.start.row = row;\n this.start.column = column;\n }\n };\n Range.prototype.setEnd = function (row, column) {\n if (typeof row == \"object\") {\n this.end.column = row.column;\n this.end.row = row.row;\n }\n else {\n this.end.row = row;\n this.end.column = column;\n }\n };\n Range.prototype.inside = function (row, column) {\n if (this.compare(row, column) == 0) {\n if (this.isEnd(row, column) || this.isStart(row, column)) {\n return false;\n }\n else {\n return true;\n }\n }\n return false;\n };\n Range.prototype.insideStart = function (row, column) {\n if (this.compare(row, column) == 0) {\n if (this.isEnd(row, column)) {\n return false;\n }\n else {\n return true;\n }\n }\n return false;\n };\n Range.prototype.insideEnd = function (row, column) {\n if (this.compare(row, column) == 0) {\n if (this.isStart(row, column)) {\n return false;\n }\n else {\n return true;\n }\n }\n return false;\n };\n Range.prototype.compare = function (row, column) {\n if (!this.isMultiLine()) {\n if (row === this.start.row) {\n return column < this.start.column ? -1 : (column > this.end.column ? 1 : 0);\n }\n }\n if (row < this.start.row)\n return -1;\n if (row > this.end.row)\n return 1;\n if (this.start.row === row)\n return column >= this.start.column ? 0 : -1;\n if (this.end.row === row)\n return column <= this.end.column ? 0 : 1;\n return 0;\n };\n Range.prototype.compareStart = function (row, column) {\n if (this.start.row == row && this.start.column == column) {\n return -1;\n }\n else {\n return this.compare(row, column);\n }\n };\n Range.prototype.compareEnd = function (row, column) {\n if (this.end.row == row && this.end.column == column) {\n return 1;\n }\n else {\n return this.compare(row, column);\n }\n };\n Range.prototype.compareInside = function (row, column) {\n if (this.end.row == row && this.end.column == column) {\n return 1;\n }\n else if (this.start.row == row && this.start.column == column) {\n return -1;\n }\n else {\n return this.compare(row, column);\n }\n };\n Range.prototype.clipRows = function (firstRow, lastRow) {\n if (this.end.row > lastRow)\n var end = { row: lastRow + 1, column: 0 };\n else if (this.end.row < firstRow)\n var end = { row: firstRow, column: 0 };\n if (this.start.row > lastRow)\n var start = { row: lastRow + 1, column: 0 };\n else if (this.start.row < firstRow)\n var start = { row: firstRow, column: 0 };\n return Range.fromPoints(start || this.start, end || this.end);\n };\n Range.prototype.extend = function (row, column) {\n var cmp = this.compare(row, column);\n if (cmp == 0)\n return this;\n else if (cmp == -1)\n var start = { row: row, column: column };\n else\n var end = { row: row, column: column };\n return Range.fromPoints(start || this.start, end || this.end);\n };\n Range.prototype.isEmpty = function () {\n return (this.start.row === this.end.row && this.start.column === this.end.column);\n };\n Range.prototype.isMultiLine = function () {\n return (this.start.row !== this.end.row);\n };\n Range.prototype.clone = function () {\n return Range.fromPoints(this.start, this.end);\n };\n Range.prototype.collapseRows = function () {\n if (this.end.column == 0)\n return new Range(this.start.row, 0, Math.max(this.start.row, this.end.row - 1), 0);\n else\n return new Range(this.start.row, 0, this.end.row, 0);\n };\n Range.prototype.toScreenRange = function (session) {\n var screenPosStart = session.documentToScreenPosition(this.start);\n var screenPosEnd = session.documentToScreenPosition(this.end);\n return new Range(screenPosStart.row, screenPosStart.column, screenPosEnd.row, screenPosEnd.column);\n };\n Range.prototype.moveBy = function (row, column) {\n this.start.row += row;\n this.start.column += column;\n this.end.row += row;\n this.end.column += column;\n };\n return Range;\n}());\nRange.fromPoints = function (start, end) {\n return new Range(start.row, start.column, end.row, end.column);\n};\nRange.comparePoints = comparePoints;\nRange.comparePoints = function (p1, p2) {\n return p1.row - p2.row || p1.column - p2.column;\n};\nexports.Range = Range;\n\n});\n\nace.define(\"ace/anchor\",[], function(require, exports, module){\"use strict\";\nvar oop = require(\"./lib/oop\");\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar Anchor = /** @class */ (function () {\n function Anchor(doc, row, column) {\n this.$onChange = this.onChange.bind(this);\n this.attach(doc);\n if (typeof column == \"undefined\")\n this.setPosition(row.row, row.column);\n else\n this.setPosition(row, column);\n }\n Anchor.prototype.getPosition = function () {\n return this.$clipPositionToDocument(this.row, this.column);\n };\n Anchor.prototype.getDocument = function () {\n return this.document;\n };\n Anchor.prototype.onChange = function (delta) {\n if (delta.start.row == delta.end.row && delta.start.row != this.row)\n return;\n if (delta.start.row > this.row)\n return;\n var point = $getTransformedPoint(delta, { row: this.row, column: this.column }, this.$insertRight);\n this.setPosition(point.row, point.column, true);\n };\n Anchor.prototype.setPosition = function (row, column, noClip) {\n var pos;\n if (noClip) {\n pos = {\n row: row,\n column: column\n };\n }\n else {\n pos = this.$clipPositionToDocument(row, column);\n }\n if (this.row == pos.row && this.column == pos.column)\n return;\n var old = {\n row: this.row,\n column: this.column\n };\n this.row = pos.row;\n this.column = pos.column;\n this._signal(\"change\", {\n old: old,\n value: pos\n });\n };\n Anchor.prototype.detach = function () {\n this.document.off(\"change\", this.$onChange);\n };\n Anchor.prototype.attach = function (doc) {\n this.document = doc || this.document;\n this.document.on(\"change\", this.$onChange);\n };\n Anchor.prototype.$clipPositionToDocument = function (row, column) {\n var pos = {};\n if (row >= this.document.getLength()) {\n pos.row = Math.max(0, this.document.getLength() - 1);\n pos.column = this.document.getLine(pos.row).length;\n }\n else if (row < 0) {\n pos.row = 0;\n pos.column = 0;\n }\n else {\n pos.row = row;\n pos.column = Math.min(this.document.getLine(pos.row).length, Math.max(0, column));\n }\n if (column < 0)\n pos.column = 0;\n return pos;\n };\n return Anchor;\n}());\nAnchor.prototype.$insertRight = false;\noop.implement(Anchor.prototype, EventEmitter);\nfunction $pointsInOrder(point1, point2, equalPointsInOrder) {\n var bColIsAfter = equalPointsInOrder ? point1.column <= point2.column : point1.column < point2.column;\n return (point1.row < point2.row) || (point1.row == point2.row && bColIsAfter);\n}\nfunction $getTransformedPoint(delta, point, moveIfEqual) {\n var deltaIsInsert = delta.action == \"insert\";\n var deltaRowShift = (deltaIsInsert ? 1 : -1) * (delta.end.row - delta.start.row);\n var deltaColShift = (deltaIsInsert ? 1 : -1) * (delta.end.column - delta.start.column);\n var deltaStart = delta.start;\n var deltaEnd = deltaIsInsert ? deltaStart : delta.end; // Collapse insert range.\n if ($pointsInOrder(point, deltaStart, moveIfEqual)) {\n return {\n row: point.row,\n column: point.column\n };\n }\n if ($pointsInOrder(deltaEnd, point, !moveIfEqual)) {\n return {\n row: point.row + deltaRowShift,\n column: point.column + (point.row == deltaEnd.row ? deltaColShift : 0)\n };\n }\n return {\n row: deltaStart.row,\n column: deltaStart.column\n };\n}\nexports.Anchor = Anchor;\n\n});\n\nace.define(\"ace/document\",[], function(require, exports, module){\"use strict\";\nvar oop = require(\"./lib/oop\");\nvar applyDelta = require(\"./apply_delta\").applyDelta;\nvar EventEmitter = require(\"./lib/event_emitter\").EventEmitter;\nvar Range = require(\"./range\").Range;\nvar Anchor = require(\"./anchor\").Anchor;\nvar Document = /** @class */ (function () {\n function Document(textOrLines) {\n this.$lines = [\"\"];\n if (textOrLines.length === 0) {\n this.$lines = [\"\"];\n }\n else if (Array.isArray(textOrLines)) {\n this.insertMergedLines({ row: 0, column: 0 }, textOrLines);\n }\n else {\n this.insert({ row: 0, column: 0 }, textOrLines);\n }\n }\n Document.prototype.setValue = function (text) {\n var len = this.getLength() - 1;\n this.remove(new Range(0, 0, len, this.getLine(len).length));\n this.insert({ row: 0, column: 0 }, text || \"\");\n };\n Document.prototype.getValue = function () {\n return this.getAllLines().join(this.getNewLineCharacter());\n };\n Document.prototype.createAnchor = function (row, column) {\n return new Anchor(this, row, column);\n };\n Document.prototype.$detectNewLine = function (text) {\n var match = text.match(/^.*?(\\r\\n|\\r|\\n)/m);\n this.$autoNewLine = match ? match[1] : \"\\n\";\n this._signal(\"changeNewLineMode\");\n };\n Document.prototype.getNewLineCharacter = function () {\n switch (this.$newLineMode) {\n case \"windows\":\n return \"\\r\\n\";\n case \"unix\":\n return \"\\n\";\n default:\n return this.$autoNewLine || \"\\n\";\n }\n };\n Document.prototype.setNewLineMode = function (newLineMode) {\n if (this.$newLineMode === newLineMode)\n return;\n this.$newLineMode = newLineMode;\n this._signal(\"changeNewLineMode\");\n };\n Document.prototype.getNewLineMode = function () {\n return this.$newLineMode;\n };\n Document.prototype.isNewLine = function (text) {\n return (text == \"\\r\\n\" || text == \"\\r\" || text == \"\\n\");\n };\n Document.prototype.getLine = function (row) {\n return this.$lines[row] || \"\";\n };\n Document.prototype.getLines = function (firstRow, lastRow) {\n return this.$lines.slice(firstRow, lastRow + 1);\n };\n Document.prototype.getAllLines = function () {\n return this.getLines(0, this.getLength());\n };\n Document.prototype.getLength = function () {\n return this.$lines.length;\n };\n Document.prototype.getTextRange = function (range) {\n return this.getLinesForRange(range).join(this.getNewLineCharacter());\n };\n Document.prototype.getLinesForRange = function (range) {\n var lines;\n if (range.start.row === range.end.row) {\n lines = [this.getLine(range.start.row).substring(range.start.column, range.end.column)];\n }\n else {\n lines = this.getLines(range.start.row, range.end.row);\n lines[0] = (lines[0] || \"\").substring(range.start.column);\n var l = lines.length - 1;\n if (range.end.row - range.start.row == l)\n lines[l] = lines[l].substring(0, range.end.column);\n }\n return lines;\n };\n Document.prototype.insertLines = function (row, lines) {\n console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\");\n return this.insertFullLines(row, lines);\n };\n Document.prototype.removeLines = function (firstRow, lastRow) {\n console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\");\n return this.removeFullLines(firstRow, lastRow);\n };\n Document.prototype.insertNewLine = function (position) {\n console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\");\n return this.insertMergedLines(position, [\"\", \"\"]);\n };\n Document.prototype.insert = function (position, text) {\n if (this.getLength() <= 1)\n this.$detectNewLine(text);\n return this.insertMergedLines(position, this.$split(text));\n };\n Document.prototype.insertInLine = function (position, text) {\n var start = this.clippedPos(position.row, position.column);\n var end = this.pos(position.row, position.column + text.length);\n this.applyDelta({\n start: start,\n end: end,\n action: \"insert\",\n lines: [text]\n }, true);\n return this.clonePos(end);\n };\n Document.prototype.clippedPos = function (row, column) {\n var length = this.getLength();\n if (row === undefined) {\n row = length;\n }\n else if (row < 0) {\n row = 0;\n }\n else if (row >= length) {\n row = length - 1;\n column = undefined;\n }\n var line = this.getLine(row);\n if (column == undefined)\n column = line.length;\n column = Math.min(Math.max(column, 0), line.length);\n return { row: row, column: column };\n };\n Document.prototype.clonePos = function (pos) {\n return { row: pos.row, column: pos.column };\n };\n Document.prototype.pos = function (row, column) {\n return { row: row, column: column };\n };\n Document.prototype.$clipPosition = function (position) {\n var length = this.getLength();\n if (position.row >= length) {\n position.row = Math.max(0, length - 1);\n position.column = this.getLine(length - 1).length;\n }\n else {\n position.row = Math.max(0, position.row);\n position.column = Math.min(Math.max(position.column, 0), this.getLine(position.row).length);\n }\n return position;\n };\n Document.prototype.insertFullLines = function (row, lines) {\n row = Math.min(Math.max(row, 0), this.getLength());\n var column = 0;\n if (row < this.getLength()) {\n lines = lines.concat([\"\"]);\n column = 0;\n }\n else {\n lines = [\"\"].concat(lines);\n row--;\n column = this.$lines[row].length;\n }\n this.insertMergedLines({ row: row, column: column }, lines);\n };\n Document.prototype.insertMergedLines = function (position, lines) {\n var start = this.clippedPos(position.row, position.column);\n var end = {\n row: start.row + lines.length - 1,\n column: (lines.length == 1 ? start.column : 0) + lines[lines.length - 1].length\n };\n this.applyDelta({\n start: start,\n end: end,\n action: \"insert\",\n lines: lines\n });\n return this.clonePos(end);\n };\n Document.prototype.remove = function (range) {\n var start = this.clippedPos(range.start.row, range.start.column);\n var end = this.clippedPos(range.end.row, range.end.column);\n this.applyDelta({\n start: start,\n end: end,\n action: \"remove\",\n lines: this.getLinesForRange({ start: start, end: end })\n });\n return this.clonePos(start);\n };\n Document.prototype.removeInLine = function (row, startColumn, endColumn) {\n var start = this.clippedPos(row, startColumn);\n var end = this.clippedPos(row, endColumn);\n this.applyDelta({\n start: start,\n end: end,\n action: \"remove\",\n lines: this.getLinesForRange({ start: start, end: end })\n }, true);\n return this.clonePos(start);\n };\n Document.prototype.removeFullLines = function (firstRow, lastRow) {\n firstRow = Math.min(Math.max(0, firstRow), this.getLength() - 1);\n lastRow = Math.min(Math.max(0, lastRow), this.getLength() - 1);\n var deleteFirstNewLine = lastRow == this.getLength() - 1 && firstRow > 0;\n var deleteLastNewLine = lastRow < this.getLength() - 1;\n var startRow = (deleteFirstNewLine ? firstRow - 1 : firstRow);\n var startCol = (deleteFirstNewLine ? this.getLine(startRow).length : 0);\n var endRow = (deleteLastNewLine ? lastRow + 1 : lastRow);\n var endCol = (deleteLastNewLine ? 0 : this.getLine(endRow).length);\n var range = new Range(startRow, startCol, endRow, endCol);\n var deletedLines = this.$lines.slice(firstRow, lastRow + 1);\n this.applyDelta({\n start: range.start,\n end: range.end,\n action: \"remove\",\n lines: this.getLinesForRange(range)\n });\n return deletedLines;\n };\n Document.prototype.removeNewLine = function (row) {\n if (row < this.getLength() - 1 && row >= 0) {\n this.applyDelta({\n start: this.pos(row, this.getLine(row).length),\n end: this.pos(row + 1, 0),\n action: \"remove\",\n lines: [\"\", \"\"]\n });\n }\n };\n Document.prototype.replace = function (range, text) {\n if (!(range instanceof Range))\n range = Range.fromPoints(range.start, range.end);\n if (text.length === 0 && range.isEmpty())\n return range.start;\n if (text == this.getTextRange(range))\n return range.end;\n this.remove(range);\n var end;\n if (text) {\n end = this.insert(range.start, text);\n }\n else {\n end = range.start;\n }\n return end;\n };\n Document.prototype.applyDeltas = function (deltas) {\n for (var i = 0; i < deltas.length; i++) {\n this.applyDelta(deltas[i]);\n }\n };\n Document.prototype.revertDeltas = function (deltas) {\n for (var i = deltas.length - 1; i >= 0; i--) {\n this.revertDelta(deltas[i]);\n }\n };\n Document.prototype.applyDelta = function (delta, doNotValidate) {\n var isInsert = delta.action == \"insert\";\n if (isInsert ? delta.lines.length <= 1 && !delta.lines[0]\n : !Range.comparePoints(delta.start, delta.end)) {\n return;\n }\n if (isInsert && delta.lines.length > 20000) {\n this.$splitAndapplyLargeDelta(delta, 20000);\n }\n else {\n applyDelta(this.$lines, delta, doNotValidate);\n this._signal(\"change\", delta);\n }\n };\n Document.prototype.$safeApplyDelta = function (delta) {\n var docLength = this.$lines.length;\n if (delta.action == \"remove\" && delta.start.row < docLength && delta.end.row < docLength\n || delta.action == \"insert\" && delta.start.row <= docLength) {\n this.applyDelta(delta);\n }\n };\n Document.prototype.$splitAndapplyLargeDelta = function (delta, MAX) {\n var lines = delta.lines;\n var l = lines.length - MAX + 1;\n var row = delta.start.row;\n var column = delta.start.column;\n for (var from = 0, to = 0; from < l; from = to) {\n to += MAX - 1;\n var chunk = lines.slice(from, to);\n chunk.push(\"\");\n this.applyDelta({\n start: this.pos(row + from, column),\n end: this.pos(row + to, column = 0),\n action: delta.action,\n lines: chunk\n }, true);\n }\n delta.lines = lines.slice(from);\n delta.start.row = row + from;\n delta.start.column = column;\n this.applyDelta(delta, true);\n };\n Document.prototype.revertDelta = function (delta) {\n this.$safeApplyDelta({\n start: this.clonePos(delta.start),\n end: this.clonePos(delta.end),\n action: (delta.action == \"insert\" ? \"remove\" : \"insert\"),\n lines: delta.lines.slice()\n });\n };\n Document.prototype.indexToPosition = function (index, startRow) {\n var lines = this.$lines || this.getAllLines();\n var newlineLength = this.getNewLineCharacter().length;\n for (var i = startRow || 0, l = lines.length; i < l; i++) {\n index -= lines[i].length + newlineLength;\n if (index < 0)\n return { row: i, column: index + lines[i].length + newlineLength };\n }\n return { row: l - 1, column: index + lines[l - 1].length + newlineLength };\n };\n Document.prototype.positionToIndex = function (pos, startRow) {\n var lines = this.$lines || this.getAllLines();\n var newlineLength = this.getNewLineCharacter().length;\n var index = 0;\n var row = Math.min(pos.row, lines.length);\n for (var i = startRow || 0; i < row; ++i)\n index += lines[i].length + newlineLength;\n return index + pos.column;\n };\n return Document;\n}());\nDocument.prototype.$split = (\"aaa\".split(/a/).length === 0) ? function (text) {\n return text.replace(/\\r\\n|\\r/g, \"\\n\").split(\"\\n\");\n} : function (text) {\n return text.split(/\\r\\n|\\r|\\n/);\n};\nDocument.prototype.$autoNewLine = \"\";\nDocument.prototype.$newLineMode = \"auto\";\noop.implement(Document.prototype, EventEmitter);\nexports.Document = Document;\n\n});\n\nace.define(\"ace/lib/lang\",[], function(require, exports, module){\"use strict\";\nexports.last = function (a) {\n return a[a.length - 1];\n};\nexports.stringReverse = function (string) {\n return string.split(\"\").reverse().join(\"\");\n};\nexports.stringRepeat = function (string, count) {\n var result = '';\n while (count > 0) {\n if (count & 1)\n result += string;\n if (count >>= 1)\n string += string;\n }\n return result;\n};\nvar trimBeginRegexp = /^\\s\\s*/;\nvar trimEndRegexp = /\\s\\s*$/;\nexports.stringTrimLeft = function (string) {\n return string.replace(trimBeginRegexp, '');\n};\nexports.stringTrimRight = function (string) {\n return string.replace(trimEndRegexp, '');\n};\nexports.copyObject = function (obj) {\n var copy = {};\n for (var key in obj) {\n copy[key] = obj[key];\n }\n return copy;\n};\nexports.copyArray = function (array) {\n var copy = [];\n for (var i = 0, l = array.length; i < l; i++) {\n if (array[i] && typeof array[i] == \"object\")\n copy[i] = this.copyObject(array[i]);\n else\n copy[i] = array[i];\n }\n return copy;\n};\nexports.deepCopy = function deepCopy(obj) {\n if (typeof obj !== \"object\" || !obj)\n return obj;\n var copy;\n if (Array.isArray(obj)) {\n copy = [];\n for (var key = 0; key < obj.length; key++) {\n copy[key] = deepCopy(obj[key]);\n }\n return copy;\n }\n if (Object.prototype.toString.call(obj) !== \"[object Object]\")\n return obj;\n copy = {};\n for (var key in obj)\n copy[key] = deepCopy(obj[key]);\n return copy;\n};\nexports.arrayToMap = function (arr) {\n var map = {};\n for (var i = 0; i < arr.length; i++) {\n map[arr[i]] = 1;\n }\n return map;\n};\nexports.createMap = function (props) {\n var map = Object.create(null);\n for (var i in props) {\n map[i] = props[i];\n }\n return map;\n};\nexports.arrayRemove = function (array, value) {\n for (var i = 0; i <= array.length; i++) {\n if (value === array[i]) {\n array.splice(i, 1);\n }\n }\n};\nexports.escapeRegExp = function (str) {\n return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g, '\\\\$1');\n};\nexports.escapeHTML = function (str) {\n return (\"\" + str).replace(/&/g, \"&\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(/= doc.$lines.length) {\n err = new Error(\"Invalid delta\");\n err.data = {\n path: _self.$path,\n linesLength: doc.$lines.length,\n start: d.start,\n end: d.end\n };\n throw err;\n }\n\n doc.applyDelta(d, true);\n }\n }\n if (_self.$timeout)\n return deferredUpdate.schedule(_self.$timeout);\n _self.onUpdate();\n });\n};\n\n(function() {\n \n this.$timeout = 500;\n \n this.setTimeout = function(timeout) {\n this.$timeout = timeout;\n };\n \n this.setValue = function(value) {\n this.doc.setValue(value);\n this.deferredUpdate.schedule(this.$timeout);\n };\n \n this.getValue = function(callbackId) {\n this.sender.callback(this.doc.getValue(), callbackId);\n };\n \n this.onUpdate = function() {\n };\n \n this.isPending = function() {\n return this.deferredUpdate.isPending();\n };\n \n}).call(Mirror.prototype);\n\n});\n\nace.define(\"ace/mode/json/json_parse\",[], function(require, exports, module) {\n\"use strict\";\n\n var at, // The index of the current character\n ch, // The current character\n escapee = {\n '\"': '\"',\n '\\\\': '\\\\',\n '/': '/',\n b: '\\b',\n f: '\\f',\n n: '\\n',\n r: '\\r',\n t: '\\t'\n },\n text,\n\n error = function (m) {\n\n throw {\n name: 'SyntaxError',\n message: m,\n at: at,\n text: text\n };\n },\n\n next = function (c) {\n\n if (c && c !== ch) {\n error(\"Expected '\" + c + \"' instead of '\" + ch + \"'\");\n }\n\n ch = text.charAt(at);\n at += 1;\n return ch;\n },\n\n number = function () {\n\n var number,\n string = '';\n\n if (ch === '-') {\n string = '-';\n next('-');\n }\n while (ch >= '0' && ch <= '9') {\n string += ch;\n next();\n }\n if (ch === '.') {\n string += '.';\n while (next() && ch >= '0' && ch <= '9') {\n string += ch;\n }\n }\n if (ch === 'e' || ch === 'E') {\n string += ch;\n next();\n if (ch === '-' || ch === '+') {\n string += ch;\n next();\n }\n while (ch >= '0' && ch <= '9') {\n string += ch;\n next();\n }\n }\n number = +string;\n if (isNaN(number)) {\n error(\"Bad number\");\n } else {\n return number;\n }\n },\n\n string = function () {\n\n var hex,\n i,\n string = '',\n uffff;\n\n if (ch === '\"') {\n while (next()) {\n if (ch === '\"') {\n next();\n return string;\n } else if (ch === '\\\\') {\n next();\n if (ch === 'u') {\n uffff = 0;\n for (i = 0; i < 4; i += 1) {\n hex = parseInt(next(), 16);\n if (!isFinite(hex)) {\n break;\n }\n uffff = uffff * 16 + hex;\n }\n string += String.fromCharCode(uffff);\n } else if (typeof escapee[ch] === 'string') {\n string += escapee[ch];\n } else {\n break;\n }\n } else if (ch == \"\\n\" || ch == \"\\r\") {\n break;\n } else {\n string += ch;\n }\n }\n }\n error(\"Bad string\");\n },\n\n white = function () {\n\n while (ch && ch <= ' ') {\n next();\n }\n },\n\n word = function () {\n\n switch (ch) {\n case 't':\n next('t');\n next('r');\n next('u');\n next('e');\n return true;\n case 'f':\n next('f');\n next('a');\n next('l');\n next('s');\n next('e');\n return false;\n case 'n':\n next('n');\n next('u');\n next('l');\n next('l');\n return null;\n }\n error(\"Unexpected '\" + ch + \"'\");\n },\n\n value, // Place holder for the value function.\n\n array = function () {\n\n var array = [];\n\n if (ch === '[') {\n next('[');\n white();\n if (ch === ']') {\n next(']');\n return array; // empty array\n }\n while (ch) {\n array.push(value());\n white();\n if (ch === ']') {\n next(']');\n return array;\n }\n next(',');\n white();\n }\n }\n error(\"Bad array\");\n },\n\n object = function () {\n\n var key,\n object = {};\n\n if (ch === '{') {\n next('{');\n white();\n if (ch === '}') {\n next('}');\n return object; // empty object\n }\n while (ch) {\n key = string();\n white();\n next(':');\n if (Object.hasOwnProperty.call(object, key)) {\n error('Duplicate key \"' + key + '\"');\n }\n object[key] = value();\n white();\n if (ch === '}') {\n next('}');\n return object;\n }\n next(',');\n white();\n }\n }\n error(\"Bad object\");\n };\n\n value = function () {\n\n white();\n switch (ch) {\n case '{':\n return object();\n case '[':\n return array();\n case '\"':\n return string();\n case '-':\n return number();\n default:\n return ch >= '0' && ch <= '9' ? number() : word();\n }\n };\n\n return function (source, reviver) {\n var result;\n\n text = source;\n at = 0;\n ch = ' ';\n result = value();\n white();\n if (ch) {\n error(\"Syntax error\");\n }\n\n return typeof reviver === 'function' ? function walk(holder, key) {\n var k, v, value = holder[key];\n if (value && typeof value === 'object') {\n for (k in value) {\n if (Object.hasOwnProperty.call(value, k)) {\n v = walk(value, k);\n if (v !== undefined) {\n value[k] = v;\n } else {\n delete value[k];\n }\n }\n }\n }\n return reviver.call(holder, key, value);\n }({'': result}, '') : result;\n };\n});\n\nace.define(\"ace/mode/json_worker\",[], function(require, exports, module) {\n\"use strict\";\n\nvar oop = require(\"../lib/oop\");\nvar Mirror = require(\"../worker/mirror\").Mirror;\nvar parse = require(\"./json/json_parse\");\n\nvar JsonWorker = exports.JsonWorker = function(sender) {\n Mirror.call(this, sender);\n this.setTimeout(200);\n};\n\noop.inherits(JsonWorker, Mirror);\n\n(function() {\n\n this.onUpdate = function() {\n var value = this.doc.getValue();\n var errors = [];\n try {\n if (value)\n parse(value);\n } catch (e) {\n var pos = this.doc.indexToPosition(e.at-1);\n errors.push({\n row: pos.row,\n column: pos.column,\n text: e.message,\n type: \"error\"\n });\n }\n this.sender.emit(\"annotate\", errors);\n };\n\n}).call(JsonWorker.prototype);\n\n});\n"],"mappings":"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","names":["require_af13854f56ac35bdc0056d81c70223f1","__commonJSMin","exports","window","msgs","message","file","line","col","err","parentId","moduleName","chunks","base","previous","id","module","path","resolveModuleId","paths","testPath","tail","alias","deps","factory","req","childId","returnExports","dep","topLevelNamespaces","i","EventEmitter","oop","Sender","data","callbackId","name","main","sender","e","msg","clazz","require","ctor","superCtor","obj","mixin","key","proto","throwDeltaError","delta","errorText","positionInDocument","docLines","position","validateDelta","start","end","numRangeRows","numRangeLastLineChars","doNotValidate","row","startColumn","lines","args","endColumn","endRow","stopPropagation","preventDefault","eventName","listeners","defaultHandler","callback","_self","newCallback","resolve","handlers","old","disabled","capturing","index","comparePoints","p1","p2","Range","startRow","range","column","cmp","p","firstRow","lastRow","session","screenPosStart","screenPosEnd","Anchor","doc","point","$getTransformedPoint","noClip","pos","$pointsInOrder","point1","point2","equalPointsInOrder","bColIsAfter","moveIfEqual","deltaIsInsert","deltaRowShift","deltaColShift","deltaStart","deltaEnd","applyDelta","Document","textOrLines","text","len","match","newLineMode","l","length","deleteFirstNewLine","deleteLastNewLine","startCol","endCol","deletedLines","deltas","isInsert","docLength","MAX","from","to","chunk","newlineLength","a","string","count","result","trimBeginRegexp","trimEndRegexp","copy","array","deepCopy","arr","map","props","value","str","regExp","matches","fcn","timer","deferred","timeout","defaultTimeout","lang","Mirror","deferredUpdate","d","at","ch","escapee","error","m","next","c","number","hex","uffff","white","word","object","source","reviver","walk","holder","k","v","parse","JsonWorker","errors"],"sourceRoot":"","file":"af13854f56ac35bdc0056d81c70223f1.js"}