diff --git a/build/adapters/document-sync-adapter.js b/build/adapters/document-sync-adapter.js index 6cb9ec0..e9c1aaf 100644 --- a/build/adapters/document-sync-adapter.js +++ b/build/adapters/document-sync-adapter.js @@ -66,7 +66,8 @@ let TextEditorSyncAdapter = class TextEditorSyncAdapter { case _languageclient.TextDocumentSyncKind.Full: return this._editor.onDidChange(this.editorChangeSendFull.bind(this)); case _languageclient.TextDocumentSyncKind.Incremental: - return this._editor.getBuffer().onDidChangeText(this.bufferChangeSendIncrement.bind(this)); + // TODO: Switch to onDidChangeText when the API includes oldText. + return this._editor.getBuffer().onDidChange(this.bufferChangeSendIncrement.bind(this)); } return null; } @@ -109,17 +110,14 @@ let TextEditorSyncAdapter = class TextEditorSyncAdapter { this._version++; this._lc.didChangeTextDocument({ textDocument: this.getVersionedTextDocumentIdentifier(), - contentChanges: event.changes.map(TextEditorSyncAdapter.changeTextToContentChange) + contentChanges: [TextEditorSyncAdapter.textEditToContentChange(event)] }); } - static changeTextToContentChange(change) { - const start = _convert2.default.pointToPosition(change.start); - const end = { line: change.start.row + change.oldExtent.row, character: change.start.column + change.oldExtent.column }; - + static textEditToContentChange(change) { return { - range: { start: start, end: end }, - rangeLength: change.oldExtent.column - change.newExtent.column + change.newText.length, // TODO: Only works if row is the same... + range: _convert2.default.atomRangeToLSRange(change.oldRange), + rangeLength: change.oldText.length, text: change.newText }; } @@ -138,4 +136,4 @@ let TextEditorSyncAdapter = class TextEditorSyncAdapter { } }; module.exports = exports['default']; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hZGFwdGVycy9kb2N1bWVudC1zeW5jLWFkYXB0ZXIuanMiXSwibmFtZXMiOlsiRG9jdW1lbnRTeW5jQWRhcHRlciIsImNvbnN0cnVjdG9yIiwibGFuZ3VhZ2VDbGllbnQiLCJkb2N1bWVudFN5bmNLaW5kIiwiX2Rpc3Bvc2FibGUiLCJfZWRpdG9ycyIsIldlYWtNYXAiLCJfbGMiLCJfZG9jdW1lbnRTeW5jS2luZCIsImFkZCIsImF0b20iLCJ0ZXh0RWRpdG9ycyIsIm9ic2VydmUiLCJvYnNlcnZlVGV4dEVkaXRvcnMiLCJiaW5kIiwiZGlzcG9zZSIsImVkaXRvciIsImhhcyIsInN5bmMiLCJUZXh0RWRpdG9yU3luY0FkYXB0ZXIiLCJzZXQiLCJvbkRpZERlc3Ryb3kiLCJkZWxldGUiLCJyZW1vdmUiLCJfdmVyc2lvbiIsIl9lZGl0b3IiLCJjaGFuZ2VUcmFja2luZyIsInNldHVwQ2hhbmdlVHJhY2tpbmciLCJvbkRpZFNhdmUiLCJkaWRTYXZlIiwiZGlkRGVzdHJveSIsImRpZE9wZW4iLCJGdWxsIiwib25EaWRDaGFuZ2UiLCJlZGl0b3JDaGFuZ2VTZW5kRnVsbCIsIkluY3JlbWVudGFsIiwiZ2V0QnVmZmVyIiwib25EaWRDaGFuZ2VUZXh0IiwiYnVmZmVyQ2hhbmdlU2VuZEluY3JlbWVudCIsImdldExhbmd1YWdlSWQiLCJnZXRHcmFtbWFyIiwibmFtZSIsImdldFZlcnNpb25lZFRleHREb2N1bWVudElkZW50aWZpZXIiLCJ1cmkiLCJnZXRFZGl0b3JVcmkiLCJ2ZXJzaW9uIiwiZGlkT3BlblRleHREb2N1bWVudCIsInRleHREb2N1bWVudCIsImxhbmd1YWdlSWQiLCJ0b0xvd2VyQ2FzZSIsInRleHQiLCJnZXRUZXh0IiwiZGlkQ2hhbmdlVGV4dERvY3VtZW50IiwiY29udGVudENoYW5nZXMiLCJldmVudCIsImNoYW5nZXMiLCJtYXAiLCJjaGFuZ2VUZXh0VG9Db250ZW50Q2hhbmdlIiwiY2hhbmdlIiwic3RhcnQiLCJwb2ludFRvUG9zaXRpb24iLCJlbmQiLCJsaW5lIiwicm93Iiwib2xkRXh0ZW50IiwiY2hhcmFjdGVyIiwiY29sdW1uIiwicmFuZ2UiLCJyYW5nZUxlbmd0aCIsIm5ld0V4dGVudCIsIm5ld1RleHQiLCJsZW5ndGgiLCJkaWRDbG9zZVRleHREb2N1bWVudCIsImRpZFNhdmVUZXh0RG9jdW1lbnQiLCJkaWRDaGFuZ2VXYXRjaGVkRmlsZXMiLCJ0eXBlIiwiQ2hhbmdlZCIsInBhdGhUb1VyaSIsImdldFVSSSJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQTs7QUFFQTs7OztBQUNBOzs7O0lBRXFCQSxtQixHQUFOLE1BQU1BLG1CQUFOLENBQTBCOztBQU12Q0MsY0FBWUMsY0FBWixFQUFzREMsZ0JBQXRELEVBQWdGO0FBQUEsU0FMaEZDLFdBS2dGLEdBTGxFLCtCQUtrRTtBQUFBLFNBSGhGQyxRQUdnRixHQUhwQixJQUFJQyxPQUFKLEVBR29COztBQUM5RSxTQUFLQyxHQUFMLEdBQVdMLGNBQVg7QUFDQSxTQUFLTSxpQkFBTCxHQUF5QkwsZ0JBQXpCO0FBQ0EsU0FBS0MsV0FBTCxDQUFpQkssR0FBakIsQ0FBcUJDLEtBQUtDLFdBQUwsQ0FBaUJDLE9BQWpCLENBQXlCLEtBQUtDLGtCQUFMLENBQXdCQyxJQUF4QixDQUE2QixJQUE3QixDQUF6QixDQUFyQjtBQUNEOztBQUVEQyxZQUFnQjtBQUNkLFNBQUtYLFdBQUwsQ0FBaUJXLE9BQWpCO0FBQ0Q7O0FBRURGLHFCQUFtQkcsTUFBbkIsRUFBa0Q7QUFDaEQsUUFBSSxDQUFDLEtBQUtYLFFBQUwsQ0FBY1ksR0FBZCxDQUFrQkQsTUFBbEIsQ0FBTCxFQUFnQztBQUM5QixZQUFNRSxPQUFPLElBQUlDLHFCQUFKLENBQTBCSCxNQUExQixFQUFrQyxLQUFLVCxHQUF2QyxFQUE0QyxLQUFLQyxpQkFBakQsQ0FBYjtBQUNBLFdBQUtILFFBQUwsQ0FBY2UsR0FBZCxDQUFrQkosTUFBbEIsRUFBMEJFLElBQTFCO0FBQ0EsV0FBS2QsV0FBTCxDQUFpQkssR0FBakIsQ0FBcUJTLElBQXJCO0FB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IiwiZmlsZSI6ImRvY3VtZW50LXN5bmMtYWRhcHRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5cbmltcG9ydCB7TGFuZ3VhZ2VDbGllbnRDb25uZWN0aW9uLCBGaWxlQ2hhbmdlVHlwZSwgVGV4dERvY3VtZW50U3luY0tpbmR9IGZyb20gJy4uL2xhbmd1YWdlY2xpZW50JztcbmltcG9ydCB0eXBlIHtUZXh0RG9jdW1lbnRDb250ZW50Q2hhbmdlRXZlbnQsIFZlcnNpb25lZFRleHREb2N1bWVudElkZW50aWZpZXJ9IGZyb20gJy4uL2xhbmd1YWdlY2xpZW50JztcbmltcG9ydCBDb252ZXJ0IGZyb20gJy4uL2NvbnZlcnQnO1xuaW1wb3J0IHtDb21wb3NpdGVEaXNwb3NhYmxlfSBmcm9tICdhdG9tJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRG9jdW1lbnRTeW5jQWRhcHRlciB7XG4gIF9kaXNwb3NhYmxlID0gbmV3IENvbXBvc2l0ZURpc3Bvc2FibGUoKTtcbiAgX2RvY3VtZW50U3luY0tpbmQ6IG51bWJlcjtcbiAgX2VkaXRvcnM6IFdlYWtNYXA8YXRvbSRUZXh0RWRpdG9yLCBUZXh0RWRpdG9yU3luY0FkYXB0ZXI+ID0gbmV3IFdlYWtNYXAoKTtcbiAgX2xjOiBMYW5ndWFnZUNsaWVudENvbm5lY3Rpb247XG5cbiAgY29uc3RydWN0b3IobGFuZ3VhZ2VDbGllbnQ6IExhbmd1YWdlQ2xpZW50Q29ubmVjdGlvbiwgZG9jdW1lbnRTeW5jS2luZDogbnVtYmVyKSB7XG4gICAgdGhpcy5fbGMgPSBsYW5ndWFnZUNsaWVudDtcbiAgICB0aGlzLl9kb2N1bWVudFN5bmNLaW5kID0gZG9jdW1lbnRTeW5jS2luZDtcbiAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChhdG9tLnRleHRFZGl0b3JzLm9ic2VydmUodGhpcy5vYnNlcnZlVGV4dEVkaXRvcnMuYmluZCh0aGlzKSkpO1xuICB9XG5cbiAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIG9ic2VydmVUZXh0RWRpdG9ycyhlZGl0b3I6IGF0b20kVGV4dEVkaXRvcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZWRpdG9ycy5oYXMoZWRpdG9yKSkge1xuICAgICAgY29uc3Qgc3luYyA9IG5ldyBUZXh0RWRpdG9yU3luY0FkYXB0ZXIoZWRpdG9yLCB0aGlzLl9sYywgdGhpcy5fZG9jdW1lbnRTeW5jS2luZCk7XG4gICAgICB0aGlzLl9lZGl0b3JzLnNldChlZGl0b3IsIHN5bmMpO1xuICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoc3luYyk7XG4gICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChlZGl0b3Iub25EaWREZXN0cm95KCgpID0+IHtcbiAgICAgICAgdGhpcy5fZWRpdG9ycy5kZWxldGUoZWRpdG9yKTtcbiAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5yZW1vdmUoc3luYyk7XG4gICAgICAgIHN5bmMuZGlzcG9zZSgpO1xuICAgICAgfSkpO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBUZXh0RWRpdG9yU3luY0FkYXB0ZXIge1xuICBfZGlzcG9zYWJsZSA9IG5ldyBDb21wb3NpdGVEaXNwb3NhYmxlKCk7XG4gIF9lZGl0b3I6IGF0b20kVGV4dEVkaXRvcjtcbiAgX2xjOiBMYW5ndWFnZUNsaWVudENvbm5lY3Rpb247XG4gIF92ZXJzaW9uID0gMTtcblxuICBjb25zdHJ1Y3RvcihlZGl0b3I6IGF0b20kVGV4dEVkaXRvciwgbGFuZ3VhZ2VDbGllbnQ6IExhbmd1YWdlQ2xpZW50Q29ubmVjdGlvbiwgZG9jdW1lbnRTeW5jS2luZDogbnVtYmVyKSB7XG4gICAgdGhpcy5fZWRpdG9yID0gZWRpdG9yO1xuICAgIHRoaXMuX2xjID0gbGFuZ3VhZ2VDbGllbnQ7XG5cbiAgICBjb25zdCBjaGFuZ2VUcmFja2luZyA9IHRoaXMuc2V0dXBDaGFuZ2VUcmFja2luZyhkb2N1bWVudFN5bmNLaW5kKTtcbiAgICBpZiAoY2hhbmdlVHJhY2tpbmcgIT0gbnVsbCkge1xuICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoY2hhbmdlVHJhY2tpbmcpO1xuICAgIH1cblxuICAgIHRoaXMuX2Rpc3Bvc2FibGUuYWRkKFxuICAgICAgZWRpdG9yLm9uRGlkU2F2ZSh0aGlzLmRpZFNhdmUuYmluZCh0aGlzKSksXG4gICAgICBlZGl0b3Iub25EaWREZXN0cm95KHRoaXMuZGlkRGVzdHJveS5iaW5kKHRoaXMpKSxcbiAgICApO1xuXG4gICAgdGhpcy5kaWRPcGVuKCk7XG4gIH1cblxuICBzZXR1cENoYW5nZVRyYWNraW5nKGRvY3VtZW50U3luY0tpbmQ6IG51bWJlcik6ID9JRGlzcG9zYWJsZSB7XG4gICAgc3dpdGNoIChkb2N1bWVudFN5bmNLaW5kKSB7XG4gICAgICBjYXNlIFRleHREb2N1bWVudFN5bmNLaW5kLkZ1bGw6XG4gICAgICAgIHJldHVybiB0aGlzLl9lZGl0b3Iub25EaWRDaGFuZ2UodGhpcy5lZGl0b3JDaGFuZ2VTZW5kRnVsbC5iaW5kKHRoaXMpKTtcbiAgICAgIGNhc2UgVGV4dERvY3VtZW50U3luY0tpbmQuSW5jcmVtZW50YWw6XG4gICAgICAgIHJldHVybiB0aGlzLl9lZGl0b3IuZ2V0QnVmZmVyKCkub25EaWRDaGFuZ2VUZXh0KHRoaXMuYnVmZmVyQ2hhbmdlU2VuZEluY3JlbWVudC5iaW5kKHRoaXMpKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBkaXNwb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc3Bvc2FibGUuZGlzcG9zZSgpO1xuICB9XG5cbiAgZ2V0TGFuZ3VhZ2VJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9lZGl0b3IuZ2V0R3JhbW1hcigpLm5hbWU7XG4gIH1cblxuICBnZXRWZXJzaW9uZWRUZXh0RG9jdW1lbnRJZGVudGlmaWVyKCk6IFZlcnNpb25lZFRleHREb2N1bWVudElkZW50aWZpZXIge1xuICAgIHJldHVybiB7XG4gICAgICB1cmk6IHRoaXMuZ2V0RWRpdG9yVXJpKCksXG4gICAgICB2ZXJzaW9uOiB0aGlzLl92ZXJzaW9uXG4gICAgfTtcbiAgfVxuXG4gIGRpZE9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5fbGMuZGlkT3BlblRleHREb2N1bWVudCh7XG4gICAgICB0ZXh0RG9jdW1lbnQ6IHtcbiAgICAgICAgdXJpOiB0aGlzLmdldEVkaXRvclVyaSgpLFxuICAgICAgICBsYW5ndWFnZUlkOiB0aGlzLmdldExhbmd1YWdlSWQoKS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICB2ZXJzaW9uOiB0aGlzLl92ZXJzaW9uLFxuICAgICAgICB0ZXh0OiB0aGlzLl9lZGl0b3IuZ2V0VGV4dCgpXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBlZGl0b3JDaGFuZ2VTZW5kRnVsbCgpOiB2b2lkIHtcbiAgICB0aGlzLl92ZXJzaW9uKys7XG4gICAgdGhpcy5fbGMuZGlkQ2hhbmdlVGV4dERvY3VtZW50KHtcbiAgICAgIHRleHREb2N1bWVudDogdGhpcy5nZXRWZXJzaW9uZWRUZXh0RG9jdW1lbnRJZGVudGlmaWVyKCksXG4gICAgICBjb250ZW50Q2hhbmdlczogWyB7IHRleHQ6IHRoaXMuX2VkaXRvci5nZXRUZXh0KCkgfSBdXG4gICAgfSk7XG4gIH1cblxuICBidWZmZXJDaGFuZ2VTZW5kSW5jcmVtZW50KGV2ZW50OiBhdG9tJENoYW5nZVRleHRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3ZlcnNpb24rKztcbiAgICB0aGlzLl9sYy5kaWRDaGFuZ2VUZXh0RG9jdW1lbnQoe1xuICAgICAgdGV4dERvY3VtZW50OiB0aGlzLmdldFZlcnNpb25lZFRleHREb2N1bWVudElkZW50aWZpZXIoKSxcbiAgICAgIGNvbnRlbnRDaGFuZ2VzOiBldmVudC5jaGFuZ2VzLm1hcChUZXh0RWRpdG9yU3luY0FkYXB0ZXIuY2hhbmdlVGV4dFRvQ29udGVudENoYW5nZSlcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBjaGFuZ2VUZXh0VG9Db250ZW50Q2hhbmdlKGNoYW5nZTogYXRvbSRDaGFuZ2VUZXh0KTogVGV4dERvY3VtZW50Q29udGVudENoYW5nZUV2ZW50IHtcbiAgICBjb25zdCBzdGFydCA9IENvbnZlcnQucG9pbnRUb1Bvc2l0aW9uKGNoYW5nZS5zdGFydCk7XG4gICAgY29uc3QgZW5kID0geyBsaW5lOiBjaGFuZ2Uuc3RhcnQucm93ICsgY2hhbmdlLm9sZEV4dGVudC5yb3csIGNoYXJhY3RlcjogY2hhbmdlLnN0YXJ0LmNvbHVtbiArIGNoYW5nZS5vbGRFeHRlbnQuY29sdW1uIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgcmFuZ2U6IHsgc3RhcnQ6IHN0YXJ0LCBlbmQ6IGVuZCB9LFxuICAgICAgcmFuZ2VMZW5ndGg6IGNoYW5nZS5vbGRFeHRlbnQuY29sdW1uIC0gY2hhbmdlLm5ld0V4dGVudC5jb2x1bW4gKyBjaGFuZ2UubmV3VGV4dC5sZW5ndGgsIC8vIFRPRE86IE9ubHkgd29ya3MgaWYgcm93IGlzIHRoZSBzYW1lLi4uXG4gICAgICB0ZXh0OiBjaGFuZ2UubmV3VGV4dFxuICAgIH07XG4gIH1cblxuICBkaWREZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2xjLmRpZENsb3NlVGV4dERvY3VtZW50KHsgdGV4dERvY3VtZW50OiB7IHVyaTogdGhpcy5nZXRFZGl0b3JVcmkoKSB9IH0pO1xuICB9XG5cbiAgZGlkU2F2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9sYy5kaWRTYXZlVGV4dERvY3VtZW50KHsgdGV4dERvY3VtZW50OiB7IHVyaTogdGhpcy5nZXRFZGl0b3JVcmkoKSB9IH0pO1xuICAgIHRoaXMuX2xjLmRpZENoYW5nZVdhdGNoZWRGaWxlcyh7IGNoYW5nZXM6IFsgeyB1cmk6IHRoaXMuZ2V0RWRpdG9yVXJpKCksIHR5cGU6IEZpbGVDaGFuZ2VUeXBlLkNoYW5nZWQgfSBdfSk7XG4gIH1cblxuICBnZXRFZGl0b3JVcmkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQ29udmVydC5wYXRoVG9VcmkodGhpcy5fZWRpdG9yLmdldFVSSSgpIHx8ICcnKTtcbiAgfVxufVxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9hZGFwdGVycy9kb2N1bWVudC1zeW5jLWFkYXB0ZXIuanMiXSwibmFtZXMiOlsiRG9jdW1lbnRTeW5jQWRhcHRlciIsImNvbnN0cnVjdG9yIiwibGFuZ3VhZ2VDbGllbnQiLCJkb2N1bWVudFN5bmNLaW5kIiwiX2Rpc3Bvc2FibGUiLCJfZWRpdG9ycyIsIldlYWtNYXAiLCJfbGMiLCJfZG9jdW1lbnRTeW5jS2luZCIsImFkZCIsImF0b20iLCJ0ZXh0RWRpdG9ycyIsIm9ic2VydmUiLCJvYnNlcnZlVGV4dEVkaXRvcnMiLCJiaW5kIiwiZGlzcG9zZSIsImVkaXRvciIsImhhcyIsInN5bmMiLCJUZXh0RWRpdG9yU3luY0FkYXB0ZXIiLCJzZXQiLCJvbkRpZERlc3Ryb3kiLCJkZWxldGUiLCJyZW1vdmUiLCJfdmVyc2lvbiIsIl9lZGl0b3IiLCJjaGFuZ2VUcmFja2luZyIsInNldHVwQ2hhbmdlVHJhY2tpbmciLCJvbkRpZFNhdmUiLCJkaWRTYXZlIiwiZGlkRGVzdHJveSIsImRpZE9wZW4iLCJGdWxsIiwib25EaWRDaGFuZ2UiLCJlZGl0b3JDaGFuZ2VTZW5kRnVsbCIsIkluY3JlbWVudGFsIiwiZ2V0QnVmZmVyIiwiYnVmZmVyQ2hhbmdlU2VuZEluY3JlbWVudCIsImdldExhbmd1YWdlSWQiLCJnZXRHcmFtbWFyIiwibmFtZSIsImdldFZlcnNpb25lZFRleHREb2N1bWVudElkZW50aWZpZXIiLCJ1cmkiLCJnZXRFZGl0b3JVcmkiLCJ2ZXJzaW9uIiwiZGlkT3BlblRleHREb2N1bWVudCIsInRleHREb2N1bWVudCIsImxhbmd1YWdlSWQiLCJ0b0xvd2VyQ2FzZSIsInRleHQiLCJnZXRUZXh0IiwiZGlkQ2hhbmdlVGV4dERvY3VtZW50IiwiY29udGVudENoYW5nZXMiLCJldmVudCIsInRleHRFZGl0VG9Db250ZW50Q2hhbmdlIiwiY2hhbmdlIiwicmFuZ2UiLCJhdG9tUmFuZ2VUb0xTUmFuZ2UiLCJvbGRSYW5nZSIsInJhbmdlTGVuZ3RoIiwib2xkVGV4dCIsImxlbmd0aCIsIm5ld1RleHQiLCJkaWRDbG9zZVRleHREb2N1bWVudCIsImRpZFNhdmVUZXh0RG9jdW1lbnQiLCJkaWRDaGFuZ2VXYXRjaGVkRmlsZXMiLCJjaGFuZ2VzIiwidHlwZSIsIkNoYW5nZWQiLCJwYXRoVG9VcmkiLCJnZXRVUkkiXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUE7O0FBRUE7Ozs7QUFDQTs7OztJQUVxQkEsbUIsR0FBTixNQUFNQSxtQkFBTixDQUEwQjs7QUFNdkNDLGNBQVlDLGNBQVosRUFBc0RDLGdCQUF0RCxFQUFnRjtBQUFBLFNBTGhGQyxXQUtnRixHQUxsRSwrQkFLa0U7QUFBQSxTQUhoRkMsUUFHZ0YsR0FIcEIsSUFBSUMsT0FBSixFQUdvQjs7QUFDOUUsU0FBS0MsR0FBTCxHQUFXTCxjQUFYO0FBQ0EsU0FBS00saUJBQUwsR0FBeUJMLGdCQUF6QjtBQUNBLFNBQUtDLFdBQUwsQ0FBaUJLLEdBQWpCLENBQXFCQyxLQUFLQyxXQUFMLENBQWlCQyxPQUFqQixDQUF5QixLQUFLQyxrQkFBTCxDQUF3QkMsSUFBeEIsQ0FBNkIsSUFBN0IsQ0FBekIsQ0FBckI7QUFDRDs7QUFFREMsWUFBZ0I7QUFDZCxTQUFLWCxXQUFMLENBQWlCVyxPQUFqQjtBQUNEOztBQUVERixxQkFBbUJHLE1BQW5CLEVBQWtEO0FBQ2hELFFBQUksQ0FBQyxLQUFLWCxRQUFMLENBQWNZLEdBQWQsQ0FBa0JELE1BQWxCLENBQUwsRUFBZ0M7QUFDOUIsWUFBTUUsT0FBTyxJQUFJQyxxQkFBSixDQUEwQkgsTUFBMUIsRUFBa0MsS0FBS1QsR0FBdkMsRUFBNEMsS0FBS0MsaUJBQWpELENBQWI7QUFDQSxXQUFLSCxRQUFMLENBQWNlLEdBQWQsQ0FBa0JKLE1BQWxCLEVBQTBCRSxJQUExQjtBQUNBLFdBQUtkLFdBQUwsQ0FBaUJLLEdBQWpCLENBQXFCUyxJQUFyQjtBQUNBLFdBQUtkLFdBQUwsQ0FBaUJLLEdBQWpCLENBQXFCTyxPQUFPSyxZQUFQLENBQW9CLE1BQU07QUFDN0MsYUFBS2hCLFFBQUws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QyxhQUFPLGtCQUFRQyxrQkFBUixDQUEyQkYsT0FBT0csUUFBbEMsQ0FERjtBQUVMQyxtQkFBYUosT0FBT0ssT0FBUCxDQUFlQyxNQUZ2QjtBQUdMWixZQUFNTSxPQUFPTztBQUhSLEtBQVA7QUFLRDs7QUFFRGhDLGVBQW1CO0FBQ2pCLFNBQUt2QixHQUFMLENBQVN3RCxvQkFBVCxDQUE4QixFQUFFakIsY0FBYyxFQUFFSixLQUFLLEtBQUtDLFlBQUwsRUFBUCxFQUFoQixFQUE5QjtBQUNEOztBQUVEZCxZQUFnQjtBQUNkLFNBQUt0QixHQUFMLENBQVN5RCxtQkFBVCxDQUE2QixFQUFFbEIsY0FBYyxFQUFFSixLQUFLLEtBQUtDLFlBQUwsRUFBUCxFQUFoQixFQUE3QjtBQUNBLFNBQUtwQyxHQUFMLENBQVMwRCxxQkFBVCxDQUErQixFQUFFQyxTQUFTLENBQUUsRUFBRXhCLEtBQUssS0FBS0MsWUFBTCxFQUFQLEVBQTRCd0IsTUFBTSwrQkFBZUMsT0FBakQsRUFBRixDQUFYLEVBQS9CO0FBQ0Q7O0FBRUR6QixpQkFBdUI7QUFDckIsV0FBTyxrQkFBUTBCLFNBQVIsQ0FBa0IsS0FBSzVDLE9BQUwsQ0FBYTZDLE1BQWIsTUFBeUIsRUFBM0MsQ0FBUDtBQUNEO0FBL0Z5QixDIiwiZmlsZSI6ImRvY3VtZW50LXN5bmMtYWRhcHRlci5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5cbmltcG9ydCB7TGFuZ3VhZ2VDbGllbnRDb25uZWN0aW9uLCBGaWxlQ2hhbmdlVHlwZSwgVGV4dERvY3VtZW50U3luY0tpbmR9IGZyb20gJy4uL2xhbmd1YWdlY2xpZW50JztcbmltcG9ydCB0eXBlIHtUZXh0RG9jdW1lbnRDb250ZW50Q2hhbmdlRXZlbnQsIFZlcnNpb25lZFRleHREb2N1bWVudElkZW50aWZpZXJ9IGZyb20gJy4uL2xhbmd1YWdlY2xpZW50JztcbmltcG9ydCBDb252ZXJ0IGZyb20gJy4uL2NvbnZlcnQnO1xuaW1wb3J0IHtDb21wb3NpdGVEaXNwb3NhYmxlfSBmcm9tICdhdG9tJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRG9jdW1lbnRTeW5jQWRhcHRlciB7XG4gIF9kaXNwb3NhYmxlID0gbmV3IENvbXBvc2l0ZURpc3Bvc2FibGUoKTtcbiAgX2RvY3VtZW50U3luY0tpbmQ6IG51bWJlcjtcbiAgX2VkaXRvcnM6IFdlYWtNYXA8YXRvbSRUZXh0RWRpdG9yLCBUZXh0RWRpdG9yU3luY0FkYXB0ZXI+ID0gbmV3IFdlYWtNYXAoKTtcbiAgX2xjOiBMYW5ndWFnZUNsaWVudENvbm5lY3Rpb247XG5cbiAgY29uc3RydWN0b3IobGFuZ3VhZ2VDbGllbnQ6IExhbmd1YWdlQ2xpZW50Q29ubmVjdGlvbiwgZG9jdW1lbnRTeW5jS2luZDogbnVtYmVyKSB7XG4gICAgdGhpcy5fbGMgPSBsYW5ndWFnZUNsaWVudDtcbiAgICB0aGlzLl9kb2N1bWVudFN5bmNLaW5kID0gZG9jdW1lbnRTeW5jS2luZDtcbiAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChhdG9tLnRleHRFZGl0b3JzLm9ic2VydmUodGhpcy5vYnNlcnZlVGV4dEVkaXRvcnMuYmluZCh0aGlzKSkpO1xuICB9XG5cbiAgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgfVxuXG4gIG9ic2VydmVUZXh0RWRpdG9ycyhlZGl0b3I6IGF0b20kVGV4dEVkaXRvcik6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZWRpdG9ycy5oYXMoZWRpdG9yKSkge1xuICAgICAgY29uc3Qgc3luYyA9IG5ldyBUZXh0RWRpdG9yU3luY0FkYXB0ZXIoZWRpdG9yLCB0aGlzLl9sYywgdGhpcy5fZG9jdW1lbnRTeW5jS2luZCk7XG4gICAgICB0aGlzLl9lZGl0b3JzLnNldChlZGl0b3IsIHN5bmMpO1xuICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoc3luYyk7XG4gICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChlZGl0b3Iub25EaWREZXN0cm95KCgpID0+IHtcbiAgICAgICAgdGhpcy5fZWRpdG9ycy5kZWxldGUoZWRpdG9yKTtcbiAgICAgICAgdGhpcy5fZGlzcG9zYWJsZS5yZW1vdmUoc3luYyk7XG4gICAgICAgIHN5bmMuZGlzcG9zZSgpO1xuICAgICAgfSkpO1xuICAgIH1cbiAgfVxufVxuXG5jbGFzcyBUZXh0RWRpdG9yU3luY0FkYXB0ZXIge1xuICBfZGlzcG9zYWJsZSA9IG5ldyBDb21wb3NpdGVEaXNwb3NhYmxlKCk7XG4gIF9lZGl0b3I6IGF0b20kVGV4dEVkaXRvcjtcbiAgX2xjOiBMYW5ndWFnZUNsaWVudENvbm5lY3Rpb247XG4gIF92ZXJzaW9uID0gMTtcblxuICBjb25zdHJ1Y3RvcihlZGl0b3I6IGF0b20kVGV4dEVkaXRvciwgbGFuZ3VhZ2VDbGllbnQ6IExhbmd1YWdlQ2xpZW50Q29ubmVjdGlvbiwgZG9jdW1lbnRTeW5jS2luZDogbnVtYmVyKSB7XG4gICAgdGhpcy5fZWRpdG9yID0gZWRpdG9yO1xuICAgIHRoaXMuX2xjID0gbGFuZ3VhZ2VDbGllbnQ7XG5cbiAgICBjb25zdCBjaGFuZ2VUcmFja2luZyA9IHRoaXMuc2V0dXBDaGFuZ2VUcmFja2luZyhkb2N1bWVudFN5bmNLaW5kKTtcbiAgICBpZiAoY2hhbmdlVHJhY2tpbmcgIT0gbnVsbCkge1xuICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQoY2hhbmdlVHJhY2tpbmcpO1xuICAgIH1cblxuICAgIHRoaXMuX2Rpc3Bvc2FibGUuYWRkKFxuICAgICAgZWRpdG9yLm9uRGlkU2F2ZSh0aGlzLmRpZFNhdmUuYmluZCh0aGlzKSksXG4gICAgICBlZGl0b3Iub25EaWREZXN0cm95KHRoaXMuZGlkRGVzdHJveS5iaW5kKHRoaXMpKSxcbiAgICApO1xuXG4gICAgdGhpcy5kaWRPcGVuKCk7XG4gIH1cblxuICBzZXR1cENoYW5nZVRyYWNraW5nKGRvY3VtZW50U3luY0tpbmQ6IG51bWJlcik6ID9JRGlzcG9zYWJsZSB7XG4gICAgc3dpdGNoIChkb2N1bWVudFN5bmNLaW5kKSB7XG4gICAgICBjYXNlIFRleHREb2N1bWVudFN5bmNLaW5kLkZ1bGw6XG4gICAgICAgIHJldHVybiB0aGlzLl9lZGl0b3Iub25EaWRDaGFuZ2UodGhpcy5lZGl0b3JDaGFuZ2VTZW5kRnVsbC5iaW5kKHRoaXMpKTtcbiAgICAgIGNhc2UgVGV4dERvY3VtZW50U3luY0tpbmQuSW5jcmVtZW50YWw6XG4gICAgICAgIC8vIFRPRE86IFN3aXRjaCB0byBvbkRpZENoYW5nZVRleHQgd2hlbiB0aGUgQVBJIGluY2x1ZGVzIG9sZFRleHQuXG4gICAgICAgIHJldHVybiB0aGlzLl9lZGl0b3IuZ2V0QnVmZmVyKCkub25EaWRDaGFuZ2UodGhpcy5idWZmZXJDaGFuZ2VTZW5kSW5jcmVtZW50LmJpbmQodGhpcykpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcG9zYWJsZS5kaXNwb3NlKCk7XG4gIH1cblxuICBnZXRMYW5ndWFnZUlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvci5nZXRHcmFtbWFyKCkubmFtZTtcbiAgfVxuXG4gIGdldFZlcnNpb25lZFRleHREb2N1bWVudElkZW50aWZpZXIoKTogVmVyc2lvbmVkVGV4dERvY3VtZW50SWRlbnRpZmllciB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHVyaTogdGhpcy5nZXRFZGl0b3JVcmkoKSxcbiAgICAgIHZlcnNpb246IHRoaXMuX3ZlcnNpb25cbiAgICB9O1xuICB9XG5cbiAgZGlkT3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9sYy5kaWRPcGVuVGV4dERvY3VtZW50KHtcbiAgICAgIHRleHREb2N1bWVudDoge1xuICAgICAgICB1cmk6IHRoaXMuZ2V0RWRpdG9yVXJpKCksXG4gICAgICAgIGxhbmd1YWdlSWQ6IHRoaXMuZ2V0TGFuZ3VhZ2VJZCgpLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIHZlcnNpb246IHRoaXMuX3ZlcnNpb24sXG4gICAgICAgIHRleHQ6IHRoaXMuX2VkaXRvci5nZXRUZXh0KClcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGVkaXRvckNoYW5nZVNlbmRGdWxsKCk6IHZvaWQge1xuICAgIHRoaXMuX3ZlcnNpb24rKztcbiAgICB0aGlzLl9sYy5kaWRDaGFuZ2VUZXh0RG9jdW1lbnQoe1xuICAgICAgdGV4dERvY3VtZW50OiB0aGlzLmdldFZlcnNpb25lZFRleHREb2N1bWVudElkZW50aWZpZXIoKSxcbiAgICAgIGNvbnRlbnRDaGFuZ2VzOiBbIHsgdGV4dDogdGhpcy5fZWRpdG9yLmdldFRleHQoKSB9IF1cbiAgICB9KTtcbiAgfVxuXG4gIGJ1ZmZlckNoYW5nZVNlbmRJbmNyZW1lbnQoZXZlbnQ6IGF0b20kVGV4dEVkaXRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuX3ZlcnNpb24rKztcbiAgICB0aGlzLl9sYy5kaWRDaGFuZ2VUZXh0RG9jdW1lbnQoe1xuICAgICAgdGV4dERvY3VtZW50OiB0aGlzLmdldFZlcnNpb25lZFRleHREb2N1bWVudElkZW50aWZpZXIoKSxcbiAgICAgIGNvbnRlbnRDaGFuZ2VzOiBbVGV4dEVkaXRvclN5bmNBZGFwdGVyLnRleHRFZGl0VG9Db250ZW50Q2hhbmdlKGV2ZW50KV0sXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgdGV4dEVkaXRUb0NvbnRlbnRDaGFuZ2UoY2hhbmdlOiBhdG9tJFRleHRFZGl0RXZlbnQpOiBUZXh0RG9jdW1lbnRDb250ZW50Q2hhbmdlRXZlbnQge1xuICAgIHJldHVybiB7XG4gICAgICByYW5nZTogQ29udmVydC5hdG9tUmFuZ2VUb0xTUmFuZ2UoY2hhbmdlLm9sZFJhbmdlKSxcbiAgICAgIHJhbmdlTGVuZ3RoOiBjaGFuZ2Uub2xkVGV4dC5sZW5ndGgsXG4gICAgICB0ZXh0OiBjaGFuZ2UubmV3VGV4dFxuICAgIH07XG4gIH1cblxuICBkaWREZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2xjLmRpZENsb3NlVGV4dERvY3VtZW50KHsgdGV4dERvY3VtZW50OiB7IHVyaTogdGhpcy5nZXRFZGl0b3JVcmkoKSB9IH0pO1xuICB9XG5cbiAgZGlkU2F2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9sYy5kaWRTYXZlVGV4dERvY3VtZW50KHsgdGV4dERvY3VtZW50OiB7IHVyaTogdGhpcy5nZXRFZGl0b3JVcmkoKSB9IH0pO1xuICAgIHRoaXMuX2xjLmRpZENoYW5nZVdhdGNoZWRGaWxlcyh7IGNoYW5nZXM6IFsgeyB1cmk6IHRoaXMuZ2V0RWRpdG9yVXJpKCksIHR5cGU6IEZpbGVDaGFuZ2VUeXBlLkNoYW5nZWQgfSBdfSk7XG4gIH1cblxuICBnZXRFZGl0b3JVcmkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gQ29udmVydC5wYXRoVG9VcmkodGhpcy5fZWRpdG9yLmdldFVSSSgpIHx8ICcnKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/build/auto-languageclient.js b/build/auto-languageclient.js index f6f6e86..a951cf5 100644 --- a/build/auto-languageclient.js +++ b/build/auto-languageclient.js @@ -117,6 +117,7 @@ let AutoLanguageClient = class AutoLanguageClient { _this._lc.onLogMessage(function (m) { return _this.logger.log(['Log', m]); }); + _this.preInitialization(); const initializeResponse = yield _this._lc.initialize(_this.getInitializeParams()); _this.adaptCapabilities(initializeResponse.capabilities); @@ -167,6 +168,8 @@ let AutoLanguageClient = class AutoLanguageClient { } } + preInitialization() {} + postInitialization(InitializationResult) {} // Atom Autocomplete+ via LS completion @@ -263,4 +266,4 @@ let AutoLanguageClient = class AutoLanguageClient { }; exports.default = AutoLanguageClient; module.exports = exports['default']; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9hdXRvLWxhbmd1YWdlY2xpZW50LmpzIl0sIm5hbWVzIjpbImNwIiwibHMiLCJycGMiLCJBdXRvTGFuZ3VhZ2VDbGllbnQiLCJfZGlzcG9zYWJsZSIsImdldEdyYW1tYXJTY29wZXMiLCJnZXRMYW5ndWFnZU5hbWUiLCJnZXRTZXJ2ZXJOYW1lIiwiYWN0aXZhdGUiLCJuYW1lIiwibG9nZ2VyIiwiYXRvbSIsImNvbmZpZyIsImdldCIsInN0YXJ0U2VydmVyIiwiZGVhY3RpdmF0ZSIsImRpc3Bvc2UiLCJfbGMiLCJzaHV0ZG93biIsIl9wcm9jZXNzIiwia2lsbCIsInN0YXJ0U2VydmVyUHJvY2VzcyIsImNvbm5lY3Rpb24iLCJjcmVhdGVNZXNzYWdlQ29ubmVjdGlvbiIsIlN0cmVhbU1lc3NhZ2VSZWFkZXIiLCJzdGRvdXQiLCJTdHJlYW1NZXNzYWdlV3JpdGVyIiwic3RkaW4iLCJlcnJvciIsIm0iLCJMYW5ndWFnZUNsaWVudENvbm5lY3Rpb24iLCJvbkxvZ01lc3NhZ2UiLCJsb2ciLCJpbml0aWFsaXplUmVzcG9uc2UiLCJpbml0aWFsaXplIiwiZ2V0SW5pdGlhbGl6ZVBhcmFtcyIsImFkYXB0Q2FwYWJpbGl0aWVzIiwiY2FwYWJpbGl0aWVzIiwicG9zdEluaXRpYWxpemF0aW9uIiwiZ2V0UHJvamVjdFJvb3QiLCJyb290RGlycyIsInByb2plY3QiLCJnZXREaXJlY3RvcmllcyIsImxlbmd0aCIsInBhdGgiLCJwcm9jZXNzSWQiLCJwcm9jZXNzIiwicGlkIiwicm9vdFBhdGgiLCJsaW50ZXIiLCJjb21wbGV0aW9uUHJvdmlkZXIiLCJhdXRvQ29tcGxldGUiLCJkZWZpbml0aW9uUHJvdmlkZXIiLCJkZWZpbml0aW9ucyIsImh5cGVyY2xpY2siLCJkb2N1bWVudFN5bWJvbFByb3ZpZGVyIiwib3V0bGluZVZpZXciLCJyZWZlcmVuY2VzUHJvdmlkZXIiLCJmaW5kUmVmZXJlbmNlcyIsInRleHREb2N1bWVudFN5bmMiLCJhZGQiLCJkb2N1bWVudFJhbmdlRm9ybWF0dGluZ1Byb3ZpZGVyIiwiZG9jdW1lbnRGb3JtYXR0aW5nUHJvdmlkZXIiLCJJbml0aWFsaXphdGlvblJlc3VsdCIsInByb3ZpZGVBdXRvY29tcGxldGUiLCJzZWxlY3RvciIsImV4Y2x1ZGVMb3dlclByaW9yaXR5IiwiZ2V0U3VnZ2VzdGlvbnMiLCJiaW5kIiwicmVxdWVzdCIsIlByb21pc2UiLCJyZXNvbHZlIiwicHJvdmlkZURlZmluaXRpb25zIiwicHJpb3JpdHkiLCJncmFtbWFyU2NvcGVzIiwiZ2V0RGVmaW5pdGlvbiIsImdldERlZmluaXRpb25CeUlkIiwiZWRpdG9yIiwicG9pbnQiLCJmaWxlbmFtZSIsImlkIiwicHJvdmlkZU91dGxpbmVzIiwiZ2V0T3V0bGluZSIsInByb3ZpZGVMaW50ZXIiLCJzY29wZSIsImxpbnRPbkZseSIsImxpbnQiLCJnZXRMaW50aW5nIiwicHJvdmlkZURpYWdub3N0aWNzIiwicHJvdmlkZUZpbmRSZWZlcmVuY2VzIiwiaXNFZGl0b3JTdXBwb3J0ZWQiLCJpbmNsdWRlcyIsImdldEdyYW1tYXIiLCJzY29wZU5hbWUiLCJnZXRSZWZlcmVuY2VzIiwicHJvdmlkZUh5cGVyY2xpY2siLCJwcm92aWRlck5hbWUiLCJnZXRTdWdnZXN0aW9uIiwiZ2V0SHlwZXJjbGlja1N1Z2dlc3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUE7O0lBQVlBLEU7O0FBQ1o7O0lBQVlDLEU7O0FBQ1o7O0lBQVlDLEc7O0FBRVo7Ozs7QUFDQTs7OztBQUVBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUVBOzs7Ozs7OztJQUVxQkMsa0IsR0FBTixNQUFNQSxrQkFBTixDQUF5QjtBQUFBO0FBQUEsU0FDdENDLFdBRHNDLEdBQ3hCLCtCQUR3QjtBQUFBOztBQWdCdENDLHFCQUFrQztBQUFFLFVBQU0sbUVBQU47QUFBMkU7QUFDL0dDLG9CQUEwQjtBQUFFLFVBQU0sa0VBQU47QUFBMEU7QUFDdEdD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RSxrQiIsImZpbGUiOiJhdXRvLWxhbmd1YWdlY2xpZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcclxuXHJcbmltcG9ydCAqIGFzIGNwIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xyXG5pbXBvcnQgKiBhcyBscyBmcm9tICcuL2xhbmd1YWdlY2xpZW50JztcclxuaW1wb3J0ICogYXMgcnBjIGZyb20gJ3ZzY29kZS1qc29ucnBjJztcclxuXHJcbmltcG9ydCBDb25zb2xlTG9nZ2VyIGZyb20gJy4vbG9nZ2Vycy9jb25zb2xlLWxvZ2dlcic7XHJcbmltcG9ydCBOdWxsTG9nZ2VyIGZyb20gJy4vbG9nZ2Vycy9udWxsLWxvZ2dlcic7XHJcblxyXG5pbXBvcnQgQXV0b2NvbXBsZXRlQWRhcHRlciBmcm9tICcuL2FkYXB0ZXJzL2F1dG9jb21wbGV0ZS1hZGFwdGVyJztcclxuaW1wb3J0IERvY3VtZW50U3luY0FkYXB0ZXIgZnJvbSAnLi9hZGFwdGVycy9kb2N1bWVudC1zeW5jLWFkYXB0ZXInO1xyXG5pbXBvcnQgRm9ybWF0Q29kZUFkYXB0ZXIgZnJvbSAnLi9hZGFwdGVycy9mb3JtYXQtY29kZS1hZGFwdGVyJztcclxuaW1wb3J0IExpbnRlckFkYXB0ZXIgZnJvbSAnLi9hZGFwdGVycy9saW50ZXItYWRhcHRlcic7XHJcbmltcG9ydCBOb3RpZmljYXRpb25zQWRhcHRlciBmcm9tICcuL2FkYXB0ZXJzL25vdGlmaWNhdGlvbnMtYWRhcHRlcic7XHJcbmltcG9ydCBOdWNsaWRlRGVmaW5pdGlvbkFkYXB0ZXIgZnJvbSAnLi9hZGFwdGVycy9udWNsaWRlLWRlZmluaXRpb24tYWRhcHRlcic7XHJcbmltcG9ydCBOdWNsaWRlRmluZFJlZmVyZW5jZXNBZGFwdGVyIGZyb20gJy4vYWRhcHRlcnMvbnVjbGlkZS1maW5kLXJlZmVyZW5jZXMtYWRhcHRlcic7XHJcbmltcG9ydCBOdWNsaWRlSHlwZXJjbGlja0FkYXB0ZXIgZnJvbSAnLi9hZGFwdGVycy9udWNsaWRlLWh5cGVyY2xpY2stYWRhcHRlcic7XHJcbmltcG9ydCBOdWNsaWRlT3V0bGluZVZpZXdBZGFwdGVyIGZyb20gJy4vYWRhcHRlcnMvbnVjbGlkZS1vdXRsaW5lLXZpZXctYWRhcHRlcic7XHJcblxyXG5pbXBvcnQge0NvbXBvc2l0ZURpc3Bvc2FibGV9IGZyb20gJ2F0b20nO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXV0b0xhbmd1YWdlQ2xpZW50IHtcclxuICBfZGlzcG9zYWJsZSA9IG5ldyBDb21wb3NpdGVEaXNwb3NhYmxlKCk7XHJcbiAgX3Byb2Nlc3M6ID9jaGlsZF9wcm9jZXNzJENoaWxkUHJvY2VzcztcclxuICBfbGM6IGxzLkxhbmd1YWdlQ2xpZW50Q29ubmVjdGlvbjtcclxuXHJcbiAgYXV0b0NvbXBsZXRlOiA/QXV0b2NvbXBsZXRlQWRhcHRlcjtcclxuICBsaW50ZXI6ID9MaW50ZXJBZGFwdGVyO1xyXG5cclxuICBkZWZpbml0aW9uczogP051Y2xpZGVEZWZpbml0aW9uQWRhcHRlcjtcclxuICBmaW5kUmVmZXJlbmNlczogP051Y2xpZGVGaW5kUmVmZXJlbmNlc0FkYXB0ZXI7XHJcbiAgaHlwZXJjbGljazogP051Y2xpZGVIeXBlcmNsaWNrQWRhcHRlcjtcclxuICBvdXRsaW5lVmlldzogP051Y2xpZGVPdXRsaW5lVmlld0FkYXB0ZXI7XHJcblxyXG4gIGxvZ2dlcjogQ29uc29sZUxvZ2dlciB8IE51bGxMb2dnZXI7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG5cclxuICBnZXRHcmFtbWFyU2NvcGVzKCk6IEFycmF5PHN0cmluZz4geyB0aHJvdyBcIk11c3QgaW1wbGVtZW50IGdldEdyYW1tYXJTY29wZXMgd2hlbiBleHRlbmRpbmcgQXV0b0xhbmd1YWdlQ2xpZW50XCIgfTtcclxuICBnZXRMYW5ndWFnZU5hbWUoKTogc3RyaW5nIHsgdGhyb3cgXCJNdXN0IGltcGxlbWVudCBnZXRMYW5ndWFnZU5hbWUgd2hlbiBleHRlbmRpbmcgQXV0b0xhbmd1YWdlQ2xpZW50XCIgfTtcclxuICBnZXRTZXJ2ZXJOYW1lKCk6IHN0cmluZyB7IHRocm93IFwiTXVzdCBpbXBsZW1lbnQgZ2V0U2VydmVyTmFtZSB3aGVuIGV4dGVuZGluZyBBdXRvTGFuZ3VhZ2VDbGllbnRcIiB9O1xyXG5cclxuICBhY3RpdmF0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubmFtZSA9IGAke3RoaXMuZ2V0TGFuZ3VhZ2VOYW1lKCl9ICgke3RoaXMuZ2V0U2VydmVyTmFtZSgpfSlgO1xyXG4gICAgdGhpcy5sb2dnZXIgPSBhdG9tLmNvbmZpZy5nZXQoJ2NvcmUuZGVidWdMU1AnKSA/IG5ldyBDb25zb2xlTG9nZ2VyKHRoaXMubmFtZSkgOiBuZXcgTnVsbExvZ2dlcigpO1xyXG4gICAgdGhpcy5zdGFydFNlcnZlcigpO1xyXG4gIH1cclxuXHJcbiAgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rpc3Bvc2FibGUuZGlzcG9zZSgpO1xyXG5cclxuICAgIGlmICh0aGlzLl9sYykge1xyXG4gICAgICB0aGlzLl9sYy5zaHV0ZG93bigpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9wcm9jZXNzICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5fcHJvY2Vzcy5raWxsKCk7XHJcbiAgICAgIHRoaXMuX3Byb2Nlc3MgPSBudWxsO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHN0YXJ0U2VydmVyKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuX3Byb2Nlc3MgIT0gbnVsbCkgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuX3Byb2Nlc3MgPSBhd2FpdCB0aGlzLnN0YXJ0U2VydmVyUHJvY2VzcygpO1xyXG5cclxuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBycGMuY3JlYXRlTWVzc2FnZUNvbm5lY3Rpb24oXHJcbiAgICAgIG5ldyBycGMuU3RyZWFtTWVzc2FnZVJlYWRlcih0aGlzLl9wcm9jZXNzLnN0ZG91dCksXHJcbiAgICAgIG5ldyBycGMuU3RyZWFtTWVzc2FnZVdyaXRlcih0aGlzLl9wcm9jZXNzLnN0ZGluKSxcclxuICAgICAgeyBlcnJvcjogKG06IE9iamVjdCkgPT4geyB0aGlzLmxvZ2dlci5lcnJvcihtKTsgfSB9KTtcclxuXHJcbiAgICB0aGlzLl9sYyA9IG5ldyBscy5MYW5ndWFnZUNsaWVudENvbm5lY3Rpb24oY29ubmVjdGlvbiwgdGhpcy5sb2dnZXIpO1xyXG4gICAgdGhpcy5fbGMub25Mb2dNZXNzYWdlKG0gPT4gdGhpcy5sb2dnZXIubG9nKFsnTG9nJywgbV0pKTtcclxuXHJcbiAgICBjb25zdCBpbml0aWFsaXplUmVzcG9uc2UgPSBhd2FpdCB0aGlzLl9sYy5pbml0aWFsaXplKHRoaXMuZ2V0SW5pdGlhbGl6ZVBhcmFtcygpKTtcclxuICAgIHRoaXMuYWRhcHRDYXBhYmlsaXRpZXMoaW5pdGlhbGl6ZVJlc3BvbnNlLmNhcGFiaWxpdGllcyk7XHJcbiAgICB0aGlzLnBvc3RJbml0aWFsaXphdGlvbihpbml0aWFsaXplUmVzcG9uc2UpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnRTZXJ2ZXJQcm9jZXNzKCk6IGNoaWxkX3Byb2Nlc3MkQ2hpbGRQcm9jZXNzIHtcclxuICAgIHRocm93IFwiTXVzdCBvdmVycmlkZSBzdGFydFNlcnZlclByb2Nlc3MgdG8gc3RhcnQgdGhlIGxhbmd1YWdlIHNlcnZlciBwcm9jZXNzIHdoZW4gZXh0ZW5kaW5nIEF1dG9MYW5ndWFnZUNsaWVudFwiO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvamVjdFJvb3QoKTogP3N0cmluZyB7XHJcbiAgICBjb25zdCByb290RGlyczogQXJyYXk8YW55PiA9IGF0b20ucHJvamVjdC5nZXREaXJlY3RvcmllcygpO1xyXG4gICAgcmV0dXJuIHJvb3REaXJzLmxlbmd0aCA+IDAgPyByb290RGlyc1swXS5wYXRoIDogbnVsbFxyXG4gIH1cclxuXHJcbiAgZ2V0SW5pdGlhbGl6ZVBhcmFtcygpOiBscy5Jbml0aWFsaXplUGFyYW1zIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHByb2Nlc3NJZDogcHJvY2Vzcy5waWQsXHJcbiAgICAgIGNhcGFiaWxpdGllczogeyB9LFxyXG4gICAgICByb290UGF0aDogdGhpcy5nZXRQcm9qZWN0Um9vdCgpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgYWRhcHRDYXBhYmlsaXRpZXMoY2FwYWJpbGl0aWVzOiBscy5TZXJ2ZXJDYXBhYmlsaXRpZXMpOiB2b2lkIHtcclxuICAgIHRoaXMubGludGVyID0gbmV3IExpbnRlckFkYXB0ZXIodGhpcy5fbGMpO1xyXG4gICAgaWYgKGNhcGFiaWxpdGllcy5jb21wbGV0aW9uUHJvdmlkZXIpIHtcclxuICAgICAgdGhpcy5hdXRvQ29tcGxldGUgPSBuZXcgQXV0b2NvbXBsZXRlQWRhcHRlcih0aGlzLl9sYyk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRlZmluaXRpb25Qcm92aWRlcikge1xyXG4gICAgICB0aGlzLmRlZmluaXRpb25zID0gbmV3IE51Y2xpZGVEZWZpbml0aW9uQWRhcHRlcih0aGlzLl9sYyk7XHJcbiAgICAgIHRoaXMuaHlwZXJjbGljayA9IG5ldyBOdWNsaWRlSHlwZXJjbGlja0FkYXB0ZXIodGhpcy5fbGMpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNhcGFiaWxpdGllcy5kb2N1bWVudFN5bWJvbFByb3ZpZGVyKSB7XHJcbiAgICAgIHRoaXMub3V0bGluZVZpZXcgPSBuZXcgTnVjbGlkZU91dGxpbmVWaWV3QWRhcHRlcih0aGlzLl9sYywgdGhpcy5uYW1lKTtcclxuICAgIH1cclxuICAgIGlmIChjYXBhYmlsaXRpZXMucmVmZXJlbmNlc1Byb3ZpZGVyKSB7XHJcbiAgICAgIHRoaXMuZmluZFJlZmVyZW5jZXMgPSBuZXcgTnVjbGlkZUZpbmRSZWZlcmVuY2VzQWRhcHRlcih0aGlzLl9sYyk7XHJcbiAgICB9XHJcblxyXG4gICAgbmV3IE5vdGlmaWNhdGlvbnNBZGFwdGVyKHRoaXMuX2xjLCB0aGlzLm5hbWUpO1xyXG5cclxuICAgIGlmIChjYXBhYmlsaXRpZXMudGV4dERvY3VtZW50U3luYykge1xyXG4gICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChuZXcgRG9jdW1lbnRTeW5jQWRhcHRlcih0aGlzLl9sYywgY2FwYWJpbGl0aWVzLnRleHREb2N1bWVudFN5bmMpKTtcclxuICAgIH1cclxuICAgIGlmIChjYXBhYmlsaXRpZXMuZG9jdW1lbnRSYW5nZUZvcm1hdHRpbmdQcm92aWRlciB8fCBjYXBhYmlsaXRpZXMuZG9jdW1lbnRGb3JtYXR0aW5nUHJvdmlkZXIpIHtcclxuICAgICAgdGhpcy5fZGlzcG9zYWJsZS5hZGQobmV3IEZvcm1hdENvZGVBZGFwdGVyKHRoaXMuX2xjLCBjYXBhYmlsaXRpZXMuZG9jdW1lbnRSYW5nZUZvcm1hdHRpbmdQcm92aWRlciA9PT0gdHJ1ZSwgY2FwYWJpbGl0aWVzLmRvY3VtZW50Rm9ybWF0dGluZ1Byb3ZpZGVyID09PSB0cnVlLCB0aGlzLmdldEdyYW1tYXJTY29wZXMoKSkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcG9zdEluaXRpYWxpemF0aW9uKEluaXRpYWxpemF0aW9uUmVzdWx0OiBscy5Jbml0aWFsaXplUmVzdWx0KTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICAvLyBBdG9tIEF1dG9jb21wbGV0ZSsgdmlhIExTIGNvbXBsZXRpb25cclxuXHJcbiAgcHJvdmlkZUF1dG9jb21wbGV0ZSgpOiBhdG9tJEF1dG9jb21wbGV0ZVByb3ZpZGVyIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHNlbGVjdG9yOiAnLnNvdXJjZScsXHJcbiAgICAgIGV4Y2x1ZGVMb3dlclByaW9yaXR5OiBmYWxzZSxcclxuICAgICAgZ2V0U3VnZ2VzdGlvbnM6IHRoaXMuZ2V0U3VnZ2VzdGlvbnMuYmluZCh0aGlzKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldFN1Z2dlc3Rpb25zKHJlcXVlc3Q6IGFueSk6IFByb21pc2U8QXJyYXk8YXRvbSRBdXRvY29tcGxldGVTdWdnZXN0aW9uPj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYXV0b0NvbXBsZXRlICE9IG51bGwgPyB0aGlzLmF1dG9Db21wbGV0ZS5nZXRTdWdnZXN0aW9ucyhyZXF1ZXN0KSA6IFByb21pc2UucmVzb2x2ZShbXSk7XHJcbiAgfVxyXG5cclxuICAvLyBOdWNsaWRlIERlZmluaXRpb25zIHZpYSBMUyBkb2N1bWVudEhpZ2hsaWdodCBhbmQgZ290b0RlZmluaXRpb25cclxuXHJcbiAgcHJvdmlkZURlZmluaXRpb25zKCk6IG51Y2xpZGUkRGVmaW5pdGlvblByb3ZpZGVyIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgcHJpb3JpdHk6IDIwLFxyXG4gICAgICBncmFtbWFyU2NvcGVzOiB0aGlzLmdldEdyYW1tYXJTY29wZXMoKSxcclxuICAgICAgZ2V0RGVmaW5pdGlvbjogdGhpcy5nZXREZWZpbml0aW9uLmJpbmQodGhpcyksXHJcbiAgICAgIGdldERlZmluaXRpb25CeUlkOiB0aGlzLmdldERlZmluaXRpb25CeUlkLmJpbmQodGhpcylcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldERlZmluaXRpb24oZWRpdG9yOiBUZXh0RWRpdG9yLCBwb2ludDogYXRvbSRQb2ludCk6IFByb21pc2U8P251Y2xpZGUkRGVmaW5pdGlvblF1ZXJ5UmVzdWx0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5kZWZpbml0aW9ucyAhPSBudWxsID8gdGhpcy5kZWZpbml0aW9ucy5nZXREZWZpbml0aW9uKGVkaXRvciwgcG9pbnQpIDogUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVmaW5pdGlvbkJ5SWQoZmlsZW5hbWU6IE51Y2xpZGVVcmksIGlkOiBzdHJpbmcpOiBQcm9taXNlPD9udWNsaWRlJERlZmluaXRpb24+IHtcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7IC8vIFRPRE86IElzIHRoaXMgbmVlZGVkP1xyXG4gIH1cclxuXHJcbiAgLy8gTnVjbGlkZSBPdXRsaW5lIFZpZXcgdmlhIExTIGRvY3VtZW50U3ltYm9sXHJcblxyXG4gIHByb3ZpZGVPdXRsaW5lcygpOiBudWNsaWRlJE91dGxpbmVQcm92aWRlciB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXHJcbiAgICAgIGdyYW1tYXJTY29wZXM6IHRoaXMuZ2V0R3JhbW1hclNjb3BlcygpLFxyXG4gICAgICBwcmlvcml0eTogMSxcclxuICAgICAgZ2V0T3V0bGluZTogdGhpcy5nZXRPdXRsaW5lLmJpbmQodGhpcylcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBnZXRPdXRsaW5lKGVkaXRvcjogYXRvbSRUZXh0RWRpdG9yKTogUHJvbWlzZTw/bnVjbGlkZSRPdXRsaW5lPiB7XHJcbiAgICByZXR1cm4gdGhpcy5vdXRsaW5lVmlldyAhPSBudWxsID8gdGhpcy5vdXRsaW5lVmlldy5nZXRPdXRsaW5lKGVkaXRvcikgOiBQcm9taXNlLnJlc29sdmUobnVsbCk7XHJcbiAgfVxyXG5cclxuICAvLyBMaW50ZXIgQVBJIHZpYSBMUyBwdWJsaXNoRGlhZ25vc3RpY3NcclxuXHJcbiAgcHJvdmlkZUxpbnRlcigpOiBsaW50ZXIkU3RhbmRhcmRMaW50ZXIge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgbmFtZTogdGhpcy5uYW1lLFxyXG4gICAgICBncmFtbWFyU2NvcGVzOiB0aGlzLmdldEdyYW1tYXJTY29wZXMoKSxcclxuICAgICAgc2NvcGU6ICdwcm9qZWN0JyxcclxuICAgICAgbGludE9uRmx5OiB0cnVlLFxyXG4gICAgICBsaW50OiB0aGlzLmdldExpbnRpbmcuYmluZCh0aGlzKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldExpbnRpbmcoZWRpdG9yOiBhdG9tJFRleHRFZGl0b3IpOiA/QXJyYXk8bGludGVyJE1lc3NhZ2U+IHwgUHJvbWlzZTw/QXJyYXk8bGludGVyJE1lc3NhZ2U+PiB7XHJcbiAgICByZXR1cm4gdGhpcy5saW50ZXIgIT0gbnVsbCA/IHRoaXMubGludGVyLnByb3ZpZGVEaWFnbm9zdGljcygpIDogUHJvbWlzZS5yZXNvbHZlKFtdKTtcclxuICB9XHJcblxyXG4gIC8vIE51Y2xpZGUgRmluZCBSZWZlcmVuY2VzIHZpYSBMUyBmaW5kUmVmZXJlbmNlc1xyXG5cclxuICBwcm92aWRlRmluZFJlZmVyZW5jZXMoKTogbnVjbGlkZSRGaW5kUmVmZXJlbmNlc1Byb3ZpZGVyIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlzRWRpdG9yU3VwcG9ydGVkOiAoZWRpdG9yOiBhdG9tJFRleHRFZGl0b3IpID0+IHRoaXMuZ2V0R3JhbW1hclNjb3BlcygpLmluY2x1ZGVzKGVkaXRvci5nZXRHcmFtbWFyKCkuc2NvcGVOYW1lKSxcclxuICAgICAgZmluZFJlZmVyZW5jZXM6IHRoaXMuZ2V0UmVmZXJlbmNlcy5iaW5kKHRoaXMpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRSZWZlcmVuY2VzKGVkaXRvcjogYXRvbSRUZXh0RWRpdG9yLCBwb2ludDogYXRvbSRQb2ludCk6IFByb21pc2U8P251Y2xpZGUkRmluZFJlZmVyZW5jZXNSZXR1cm4+IHtcclxuICAgIHJldHVybiB0aGlzLmZpbmRSZWZlcmVuY2VzICE9IG51bGwgPyB0aGlzLmZpbmRSZWZlcmVuY2VzLmdldFJlZmVyZW5jZXMoZWRpdG9yLCBwb2ludCwgdGhpcy5nZXRQcm9qZWN0Um9vdCgpKSA6IFByb21pc2UucmVzb2x2ZShudWxsKTtcclxuICB9XHJcblxyXG4gIC8vIE51Y2xpZGUgSHlwZXJsaWNrIHZpYSBMUyBnb3RvRGVmaW5pdGlvbiBhbmQgZG9jdW1lbnRIaWdobGlnaHRcclxuXHJcbiAgcHJvdmlkZUh5cGVyY2xpY2soKTogbnVjbGlkZSRIeXBlcmNsaWNrUHJvdmlkZXIge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcHJpb3JpdHk6IDIwLFxyXG4gICAgICBwcm92aWRlck5hbWU6IHRoaXMubmFtZSxcclxuICAgICAgZ2V0U3VnZ2VzdGlvbjogdGhpcy5nZXRIeXBlcmNsaWNrU3VnZ2VzdGlvbi5iaW5kKHRoaXMpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0SHlwZXJjbGlja1N1Z2dlc3Rpb24oZWRpdG9yOiBhdG9tJFRleHRFZGl0b3IsIHBvaW50OiBhdG9tJFBvaW50KTogUHJvbWlzZTw/bnVjbGlkZSRIeXBlcmNsaWNrU3VnZ2VzdGlvbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHlwZXJjbGljayAhPSBudWxsID8gdGhpcy5oeXBlcmNsaWNrLmdldFN1Z2dlc3Rpb24oZWRpdG9yLCBwb2ludCkgOiBQcm9taXNlLnJlc29sdmUobnVsbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9hdXRvLWxhbmd1YWdlY2xpZW50LmpzIl0sIm5hbWVzIjpbImNwIiwibHMiLCJycGMiLCJBdXRvTGFuZ3VhZ2VDbGllbnQiLCJfZGlzcG9zYWJsZSIsImdldEdyYW1tYXJTY29wZXMiLCJnZXRMYW5ndWFnZU5hbWUiLCJnZXRTZXJ2ZXJOYW1lIiwiYWN0aXZhdGUiLCJuYW1lIiwibG9nZ2VyIiwiYXRvbSIsImNvbmZpZyIsImdldCIsInN0YXJ0U2VydmVyIiwiZGVhY3RpdmF0ZSIsImRpc3Bvc2UiLCJfbGMiLCJzaHV0ZG93biIsIl9wcm9jZXNzIiwia2lsbCIsInN0YXJ0U2VydmVyUHJvY2VzcyIsImNvbm5lY3Rpb24iLCJjcmVhdGVNZXNzYWdlQ29ubmVjdGlvbiIsIlN0cmVhbU1lc3NhZ2VSZWFkZXIiLCJzdGRvdXQiLCJTdHJlYW1NZXNzYWdlV3JpdGVyIiwic3RkaW4iLCJlcnJvciIsIm0iLCJMYW5ndWFnZUNsaWVudENvbm5lY3Rpb24iLCJvbkxvZ01lc3NhZ2UiLCJsb2ciLCJwcmVJbml0aWFsaXphdGlvbiIsImluaXRpYWxpemVSZXNwb25zZSIsImluaXRpYWxpemUiLCJnZXRJbml0aWFsaXplUGFyYW1zIiwiYWRhcHRDYXBhYmlsaXRpZXMiLCJjYXBhYmlsaXRpZXMiLCJwb3N0SW5pdGlhbGl6YXRpb24iLCJnZXRQcm9qZWN0Um9vdCIsInJvb3REaXJzIiwicHJvamVjdCIsImdldERpcmVjdG9yaWVzIiwibGVuZ3RoIiwicGF0aCIsInByb2Nlc3NJZCIsInByb2Nlc3MiLCJwaWQiLCJyb290UGF0aCIsImxpbnRlciIsImNvbXBsZXRpb25Qcm92aWRlciIsImF1dG9Db21wbGV0ZSIsImRlZmluaXRpb25Qcm92aWRlciIsImRlZmluaXRpb25zIiwiaHlwZXJjbGljayIsImRvY3VtZW50U3ltYm9sUHJvdmlkZXIiLCJvdXRsaW5lVmlldyIsInJlZmVyZW5jZXNQcm92aWRlciIsImZpbmRSZWZlcmVuY2VzIiwidGV4dERvY3VtZW50U3luYyIsImFkZCIsImRvY3VtZW50UmFuZ2VGb3JtYXR0aW5nUHJvdmlkZXIiLCJkb2N1bWVudEZvcm1hdHRpbmdQcm92aWRlciIsIkluaXRpYWxpemF0aW9uUmVzdWx0IiwicHJvdmlkZUF1dG9jb21wbGV0ZSIsInNlbGVjdG9yIiwiZXhjbHVkZUxvd2VyUHJpb3JpdHkiLCJnZXRTdWdnZXN0aW9ucyIsImJpbmQiLCJyZXF1ZXN0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJwcm92aWRlRGVmaW5pdGlvbnMiLCJwcmlvcml0eSIsImdyYW1tYXJTY29wZXMiLCJnZXREZWZpbml0aW9uIiwiZ2V0RGVmaW5pdGlvbkJ5SWQiLCJlZGl0b3IiLCJwb2ludCIsImZpbGVuYW1lIiwiaWQiLCJwcm92aWRlT3V0bGluZXMiLCJnZXRPdXRsaW5lIiwicHJvdmlkZUxpbnRlciIsInNjb3BlIiwibGludE9uRmx5IiwibGludCIsImdldExpbnRpbmciLCJwcm92aWRlRGlhZ25vc3RpY3MiLCJwcm92aWRlRmluZFJlZmVyZW5jZXMiLCJpc0VkaXRvclN1cHBvcnRlZCIsImluY2x1ZGVzIiwiZ2V0R3JhbW1hciIsInNjb3BlTmFtZSIsImdldFJlZmVyZW5jZXMiLCJwcm92aWRlSHlwZXJjbGljayIsInByb3ZpZGVyTmFtZSIsImdldFN1Z2dlc3Rpb24iLCJnZXRIeXBlcmNsaWNrU3VnZ2VzdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQTs7SUFBWUEsRTs7QUFDWjs7SUFBWUMsRTs7QUFDWjs7SUFBWUMsRzs7QUFFWjs7OztBQUNBOzs7O0FBRUE7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBRUE7Ozs7Ozs7O0lBRXFCQyxrQixHQUFOLE1BQU1BLGtCQUFOLENBQXlCO0FBQUE7QUFBQSxTQUN0Q0MsV0FEc0MsR0FDeEIsK0JBRHdCO0FBQUE7O0FBZ0J0Q0MscUJBQWtDO0FBQUUsVUFBTSxtRUFBTjtBQUEyRTtBQUMvR0Msb0JBQTBCO0FBQUUsVUFB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LEdBQXlFUixRQUFRQyxPQUFSLENBQWdCLElBQWhCLENBQWhGO0FBQ0Q7QUFyTXFDLEM7a0JBQW5CckUsa0IiLCJmaWxlIjoiYXV0by1sYW5ndWFnZWNsaWVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG5cbmltcG9ydCAqIGFzIGNwIGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgbHMgZnJvbSAnLi9sYW5ndWFnZWNsaWVudCc7XG5pbXBvcnQgKiBhcyBycGMgZnJvbSAndnNjb2RlLWpzb25ycGMnO1xuXG5pbXBvcnQgQ29uc29sZUxvZ2dlciBmcm9tICcuL2xvZ2dlcnMvY29uc29sZS1sb2dnZXInO1xuaW1wb3J0IE51bGxMb2dnZXIgZnJvbSAnLi9sb2dnZXJzL251bGwtbG9nZ2VyJztcblxuaW1wb3J0IEF1dG9jb21wbGV0ZUFkYXB0ZXIgZnJvbSAnLi9hZGFwdGVycy9hdXRvY29tcGxldGUtYWRhcHRlcic7XG5pbXBvcnQgRG9jdW1lbnRTeW5jQWRhcHRlciBmcm9tICcuL2FkYXB0ZXJzL2RvY3VtZW50LXN5bmMtYWRhcHRlcic7XG5pbXBvcnQgRm9ybWF0Q29kZUFkYXB0ZXIgZnJvbSAnLi9hZGFwdGVycy9mb3JtYXQtY29kZS1hZGFwdGVyJztcbmltcG9ydCBMaW50ZXJBZGFwdGVyIGZyb20gJy4vYWRhcHRlcnMvbGludGVyLWFkYXB0ZXInO1xuaW1wb3J0IE5vdGlmaWNhdGlvbnNBZGFwdGVyIGZyb20gJy4vYWRhcHRlcnMvbm90aWZpY2F0aW9ucy1hZGFwdGVyJztcbmltcG9ydCBOdWNsaWRlRGVmaW5pdGlvbkFkYXB0ZXIgZnJvbSAnLi9hZGFwdGVycy9udWNsaWRlLWRlZmluaXRpb24tYWRhcHRlcic7XG5pbXBvcnQgTnVjbGlkZUZpbmRSZWZlcmVuY2VzQWRhcHRlciBmcm9tICcuL2FkYXB0ZXJzL251Y2xpZGUtZmluZC1yZWZlcmVuY2VzLWFkYXB0ZXInO1xuaW1wb3J0IE51Y2xpZGVIeXBlcmNsaWNrQWRhcHRlciBmcm9tICcuL2FkYXB0ZXJzL251Y2xpZGUtaHlwZXJjbGljay1hZGFwdGVyJztcbmltcG9ydCBOdWNsaWRlT3V0bGluZVZpZXdBZGFwdGVyIGZyb20gJy4vYWRhcHRlcnMvbnVjbGlkZS1vdXRsaW5lLXZpZXctYWRhcHRlcic7XG5cbmltcG9ydCB7Q29tcG9zaXRlRGlzcG9zYWJsZX0gZnJvbSAnYXRvbSc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF1dG9MYW5ndWFnZUNsaWVudCB7XG4gIF9kaXNwb3NhYmxlID0gbmV3IENvbXBvc2l0ZURpc3Bvc2FibGUoKTtcbiAgX3Byb2Nlc3M6ID9jaGlsZF9wcm9jZXNzJENoaWxkUHJvY2VzcztcbiAgX2xjOiBscy5MYW5ndWFnZUNsaWVudENvbm5lY3Rpb247XG5cbiAgYXV0b0NvbXBsZXRlOiA/QXV0b2NvbXBsZXRlQWRhcHRlcjtcbiAgbGludGVyOiA/TGludGVyQWRhcHRlcjtcblxuICBkZWZpbml0aW9uczogP051Y2xpZGVEZWZpbml0aW9uQWRhcHRlcjtcbiAgZmluZFJlZmVyZW5jZXM6ID9OdWNsaWRlRmluZFJlZmVyZW5jZXNBZGFwdGVyO1xuICBoeXBlcmNsaWNrOiA/TnVjbGlkZUh5cGVyY2xpY2tBZGFwdGVyO1xuICBvdXRsaW5lVmlldzogP051Y2xpZGVPdXRsaW5lVmlld0FkYXB0ZXI7XG5cbiAgbG9nZ2VyOiBDb25zb2xlTG9nZ2VyIHwgTnVsbExvZ2dlcjtcbiAgbmFtZTogc3RyaW5nO1xuXG4gIGdldEdyYW1tYXJTY29wZXMoKTogQXJyYXk8c3RyaW5nPiB7IHRocm93IFwiTXVzdCBpbXBsZW1lbnQgZ2V0R3JhbW1hclNjb3BlcyB3aGVuIGV4dGVuZGluZyBBdXRvTGFuZ3VhZ2VDbGllbnRcIiB9O1xuICBnZXRMYW5ndWFnZU5hbWUoKTogc3RyaW5nIHsgdGhyb3cgXCJNdXN0IGltcGxlbWVudCBnZXRMYW5ndWFnZU5hbWUgd2hlbiBleHRlbmRpbmcgQXV0b0xhbmd1YWdlQ2xpZW50XCIgfTtcbiAgZ2V0U2VydmVyTmFtZSgpOiBzdHJpbmcgeyB0aHJvdyBcIk11c3QgaW1wbGVtZW50IGdldFNlcnZlck5hbWUgd2hlbiBleHRlbmRpbmcgQXV0b0xhbmd1YWdlQ2xpZW50XCIgfTtcblxuICBhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLm5hbWUgPSBgJHt0aGlzLmdldExhbmd1YWdlTmFtZSgpfSAoJHt0aGlzLmdldFNlcnZlck5hbWUoKX0pYDtcbiAgICB0aGlzLmxvZ2dlciA9IGF0b20uY29uZmlnLmdldCgnY29yZS5kZWJ1Z0xTUCcpID8gbmV3IENvbnNvbGVMb2dnZXIodGhpcy5uYW1lKSA6IG5ldyBOdWxsTG9nZ2VyKCk7XG4gICAgdGhpcy5zdGFydFNlcnZlcigpO1xuICB9XG5cbiAgZGVhY3RpdmF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNwb3NhYmxlLmRpc3Bvc2UoKTtcblxuICAgIGlmICh0aGlzLl9sYykge1xuICAgICAgdGhpcy5fbGMuc2h1dGRvd24oKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fcHJvY2VzcyAhPSBudWxsKSB7XG4gICAgICB0aGlzLl9wcm9jZXNzLmtpbGwoKTtcbiAgICAgIHRoaXMuX3Byb2Nlc3MgPSBudWxsO1xuICAgIH07XG4gIH1cblxuICBhc3luYyBzdGFydFNlcnZlcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5fcHJvY2VzcyAhPSBudWxsKSByZXR1cm47XG5cbiAgICB0aGlzLl9wcm9jZXNzID0gYXdhaXQgdGhpcy5zdGFydFNlcnZlclByb2Nlc3MoKTtcblxuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBycGMuY3JlYXRlTWVzc2FnZUNvbm5lY3Rpb24oXG4gICAgICBuZXcgcnBjLlN0cmVhbU1lc3NhZ2VSZWFkZXIodGhpcy5fcHJvY2Vzcy5zdGRvdXQpLFxuICAgICAgbmV3IHJwYy5TdHJlYW1NZXNzYWdlV3JpdGVyKHRoaXMuX3Byb2Nlc3Muc3RkaW4pLFxuICAgICAgeyBlcnJvcjogKG06IE9iamVjdCkgPT4geyB0aGlzLmxvZ2dlci5lcnJvcihtKTsgfSB9KTtcblxuICAgIHRoaXMuX2xjID0gbmV3IGxzLkxhbmd1YWdlQ2xpZW50Q29ubmVjdGlvbihjb25uZWN0aW9uLCB0aGlzLmxvZ2dlcik7XG4gICAgdGhpcy5fbGMub25Mb2dNZXNzYWdlKG0gPT4gdGhpcy5sb2dnZXIubG9nKFsnTG9nJywgbV0pKTtcbiAgICB0aGlzLnByZUluaXRpYWxpemF0aW9uKCk7XG5cbiAgICBjb25zdCBpbml0aWFsaXplUmVzcG9uc2UgPSBhd2FpdCB0aGlzLl9sYy5pbml0aWFsaXplKHRoaXMuZ2V0SW5pdGlhbGl6ZVBhcmFtcygpKTtcbiAgICB0aGlzLmFkYXB0Q2FwYWJpbGl0aWVzKGluaXRpYWxpemVSZXNwb25zZS5jYXBhYmlsaXRpZXMpO1xuICAgIHRoaXMucG9zdEluaXRpYWxpemF0aW9uKGluaXRpYWxpemVSZXNwb25zZSk7XG4gIH1cblxuICBzdGFydFNlcnZlclByb2Nlc3MoKTogY2hpbGRfcHJvY2VzcyRDaGlsZFByb2Nlc3Mge1xuICAgIHRocm93IFwiTXVzdCBvdmVycmlkZSBzdGFydFNlcnZlclByb2Nlc3MgdG8gc3RhcnQgdGhlIGxhbmd1YWdlIHNlcnZlciBwcm9jZXNzIHdoZW4gZXh0ZW5kaW5nIEF1dG9MYW5ndWFnZUNsaWVudFwiO1xuICB9XG5cbiAgZ2V0UHJvamVjdFJvb3QoKTogP3N0cmluZyB7XG4gICAgY29uc3Qgcm9vdERpcnM6IEFycmF5PGFueT4gPSBhdG9tLnByb2plY3QuZ2V0RGlyZWN0b3JpZXMoKTtcbiAgICByZXR1cm4gcm9vdERpcnMubGVuZ3RoID4gMCA/IHJvb3REaXJzWzBdLnBhdGggOiBudWxsXG4gIH1cblxuICBnZXRJbml0aWFsaXplUGFyYW1zKCk6IGxzLkluaXRpYWxpemVQYXJhbXMge1xuICAgIHJldHVybiB7XG4gICAgICBwcm9jZXNzSWQ6IHByb2Nlc3MucGlkLFxuICAgICAgY2FwYWJpbGl0aWVzOiB7IH0sXG4gICAgICByb290UGF0aDogdGhpcy5nZXRQcm9qZWN0Um9vdCgpXG4gICAgfTtcbiAgfVxuXG4gIGFkYXB0Q2FwYWJpbGl0aWVzKGNhcGFiaWxpdGllczogbHMuU2VydmVyQ2FwYWJpbGl0aWVzKTogdm9pZCB7XG4gICAgdGhpcy5saW50ZXIgPSBuZXcgTGludGVyQWRhcHRlcih0aGlzLl9sYyk7XG4gICAgaWYgKGNhcGFiaWxpdGllcy5jb21wbGV0aW9uUHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuYXV0b0NvbXBsZXRlID0gbmV3IEF1dG9jb21wbGV0ZUFkYXB0ZXIodGhpcy5fbGMpO1xuICAgIH1cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRlZmluaXRpb25Qcm92aWRlcikge1xuICAgICAgdGhpcy5kZWZpbml0aW9ucyA9IG5ldyBOdWNsaWRlRGVmaW5pdGlvbkFkYXB0ZXIodGhpcy5fbGMpO1xuICAgICAgdGhpcy5oeXBlcmNsaWNrID0gbmV3IE51Y2xpZGVIeXBlcmNsaWNrQWRhcHRlcih0aGlzLl9sYyk7XG4gICAgfVxuICAgIGlmIChjYXBhYmlsaXRpZXMuZG9jdW1lbnRTeW1ib2xQcm92aWRlcikge1xuICAgICAgdGhpcy5vdXRsaW5lVmlldyA9IG5ldyBOdWNsaWRlT3V0bGluZVZpZXdBZGFwdGVyKHRoaXMuX2xjLCB0aGlzLm5hbWUpO1xuICAgIH1cbiAgICBpZiAoY2FwYWJpbGl0aWVzLnJlZmVyZW5jZXNQcm92aWRlcikge1xuICAgICAgdGhpcy5maW5kUmVmZXJlbmNlcyA9IG5ldyBOdWNsaWRlRmluZFJlZmVyZW5jZXNBZGFwdGVyKHRoaXMuX2xjKTtcbiAgICB9XG5cbiAgICBuZXcgTm90aWZpY2F0aW9uc0FkYXB0ZXIodGhpcy5fbGMsIHRoaXMubmFtZSk7XG5cbiAgICBpZiAoY2FwYWJpbGl0aWVzLnRleHREb2N1bWVudFN5bmMpIHtcbiAgICAgIHRoaXMuX2Rpc3Bvc2FibGUuYWRkKG5ldyBEb2N1bWVudFN5bmNBZGFwdGVyKHRoaXMuX2xjLCBjYXBhYmlsaXRpZXMudGV4dERvY3VtZW50U3luYykpO1xuICAgIH1cbiAgICBpZiAoY2FwYWJpbGl0aWVzLmRvY3VtZW50UmFuZ2VGb3JtYXR0aW5nUHJvdmlkZXIgfHwgY2FwYWJpbGl0aWVzLmRvY3VtZW50Rm9ybWF0dGluZ1Byb3ZpZGVyKSB7XG4gICAgICB0aGlzLl9kaXNwb3NhYmxlLmFkZChuZXcgRm9ybWF0Q29kZUFkYXB0ZXIodGhpcy5fbGMsIGNhcGFiaWxpdGllcy5kb2N1bWVudFJhbmdlRm9ybWF0dGluZ1Byb3ZpZGVyID09PSB0cnVlLCBjYXBhYmlsaXRpZXMuZG9jdW1lbnRGb3JtYXR0aW5nUHJvdmlkZXIgPT09IHRydWUsIHRoaXMuZ2V0R3JhbW1hclNjb3BlcygpKSk7XG4gICAgfVxuICB9XG5cbiAgcHJlSW5pdGlhbGl6YXRpb24oKTogdm9pZCB7XG4gIH1cblxuICBwb3N0SW5pdGlhbGl6YXRpb24oSW5pdGlhbGl6YXRpb25SZXN1bHQ6IGxzLkluaXRpYWxpemVSZXN1bHQpOiB2b2lkIHtcbiAgfVxuXG4gIC8vIEF0b20gQXV0b2NvbXBsZXRlKyB2aWEgTFMgY29tcGxldGlvblxuXG4gIHByb3ZpZGVBdXRvY29tcGxldGUoKTogYXRvbSRBdXRvY29tcGxldGVQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlbGVjdG9yOiAnLnNvdXJjZScsXG4gICAgICBleGNsdWRlTG93ZXJQcmlvcml0eTogZmFsc2UsXG4gICAgICBnZXRTdWdnZXN0aW9uczogdGhpcy5nZXRTdWdnZXN0aW9ucy5iaW5kKHRoaXMpXG4gICAgfTtcbiAgfVxuXG4gIGdldFN1Z2dlc3Rpb25zKHJlcXVlc3Q6IGFueSk6IFByb21pc2U8QXJyYXk8YXRvbSRBdXRvY29tcGxldGVTdWdnZXN0aW9uPj4ge1xuICAgIHJldHVybiB0aGlzLmF1dG9Db21wbGV0ZSAhPSBudWxsID8gdGhpcy5hdXRvQ29tcGxldGUuZ2V0U3VnZ2VzdGlvbnMocmVxdWVzdCkgOiBQcm9taXNlLnJlc29sdmUoW10pO1xuICB9XG5cbiAgLy8gTnVjbGlkZSBEZWZpbml0aW9ucyB2aWEgTFMgZG9jdW1lbnRIaWdobGlnaHQgYW5kIGdvdG9EZWZpbml0aW9uXG5cbiAgcHJvdmlkZURlZmluaXRpb25zKCk6IG51Y2xpZGUkRGVmaW5pdGlvblByb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgcHJpb3JpdHk6IDIwLFxuICAgICAgZ3JhbW1hclNjb3BlczogdGhpcy5nZXRHcmFtbWFyU2NvcGVzKCksXG4gICAgICBnZXREZWZpbml0aW9uOiB0aGlzLmdldERlZmluaXRpb24uYmluZCh0aGlzKSxcbiAgICAgIGdldERlZmluaXRpb25CeUlkOiB0aGlzLmdldERlZmluaXRpb25CeUlkLmJpbmQodGhpcylcbiAgICB9XG4gIH1cblxuICBnZXREZWZpbml0aW9uKGVkaXRvcjogVGV4dEVkaXRvciwgcG9pbnQ6IGF0b20kUG9pbnQpOiBQcm9taXNlPD9udWNsaWRlJERlZmluaXRpb25RdWVyeVJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLmRlZmluaXRpb25zICE9IG51bGwgPyB0aGlzLmRlZmluaXRpb25zLmdldERlZmluaXRpb24oZWRpdG9yLCBwb2ludCkgOiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gIH1cblxuICBnZXREZWZpbml0aW9uQnlJZChmaWxlbmFtZTogTnVjbGlkZVVyaSwgaWQ6IHN0cmluZyk6IFByb21pc2U8P251Y2xpZGUkRGVmaW5pdGlvbj4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7IC8vIFRPRE86IElzIHRoaXMgbmVlZGVkP1xuICB9XG5cbiAgLy8gTnVjbGlkZSBPdXRsaW5lIFZpZXcgdmlhIExTIGRvY3VtZW50U3ltYm9sXG5cbiAgcHJvdmlkZU91dGxpbmVzKCk6IG51Y2xpZGUkT3V0bGluZVByb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgZ3JhbW1hclNjb3BlczogdGhpcy5nZXRHcmFtbWFyU2NvcGVzKCksXG4gICAgICBwcmlvcml0eTogMSxcbiAgICAgIGdldE91dGxpbmU6IHRoaXMuZ2V0T3V0bGluZS5iaW5kKHRoaXMpXG4gICAgfTtcbiAgfVxuXG4gIGdldE91dGxpbmUoZWRpdG9yOiBhdG9tJFRleHRFZGl0b3IpOiBQcm9taXNlPD9udWNsaWRlJE91dGxpbmU+IHtcbiAgICByZXR1cm4gdGhpcy5vdXRsaW5lVmlldyAhPSBudWxsID8gdGhpcy5vdXRsaW5lVmlldy5nZXRPdXRsaW5lKGVkaXRvcikgOiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gIH1cblxuICAvLyBMaW50ZXIgQVBJIHZpYSBMUyBwdWJsaXNoRGlhZ25vc3RpY3NcblxuICBwcm92aWRlTGludGVyKCk6IGxpbnRlciRTdGFuZGFyZExpbnRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIGdyYW1tYXJTY29wZXM6IHRoaXMuZ2V0R3JhbW1hclNjb3BlcygpLFxuICAgICAgc2NvcGU6ICdwcm9qZWN0JyxcbiAgICAgIGxpbnRPbkZseTogdHJ1ZSxcbiAgICAgIGxpbnQ6IHRoaXMuZ2V0TGludGluZy5iaW5kKHRoaXMpXG4gICAgfTtcbiAgfVxuXG4gIGdldExpbnRpbmcoZWRpdG9yOiBhdG9tJFRleHRFZGl0b3IpOiA/QXJyYXk8bGludGVyJE1lc3NhZ2U+IHwgUHJvbWlzZTw/QXJyYXk8bGludGVyJE1lc3NhZ2U+PiB7XG4gICAgcmV0dXJuIHRoaXMubGludGVyICE9IG51bGwgPyB0aGlzLmxpbnRlci5wcm92aWRlRGlhZ25vc3RpY3MoKSA6IFByb21pc2UucmVzb2x2ZShbXSk7XG4gIH1cblxuICAvLyBOdWNsaWRlIEZpbmQgUmVmZXJlbmNlcyB2aWEgTFMgZmluZFJlZmVyZW5jZXNcblxuICBwcm92aWRlRmluZFJlZmVyZW5jZXMoKTogbnVjbGlkZSRGaW5kUmVmZXJlbmNlc1Byb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgaXNFZGl0b3JTdXBwb3J0ZWQ6IChlZGl0b3I6IGF0b20kVGV4dEVkaXRvcikgPT4gdGhpcy5nZXRHcmFtbWFyU2NvcGVzKCkuaW5jbHVkZXMoZWRpdG9yLmdldEdyYW1tYXIoKS5zY29wZU5hbWUpLFxuICAgICAgZmluZFJlZmVyZW5jZXM6IHRoaXMuZ2V0UmVmZXJlbmNlcy5iaW5kKHRoaXMpXG4gICAgfVxuICB9XG5cbiAgZ2V0UmVmZXJlbmNlcyhlZGl0b3I6IGF0b20kVGV4dEVkaXRvciwgcG9pbnQ6IGF0b20kUG9pbnQpOiBQcm9taXNlPD9udWNsaWRlJEZpbmRSZWZlcmVuY2VzUmV0dXJuPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluZFJlZmVyZW5jZXMgIT0gbnVsbCA/IHRoaXMuZmluZFJlZmVyZW5jZXMuZ2V0UmVmZXJlbmNlcyhlZGl0b3IsIHBvaW50LCB0aGlzLmdldFByb2plY3RSb290KCkpIDogUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xuICB9XG5cbiAgLy8gTnVjbGlkZSBIeXBlcmxpY2sgdmlhIExTIGdvdG9EZWZpbml0aW9uIGFuZCBkb2N1bWVudEhpZ2hsaWdodFxuXG4gIHByb3ZpZGVIeXBlcmNsaWNrKCk6IG51Y2xpZGUkSHlwZXJjbGlja1Byb3ZpZGVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJpb3JpdHk6IDIwLFxuICAgICAgcHJvdmlkZXJOYW1lOiB0aGlzLm5hbWUsXG4gICAgICBnZXRTdWdnZXN0aW9uOiB0aGlzLmdldEh5cGVyY2xpY2tTdWdnZXN0aW9uLmJpbmQodGhpcylcbiAgICB9O1xuICB9XG5cbiAgZ2V0SHlwZXJjbGlja1N1Z2dlc3Rpb24oZWRpdG9yOiBhdG9tJFRleHRFZGl0b3IsIHBvaW50OiBhdG9tJFBvaW50KTogUHJvbWlzZTw/bnVjbGlkZSRIeXBlcmNsaWNrU3VnZ2VzdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh5cGVyY2xpY2sgIT0gbnVsbCA/IHRoaXMuaHlwZXJjbGljay5nZXRTdWdnZXN0aW9uKGVkaXRvciwgcG9pbnQpIDogUHJvbWlzZS5yZXNvbHZlKG51bGwpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/build/convert.js b/build/convert.js index 65a03de..ea7dcfd 100644 --- a/build/convert.js +++ b/build/convert.js @@ -58,4 +58,4 @@ let Convert = class Convert { }; exports.default = Convert; module.exports = exports['default']; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9jb252ZXJ0LmpzIl0sIm5hbWVzIjpbImxzIiwiQ29udmVydCIsInBhdGhUb1VyaSIsInBhdGhOYW1lIiwicmVwbGFjZSIsImVuY29kZVVSSSIsImVuY29kZVVSSUNvbXBvbmVudCIsInVyaVRvUGF0aCIsInVyaSIsImRlY29kZVVSSUNvbXBvbmVudCIsInN0YXJ0c1dpdGgiLCJzdWJzdHIiLCJwcm9jZXNzIiwicGxhdGZvcm0iLCJwb2ludFRvUG9zaXRpb24iLCJwb2ludCIsImxpbmUiLCJyb3ciLCJjaGFyYWN0ZXIiLCJjb2x1bW4iLCJwb3NpdGlvblRvUG9pbnQiLCJwb3NpdGlvbiIsImxzUmFuZ2VUb0F0b21SYW5nZSIsInJhbmdlIiwic3RhcnQiLCJlbmQiLCJhdG9tUmFuZ2VUb0xTUmFuZ2UiLCJlZGl0b3JUb1RleHREb2N1bWVudElkZW50aWZpZXIiLCJlZGl0b3IiLCJnZXRVUkkiXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUE7Ozs7QUFDQTs7QUFDQTs7SUFBWUEsRTs7Ozs7O0lBRVNDLE8sR0FBTixNQUFNQSxPQUFOLENBQWM7QUFDM0IsU0FBT0MsU0FBUCxDQUFpQkMsUUFBakIsRUFBMkM7QUFDMUNBLGVBQVdBLFNBQVNDLE9BQVQsQ0FBaUIsS0FBakIsRUFBd0IsR0FBeEIsQ0FBWDtBQUNBLFFBQUlELFNBQVMsQ0FBVCxNQUFnQixHQUFwQixFQUF5QkEsV0FBWSxJQUFHQSxRQUFTLEVBQXhCO0FBQ3pCLFdBQU9FLFVBQVcsVUFBU0YsUUFBUyxFQUE3QixFQUFnQ0MsT0FBaEMsQ0FBd0MsT0FBeEMsRUFBaURFLGtCQUFqRCxDQUFQO0FBQ0E7O0FBRUQsU0FBT0MsU0FBUCxDQUFpQkMsR0FBakIsRUFBc0M7QUFDcENBLFVBQU1DLG1CQUFtQkQsR0FBbkIsQ0FBTjtBQUNBLFFBQUlBLElBQUlFLFVBQUosQ0FBZSxTQUFmLENBQUosRUFBK0JGLE1BQU1BLElBQUlHLE1BQUosQ0FBVyxDQUFYLENBQU47QUFDL0IsUUFBSUMsUUFBUUMsUUFBUixLQUFxQixPQUF6QixFQUFrQztBQUNoQyxVQUFJTCxJQUFJLENBQUosTUFBVyxHQUFmLEVBQW9CO0FBQ2xCQSxjQUFNQSxJQUFJRyxNQUFKLENBQVcsQ0FBWCxDQUFOO0FBQ0Q7QUFDRCxhQUFPSCxJQUFJSixPQUFKLENBQVksS0FBWixFQUFtQixJQUFuQixDQUFQO0FBQ0Q7QUFDRCxXQUFPSSxHQUFQO0FBQ0Q7O0FBRUQsU0FBT00sZUFBUCxDQUF1QkMsS0FBdkIsRUFBdUQ7QUFDckQsV0FBTyxFQUFFQyxNQUFNRCxNQUFNRSxHQUFkLEVBQW1CQyxXQUFXSCxNQUFNSSxNQUFwQyxFQUFQO0FBQ0Q7O0FBRUQsU0FBT0MsZUFBUCxDQUF1QkMsUUFBdkIsRUFBMEQ7QUFDeEQsV0FBTyxnQkFBVUEsU0FBU0wsSUFBbkIsRUFBeUJLLFNBQVNILFNBQWxDLENBQVA7QUFDRDs7QUFFRCxTQUFPSSxrQkFBUCxDQUEwQkMsS0FBMUIsRUFBdUQ7QUFDckQsV0FBTyxnQkFBVXRCLFFBQVFtQixlQUFSLENBQXdCRyxNQUFNQyxLQUE5QixDQUFWLEVBQWdEdkIsUUFBUW1CLGVBQVIsQ0FBd0JHLE1BQU1FLEdBQTlCLENBQWhELENBQVA7QUFDRDs7QUFFRCxTQUFPQyxrQkFBUCxDQUEwQkgsS0FBMUIsRUFBdUQ7QUFDckQsV0FBTyxFQUFFQyxPQUFPdkIsUUFBUWEsZUFBUixDQUF3QlMsTUFBTUMsS0FBOUIsQ0FBVCxFQUErQ0MsS0FBS3hCLFFBQVFhLGVBQVIsQ0FBd0JTLE1BQU1FLEdBQTlCLENBQXBELEVBQVA7QUFDRDs7QUFFRCxTQUFPRSw4QkFBUCxDQUFzQ0MsTUFBdEMsRUFBMEY7QUFDeEYsV0FBTyxFQUFFcEIsS0FBS1AsUUFBUUMsU0FBUixDQUFrQjBCLE9BQU9DLE1BQVAsTUFBbUIsRUFBckMsQ0FBUCxFQUFQO0FBQ0Q7QUFyQzBCLEM7a0JBQVI1QixPIiwiZmlsZSI6ImNvbnZlcnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xyXG5cclxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XHJcbmltcG9ydCB7UmFuZ2UsIFBvaW50fSBmcm9tICdhdG9tJztcclxuaW1wb3J0ICogYXMgbHMgZnJvbSAnLi9sYW5ndWFnZWNsaWVudCc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb252ZXJ0IHtcclxuICBzdGF0aWMgcGF0aFRvVXJpKHBhdGhOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG5cdCAgcGF0aE5hbWUgPSBwYXRoTmFtZS5yZXBsYWNlKC9cXFxcL2csICcvJyk7XHJcblx0ICBpZiAocGF0aE5hbWVbMF0gIT09ICcvJykgcGF0aE5hbWUgPSBgLyR7cGF0aE5hbWV9YDtcclxuXHQgIHJldHVybiBlbmNvZGVVUkkoYGZpbGU6Ly8ke3BhdGhOYW1lfWApLnJlcGxhY2UoL1s/I10vZywgZW5jb2RlVVJJQ29tcG9uZW50KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB1cmlUb1BhdGgodXJpOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgdXJpID0gZGVjb2RlVVJJQ29tcG9uZW50KHVyaSk7XHJcbiAgICBpZiAodXJpLnN0YXJ0c1dpdGgoJ2ZpbGU6Ly8nKSkgdXJpID0gdXJpLnN1YnN0cig3KTtcclxuICAgIGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInKSB7XHJcbiAgICAgIGlmICh1cmlbMF0gPT09ICcvJykge1xyXG4gICAgICAgIHVyaSA9IHVyaS5zdWJzdHIoMSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHVyaS5yZXBsYWNlKC9cXC8vZywgJ1xcXFwnKTtcclxuICAgIH1cclxuICAgIHJldHVybiB1cmk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcG9pbnRUb1Bvc2l0aW9uKHBvaW50OiBhdG9tJFBvaW50KTogbHMuUG9zaXRpb24ge1xyXG4gICAgcmV0dXJuIHsgbGluZTogcG9pbnQucm93LCBjaGFyYWN0ZXI6IHBvaW50LmNvbHVtbiB9O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBvc2l0aW9uVG9Qb2ludChwb3NpdGlvbjogbHMuUG9zaXRpb24pOiBhdG9tJFBvaW50IHtcclxuICAgIHJldHVybiBuZXcgUG9pbnQocG9zaXRpb24ubGluZSwgcG9zaXRpb24uY2hhcmFjdGVyKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBsc1JhbmdlVG9BdG9tUmFuZ2UocmFuZ2U6IGxzLlJhbmdlKTogYXRvbSRSYW5nZSB7XHJcbiAgICByZXR1cm4gbmV3IFJhbmdlKENvbnZlcnQucG9zaXRpb25Ub1BvaW50KHJhbmdlLnN0YXJ0KSwgQ29udmVydC5wb3NpdGlvblRvUG9pbnQocmFuZ2UuZW5kKSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXRvbVJhbmdlVG9MU1JhbmdlKHJhbmdlOiBhdG9tJFJhbmdlKTogbHMuUmFuZ2Uge1xyXG4gICAgcmV0dXJuIHsgc3RhcnQ6IENvbnZlcnQucG9pbnRUb1Bvc2l0aW9uKHJhbmdlLnN0YXJ0KSwgZW5kOiBDb252ZXJ0LnBvaW50VG9Qb3NpdGlvbihyYW5nZS5lbmQpIH07XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZWRpdG9yVG9UZXh0RG9jdW1lbnRJZGVudGlmaWVyKGVkaXRvcjogYXRvbSRUZXh0RWRpdG9yKTogbHMuVGV4dERvY3VtZW50SWRlbnRpZmllciB7XHJcbiAgICByZXR1cm4geyB1cmk6IENvbnZlcnQucGF0aFRvVXJpKGVkaXRvci5nZXRVUkkoKSB8fCAnJykgfTtcclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9jb252ZXJ0LmpzIl0sIm5hbWVzIjpbImxzIiwiQ29udmVydCIsInBhdGhUb1VyaSIsInBhdGhOYW1lIiwicmVwbGFjZSIsImVuY29kZVVSSSIsImVuY29kZVVSSUNvbXBvbmVudCIsInVyaVRvUGF0aCIsInVyaSIsImRlY29kZVVSSUNvbXBvbmVudCIsInN0YXJ0c1dpdGgiLCJzdWJzdHIiLCJwcm9jZXNzIiwicGxhdGZvcm0iLCJwb2ludFRvUG9zaXRpb24iLCJwb2ludCIsImxpbmUiLCJyb3ciLCJjaGFyYWN0ZXIiLCJjb2x1bW4iLCJwb3NpdGlvblRvUG9pbnQiLCJwb3NpdGlvbiIsImxzUmFuZ2VUb0F0b21SYW5nZSIsInJhbmdlIiwic3RhcnQiLCJlbmQiLCJhdG9tUmFuZ2VUb0xTUmFuZ2UiLCJlZGl0b3JUb1RleHREb2N1bWVudElkZW50aWZpZXIiLCJlZGl0b3IiLCJnZXRVUkkiXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUE7Ozs7QUFDQTs7QUFDQTs7SUFBWUEsRTs7Ozs7O0lBRVNDLE8sR0FBTixNQUFNQSxPQUFOLENBQWM7QUFDM0IsU0FBT0MsU0FBUCxDQUFpQkMsUUFBakIsRUFBMkM7QUFDMUNBLGVBQVdBLFNBQVNDLE9BQVQsQ0FBaUIsS0FBakIsRUFBd0IsR0FBeEIsQ0FBWDtBQUNBLFFBQUlELFNBQVMsQ0FBVCxNQUFnQixHQUFwQixFQUF5QkEsV0FBWSxJQUFHQSxRQUFTLEVBQXhCO0FBQ3pCLFdBQU9FLFVBQVcsVUFBU0YsUUFBUyxFQUE3QixFQUFnQ0MsT0FBaEMsQ0FBd0MsT0FBeEMsRUFBaURFLGtCQUFqRCxDQUFQO0FBQ0E7O0FBRUQsU0FBT0MsU0FBUCxDQUFpQkMsR0FBakIsRUFBc0M7QUFDcENBLFVBQU1DLG1CQUFtQkQsR0FBbkIsQ0FBTjtBQUNBLFFBQUlBLElBQUlFLFVBQUosQ0FBZSxTQUFmLENBQUosRUFBK0JGLE1BQU1BLElBQUlHLE1BQUosQ0FBVyxDQUFYLENBQU47QUFDL0IsUUFBSUMsUUFBUUMsUUFBUixLQUFxQixPQUF6QixFQUFrQztBQUNoQyxVQUFJTCxJQUFJLENBQUosTUFBVyxHQUFmLEVBQW9CO0FBQ2xCQSxjQUFNQSxJQUFJRyxNQUFKLENBQVcsQ0FBWCxDQUFOO0FBQ0Q7QUFDRCxhQUFPSCxJQUFJSixPQUFKLENBQVksS0FBWixFQUFtQixJQUFuQixDQUFQO0FBQ0Q7QUFDRCxXQUFPSSxHQUFQO0FBQ0Q7O0FBRUQsU0FBT00sZUFBUCxDQUF1QkMsS0FBdkIsRUFBdUQ7QUFDckQsV0FBTyxFQUFFQyxNQUFNRCxNQUFNRSxHQUFkLEVBQW1CQyxXQUFXSCxNQUFNSSxNQUFwQyxFQUFQO0FBQ0Q7O0FBRUQsU0FBT0MsZUFBUCxDQUF1QkMsUUFBdkIsRUFBMEQ7QUFDeEQsV0FBTyxnQkFBVUEsU0FBU0wsSUFBbkIsRUFBeUJLLFNBQVNILFNBQWxDLENBQVA7QUFDRDs7QUFFRCxTQUFPSSxrQkFBUCxDQUEwQkMsS0FBMUIsRUFBdUQ7QUFDckQsV0FBTyxnQkFBVXRCLFFBQVFtQixlQUFSLENBQXdCRyxNQUFNQyxLQUE5QixDQUFWLEVBQWdEdkIsUUFBUW1CLGVBQVIsQ0FBd0JHLE1BQU1FLEdBQTlCLENBQWhELENBQVA7QUFDRDs7QUFFRCxTQUFPQyxrQkFBUCxDQUEwQkgsS0FBMUIsRUFBdUQ7QUFDckQsV0FBTyxFQUFFQyxPQUFPdkIsUUFBUWEsZUFBUixDQUF3QlMsTUFBTUMsS0FBOUIsQ0FBVCxFQUErQ0MsS0FBS3hCLFFBQVFhLGVBQVIsQ0FBd0JTLE1BQU1FLEdBQTlCLENBQXBELEVBQVA7QUFDRDs7QUFFRCxTQUFPRSw4QkFBUCxDQUFzQ0MsTUFBdEMsRUFBMEY7QUFDeEYsV0FBTyxFQUFFcEIsS0FBS1AsUUFBUUMsU0FBUixDQUFrQjBCLE9BQU9DLE1BQVAsTUFBbUIsRUFBckMsQ0FBUCxFQUFQO0FBQ0Q7QUFyQzBCLEM7a0JBQVI1QixPIiwiZmlsZSI6ImNvbnZlcnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7UmFuZ2UsIFBvaW50fSBmcm9tICdhdG9tJztcbmltcG9ydCAqIGFzIGxzIGZyb20gJy4vbGFuZ3VhZ2VjbGllbnQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb252ZXJ0IHtcbiAgc3RhdGljIHBhdGhUb1VyaShwYXRoTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcblx0ICBwYXRoTmFtZSA9IHBhdGhOYW1lLnJlcGxhY2UoL1xcXFwvZywgJy8nKTtcblx0ICBpZiAocGF0aE5hbWVbMF0gIT09ICcvJykgcGF0aE5hbWUgPSBgLyR7cGF0aE5hbWV9YDtcblx0ICByZXR1cm4gZW5jb2RlVVJJKGBmaWxlOi8vJHtwYXRoTmFtZX1gKS5yZXBsYWNlKC9bPyNdL2csIGVuY29kZVVSSUNvbXBvbmVudCk7XG4gIH1cblxuICBzdGF0aWMgdXJpVG9QYXRoKHVyaTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB1cmkgPSBkZWNvZGVVUklDb21wb25lbnQodXJpKTtcbiAgICBpZiAodXJpLnN0YXJ0c1dpdGgoJ2ZpbGU6Ly8nKSkgdXJpID0gdXJpLnN1YnN0cig3KTtcbiAgICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJykge1xuICAgICAgaWYgKHVyaVswXSA9PT0gJy8nKSB7XG4gICAgICAgIHVyaSA9IHVyaS5zdWJzdHIoMSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdXJpLnJlcGxhY2UoL1xcLy9nLCAnXFxcXCcpO1xuICAgIH1cbiAgICByZXR1cm4gdXJpO1xuICB9XG5cbiAgc3RhdGljIHBvaW50VG9Qb3NpdGlvbihwb2ludDogYXRvbSRQb2ludCk6IGxzLlBvc2l0aW9uIHtcbiAgICByZXR1cm4geyBsaW5lOiBwb2ludC5yb3csIGNoYXJhY3RlcjogcG9pbnQuY29sdW1uIH07XG4gIH1cblxuICBzdGF0aWMgcG9zaXRpb25Ub1BvaW50KHBvc2l0aW9uOiBscy5Qb3NpdGlvbik6IGF0b20kUG9pbnQge1xuICAgIHJldHVybiBuZXcgUG9pbnQocG9zaXRpb24ubGluZSwgcG9zaXRpb24uY2hhcmFjdGVyKTtcbiAgfVxuXG4gIHN0YXRpYyBsc1JhbmdlVG9BdG9tUmFuZ2UocmFuZ2U6IGxzLlJhbmdlKTogYXRvbSRSYW5nZSB7XG4gICAgcmV0dXJuIG5ldyBSYW5nZShDb252ZXJ0LnBvc2l0aW9uVG9Qb2ludChyYW5nZS5zdGFydCksIENvbnZlcnQucG9zaXRpb25Ub1BvaW50KHJhbmdlLmVuZCkpO1xuICB9XG5cbiAgc3RhdGljIGF0b21SYW5nZVRvTFNSYW5nZShyYW5nZTogYXRvbSRSYW5nZSk6IGxzLlJhbmdlIHtcbiAgICByZXR1cm4geyBzdGFydDogQ29udmVydC5wb2ludFRvUG9zaXRpb24ocmFuZ2Uuc3RhcnQpLCBlbmQ6IENvbnZlcnQucG9pbnRUb1Bvc2l0aW9uKHJhbmdlLmVuZCkgfTtcbiAgfVxuXG4gIHN0YXRpYyBlZGl0b3JUb1RleHREb2N1bWVudElkZW50aWZpZXIoZWRpdG9yOiBhdG9tJFRleHRFZGl0b3IpOiBscy5UZXh0RG9jdW1lbnRJZGVudGlmaWVyIHtcbiAgICByZXR1cm4geyB1cmk6IENvbnZlcnQucGF0aFRvVXJpKGVkaXRvci5nZXRVUkkoKSB8fCAnJykgfTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/build/download-file.js b/build/download-file.js index af6a65e..ef8ebb2 100644 --- a/build/download-file.js +++ b/build/download-file.js @@ -75,4 +75,4 @@ exports.default = (() => { })(); module.exports = exports['default']; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9kb3dubG9hZC1maWxlLmpzIl0sIm5hbWVzIjpbImxlbmd0aCIsInJlYWRlciIsIndyaXRlciIsInByb2dyZXNzQ2FsbGJhY2siLCJieXRlc0RvbmUiLCJyZXN1bHQiLCJyZWFkIiwiZG9uZSIsImNodW5rIiwidmFsdWUiLCJFcnJvciIsIndyaXRlIiwiQnVmZmVyIiwiZnJvbSIsImJ5dGVMZW5ndGgiLCJwZXJjZW50IiwiTWF0aCIsImZsb29yIiwic3RyZWFtV2l0aFByb2dyZXNzIiwic291cmNlVXJsIiwidGFyZ2V0RmlsZSIsInJlcXVlc3QiLCJSZXF1ZXN0IiwiaGVhZGVycyIsIkhlYWRlcnMiLCJyZXNwb25zZSIsImZldGNoIiwib2siLCJzdGF0dXMiLCJzdGF0dXNUZXh0IiwiYm9keSIsInBhcnNlSW50IiwiZ2V0IiwiZ2V0UmVhZGVyIiwiY3JlYXRlV3JpdGVTdHJlYW0iLCJlbmQiLCJkb3dubG9hZEZpbGUiXSwibWFwcGluZ3MiOiI7Ozs7O2dDQTJCQSxXQUFrQ0EsTUFBbEMsRUFBa0RDLE1BQWxELEVBQWdGQyxNQUFoRixFQUF3R0MsZ0JBQXhHLEVBQWdLO0FBQzlKLFFBQUlDLFlBQVksQ0FBaEI7O0FBRUEsV0FBTyxJQUFQLEVBQWE7QUFDWCxZQUFNQyxTQUFTLE1BQU1KLE9BQU9LLElBQVAsRUFBckI7QUFDQSxVQUFJRCxPQUFPRSxJQUFYLEVBQWlCO0FBQ2Y7QUFDRDs7QUFFRCxZQUFNQyxRQUFRSCxPQUFPSSxLQUFyQjtBQUNBLFVBQUlELFNBQVMsSUFBYixFQUFtQjtBQUNqQixjQUFNRSxNQUFNLHNDQUFOLENBQU47QUFDRCxPQUZELE1BRU87QUFDTFIsZUFBT1MsS0FBUCxDQUFhQyxPQUFPQyxJQUFQLENBQVlMLEtBQVosQ0FBYjtBQUNBLFlBQUlMLG9CQUFvQixJQUF4QixFQUE4QjtBQUM1QkMsdUJBQWFJLE1BQU1NLFVBQW5CO0FBQ0EsZ0JBQU1DLFVBQW1CZixXQUFXLENBQVgsR0FBZSxJQUFmLEdBQXNCZ0IsS0FBS0MsS0FBTCxDQUFXYixZQUFZSixNQUFaLEdBQXFCLEdBQWhDLENBQS9DO0FBQ0FHLDJCQUFpQkMsU0FBakIsRUFBNEJXLE9BQTVCO0FBQ0Q7QUFDRjtBQUNGOztBQUVELFFBQUlaLG9CQUFvQixJQUF4QixFQUE4QjtBQUM1QkEsdUJBQWlCSCxNQUFqQixFQUF5QixHQUF6QjtBQUNEO0FBQ0YsRzs7a0JBekJja0Isa0I7Ozs7O0FBekJmOzs7Ozs7Ozs7K0JBRWUsV0FBNEJDLFNBQTVCLEVBQStDQyxVQUEvQyxFQUFtRWpCLGdCQUFuRSxFQUE0R0gsTUFBNUcsRUFBNEk7QUFDekosVUFBTXFCLFVBQVUsSUFBSUMsT0FBSixDQUFZSCxTQUFaLEVBQXVCO0FBQ3JDSSxlQUFTLElBQUlDLE9BQUosQ0FBWSxFQUFDLGdCQUFnQiwwQkFBakIsRUFBWjtBQUQ0QixLQUF2QixDQUFoQjs7QUFJQSxVQUFNQyxXQUFXLE1BQU1DLE1BQU1MLE9BQU4sQ0FBdkI7QUFDQSxRQUFJLENBQUNJLFNBQVNFLEVBQWQsRUFBa0I7QUFDaEIsWUFBTWpCLE1BQU8sdUNBQXNDZSxTQUFTRyxNQUFPLElBQUdILFNBQVNJLFVBQVcsRUFBcEYsQ0FBTjtBQUNEOztBQUVELFVBQU1DLE9BQU9MLFNBQVNLLElBQXRCO0FBQ0EsUUFBSUEsUUFBUSxJQUFaLEVBQWtCO0FBQ2hCLFlBQU1wQixNQUFNLGtCQUFOLENBQU47QUFDRDs7QUFFRFYsYUFBU0EsVUFBVStCLFNBQVNOLFNBQVNGLE9BQVQsQ0FBaUJTLEdBQWpCLENBQXFCLG9CQUFvQixHQUF6QyxDQUFULENBQW5CO0FBQ0EsVUFBTS9CLFNBQVM2QixLQUFLRyxTQUFMLEVBQWY7QUFDQSxVQUFNL0IsU0FBUyxhQUFHZ0MsaUJBQUgsQ0FBcUJkLFVBQXJCLENBQWY7O0FBRUEsVUFBTUYsbUJBQW1CbEIsTUFBbkIsRUFBMkJDLE1BQTNCLEVBQW1DQyxNQUFuQyxFQUEyQ0MsZ0JBQTNDLENBQU47QUFDQUQsV0FBT2lDLEdBQVA7QUFDRCxHOztXQXJCNkJDLFk7Ozs7U0FBQUEsWSIsImZpbGUiOiJkb3dubG9hZC1maWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcclxuXHJcbmltcG9ydCBmcyBmcm9tICdmcyc7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiBkb3dubG9hZEZpbGUoc291cmNlVXJsOiBzdHJpbmcsIHRhcmdldEZpbGU6IHN0cmluZywgcHJvZ3Jlc3NDYWxsYmFjazogP0J5dGVQcm9ncmVzc0NhbGxiYWNrLCBsZW5ndGg6ID9udW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcclxuICBjb25zdCByZXF1ZXN0ID0gbmV3IFJlcXVlc3Qoc291cmNlVXJsLCB7XHJcbiAgICBoZWFkZXJzOiBuZXcgSGVhZGVycyh7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nfSlcclxuICB9KTtcclxuXHJcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChyZXF1ZXN0KTtcclxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XHJcbiAgICB0aHJvdyBFcnJvcihgVW5hYmxlIHRvIGRvd25sb2FkLCBzZXJ2ZXIgcmV0dXJuZWQgJHtyZXNwb25zZS5zdGF0dXN9ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gKTtcclxuICB9XHJcblxyXG4gIGNvbnN0IGJvZHkgPSByZXNwb25zZS5ib2R5O1xyXG4gIGlmIChib2R5ID09IG51bGwpIHtcclxuICAgIHRocm93IEVycm9yKCdObyByZXNwb25zZSBib2R5Jyk7XHJcbiAgfVxyXG5cclxuICBsZW5ndGggPSBsZW5ndGggfHwgcGFyc2VJbnQocmVzcG9uc2UuaGVhZGVycy5nZXQoJ0NvbnRlbnQtTGVuZ3RoJyB8fCAnMCcpKTtcclxuICBjb25zdCByZWFkZXIgPSBib2R5LmdldFJlYWRlcigpO1xyXG4gIGNvbnN0IHdyaXRlciA9IGZzLmNyZWF0ZVdyaXRlU3RyZWFtKHRhcmdldEZpbGUpO1xyXG5cclxuICBhd2FpdCBzdHJlYW1XaXRoUHJvZ3Jlc3MobGVuZ3RoLCByZWFkZXIsIHdyaXRlciwgcHJvZ3Jlc3NDYWxsYmFjayk7XHJcbiAgd3JpdGVyLmVuZCgpO1xyXG59XHJcblxyXG5hc3luYyBmdW5jdGlvbiBzdHJlYW1XaXRoUHJvZ3Jlc3MobGVuZ3RoOiBudW1iZXIsIHJlYWRlcjogUmVhZGFibGVTdHJlYW1SZWFkZXIsIHdyaXRlcjogZnMuV3JpdGVTdHJlYW0sIHByb2dyZXNzQ2FsbGJhY2s6ID9CeXRlUHJvZ3Jlc3NDYWxsYmFjayk6IFByb21pc2U8dm9pZD4ge1xyXG4gIGxldCBieXRlc0RvbmUgPSAwO1xyXG5cclxuICB3aGlsZSAodHJ1ZSkge1xyXG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVhZGVyLnJlYWQoKTtcclxuICAgIGlmIChyZXN1bHQuZG9uZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY2h1bmsgPSByZXN1bHQudmFsdWU7XHJcbiAgICBpZiAoY2h1bmsgPT0gbnVsbCkge1xyXG4gICAgICB0aHJvdyBFcnJvcignRW1wdHkgY2h1bmsgcmVjZWl2ZWQgZHVyaW5nIGRvd25sb2FkJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB3cml0ZXIud3JpdGUoQnVmZmVyLmZyb20oY2h1bmspKTtcclxuICAgICAgaWYgKHByb2dyZXNzQ2FsbGJhY2sgIT0gbnVsbCkge1xyXG4gICAgICAgIGJ5dGVzRG9uZSArPSBjaHVuay5ieXRlTGVuZ3RoO1xyXG4gICAgICAgIGNvbnN0IHBlcmNlbnQ6ID9udW1iZXIgPSBsZW5ndGggPT09IDAgPyBudWxsIDogTWF0aC5mbG9vcihieXRlc0RvbmUgLyBsZW5ndGggKiAxMDApO1xyXG4gICAgICAgIHByb2dyZXNzQ2FsbGJhY2soYnl0ZXNEb25lLCBwZXJjZW50KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaWYgKHByb2dyZXNzQ2FsbGJhY2sgIT0gbnVsbCkge1xyXG4gICAgcHJvZ3Jlc3NDYWxsYmFjayhsZW5ndGgsIDEwMCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgdHlwZSBCeXRlUHJvZ3Jlc3NDYWxsYmFjayA9IChieXRlc0RvbmU6IG51bWJlciwgcGVyY2VudDogP251bWJlcikgPT4ge307XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9kb3dubG9hZC1maWxlLmpzIl0sIm5hbWVzIjpbImxlbmd0aCIsInJlYWRlciIsIndyaXRlciIsInByb2dyZXNzQ2FsbGJhY2siLCJieXRlc0RvbmUiLCJyZXN1bHQiLCJyZWFkIiwiZG9uZSIsImNodW5rIiwidmFsdWUiLCJFcnJvciIsIndyaXRlIiwiQnVmZmVyIiwiZnJvbSIsImJ5dGVMZW5ndGgiLCJwZXJjZW50IiwiTWF0aCIsImZsb29yIiwic3RyZWFtV2l0aFByb2dyZXNzIiwic291cmNlVXJsIiwidGFyZ2V0RmlsZSIsInJlcXVlc3QiLCJSZXF1ZXN0IiwiaGVhZGVycyIsIkhlYWRlcnMiLCJyZXNwb25zZSIsImZldGNoIiwib2siLCJzdGF0dXMiLCJzdGF0dXNUZXh0IiwiYm9keSIsInBhcnNlSW50IiwiZ2V0IiwiZ2V0UmVhZGVyIiwiY3JlYXRlV3JpdGVTdHJlYW0iLCJlbmQiLCJkb3dubG9hZEZpbGUiXSwibWFwcGluZ3MiOiI7Ozs7O2dDQTJCQSxXQUFrQ0EsTUFBbEMsRUFBa0RDLE1BQWxELEVBQWdGQyxNQUFoRixFQUF3R0MsZ0JBQXhHLEVBQWdLO0FBQzlKLFFBQUlDLFlBQVksQ0FBaEI7O0FBRUEsV0FBTyxJQUFQLEVBQWE7QUFDWCxZQUFNQyxTQUFTLE1BQU1KLE9BQU9LLElBQVAsRUFBckI7QUFDQSxVQUFJRCxPQUFPRSxJQUFYLEVBQWlCO0FBQ2Y7QUFDRDs7QUFFRCxZQUFNQyxRQUFRSCxPQUFPSSxLQUFyQjtBQUNBLFVBQUlELFNBQVMsSUFBYixFQUFtQjtBQUNqQixjQUFNRSxNQUFNLHNDQUFOLENBQU47QUFDRCxPQUZELE1BRU87QUFDTFIsZUFBT1MsS0FBUCxDQUFhQyxPQUFPQyxJQUFQLENBQVlMLEtBQVosQ0FBYjtBQUNBLFlBQUlMLG9CQUFvQixJQUF4QixFQUE4QjtBQUM1QkMsdUJBQWFJLE1BQU1NLFVBQW5CO0FBQ0EsZ0JBQU1DLFVBQW1CZixXQUFXLENBQVgsR0FBZSxJQUFmLEdBQXNCZ0IsS0FBS0MsS0FBTCxDQUFXYixZQUFZSixNQUFaLEdBQXFCLEdBQWhDLENBQS9DO0FBQ0FHLDJCQUFpQkMsU0FBakIsRUFBNEJXLE9BQTVCO0FBQ0Q7QUFDRjtBQUNGOztBQUVELFFBQUlaLG9CQUFvQixJQUF4QixFQUE4QjtBQUM1QkEsdUJBQWlCSCxNQUFqQixFQUF5QixHQUF6QjtBQUNEO0FBQ0YsRzs7a0JBekJja0Isa0I7Ozs7O0FBekJmOzs7Ozs7Ozs7K0JBRWUsV0FBNEJDLFNBQTVCLEVBQStDQyxVQUEvQyxFQUFtRWpCLGdCQUFuRSxFQUE0R0gsTUFBNUcsRUFBNEk7QUFDekosVUFBTXFCLFVBQVUsSUFBSUMsT0FBSixDQUFZSCxTQUFaLEVBQXVCO0FBQ3JDSSxlQUFTLElBQUlDLE9BQUosQ0FBWSxFQUFDLGdCQUFnQiwwQkFBakIsRUFBWjtBQUQ0QixLQUF2QixDQUFoQjs7QUFJQSxVQUFNQyxXQUFXLE1BQU1DLE1BQU1MLE9BQU4sQ0FBdkI7QUFDQSxRQUFJLENBQUNJLFNBQVNFLEVBQWQsRUFBa0I7QUFDaEIsWUFBTWpCLE1BQU8sdUNBQXNDZSxTQUFTRyxNQUFPLElBQUdILFNBQVNJLFVBQVcsRUFBcEYsQ0FBTjtBQUNEOztBQUVELFVBQU1DLE9BQU9MLFNBQVNLLElBQXRCO0FBQ0EsUUFBSUEsUUFBUSxJQUFaLEVBQWtCO0FBQ2hCLFlBQU1wQixNQUFNLGtCQUFOLENBQU47QUFDRDs7QUFFRFYsYUFBU0EsVUFBVStCLFNBQVNOLFNBQVNGLE9BQVQsQ0FBaUJTLEdBQWpCLENBQXFCLG9CQUFvQixHQUF6QyxDQUFULENBQW5CO0FBQ0EsVUFBTS9CLFNBQVM2QixLQUFLRyxTQUFMLEVBQWY7QUFDQSxVQUFNL0IsU0FBUyxhQUFHZ0MsaUJBQUgsQ0FBcUJkLFVBQXJCLENBQWY7O0FBRUEsVUFBTUYsbUJBQW1CbEIsTUFBbkIsRUFBMkJDLE1BQTNCLEVBQW1DQyxNQUFuQyxFQUEyQ0MsZ0JBQTNDLENBQU47QUFDQUQsV0FBT2lDLEdBQVA7QUFDRCxHOztXQXJCNkJDLFk7Ozs7U0FBQUEsWSIsImZpbGUiOiJkb3dubG9hZC1maWxlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcblxuaW1wb3J0IGZzIGZyb20gJ2ZzJztcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gZG93bmxvYWRGaWxlKHNvdXJjZVVybDogc3RyaW5nLCB0YXJnZXRGaWxlOiBzdHJpbmcsIHByb2dyZXNzQ2FsbGJhY2s6ID9CeXRlUHJvZ3Jlc3NDYWxsYmFjaywgbGVuZ3RoOiA/bnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHJlcXVlc3QgPSBuZXcgUmVxdWVzdChzb3VyY2VVcmwsIHtcbiAgICBoZWFkZXJzOiBuZXcgSGVhZGVycyh7J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nfSlcbiAgfSk7XG5cbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChyZXF1ZXN0KTtcbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IEVycm9yKGBVbmFibGUgdG8gZG93bmxvYWQsIHNlcnZlciByZXR1cm5lZCAke3Jlc3BvbnNlLnN0YXR1c30gJHtyZXNwb25zZS5zdGF0dXNUZXh0fWApO1xuICB9XG5cbiAgY29uc3QgYm9keSA9IHJlc3BvbnNlLmJvZHk7XG4gIGlmIChib2R5ID09IG51bGwpIHtcbiAgICB0aHJvdyBFcnJvcignTm8gcmVzcG9uc2UgYm9keScpO1xuICB9XG5cbiAgbGVuZ3RoID0gbGVuZ3RoIHx8IHBhcnNlSW50KHJlc3BvbnNlLmhlYWRlcnMuZ2V0KCdDb250ZW50LUxlbmd0aCcgfHwgJzAnKSk7XG4gIGNvbnN0IHJlYWRlciA9IGJvZHkuZ2V0UmVhZGVyKCk7XG4gIGNvbnN0IHdyaXRlciA9IGZzLmNyZWF0ZVdyaXRlU3RyZWFtKHRhcmdldEZpbGUpO1xuXG4gIGF3YWl0IHN0cmVhbVdpdGhQcm9ncmVzcyhsZW5ndGgsIHJlYWRlciwgd3JpdGVyLCBwcm9ncmVzc0NhbGxiYWNrKTtcbiAgd3JpdGVyLmVuZCgpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzdHJlYW1XaXRoUHJvZ3Jlc3MobGVuZ3RoOiBudW1iZXIsIHJlYWRlcjogUmVhZGFibGVTdHJlYW1SZWFkZXIsIHdyaXRlcjogZnMuV3JpdGVTdHJlYW0sIHByb2dyZXNzQ2FsbGJhY2s6ID9CeXRlUHJvZ3Jlc3NDYWxsYmFjayk6IFByb21pc2U8dm9pZD4ge1xuICBsZXQgYnl0ZXNEb25lID0gMDtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlYWRlci5yZWFkKCk7XG4gICAgaWYgKHJlc3VsdC5kb25lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2h1bmsgPSByZXN1bHQudmFsdWU7XG4gICAgaWYgKGNodW5rID09IG51bGwpIHtcbiAgICAgIHRocm93IEVycm9yKCdFbXB0eSBjaHVuayByZWNlaXZlZCBkdXJpbmcgZG93bmxvYWQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd3JpdGVyLndyaXRlKEJ1ZmZlci5mcm9tKGNodW5rKSk7XG4gICAgICBpZiAocHJvZ3Jlc3NDYWxsYmFjayAhPSBudWxsKSB7XG4gICAgICAgIGJ5dGVzRG9uZSArPSBjaHVuay5ieXRlTGVuZ3RoO1xuICAgICAgICBjb25zdCBwZXJjZW50OiA/bnVtYmVyID0gbGVuZ3RoID09PSAwID8gbnVsbCA6IE1hdGguZmxvb3IoYnl0ZXNEb25lIC8gbGVuZ3RoICogMTAwKTtcbiAgICAgICAgcHJvZ3Jlc3NDYWxsYmFjayhieXRlc0RvbmUsIHBlcmNlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChwcm9ncmVzc0NhbGxiYWNrICE9IG51bGwpIHtcbiAgICBwcm9ncmVzc0NhbGxiYWNrKGxlbmd0aCwgMTAwKTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBCeXRlUHJvZ3Jlc3NDYWxsYmFjayA9IChieXRlc0RvbmU6IG51bWJlciwgcGVyY2VudDogP251bWJlcikgPT4ge307XG4iXX0= \ No newline at end of file diff --git a/build/main.js b/build/main.js index 051eb18..ee7782a 100644 --- a/build/main.js +++ b/build/main.js @@ -17,4 +17,4 @@ module.exports = { Convert: _convert2.default, DownloadFile: _downloadFile2.default }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tYWluLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJBdXRvTGFuZ3VhZ2VDbGllbnQiLCJDb252ZXJ0IiwiRG93bmxvYWRGaWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7OztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLGtEQURlO0FBRWZDLDRCQUZlO0FBR2ZDO0FBSGUsQ0FBakIiLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBdXRvTGFuZ3VhZ2VDbGllbnQgZnJvbSAnLi9hdXRvLWxhbmd1YWdlY2xpZW50JztcclxuaW1wb3J0IENvbnZlcnQgZnJvbSAnLi9jb252ZXJ0JztcclxuaW1wb3J0IERvd25sb2FkRmlsZSBmcm9tICcuL2Rvd25sb2FkLWZpbGUnO1xyXG5cclxubW9kdWxlLmV4cG9ydHMgPSB7XHJcbiAgQXV0b0xhbmd1YWdlQ2xpZW50LFxyXG4gIENvbnZlcnQsXHJcbiAgRG93bmxvYWRGaWxlXHJcbn1cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xpYi9tYWluLmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJBdXRvTGFuZ3VhZ2VDbGllbnQiLCJDb252ZXJ0IiwiRG93bmxvYWRGaWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7OztBQUVBQSxPQUFPQyxPQUFQLEdBQWlCO0FBQ2ZDLGtEQURlO0FBRWZDLDRCQUZlO0FBR2ZDO0FBSGUsQ0FBakIiLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBdXRvTGFuZ3VhZ2VDbGllbnQgZnJvbSAnLi9hdXRvLWxhbmd1YWdlY2xpZW50JztcbmltcG9ydCBDb252ZXJ0IGZyb20gJy4vY29udmVydCc7XG5pbXBvcnQgRG93bmxvYWRGaWxlIGZyb20gJy4vZG93bmxvYWQtZmlsZSc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICBBdXRvTGFuZ3VhZ2VDbGllbnQsXG4gIENvbnZlcnQsXG4gIERvd25sb2FkRmlsZVxufVxuIl19 \ No newline at end of file diff --git a/lib/adapters/document-sync-adapter.js b/lib/adapters/document-sync-adapter.js index c1933b4..e165da1 100644 --- a/lib/adapters/document-sync-adapter.js +++ b/lib/adapters/document-sync-adapter.js @@ -63,7 +63,8 @@ class TextEditorSyncAdapter { case TextDocumentSyncKind.Full: return this._editor.onDidChange(this.editorChangeSendFull.bind(this)); case TextDocumentSyncKind.Incremental: - return this._editor.getBuffer().onDidChangeText(this.bufferChangeSendIncrement.bind(this)); + // TODO: Switch to onDidChangeText when the API includes oldText. + return this._editor.getBuffer().onDidChange(this.bufferChangeSendIncrement.bind(this)); } return null; } @@ -102,21 +103,18 @@ class TextEditorSyncAdapter { }); } - bufferChangeSendIncrement(event: atom$ChangeTextEvent): void { + bufferChangeSendIncrement(event: atom$TextEditEvent): void { this._version++; this._lc.didChangeTextDocument({ textDocument: this.getVersionedTextDocumentIdentifier(), - contentChanges: event.changes.map(TextEditorSyncAdapter.changeTextToContentChange) + contentChanges: [TextEditorSyncAdapter.textEditToContentChange(event)], }); } - static changeTextToContentChange(change: atom$ChangeText): TextDocumentContentChangeEvent { - const start = Convert.pointToPosition(change.start); - const end = { line: change.start.row + change.oldExtent.row, character: change.start.column + change.oldExtent.column }; - + static textEditToContentChange(change: atom$TextEditEvent): TextDocumentContentChangeEvent { return { - range: { start: start, end: end }, - rangeLength: change.oldExtent.column - change.newExtent.column + change.newText.length, // TODO: Only works if row is the same... + range: Convert.atomRangeToLSRange(change.oldRange), + rangeLength: change.oldText.length, text: change.newText }; }