diff --git a/client/ProcessedSensors.js b/client/ProcessedSensors.js index c9c24a9..c30d407 100644 --- a/client/ProcessedSensors.js +++ b/client/ProcessedSensors.js @@ -49,4 +49,4 @@ return promise;}/** * * @param {ProcessedSensorsListener} callback - Listener to delete */},{key:'removeListener',value:function removeListener(callback){this._listeners.delete(callback);}/** @private */},{key:'_emit',value:function _emit(frame){this._listeners.forEach(function(listener){return listener(frame.data);});}}]);return ProcessedSensors;}();exports.default=ProcessedSensors; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZhbGlkYXRvcnMuanMiXSwibmFtZXMiOlsibGZvIiwibGZvTW90aW9uIiwiUHJvY2Vzc2VkU2Vuc29ycyIsImZyYW1lUmF0ZSIsIl9lbWl0IiwiYmluZCIsIm1vdGlvbklucHV0Iiwic291cmNlIiwiTW90aW9uSW5wdXQiLCJzYW1wbGVyIiwib3BlcmF0b3IiLCJTYW1wbGVyIiwiYWNjU2VsZWN0IiwiU2VsZWN0IiwiaW5kZXhlcyIsImludGVuc2l0eSIsIkludGVuc2l0eSIsImZlZWRiYWNrIiwiZ2FpbiIsImludGVuc2l0eU5vcm1TZWxlY3QiLCJpbmRleCIsImludGVuc2l0eUNsaXAiLCJDbGlwIiwibWluIiwibWF4IiwiaW50ZW5zaXR5UG93ZXIiLCJQb3dlciIsImV4cG9uZW50IiwicG93ZXJDbGlwIiwicG93ZXJTY2FsZSIsIlNjYWxlIiwiaW5wdXRNaW4iLCJpbnB1dE1heCIsIm91dHB1dE1pbiIsIm91dHB1dE1heCIsIm5vcm1hbGl6ZUFjYyIsIk11bHRpcGxpZXIiLCJmYWN0b3IiLCJiYW5kcGFzcyIsIkJpcXVhZCIsInR5cGUiLCJxIiwiZjAiLCJiYW5kcGFzc0dhaW4iLCJvcmllbnRhdGlvbiIsIk9yaWVudGF0aW9uIiwibWVyZ2VyIiwiTWVyZ2VyIiwiZnJhbWVTaXplcyIsImJyaWRnZSIsInNpbmsiLCJCcmlkZ2UiLCJwcm9jZXNzRnJhbWUiLCJmaW5hbGl6ZVN0cmVhbSIsImNvbm5lY3QiLCJfbGlzdGVuZXJzIiwicHJvbWlzZSIsImluaXQiLCJzdHJlYW1QYXJhbXMiLCJzdGFydCIsInN0b3AiLCJjYWxsYmFjayIsImFkZCIsImRlbGV0ZSIsImZyYW1lIiwiZm9yRWFjaCIsImxpc3RlbmVyIiwiZGF0YSJdLCJtYXBwaW5ncyI6InFaQUFBLHdDLEdBQVlBLEksa0NBQ1oscUMsR0FBWUMsVSxrV0FFWjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQXVCTUMsaUIsWUFDSiwyQkFFUSxvRUFBSixFQUFJLHFCQUROQyxTQUNNLENBRE5BLFNBQ00sNEJBRE0sRUFBSSxJQUNWLG9FQUNOLEtBQUtBLFNBQUwsQ0FBaUJBLFNBQWpCLENBRUEsS0FBS0MsS0FBTCxDQUFhLEtBQUtBLEtBQUwsQ0FBV0MsSUFBWCxDQUFnQixJQUFoQixDQUFiLENBRUE7QUFDQSxLQUFLQyxXQUFMLENBQW1CLEdBQUlMLFdBQVVNLE1BQVYsQ0FBaUJDLFdBQXJCLEVBQW5CLENBRUEsS0FBS0MsT0FBTCxDQUFlLEdBQUlSLFdBQVVTLFFBQVYsQ0FBbUJDLE9BQXZCLENBQStCLENBQzVDUixVQUFXQSxTQURpQyxDQUEvQixDQUFmLENBSUEsS0FBS1MsU0FBTCxDQUFpQixHQUFJWixLQUFJVSxRQUFKLENBQWFHLE1BQWpCLENBQXdCLENBQUVDLFFBQVMsQ0FBQyxDQUFELENBQUksQ0FBSixDQUFPLENBQVAsQ0FBWCxDQUF4QixDQUFqQixDQUVBO0FBQ0EsS0FBS0MsU0FBTCxDQUFpQixHQUFJZCxXQUFVUyxRQUFWLENBQW1CTSxTQUF2QixDQUFpQyxDQUNoREMsU0FBVSxHQURzQyxDQUVoREMsS0FBTSxJQUYwQyxDQUFqQyxDQUFqQixDQUtBLEtBQUtDLG1CQUFMLENBQTJCLEdBQUluQixLQUFJVSxRQUFKLENBQWFHLE1BQWpCLENBQXdCLENBQUVPLE1BQU8sQ0FBVCxDQUF4QixDQUEzQixDQUVBO0FBQ0EsS0FBS0MsYUFBTCxDQUFxQixHQUFJckIsS0FBSVUsUUFBSixDQUFhWSxJQUFqQixDQUFzQixDQUFFQyxJQUFLLENBQVAsQ0FBVUMsSUFBSyxDQUFmLENBQXRCLENBQXJCLENBQ0EsS0FBS0MsY0FBTCxDQUFzQixHQUFJekIsS0FBSVUsUUFBSixDQUFhZ0IsS0FBakIsQ0FBdUIsQ0FBRUMsU0FBVSxJQUFaLENBQXZCLENBQXRCLENBQ0EsS0FBS0MsU0FBTCxDQUFpQixHQUFJNUIsS0FBSVUsUUFBSixDQUFhWSxJQUFqQixDQUFzQixDQUFFQyxJQUFLLElBQVAsQ0FBYUMsSUFBSyxDQUFsQixDQUF0QixDQUFqQixDQUNBLEtBQUtLLFVBQUwsQ0FBa0IsR0FBSTdCLEtBQUlVLFFBQUosQ0FBYW9CLEtBQWpCLENBQXVCLENBQ3ZDQyxTQUFVLElBRDZCLENBRXZDQyxTQUFVLENBRjZCLENBR3ZDQyxVQUFXLENBSDRCLENBSXZDQyxVQUFXLENBSjRCLENBQXZCLENBQWxCLENBT0E7QUFDQSxLQUFLQyxZQUFMLENBQW9CLEdBQUluQyxLQUFJVSxRQUFKLENBQWEwQixVQUFqQixDQUE0QixDQUFFQyxPQUFRLEVBQUksSUFBZCxDQUE1QixDQUFwQixDQUNBLEtBQUtDLFFBQUwsQ0FBZ0IsR0FBSXRDLEtBQUlVLFFBQUosQ0FBYTZCLE1BQWpCLENBQXdCLENBQ3RDQyxLQUFNLFVBRGdDLENBRXRDQyxFQUFHLENBRm1DLENBR3RDQyxHQUFJLENBSGtDLENBQXhCLENBQWhCLENBS0EsS0FBS0MsWUFBTCxDQUFvQixHQUFJM0MsS0FBSVUsUUFBSixDQUFhMEIsVUFBakIsQ0FBNEIsQ0FBRUMsT0FBUSxDQUFWLENBQTVCLENBQXBCLENBRUE7QUFDQSxLQUFLTyxXQUFMLENBQW1CLEdBQUkzQyxXQUFVUyxRQUFWLENBQW1CbUMsV0FBdkIsRUFBbkIsQ0FFQTtBQUNBLEtBQUtDLE1BQUwsQ0FBYyxHQUFJOUMsS0FBSVUsUUFBSixDQUFhcUMsTUFBakIsQ0FBd0IsQ0FDcENDLFdBQVksQ0FBQyxDQUFELENBQUksQ0FBSixDQUFPLENBQVAsQ0FBVSxDQUFWLENBRHdCLENBQXhCLENBQWQsQ0FJQSxLQUFLQyxNQUFMLENBQWMsR0FBSWpELEtBQUlrRCxJQUFKLENBQVNDLE1BQWIsQ0FBb0IsQ0FDaENDLGFBQWMsS0FBS2hELEtBRGEsQ0FFaENpRCxlQUFnQixLQUFLakQsS0FGVyxDQUFwQixDQUFkLENBS0EsS0FBS0UsV0FBTCxDQUFpQmdELE9BQWpCLENBQXlCLEtBQUs3QyxPQUE5QixFQUNBO0FBQ0EsS0FBS0EsT0FBTCxDQUFhNkMsT0FBYixDQUFxQixLQUFLMUMsU0FBMUIsRUFDQTtBQUNBLEtBQUtBLFNBQUwsQ0FBZTBDLE9BQWYsQ0FBdUIsS0FBS3ZDLFNBQTVCLEVBQ0EsS0FBS0EsU0FBTCxDQUFldUMsT0FBZixDQUF1QixLQUFLbkMsbUJBQTVCLEVBQ0EsS0FBS0EsbUJBQUwsQ0FBeUJtQyxPQUF6QixDQUFpQyxLQUFLUixNQUF0QyxFQUNBO0FBQ0EsS0FBSzNCLG1CQUFMLENBQXlCbUMsT0FBekIsQ0FBaUMsS0FBS2pDLGFBQXRDLEVBQ0EsS0FBS0EsYUFBTCxDQUFtQmlDLE9BQW5CLENBQTJCLEtBQUs3QixjQUFoQyxFQUNBLEtBQUtBLGNBQUwsQ0FBb0I2QixPQUFwQixDQUE0QixLQUFLMUIsU0FBakMsRUFDQSxLQUFLQSxTQUFMLENBQWUwQixPQUFmLENBQXVCLEtBQUt6QixVQUE1QixFQUNBLEtBQUtBLFVBQUwsQ0FBZ0J5QixPQUFoQixDQUF3QixLQUFLUixNQUE3QixFQUNBO0FBQ0EsS0FBS2xDLFNBQUwsQ0FBZTBDLE9BQWYsQ0FBdUIsS0FBS25CLFlBQTVCLEVBQ0EsS0FBS0EsWUFBTCxDQUFrQm1CLE9BQWxCLENBQTBCLEtBQUtoQixRQUEvQixFQUNBLEtBQUtBLFFBQUwsQ0FBY2dCLE9BQWQsQ0FBc0IsS0FBS1gsWUFBM0IsRUFDQSxLQUFLQSxZQUFMLENBQWtCVyxPQUFsQixDQUEwQixLQUFLUixNQUEvQixFQUNBO0FBQ0EsS0FBS3JDLE9BQUwsQ0FBYTZDLE9BQWIsQ0FBcUIsS0FBS1YsV0FBMUIsRUFDQSxLQUFLQSxXQUFMLENBQWlCVSxPQUFqQixDQUF5QixLQUFLUixNQUE5QixFQUVBLEtBQUtBLE1BQUwsQ0FBWVEsT0FBWixDQUFvQixLQUFLTCxNQUF6QixFQUVBLEtBQUtNLFVBQUwsQ0FBa0IsbUJBQWxCLENBQ0QsQyw2RUFFTSxDQUNMLEdBQU1DLFNBQVUsS0FBS2xELFdBQUwsQ0FBaUJtRCxJQUFqQixFQUFoQixDQUNBO0FBQ0UsS0FBS3RELFNBQUwsQ0FBaUIsS0FBS0csV0FBTCxDQUFpQm9ELFlBQWpCLENBQThCdkQsU0FBL0MsQ0FDRjtBQUNBO0FBRUEsTUFBT3FELFFBQVAsQ0FDRCxDQUVEOzswQ0FHUSxDQUNOLEtBQUtsRCxXQUFMLENBQWlCcUQsS0FBakIsR0FDRCxDQUVEOzt3Q0FHTyxDQUNMLEtBQUtyRCxXQUFMLENBQWlCc0QsSUFBakIsR0FDRCxDQUVEOzs7Ozs7cURBT1lDLFEsQ0FBVSxDQUNwQixLQUFLTixVQUFMLENBQWdCTyxHQUFoQixDQUFvQkQsUUFBcEIsRUFDRCxDQUVEOzs7OzJEQUtlQSxRLENBQVUsQ0FDdkIsS0FBS04sVUFBTCxDQUFnQlEsTUFBaEIsQ0FBdUJGLFFBQXZCLEVBQ0QsQ0FFRCxlLG9DQUNNRyxLLENBQU8sQ0FDWCxLQUFLVCxVQUFMLENBQWdCVSxPQUFoQixDQUF3Qix5QkFBWUMsVUFBU0YsTUFBTUcsSUFBZixDQUFaLEVBQXhCLEVBQ0QsQyxnREFJWWpFLGdCIiwiZmlsZSI6InZhbGlkYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBsZm8gZnJvbSAnd2F2ZXMtbGZvL2NsaWVudCc7XG5pbXBvcnQgKiBhcyBsZm9Nb3Rpb24gZnJvbSAnbGZvLW1vdGlvbic7XG5cbi8qKlxuICogSGlnaC1sZXZlbCBhYnN0cmFjdGlvbiB0aGF0IGxpc3RlbiBmb3IgcmF3IHNlbnNvcnMgKGFjY2VsZXJvbWV0ZXJzIGFuZFxuICogZ3lyb3Njb3BlcykgYW5kIGFwcGx5IGEgc2V0IG9mIHByZXByb2Nlc3NpbmcgLyBmaWx0ZXJpbmcgb24gaXQuXG4gKlxuICogVGhlIG91dHB1dCBpcyBjb21wb3NlZCBvZiA4IHZhbHVlczpcbiAqIC0gSW50ZW5zaXR5Tm9ybVxuICogLSBJbnRlbnNpdHlOb3JtQm9vc3RcbiAqIC0gQmFuZFBhc3MgQWNjWFxuICogLSBCYW5kUGFzcyBBY2NZXG4gKiAtIEJhbmRQYXNzIEFjY1pcbiAqIC0gT3JpZW50YXRpb24gWCAocHJvY2Vzc2VkIGZyb20gYWNjIGFuZCBneXJvKVxuICogLSBPcmllbnRhdGlvbiBZIChwcm9jZXNzZWQgZnJvbSBhY2MgYW5kIGd5cm8pXG4gKiAtIE9yaWVudGF0aW9uIFogKHByb2Nlc3NlZCBmcm9tIGFjYyBhbmQgZ3lybylcbiAqXG4gKiBAZXhhbXBsZVxuICogaW1wb3J0IHsgUHJvY2Vzc2VkU2Vuc29ycyB9IGZyb20gJ2ltbC1tb3Rpb24nO1xuICpcbiAqIGNvbnN0IHByb2Nlc3NlZFNlbnNvcnMgPSBuZXcgUHJvY2Vzc2VkU2Vuc29ycygpO1xuICogcHJvY2Vzc2VkU2Vuc29ycy5hZGRMaXN0ZW5lcihkYXRhID0+IGNvbnNvbGUubG9nKGRhdGEpKTtcbiAqIHByb2Nlc3NlZFNlbnNvcnNcbiAqICAuaW5pdCgpXG4gKiAgLnRoZW4oKCkgPT4gcHJvY2Vzc2VkU2Vuc29ycy5zdGFydCgpKTtcbiAqL1xuY2xhc3MgUHJvY2Vzc2VkU2Vuc29ycyB7XG4gIGNvbnN0cnVjdG9yKHtcbiAgICBmcmFtZVJhdGUgPSAxIC8gMC4wMixcbiAgfSA9IHt9KSB7XG4gICAgdGhpcy5mcmFtZVJhdGUgPSBmcmFtZVJhdGU7XG5cbiAgICB0aGlzLl9lbWl0ID0gdGhpcy5fZW1pdC5iaW5kKHRoaXMpO1xuXG4gICAgLy8gY3JlYXRlIHRoZSBsZm8gZ3JhcGhcbiAgICB0aGlzLm1vdGlvbklucHV0ID0gbmV3IGxmb01vdGlvbi5zb3VyY2UuTW90aW9uSW5wdXQoKTtcblxuICAgIHRoaXMuc2FtcGxlciA9IG5ldyBsZm9Nb3Rpb24ub3BlcmF0b3IuU2FtcGxlcih7XG4gICAgICBmcmFtZVJhdGU6IGZyYW1lUmF0ZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWNjU2VsZWN0ID0gbmV3IGxmby5vcGVyYXRvci5TZWxlY3QoeyBpbmRleGVzOiBbMCwgMSwgMl0gfSk7XG5cbiAgICAvLyBpbnRlbnNpdHlcbiAgICB0aGlzLmludGVuc2l0eSA9IG5ldyBsZm9Nb3Rpb24ub3BlcmF0b3IuSW50ZW5zaXR5KHtcbiAgICAgIGZlZWRiYWNrOiAwLjcsXG4gICAgICBnYWluOiAwLjA3LFxuICAgIH0pO1xuXG4gICAgdGhpcy5pbnRlbnNpdHlOb3JtU2VsZWN0ID0gbmV3IGxmby5vcGVyYXRvci5TZWxlY3QoeyBpbmRleDogMCB9KTtcblxuICAgIC8vIGJvb3N0XG4gICAgdGhpcy5pbnRlbnNpdHlDbGlwID0gbmV3IGxmby5vcGVyYXRvci5DbGlwKHsgbWluOiAwLCBtYXg6IDEgfSk7XG4gICAgdGhpcy5pbnRlbnNpdHlQb3dlciA9IG5ldyBsZm8ub3BlcmF0b3IuUG93ZXIoeyBleHBvbmVudDogMC4yNSB9KTtcbiAgICB0aGlzLnBvd2VyQ2xpcCA9IG5ldyBsZm8ub3BlcmF0b3IuQ2xpcCh7IG1pbjogMC4xNSwgbWF4OiAxIH0pO1xuICAgIHRoaXMucG93ZXJTY2FsZSA9IG5ldyBsZm8ub3BlcmF0b3IuU2NhbGUoe1xuICAgICAgaW5wdXRNaW46IDAuMTUsXG4gICAgICBpbnB1dE1heDogMSxcbiAgICAgIG91dHB1dE1pbjogMCxcbiAgICAgIG91dHB1dE1heDogMSxcbiAgICB9KTtcblxuICAgIC8vIGJhbmRwYXNzXG4gICAgdGhpcy5ub3JtYWxpemVBY2MgPSBuZXcgbGZvLm9wZXJhdG9yLk11bHRpcGxpZXIoeyBmYWN0b3I6IDEgLyA5LjgxIH0pO1xuICAgIHRoaXMuYmFuZHBhc3MgPSBuZXcgbGZvLm9wZXJhdG9yLkJpcXVhZCh7XG4gICAgICB0eXBlOiAnYmFuZHBhc3MnLFxuICAgICAgcTogMSxcbiAgICAgIGYwOiA1LFxuICAgIH0pO1xuICAgIHRoaXMuYmFuZHBhc3NHYWluID0gbmV3IGxmby5vcGVyYXRvci5NdWx0aXBsaWVyKHsgZmFjdG9yOiAxIH0pO1xuXG4gICAgLy8gb3JpZW50YXRpb24gZmlsdGVyXG4gICAgdGhpcy5vcmllbnRhdGlvbiA9IG5ldyBsZm9Nb3Rpb24ub3BlcmF0b3IuT3JpZW50YXRpb24oKTtcblxuICAgIC8vIG1lcmdlIGFuZCBvdXRwdXRcbiAgICB0aGlzLm1lcmdlciA9IG5ldyBsZm8ub3BlcmF0b3IuTWVyZ2VyKHtcbiAgICAgIGZyYW1lU2l6ZXM6IFsxLCAxLCAzLCAzXSxcbiAgICB9KTtcblxuICAgIHRoaXMuYnJpZGdlID0gbmV3IGxmby5zaW5rLkJyaWRnZSh7XG4gICAgICBwcm9jZXNzRnJhbWU6IHRoaXMuX2VtaXQsXG4gICAgICBmaW5hbGl6ZVN0cmVhbTogdGhpcy5fZW1pdCxcbiAgICB9KTtcblxuICAgIHRoaXMubW90aW9uSW5wdXQuY29ubmVjdCh0aGlzLnNhbXBsZXIpO1xuICAgIC8vIGZvciBpbnRlbnNpdHkgYW5kIGJhbmRwYXNzXG4gICAgdGhpcy5zYW1wbGVyLmNvbm5lY3QodGhpcy5hY2NTZWxlY3QpO1xuICAgIC8vIGludGVuc2l0eSBicmFuY2hcbiAgICB0aGlzLmFjY1NlbGVjdC5jb25uZWN0KHRoaXMuaW50ZW5zaXR5KTtcbiAgICB0aGlzLmludGVuc2l0eS5jb25uZWN0KHRoaXMuaW50ZW5zaXR5Tm9ybVNlbGVjdCk7XG4gICAgdGhpcy5pbnRlbnNpdHlOb3JtU2VsZWN0LmNvbm5lY3QodGhpcy5tZXJnZXIpO1xuICAgIC8vIGJvb3N0IGJyYW5jaFxuICAgIHRoaXMuaW50ZW5zaXR5Tm9ybVNlbGVjdC5jb25uZWN0KHRoaXMuaW50ZW5zaXR5Q2xpcCk7XG4gICAgdGhpcy5pbnRlbnNpdHlDbGlwLmNvbm5lY3QodGhpcy5pbnRlbnNpdHlQb3dlcik7XG4gICAgdGhpcy5pbnRlbnNpdHlQb3dlci5jb25uZWN0KHRoaXMucG93ZXJDbGlwKTtcbiAgICB0aGlzLnBvd2VyQ2xpcC5jb25uZWN0KHRoaXMucG93ZXJTY2FsZSk7XG4gICAgdGhpcy5wb3dlclNjYWxlLmNvbm5lY3QodGhpcy5tZXJnZXIpO1xuICAgIC8vIGJpcXVhZCBicmFuY2hcbiAgICB0aGlzLmFjY1NlbGVjdC5jb25uZWN0KHRoaXMubm9ybWFsaXplQWNjKTtcbiAgICB0aGlzLm5vcm1hbGl6ZUFjYy5jb25uZWN0KHRoaXMuYmFuZHBhc3MpO1xuICAgIHRoaXMuYmFuZHBhc3MuY29ubmVjdCh0aGlzLmJhbmRwYXNzR2Fpbik7XG4gICAgdGhpcy5iYW5kcGFzc0dhaW4uY29ubmVjdCh0aGlzLm1lcmdlcik7XG4gICAgLy8gb3JpZW50YXRpb25cbiAgICB0aGlzLnNhbXBsZXIuY29ubmVjdCh0aGlzLm9yaWVudGF0aW9uKTtcbiAgICB0aGlzLm9yaWVudGF0aW9uLmNvbm5lY3QodGhpcy5tZXJnZXIpO1xuXG4gICAgdGhpcy5tZXJnZXIuY29ubmVjdCh0aGlzLmJyaWRnZSk7XG5cbiAgICB0aGlzLl9saXN0ZW5lcnMgPSBuZXcgU2V0KCk7XG4gIH1cblxuICBpbml0KCkge1xuICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLm1vdGlvbklucHV0LmluaXQoKTtcbiAgICAvLyBwcm9taXNlLnRoZW4oKCkgPT4ge1xuICAgICAgdGhpcy5mcmFtZVJhdGUgPSB0aGlzLm1vdGlvbklucHV0LnN0cmVhbVBhcmFtcy5mcmFtZVJhdGU7XG4gICAgLy8gfSlcbiAgICAvLyAuY2F0Y2goZXJyID0+IGNvbnNvbGUuZXJyb3IoZXJyLnN0YWNrKSk7XG5cbiAgICByZXR1cm4gcHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCBsaXN0ZW5pbmcgdG8gdGhlIHNlbnNvcnNcbiAgICovXG4gIHN0YXJ0KCkge1xuICAgIHRoaXMubW90aW9uSW5wdXQuc3RhcnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdG9wIGxpc3RlbmluZyB0byB0aGUgc2Vuc29yc1xuICAgKi9cbiAgc3RvcCgpIHtcbiAgICB0aGlzLm1vdGlvbklucHV0LnN0b3AoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBsaXN0ZW5lciB0byB0aGUgbW9kdWxlLlxuICAgKlxuICAgKiBAcGFyYW0ge1Byb2Nlc3NlZFNlbnNvcnNMaXN0ZW5lcn0gY2FsbGJhY2sgLSBMaXN0ZW5lciB0byByZWdpc3RlciwgdGhlXG4gICAqICBjYWxsYmFjayBpcyBleGVjdXRlZCB3aXRoIGFuIGFycmF5IGNvbnRhaW5pbmcgdGhlIHByb2Nlc3NlZCBkYXRhIGZyb21cbiAgICogIHRoZSBzZW5zb3JzXG4gICAqL1xuICBhZGRMaXN0ZW5lcihjYWxsYmFjaykge1xuICAgIHRoaXMuX2xpc3RlbmVycy5hZGQoY2FsbGJhY2spO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIGxpc3RlbmVyIGZyb20gdGhlIG1vZHVsZS5cbiAgICpcbiAgICogQHBhcmFtIHtQcm9jZXNzZWRTZW5zb3JzTGlzdGVuZXJ9IGNhbGxiYWNrIC0gTGlzdGVuZXIgdG8gZGVsZXRlXG4gICAqL1xuICByZW1vdmVMaXN0ZW5lcihjYWxsYmFjaykge1xuICAgIHRoaXMuX2xpc3RlbmVycy5kZWxldGUoY2FsbGJhY2spO1xuICB9XG5cbiAgLyoqIEBwcml2YXRlICovXG4gIF9lbWl0KGZyYW1lKSB7XG4gICAgdGhpcy5fbGlzdGVuZXJzLmZvckVhY2gobGlzdGVuZXIgPT4gbGlzdGVuZXIoZnJhbWUuZGF0YSkpO1xuICB9XG5cbn1cblxuZXhwb3J0IGRlZmF1bHQgUHJvY2Vzc2VkU2Vuc29ycztcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbImxmbyIsImxmb01vdGlvbiIsIlByb2Nlc3NlZFNlbnNvcnMiLCJmcmFtZVJhdGUiLCJfZW1pdCIsImJpbmQiLCJtb3Rpb25JbnB1dCIsInNvdXJjZSIsIk1vdGlvbklucHV0Iiwic2FtcGxlciIsIm9wZXJhdG9yIiwiU2FtcGxlciIsImFjY1NlbGVjdCIsIlNlbGVjdCIsImluZGV4ZXMiLCJpbnRlbnNpdHkiLCJJbnRlbnNpdHkiLCJmZWVkYmFjayIsImdhaW4iLCJpbnRlbnNpdHlOb3JtU2VsZWN0IiwiaW5kZXgiLCJpbnRlbnNpdHlDbGlwIiwiQ2xpcCIsIm1pbiIsIm1heCIsImludGVuc2l0eVBvd2VyIiwiUG93ZXIiLCJleHBvbmVudCIsInBvd2VyQ2xpcCIsInBvd2VyU2NhbGUiLCJTY2FsZSIsImlucHV0TWluIiwiaW5wdXRNYXgiLCJvdXRwdXRNaW4iLCJvdXRwdXRNYXgiLCJub3JtYWxpemVBY2MiLCJNdWx0aXBsaWVyIiwiZmFjdG9yIiwiYmFuZHBhc3MiLCJCaXF1YWQiLCJ0eXBlIiwicSIsImYwIiwiYmFuZHBhc3NHYWluIiwib3JpZW50YXRpb24iLCJPcmllbnRhdGlvbiIsIm1lcmdlciIsIk1lcmdlciIsImZyYW1lU2l6ZXMiLCJicmlkZ2UiLCJzaW5rIiwiQnJpZGdlIiwicHJvY2Vzc0ZyYW1lIiwiZmluYWxpemVTdHJlYW0iLCJjb25uZWN0IiwiX2xpc3RlbmVycyIsInByb21pc2UiLCJpbml0Iiwic3RyZWFtUGFyYW1zIiwic3RhcnQiLCJzdG9wIiwiY2FsbGJhY2siLCJhZGQiLCJkZWxldGUiLCJmcmFtZSIsImZvckVhY2giLCJsaXN0ZW5lciIsImRhdGEiXSwibWFwcGluZ3MiOiJxWkFBQSx3QyxHQUFZQSxJLGtDQUNaLHFDLEdBQVlDLFUsa1dBRVo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUF1Qk1DLGlCLFlBQ0osMkJBRVEsb0VBQUosRUFBSSxxQkFETkMsU0FDTSxDQUROQSxTQUNNLDRCQURN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Q0QsQ0FFRDs7d0NBR08sQ0FDTCxLQUFLckQsV0FBTCxDQUFpQnNELElBQWpCLEdBQ0QsQ0FFRDs7Ozs7O3FEQU9ZQyxRLENBQVUsQ0FDcEIsS0FBS04sVUFBTCxDQUFnQk8sR0FBaEIsQ0FBb0JELFFBQXBCLEVBQ0QsQ0FFRDs7OzsyREFLZUEsUSxDQUFVLENBQ3ZCLEtBQUtOLFVBQUwsQ0FBZ0JRLE1BQWhCLENBQXVCRixRQUF2QixFQUNELENBRUQsZSxvQ0FDTUcsSyxDQUFPLENBQ1gsS0FBS1QsVUFBTCxDQUFnQlUsT0FBaEIsQ0FBd0IseUJBQVlDLFVBQVNGLE1BQU1HLElBQWYsQ0FBWixFQUF4QixFQUNELEMsZ0RBSVlqRSxnQiIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGxmbyBmcm9tICd3YXZlcy1sZm8vY2xpZW50JztcbmltcG9ydCAqIGFzIGxmb01vdGlvbiBmcm9tICdsZm8tbW90aW9uJztcblxuLyoqXG4gKiBIaWdoLWxldmVsIGFic3RyYWN0aW9uIHRoYXQgbGlzdGVuIGZvciByYXcgc2Vuc29ycyAoYWNjZWxlcm9tZXRlcnMgYW5kXG4gKiBneXJvc2NvcGVzKSBhbmQgYXBwbHkgYSBzZXQgb2YgcHJlcHJvY2Vzc2luZyAvIGZpbHRlcmluZyBvbiBpdC5cbiAqXG4gKiBUaGUgb3V0cHV0IGlzIGNvbXBvc2VkIG9mIDggdmFsdWVzOlxuICogLSBJbnRlbnNpdHlOb3JtXG4gKiAtIEludGVuc2l0eU5vcm1Cb29zdFxuICogLSBCYW5kUGFzcyBBY2NYXG4gKiAtIEJhbmRQYXNzIEFjY1lcbiAqIC0gQmFuZFBhc3MgQWNjWlxuICogLSBPcmllbnRhdGlvbiBYIChwcm9jZXNzZWQgZnJvbSBhY2MgYW5kIGd5cm8pXG4gKiAtIE9yaWVudGF0aW9uIFkgKHByb2Nlc3NlZCBmcm9tIGFjYyBhbmQgZ3lybylcbiAqIC0gT3JpZW50YXRpb24gWiAocHJvY2Vzc2VkIGZyb20gYWNjIGFuZCBneXJvKVxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBQcm9jZXNzZWRTZW5zb3JzIH0gZnJvbSAnaW1sLW1vdGlvbic7XG4gKlxuICogY29uc3QgcHJvY2Vzc2VkU2Vuc29ycyA9IG5ldyBQcm9jZXNzZWRTZW5zb3JzKCk7XG4gKiBwcm9jZXNzZWRTZW5zb3JzLmFkZExpc3RlbmVyKGRhdGEgPT4gY29uc29sZS5sb2coZGF0YSkpO1xuICogcHJvY2Vzc2VkU2Vuc29yc1xuICogIC5pbml0KClcbiAqICAudGhlbigoKSA9PiBwcm9jZXNzZWRTZW5zb3JzLnN0YXJ0KCkpO1xuICovXG5jbGFzcyBQcm9jZXNzZWRTZW5zb3JzIHtcbiAgY29uc3RydWN0b3Ioe1xuICAgIGZyYW1lUmF0ZSA9IDEgLyAwLjAyLFxuICB9ID0ge30pIHtcbiAgICB0aGlzLmZyYW1lUmF0ZSA9IGZyYW1lUmF0ZTtcblxuICAgIHRoaXMuX2VtaXQgPSB0aGlzLl9lbWl0LmJpbmQodGhpcyk7XG5cbiAgICAvLyBjcmVhdGUgdGhlIGxmbyBncmFwaFxuICAgIHRoaXMubW90aW9uSW5wdXQgPSBuZXcgbGZvTW90aW9uLnNvdXJjZS5Nb3Rpb25JbnB1dCgpO1xuXG4gICAgdGhpcy5zYW1wbGVyID0gbmV3IGxmb01vdGlvbi5vcGVyYXRvci5TYW1wbGVyKHtcbiAgICAgIGZyYW1lUmF0ZTogZnJhbWVSYXRlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hY2NTZWxlY3QgPSBuZXcgbGZvLm9wZXJhdG9yLlNlbGVjdCh7IGluZGV4ZXM6IFswLCAxLCAyXSB9KTtcblxuICAgIC8vIGludGVuc2l0eVxuICAgIHRoaXMuaW50ZW5zaXR5ID0gbmV3IGxmb01vdGlvbi5vcGVyYXRvci5JbnRlbnNpdHkoe1xuICAgICAgZmVlZGJhY2s6IDAuNyxcbiAgICAgIGdhaW46IDAuMDcsXG4gICAgfSk7XG5cbiAgICB0aGlzLmludGVuc2l0eU5vcm1TZWxlY3QgPSBuZXcgbGZvLm9wZXJhdG9yLlNlbGVjdCh7IGluZGV4OiAwIH0pO1xuXG4gICAgLy8gYm9vc3RcbiAgICB0aGlzLmludGVuc2l0eUNsaXAgPSBuZXcgbGZvLm9wZXJhdG9yLkNsaXAoeyBtaW46IDAsIG1heDogMSB9KTtcbiAgICB0aGlzLmludGVuc2l0eVBvd2VyID0gbmV3IGxmby5vcGVyYXRvci5Qb3dlcih7IGV4cG9uZW50OiAwLjI1IH0pO1xuICAgIHRoaXMucG93ZXJDbGlwID0gbmV3IGxmby5vcGVyYXRvci5DbGlwKHsgbWluOiAwLjE1LCBtYXg6IDEgfSk7XG4gICAgdGhpcy5wb3dlclNjYWxlID0gbmV3IGxmby5vcGVyYXRvci5TY2FsZSh7XG4gICAgICBpbnB1dE1pbjogMC4xNSxcbiAgICAgIGlucHV0TWF4OiAxLFxuICAgICAgb3V0cHV0TWluOiAwLFxuICAgICAgb3V0cHV0TWF4OiAxLFxuICAgIH0pO1xuXG4gICAgLy8gYmFuZHBhc3NcbiAgICB0aGlzLm5vcm1hbGl6ZUFjYyA9IG5ldyBsZm8ub3BlcmF0b3IuTXVsdGlwbGllcih7IGZhY3RvcjogMSAvIDkuODEgfSk7XG4gICAgdGhpcy5iYW5kcGFzcyA9IG5ldyBsZm8ub3BlcmF0b3IuQmlxdWFkKHtcbiAgICAgIHR5cGU6ICdiYW5kcGFzcycsXG4gICAgICBxOiAxLFxuICAgICAgZjA6IDUsXG4gICAgfSk7XG4gICAgdGhpcy5iYW5kcGFzc0dhaW4gPSBuZXcgbGZvLm9wZXJhdG9yLk11bHRpcGxpZXIoeyBmYWN0b3I6IDEgfSk7XG5cbiAgICAvLyBvcmllbnRhdGlvbiBmaWx0ZXJcbiAgICB0aGlzLm9yaWVudGF0aW9uID0gbmV3IGxmb01vdGlvbi5vcGVyYXRvci5PcmllbnRhdGlvbigpO1xuXG4gICAgLy8gbWVyZ2UgYW5kIG91dHB1dFxuICAgIHRoaXMubWVyZ2VyID0gbmV3IGxmby5vcGVyYXRvci5NZXJnZXIoe1xuICAgICAgZnJhbWVTaXplczogWzEsIDEsIDMsIDNdLFxuICAgIH0pO1xuXG4gICAgdGhpcy5icmlkZ2UgPSBuZXcgbGZvLnNpbmsuQnJpZGdlKHtcbiAgICAgIHByb2Nlc3NGcmFtZTogdGhpcy5fZW1pdCxcbiAgICAgIGZpbmFsaXplU3RyZWFtOiB0aGlzLl9lbWl0LFxuICAgIH0pO1xuXG4gICAgdGhpcy5tb3Rpb25JbnB1dC5jb25uZWN0KHRoaXMuc2FtcGxlcik7XG4gICAgLy8gZm9yIGludGVuc2l0eSBhbmQgYmFuZHBhc3NcbiAgICB0aGlzLnNhbXBsZXIuY29ubmVjdCh0aGlzLmFjY1NlbGVjdCk7XG4gICAgLy8gaW50ZW5zaXR5IGJyYW5jaFxuICAgIHRoaXMuYWNjU2VsZWN0LmNvbm5lY3QodGhpcy5pbnRlbnNpdHkpO1xuICAgIHRoaXMuaW50ZW5zaXR5LmNvbm5lY3QodGhpcy5pbnRlbnNpdHlOb3JtU2VsZWN0KTtcbiAgICB0aGlzLmludGVuc2l0eU5vcm1TZWxlY3QuY29ubmVjdCh0aGlzLm1lcmdlcik7XG4gICAgLy8gYm9vc3QgYnJhbmNoXG4gICAgdGhpcy5pbnRlbnNpdHlOb3JtU2VsZWN0LmNvbm5lY3QodGhpcy5pbnRlbnNpdHlDbGlwKTtcbiAgICB0aGlzLmludGVuc2l0eUNsaXAuY29ubmVjdCh0aGlzLmludGVuc2l0eVBvd2VyKTtcbiAgICB0aGlzLmludGVuc2l0eVBvd2VyLmNvbm5lY3QodGhpcy5wb3dlckNsaXApO1xuICAgIHRoaXMucG93ZXJDbGlwLmNvbm5lY3QodGhpcy5wb3dlclNjYWxlKTtcbiAgICB0aGlzLnBvd2VyU2NhbGUuY29ubmVjdCh0aGlzLm1lcmdlcik7XG4gICAgLy8gYmlxdWFkIGJyYW5jaFxuICAgIHRoaXMuYWNjU2VsZWN0LmNvbm5lY3QodGhpcy5ub3JtYWxpemVBY2MpO1xuICAgIHRoaXMubm9ybWFsaXplQWNjLmNvbm5lY3QodGhpcy5iYW5kcGFzcyk7XG4gICAgdGhpcy5iYW5kcGFzcy5jb25uZWN0KHRoaXMuYmFuZHBhc3NHYWluKTtcbiAgICB0aGlzLmJhbmRwYXNzR2Fpbi5jb25uZWN0KHRoaXMubWVyZ2VyKTtcbiAgICAvLyBvcmllbnRhdGlvblxuICAgIHRoaXMuc2FtcGxlci5jb25uZWN0KHRoaXMub3JpZW50YXRpb24pO1xuICAgIHRoaXMub3JpZW50YXRpb24uY29ubmVjdCh0aGlzLm1lcmdlcik7XG5cbiAgICB0aGlzLm1lcmdlci5jb25uZWN0KHRoaXMuYnJpZGdlKTtcblxuICAgIHRoaXMuX2xpc3RlbmVycyA9IG5ldyBTZXQoKTtcbiAgfVxuXG4gIGluaXQoKSB7XG4gICAgY29uc3QgcHJvbWlzZSA9IHRoaXMubW90aW9uSW5wdXQuaW5pdCgpO1xuICAgIC8vIHByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICB0aGlzLmZyYW1lUmF0ZSA9IHRoaXMubW90aW9uSW5wdXQuc3RyZWFtUGFyYW1zLmZyYW1lUmF0ZTtcbiAgICAvLyB9KVxuICAgIC8vIC5jYXRjaChlcnIgPT4gY29uc29sZS5lcnJvcihlcnIuc3RhY2spKTtcblxuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IGxpc3RlbmluZyB0byB0aGUgc2Vuc29yc1xuICAgKi9cbiAgc3RhcnQoKSB7XG4gICAgdGhpcy5tb3Rpb25JbnB1dC5zdGFydCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3AgbGlzdGVuaW5nIHRvIHRoZSBzZW5zb3JzXG4gICAqL1xuICBzdG9wKCkge1xuICAgIHRoaXMubW90aW9uSW5wdXQuc3RvcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGxpc3RlbmVyIHRvIHRoZSBtb2R1bGUuXG4gICAqXG4gICAqIEBwYXJhbSB7UHJvY2Vzc2VkU2Vuc29yc0xpc3RlbmVyfSBjYWxsYmFjayAtIExpc3RlbmVyIHRvIHJlZ2lzdGVyLCB0aGVcbiAgICogIGNhbGxiYWNrIGlzIGV4ZWN1dGVkIHdpdGggYW4gYXJyYXkgY29udGFpbmluZyB0aGUgcHJvY2Vzc2VkIGRhdGEgZnJvbVxuICAgKiAgdGhlIHNlbnNvcnNcbiAgICovXG4gIGFkZExpc3RlbmVyKGNhbGxiYWNrKSB7XG4gICAgdGhpcy5fbGlzdGVuZXJzLmFkZChjYWxsYmFjayk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGEgbGlzdGVuZXIgZnJvbSB0aGUgbW9kdWxlLlxuICAgKlxuICAgKiBAcGFyYW0ge1Byb2Nlc3NlZFNlbnNvcnNMaXN0ZW5lcn0gY2FsbGJhY2sgLSBMaXN0ZW5lciB0byBkZWxldGVcbiAgICovXG4gIHJlbW92ZUxpc3RlbmVyKGNhbGxiYWNrKSB7XG4gICAgdGhpcy5fbGlzdGVuZXJzLmRlbGV0ZShjYWxsYmFjayk7XG4gIH1cblxuICAvKiogQHByaXZhdGUgKi9cbiAgX2VtaXQoZnJhbWUpIHtcbiAgICB0aGlzLl9saXN0ZW5lcnMuZm9yRWFjaChsaXN0ZW5lciA9PiBsaXN0ZW5lcihmcmFtZS5kYXRhKSk7XG4gIH1cblxufVxuXG5leHBvcnQgZGVmYXVsdCBQcm9jZXNzZWRTZW5zb3JzO1xuIl19 \ No newline at end of file diff --git a/client/TrainingSetReader.js b/client/TrainingSetReader.js index 13ad10a..34266a6 100644 --- a/client/TrainingSetReader.js +++ b/client/TrainingSetReader.js @@ -5,4 +5,4 @@ * @todo - implement */var TrainingSetReader=function(){function TrainingSetReader(){// use lfo reader internally (0,_classCallCheck3.default)(this,TrainingSetReader);}(0,_createClass3.default)(TrainingSetReader,[{key:"play",value:function play(exampleIndex){}},{key:"pause",value:function pause(){}},{key:"stop",value:function stop(){}}]);return TrainingSetReader;}();exports.default=TrainingSetReader; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZhbGlkYXRvcnMuanMiXSwibmFtZXMiOlsiVHJhaW5pbmdTZXRSZWFkZXIiLCJleGFtcGxlSW5kZXgiXSwibWFwcGluZ3MiOiJtWkFBQTs7Ozs7TUFNTUEsa0IsWUFDSiw0QkFBYyxDQUNaO0FBRFkscURBRWIsQyw2RUFFSUMsWSxDQUFjLENBRWxCLEMscUNBRU8sQ0FFUCxDLG1DQUVNLENBRU4sQyxpREFHWUQsaUIiLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVhZCBhIHByZXZpb3VzbHkgcmVjb3JkZWQgdHJhaW5pbmcgc2V0XG4gKlxuICogQHByaXZhdGVcbiAqIEB0b2RvIC0gaW1wbGVtZW50XG4gKi9cbmNsYXNzIFRyYWluaW5nU2V0UmVhZGVyIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gdXNlIGxmbyByZWFkZXIgaW50ZXJuYWxseVxuICB9XG5cbiAgcGxheShleGFtcGxlSW5kZXgpIHtcblxuICB9XG5cbiAgcGF1c2UoKSB7XG5cbiAgfVxuXG4gIHN0b3AoKSB7XG5cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBUcmFpbmluZ1NldFJlYWRlcjtcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIlRyYWluaW5nU2V0UmVhZGVyIiwiZXhhbXBsZUluZGV4Il0sIm1hcHBpbmdzIjoibVpBQUE7Ozs7O01BTU1BLGtCLFlBQ0osNEJBQWMsQ0FDWjtBQURZLHFEQUViLEMsNkVBRUlDLFksQ0FBYyxDQUVsQixDLHFDQUVPLENBRVAsQyxtQ0FFTSxDQUVOLEMsaURBR1lELGlCIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZWFkIGEgcHJldmlvdXNseSByZWNvcmRlZCB0cmFpbmluZyBzZXRcbiAqXG4gKiBAcHJpdmF0ZVxuICogQHRvZG8gLSBpbXBsZW1lbnRcbiAqL1xuY2xhc3MgVHJhaW5pbmdTZXRSZWFkZXIge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyB1c2UgbGZvIHJlYWRlciBpbnRlcm5hbGx5XG4gIH1cblxuICBwbGF5KGV4YW1wbGVJbmRleCkge1xuXG4gIH1cblxuICBwYXVzZSgpIHtcblxuICB9XG5cbiAgc3RvcCgpIHtcblxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRyYWluaW5nU2V0UmVhZGVyO1xuIl19 \ No newline at end of file diff --git a/client/index.js b/client/index.js index 9e5ddb7..654c72f 100644 --- a/client/index.js +++ b/client/index.js @@ -1,2 +1,2 @@ -'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _ProcessedSensors=require('./ProcessedSensors');Object.defineProperty(exports,'ProcessedSensors',{enumerable:true,get:function get(){return _interopRequireDefault(_ProcessedSensors).default;}});var _TrainingSetReader=require('./TrainingSetReader');Object.defineProperty(exports,'TrainingSetReader',{enumerable:true,get:function get(){return _interopRequireDefault(_TrainingSetReader).default;}});var _TrainingData=require('../common/TrainingData');Object.defineProperty(exports,'Example',{enumerable:true,get:function get(){return _TrainingData.Example;}});Object.defineProperty(exports,'TrainingData',{enumerable:true,get:function get(){return _TrainingData.TrainingData;}});var _XmmProcessor=require('../common/XmmProcessor');Object.defineProperty(exports,'XmmProcessor',{enumerable:true,get:function get(){return _interopRequireDefault(_XmmProcessor).default;}});var _translators=require('../common/translators');Object.defineProperty(exports,'rapidMixToXmmTrainingSet',{enumerable:true,get:function get(){return _translators.rapidMixToXmmTrainingSet;}});Object.defineProperty(exports,'xmmToRapidMixTrainingSet',{enumerable:true,get:function get(){return _translators.xmmToRapidMixTrainingSet;}});Object.defineProperty(exports,'xmmToRapidMixModel',{enumerable:true,get:function get(){return _translators.xmmToRapidMixModel;}});Object.defineProperty(exports,'rapidMixToXmmModel',{enumerable:true,get:function get(){return _translators.rapidMixToXmmModel;}});var _constants=require('../common/constants');Object.defineProperty(exports,'rapidMixDocVersion',{enumerable:true,get:function get(){return _constants.rapidMixDocVersion;}});Object.defineProperty(exports,'rapidMixDefaultLabel',{enumerable:true,get:function get(){return _constants.rapidMixDefaultLabel;}});function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};} -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZhbGlkYXRvcnMuanMiXSwibmFtZXMiOlsiZGVmYXVsdCIsIkV4YW1wbGUiLCJUcmFpbmluZ0RhdGEiLCJyYXBpZE1peFRvWG1tVHJhaW5pbmdTZXQiLCJ4bW1Ub1JhcGlkTWl4VHJhaW5pbmdTZXQiLCJ4bW1Ub1JhcGlkTWl4TW9kZWwiLCJyYXBpZE1peFRvWG1tTW9kZWwiLCJyYXBpZE1peERvY1ZlcnNpb24iLCJyYXBpZE1peERlZmF1bHRMYWJlbCJdLCJtYXBwaW5ncyI6ImdRQUFTQSxPLG1NQUNBQSxPLDBKQUNBQyxPLDJHQUFTQyxZLHVMQUNURixPLHdLQUdQRyx3QixzSEFDQUMsd0IsZ0hBQ0FDLGtCLGdIQUNBQyxrQiw0SkFJQUMsa0IsZ0hBQ0FDLG9CIiwiZmlsZSI6InZhbGlkYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IGFzIFByb2Nlc3NlZFNlbnNvcnMgfSBmcm9tICcuL1Byb2Nlc3NlZFNlbnNvcnMnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBUcmFpbmluZ1NldFJlYWRlciB9IGZyb20gJy4vVHJhaW5pbmdTZXRSZWFkZXInO1xuZXhwb3J0IHsgRXhhbXBsZSwgVHJhaW5pbmdEYXRhIH0gZnJvbSAnLi4vY29tbW9uL1RyYWluaW5nRGF0YSc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFhtbVByb2Nlc3NvciB9IGZyb20gJy4uL2NvbW1vbi9YbW1Qcm9jZXNzb3InO1xuXG5leHBvcnQge1xuICByYXBpZE1peFRvWG1tVHJhaW5pbmdTZXQsXG4gIHhtbVRvUmFwaWRNaXhUcmFpbmluZ1NldCxcbiAgeG1tVG9SYXBpZE1peE1vZGVsLFxuICByYXBpZE1peFRvWG1tTW9kZWwsXG59IGZyb20gJy4uL2NvbW1vbi90cmFuc2xhdG9ycyc7XG5cbmV4cG9ydCB7XG4gIHJhcGlkTWl4RG9jVmVyc2lvbixcbiAgcmFwaWRNaXhEZWZhdWx0TGFiZWwsXG59IGZyb20gJy4uL2NvbW1vbi9jb25zdGFudHMnO1xuIl19 \ No newline at end of file +'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _Example=require('./Example');Object.defineProperty(exports,'Example',{enumerable:true,get:function get(){return _interopRequireDefault(_Example).default;}});var _TrainingData=require('./TrainingData');Object.defineProperty(exports,'TrainingData',{enumerable:true,get:function get(){return _interopRequireDefault(_TrainingData).default;}});var _ProcessedSensors=require('./ProcessedSensors');Object.defineProperty(exports,'ProcessedSensors',{enumerable:true,get:function get(){return _interopRequireDefault(_ProcessedSensors).default;}});var _XmmProcessor=require('../common/XmmProcessor');Object.defineProperty(exports,'XmmProcessor',{enumerable:true,get:function get(){return _interopRequireDefault(_XmmProcessor).default;}});function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};} +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbImRlZmF1bHQiXSwibWFwcGluZ3MiOiI0TkFBU0EsTywrS0FDQUEsTywrTEFDQUEsTyx1TEFDQUEsTyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgYXMgRXhhbXBsZSB9IGZyb20gJy4vRXhhbXBsZSc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFRyYWluaW5nRGF0YSB9IGZyb20gJy4vVHJhaW5pbmdEYXRhJztcbmV4cG9ydCB7IGRlZmF1bHQgYXMgUHJvY2Vzc2VkU2Vuc29ycyB9IGZyb20gJy4vUHJvY2Vzc2VkU2Vuc29ycyc7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFhtbVByb2Nlc3NvciB9IGZyb20gJy4uL2NvbW1vbi9YbW1Qcm9jZXNzb3InO1xuIl19 \ No newline at end of file diff --git a/common/Example.js b/common/Example.js new file mode 100644 index 0000000..b79bf6e --- /dev/null +++ b/common/Example.js @@ -0,0 +1,36 @@ +'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _from=require('babel-runtime/core-js/array/from');var _from2=_interopRequireDefault(_from);var _classCallCheck2=require('babel-runtime/helpers/classCallCheck');var _classCallCheck3=_interopRequireDefault(_classCallCheck2);var _createClass2=require('babel-runtime/helpers/createClass');var _createClass3=_interopRequireDefault(_createClass2);var _rapidMixAdapters=require('rapid-mix-adapters');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}// source : https://stackoverflow.com/questions/15251879/how-to-check-if-a-variable-is-a-typed-array-in-javascript +var isArray=function isArray(v){return v.constructor===Float32Array||v.constructor===Float64Array||Array.isArray(v);};/** + * Class modeling an example (time series of vectors that may represent a gesture). + * If no parameters are given, the dimensions will be guessed from the first + * added element after instantiation of the class and after each call to clear. + * If parameters are given, they will be used to strictly check any new element, + * anytime. + * + * @param {Number} [inputDimension=null] - If defined, definitive input dimension + * that will be checked to validate any new element added. + * @param {Number} [outputDimension=null] - If defined, definitive output dimension + * that will be checked to validate any new element added. + */var Example=function(){function Example(){var inputDimension=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var outputDimension=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;(0,_classCallCheck3.default)(this,Example);if(inputDimension!==null){this.fixedDimensions=true;this.inputDimension=inputDimension;this.outputDimension=outputDimension!==null?outputDimension:0;}else{this.fixedDimensions=false;}this.label=_rapidMixAdapters.constants.rapidMixDefaultLabel;this._init();}/** + * Append an element to the current example. + * + * @param {Array.Number|Float32Array|Float64Array} inputVector - The input + * part of the element to add. + * @param {Array.Number|Float32Array|Float64Array} [outputVector=null] - The + * output part of the element to add. + * + * @throws An error if inputVector or outputVector dimensions mismatch. + */(0,_createClass3.default)(Example,[{key:'addElement',value:function addElement(inputVector){var outputVector=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;this._validateInputAndUpdateDimensions(inputVector,outputVector);if(inputVector instanceof Float32Array||inputVector instanceof Float64Array)inputVector=(0,_from2.default)(inputVector);if(outputVector instanceof Float32Array||outputVector instanceof Float64Array)outputVector=(0,_from2.default)(outputVector);this.input.push(inputVector);if(this.outputDimension>0)this.output.push(outputVector);}/** + * Reinit the internal variables so that we are ready to record a new example. + */},{key:'clear',value:function clear(){this._init();}/** + * Set the example's current label. + * + * @param {String} label - The new label to assign to the class. + */},{key:'setLabel',value:function setLabel(label){this.label=label;}/** + * Get the example in RapidMix format. + * + * @returns {Object} A RapidMix compliant example object. + */},{key:'getExample',value:function getExample(){return{docType:'rapid-mix:example',docVersion:_rapidMixAdapters.constants.rapidMixDocVersion,payload:{label:this.label,// inputDimension: this.inputDimension, +// outputDimension: this.outputDimension, +input:this.input.slice(0),output:this.output.slice(0)}};}/** @private */},{key:'_init',value:function _init(){if(!this.fixedDimensions){this.inputDimension=null;this.outputDimension=null;}this.input=[];this.output=[];}/** @private */},{key:'_validateInputAndUpdateDimensions',value:function _validateInputAndUpdateDimensions(inputVector,outputVector){if(!isArray(inputVector)||outputVector&&!isArray(outputVector)){throw new Error('inputVector and outputVector must be arrays');}if(!this.inputDimension||!this.outputDimension){this.inputDimension=inputVector.length;this.outputDimension=outputVector?outputVector.length:0;// this._empty = false; +}else if(inputVector.length!=this.inputDimension||outputVector.length!=this.outputDimension){throw new Error('dimensions mismatch');}}}]);return Example;}();exports.default=Example; +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbImlzQXJyYXkiLCJ2IiwiY29uc3RydWN0b3IiLCJGbG9hdDMyQXJyYXkiLCJGbG9hdDY0QXJyYXkiLCJBcnJheSIsIkV4YW1wbGUiLCJpbnB1dERpbWVuc2lvbiIsIm91dHB1dERpbWVuc2lvbiIsImZpeGVkRGltZW5zaW9ucyIsImxhYmVsIiwicmFwaWRNaXhEZWZhdWx0TGFiZWwiLCJfaW5pdCIsImlucHV0VmVjdG9yIiwib3V0cHV0VmVjdG9yIiwiX3ZhbGlkYXRlSW5wdXRBbmRVcGRhdGVEaW1lbnNpb25zIiwiaW5wdXQiLCJwdXNoIiwib3V0cHV0IiwiZG9jVHlwZSIsImRvY1ZlcnNpb24iLCJyYXBpZE1peERvY1ZlcnNpb24iLCJwYXlsb2FkIiwic2xpY2UiLCJFcnJvciIsImxlbmd0aCJdLCJtYXBwaW5ncyI6IitaQUFBLG9ELG1GQUVBO0FBQ0EsR0FBTUEsU0FBVSxRQUFWQSxRQUFVLEdBQUssQ0FDbkIsTUFBT0MsR0FBRUMsV0FBRixHQUFrQkMsWUFBbEIsRUFDQUYsRUFBRUMsV0FBRixHQUFrQkUsWUFEbEIsRUFFQUMsTUFBTUwsT0FBTixDQUFjQyxDQUFkLENBRlAsQ0FHRCxDQUpELENBTUE7Ozs7Ozs7Ozs7O01BWU1LLFEsWUFDSixrQkFBMkQsSUFBL0NDLGVBQStDLDJEQUE5QixJQUE4QixJQUF4QkMsZ0JBQXdCLDJEQUFOLElBQU0sNENBQ3pELEdBQUlELGlCQUFtQixJQUF2QixDQUE2QixDQUMzQixLQUFLRSxlQUFMLENBQXVCLElBQXZCLENBQ0EsS0FBS0YsY0FBTCxDQUFzQkEsY0FBdEIsQ0FDQSxLQUFLQyxlQUFMLENBQXVCQSxrQkFBb0IsSUFBcEIsQ0FBMkJBLGVBQTNCLENBQTZDLENBQXBFLENBQ0QsQ0FKRCxJQUlPLENBQ0wsS0FBS0MsZUFBTCxDQUF1QixLQUF2QixDQUNELENBRUQsS0FBS0MsS0FBTCxDQUFhLDRCQUFrQkMsb0JBQS9CLENBQ0EsS0FBS0MsS0FBTCxHQUNELENBRUQ7Ozs7Ozs7OztvRkFVV0MsVyxDQUFrQyxJQUFyQkMsYUFBcUIsMkRBQU4sSUFBTSxDQUMzQyxLQUFLQyxpQ0FBTCxDQUF1Q0YsV0FBdkMsQ0FBb0RDLFlBQXBELEVBRUEsR0FBSUQsc0JBQXVCVixhQUF2QixFQUNBVSxzQkFBdUJULGFBRDNCLENBRUVTLFlBQWMsbUJBQVdBLFdBQVgsQ0FBZCxDQUVGLEdBQUlDLHVCQUF3QlgsYUFBeEIsRUFDQVcsdUJBQXdCVixhQUQ1QixDQUVFVSxhQUFlLG1CQUFXQSxZQUFYLENBQWYsQ0FFRixLQUFLRSxLQUFMLENBQVdDLElBQVgsQ0FBZ0JKLFdBQWhCLEVBRUEsR0FBSSxLQUFLTCxlQUFMLENBQXVCLENBQTNCLENBQ0UsS0FBS1UsTUFBTCxDQUFZRCxJQUFaLENBQWlCSCxZQUFqQixFQUNILENBRUQ7OzBDQUdRLENBQ04sS0FBS0YsS0FBTCxHQUNELENBRUQ7Ozs7K0NBS1NGLEssQ0FBTyxDQUNkLEtBQUtBLEtBQUwsQ0FBYUEsS0FBYixDQUNELENBRUQ7Ozs7b0RBS2EsQ0FDWCxNQUFPLENBQ0xTLFFBQVMsbUJBREosQ0FFTEMsV0FBWSw0QkFBa0JDLGtCQUZ6QixDQUdMQyxRQUFTLENBQ1BaLE1BQU8sS0FBS0EsS0FETCxDQUVQO0FBQ0E7QUFDQU0sTUFBTyxLQUFLQSxLQUFMLENBQVdPLEtBQVgsQ0FBaUIsQ0FBakIsQ0FKQSxDQUtQTCxPQUFRLEtBQUtBLE1BQUwsQ0FBWUssS0FBWixDQUFrQixDQUFsQixDQUxELENBSEosQ0FBUCxDQVdELENBRUQsZSxxQ0FDUSxDQUNOLEdBQUksQ0FBQyxLQUFLZCxlQUFWLENBQTJCLENBQ3pCLEtBQUtGLGNBQUwsQ0FBc0IsSUFBdEIsQ0FDQSxLQUFLQyxlQUFMLENBQXVCLElBQXZCLENBQ0QsQ0FFRCxLQUFLUSxLQUFMLENBQWEsRUFBYixDQUNBLEtBQUtFLE1BQUwsQ0FBYyxFQUFkLENBQ0QsQ0FFRCxlLDRGQUNrQ0wsVyxDQUFhQyxZLENBQWMsQ0FDM0QsR0FBSSxDQUFDZCxRQUFRYSxXQUFSLENBQUQsRUFBMEJDLGNBQWdCLENBQUNkLFFBQVFjLFlBQVIsQ0FBL0MsQ0FBdUUsQ0FDckUsS0FBTSxJQUFJVSxNQUFKLENBQVUsNkNBQVYsQ0FBTixDQUNELENBRUQsR0FBSSxDQUFDLEtBQUtqQixjQUFOLEVBQXdCLENBQUMsS0FBS0MsZUFBbEMsQ0FBbUQsQ0FDakQsS0FBS0QsY0FBTCxDQUFzQk0sWUFBWVksTUFBbEMsQ0FDQSxLQUFLakIsZUFBTCxDQUF1Qk0sYUFBZUEsYUFBYVcsTUFBNUIsQ0FBcUMsQ0FBNUQsQ0FDQTtBQUNELENBSkQsSUFJTyxJQUFJWixZQUFZWSxNQUFaLEVBQXNCLEtBQUtsQixjQUEzQixFQUNETyxhQUFhVyxNQUFiLEVBQXVCLEtBQUtqQixlQUQvQixDQUNnRCxDQUNyRCxLQUFNLElBQUlnQixNQUFKLENBQVUscUJBQVYsQ0FBTixDQUNELENBQ0YsQyx1Q0FHWWxCLE8iLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zdGFudHMgYXMgcmFwaWRNaXhDb25zdGFudHMgfSBmcm9tICdyYXBpZC1taXgtYWRhcHRlcnMnO1xuXG4vLyBzb3VyY2UgOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNTI1MTg3OS9ob3ctdG8tY2hlY2staWYtYS12YXJpYWJsZS1pcy1hLXR5cGVkLWFycmF5LWluLWphdmFzY3JpcHRcbmNvbnN0IGlzQXJyYXkgPSB2ID0+IHtcbiAgcmV0dXJuIHYuY29uc3RydWN0b3IgPT09IEZsb2F0MzJBcnJheSB8fFxuICAgICAgICAgdi5jb25zdHJ1Y3RvciA9PT0gRmxvYXQ2NEFycmF5IHx8XG4gICAgICAgICBBcnJheS5pc0FycmF5KHYpO1xufTtcblxuLyoqXG4gKiBDbGFzcyBtb2RlbGluZyBhbiBleGFtcGxlICh0aW1lIHNlcmllcyBvZiB2ZWN0b3JzIHRoYXQgbWF5IHJlcHJlc2VudCBhIGdlc3R1cmUpLlxuICogSWYgbm8gcGFyYW1ldGVycyBhcmUgZ2l2ZW4sIHRoZSBkaW1lbnNpb25zIHdpbGwgYmUgZ3Vlc3NlZCBmcm9tIHRoZSBmaXJzdFxuICogYWRkZWQgZWxlbWVudCBhZnRlciBpbnN0YW50aWF0aW9uIG9mIHRoZSBjbGFzcyBhbmQgYWZ0ZXIgZWFjaCBjYWxsIHRvIGNsZWFyLlxuICogSWYgcGFyYW1ldGVycyBhcmUgZ2l2ZW4sIHRoZXkgd2lsbCBiZSB1c2VkIHRvIHN0cmljdGx5IGNoZWNrIGFueSBuZXcgZWxlbWVudCxcbiAqIGFueXRpbWUuXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IFtpbnB1dERpbWVuc2lvbj1udWxsXSAtIElmIGRlZmluZWQsIGRlZmluaXRpdmUgaW5wdXQgZGltZW5zaW9uXG4gKiB0aGF0IHdpbGwgYmUgY2hlY2tlZCB0byB2YWxpZGF0ZSBhbnkgbmV3IGVsZW1lbnQgYWRkZWQuXG4gKiBAcGFyYW0ge051bWJlcn0gW291dHB1dERpbWVuc2lvbj1udWxsXSAtIElmIGRlZmluZWQsIGRlZmluaXRpdmUgb3V0cHV0IGRpbWVuc2lvblxuICogdGhhdCB3aWxsIGJlIGNoZWNrZWQgdG8gdmFsaWRhdGUgYW55IG5ldyBlbGVtZW50IGFkZGVkLlxuICovXG5jbGFzcyBFeGFtcGxlIHtcbiAgY29uc3RydWN0b3IoaW5wdXREaW1lbnNpb24gPSBudWxsLCBvdXRwdXREaW1lbnNpb24gPSBudWxsKSB7XG4gICAgaWYgKGlucHV0RGltZW5zaW9uICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmZpeGVkRGltZW5zaW9ucyA9IHRydWU7XG4gICAgICB0aGlzLmlucHV0RGltZW5zaW9uID0gaW5wdXREaW1lbnNpb247XG4gICAgICB0aGlzLm91dHB1dERpbWVuc2lvbiA9IG91dHB1dERpbWVuc2lvbiAhPT0gbnVsbCA/IG91dHB1dERpbWVuc2lvbiA6IDA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZml4ZWREaW1lbnNpb25zID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5sYWJlbCA9IHJhcGlkTWl4Q29uc3RhbnRzLnJhcGlkTWl4RGVmYXVsdExhYmVsO1xuICAgIHRoaXMuX2luaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBlbmQgYW4gZWxlbWVudCB0byB0aGUgY3VycmVudCBleGFtcGxlLlxuICAgKlxuICAgKiBAcGFyYW0ge0FycmF5Lk51bWJlcnxGbG9hdDMyQXJyYXl8RmxvYXQ2NEFycmF5fSBpbnB1dFZlY3RvciAtIFRoZSBpbnB1dFxuICAgKiBwYXJ0IG9mIHRoZSBlbGVtZW50IHRvIGFkZC5cbiAgICogQHBhcmFtIHtBcnJheS5OdW1iZXJ8RmxvYXQzMkFycmF5fEZsb2F0NjRBcnJheX0gW291dHB1dFZlY3Rvcj1udWxsXSAtIFRoZVxuICAgKiBvdXRwdXQgcGFydCBvZiB0aGUgZWxlbWVudCB0byBhZGQuXG4gICAqXG4gICAqIEB0aHJvd3MgQW4gZXJyb3IgaWYgaW5wdXRWZWN0b3Igb3Igb3V0cHV0VmVjdG9yIGRpbWVuc2lvbnMgbWlzbWF0Y2guXG4gICAqL1xuICBhZGRFbGVtZW50KGlucHV0VmVjdG9yLCBvdXRwdXRWZWN0b3IgPSBudWxsKSB7XG4gICAgdGhpcy5fdmFsaWRhdGVJbnB1dEFuZFVwZGF0ZURpbWVuc2lvbnMoaW5wdXRWZWN0b3IsIG91dHB1dFZlY3Rvcik7XG5cbiAgICBpZiAoaW5wdXRWZWN0b3IgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXkgfHxcbiAgICAgICAgaW5wdXRWZWN0b3IgaW5zdGFuY2VvZiBGbG9hdDY0QXJyYXkpXG4gICAgICBpbnB1dFZlY3RvciA9IEFycmF5LmZyb20oaW5wdXRWZWN0b3IpO1xuXG4gICAgaWYgKG91dHB1dFZlY3RvciBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheSB8fFxuICAgICAgICBvdXRwdXRWZWN0b3IgaW5zdGFuY2VvZiBGbG9hdDY0QXJyYXkpXG4gICAgICBvdXRwdXRWZWN0b3IgPSBBcnJheS5mcm9tKG91dHB1dFZlY3Rvcik7XG5cbiAgICB0aGlzLmlucHV0LnB1c2goaW5wdXRWZWN0b3IpO1xuXG4gICAgaWYgKHRoaXMub3V0cHV0RGltZW5zaW9uID4gMClcbiAgICAgIHRoaXMub3V0cHV0LnB1c2gob3V0cHV0VmVjdG9yKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWluaXQgdGhlIGludGVybmFsIHZhcmlhYmxlcyBzbyB0aGF0IHdlIGFyZSByZWFkeSB0byByZWNvcmQgYSBuZXcgZXhhbXBsZS5cbiAgICovXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuX2luaXQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGV4YW1wbGUncyBjdXJyZW50IGxhYmVsLlxuICAgKlxuICAgKiBAcGFyYW0ge1N0cmluZ30gbGFiZWwgLSBUaGUgbmV3IGxhYmVsIHRvIGFzc2lnbiB0byB0aGUgY2xhc3MuXG4gICAqL1xuICBzZXRMYWJlbChsYWJlbCkge1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGV4YW1wbGUgaW4gUmFwaWRNaXggZm9ybWF0LlxuICAgKlxuICAgKiBAcmV0dXJucyB7T2JqZWN0fSBBIFJhcGlkTWl4IGNvbXBsaWFudCBleGFtcGxlIG9iamVjdC5cbiAgICovXG4gIGdldEV4YW1wbGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRvY1R5cGU6ICdyYXBpZC1taXg6ZXhhbXBsZScsXG4gICAgICBkb2NWZXJzaW9uOiByYXBpZE1peENvbnN0YW50cy5yYXBpZE1peERvY1ZlcnNpb24sXG4gICAgICBwYXlsb2FkOiB7XG4gICAgICAgIGxhYmVsOiB0aGlzLmxhYmVsLFxuICAgICAgICAvLyBpbnB1dERpbWVuc2lvbjogdGhpcy5pbnB1dERpbWVuc2lvbixcbiAgICAgICAgLy8gb3V0cHV0RGltZW5zaW9uOiB0aGlzLm91dHB1dERpbWVuc2lvbixcbiAgICAgICAgaW5wdXQ6IHRoaXMuaW5wdXQuc2xpY2UoMCksXG4gICAgICAgIG91dHB1dDogdGhpcy5vdXRwdXQuc2xpY2UoMCksXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8qKiBAcHJpdmF0ZSAqL1xuICBfaW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZml4ZWREaW1lbnNpb25zKSB7XG4gICAgICB0aGlzLmlucHV0RGltZW5zaW9uID0gbnVsbDtcbiAgICAgIHRoaXMub3V0cHV0RGltZW5zaW9uID0gbnVsbDtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0ID0gW107XG4gICAgdGhpcy5vdXRwdXQgPSBbXTtcbiAgfVxuXG4gIC8qKiBAcHJpdmF0ZSAqL1xuICBfdmFsaWRhdGVJbnB1dEFuZFVwZGF0ZURpbWVuc2lvbnMoaW5wdXRWZWN0b3IsIG91dHB1dFZlY3Rvcikge1xuICAgIGlmICghaXNBcnJheShpbnB1dFZlY3RvcikgfHwgKG91dHB1dFZlY3RvciAmJiAhaXNBcnJheShvdXRwdXRWZWN0b3IpKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnB1dFZlY3RvciBhbmQgb3V0cHV0VmVjdG9yIG11c3QgYmUgYXJyYXlzJyk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlucHV0RGltZW5zaW9uIHx8ICF0aGlzLm91dHB1dERpbWVuc2lvbikge1xuICAgICAgdGhpcy5pbnB1dERpbWVuc2lvbiA9IGlucHV0VmVjdG9yLmxlbmd0aDtcbiAgICAgIHRoaXMub3V0cHV0RGltZW5zaW9uID0gb3V0cHV0VmVjdG9yID8gb3V0cHV0VmVjdG9yLmxlbmd0aCA6IDA7XG4gICAgICAvLyB0aGlzLl9lbXB0eSA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoaW5wdXRWZWN0b3IubGVuZ3RoICE9IHRoaXMuaW5wdXREaW1lbnNpb24gfHxcbiAgICAgICAgICAgICAgb3V0cHV0VmVjdG9yLmxlbmd0aCAhPSB0aGlzLm91dHB1dERpbWVuc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdkaW1lbnNpb25zIG1pc21hdGNoJyk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEV4YW1wbGU7XG4iXX0= \ No newline at end of file diff --git a/common/TrainingData.js b/common/TrainingData.js index 74cc334..e69ae6e 100644 --- a/common/TrainingData.js +++ b/common/TrainingData.js @@ -1,40 +1,5 @@ -'use strict';Object.defineProperty(exports,"__esModule",{value:true});exports.TrainingData=exports.Example=undefined;var _from=require('babel-runtime/core-js/array/from');var _from2=_interopRequireDefault(_from);var _classCallCheck2=require('babel-runtime/helpers/classCallCheck');var _classCallCheck3=_interopRequireDefault(_classCallCheck2);var _createClass2=require('babel-runtime/helpers/createClass');var _createClass3=_interopRequireDefault(_createClass2);var _rapidMixAdapters=require('rapid-mix-adapters');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}// source : https://stackoverflow.com/questions/15251879/how-to-check-if-a-variable-is-a-typed-array-in-javascript -var isArray=function isArray(v){return v.constructor===Float32Array||v.constructor===Float64Array||Array.isArray(v);};//================================== EXAMPLE =================================// -/** - * Class modeling an example (time series of vectors that may represent a gesture). - * If no parameters are given, the dimensions will be guessed from the first - * added element after instantiation of the class and after each call to clear. - * If parameters are given, they will be used to strictly check any new element, - * anytime. - * - * @param {Number} [inputDimension=null] - If defined, definitive input dimension - * that will be checked to validate any new element added. - * @param {Number} [outputDimension=null] - If defined, definitive output dimension - * that will be checked to validate any new element added. - */var Example=function(){function Example(){var inputDimension=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;var outputDimension=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;(0,_classCallCheck3.default)(this,Example);if(inputDimension!==null){this.fixedDimensions=true;this.inputDimension=inputDimension;this.outputDimension=outputDimension!==null?outputDimension:0;}else{this.fixedDimensions=false;}this.label=_rapidMixAdapters.constants.rapidMixDefaultLabel;this._init();}/** - * Append an element to the current example. - * - * @param {Array.Number|Float32Array|Float64Array} inputVector - The input - * part of the element to add. - * @param {Array.Number|Float32Array|Float64Array} [outputVector=null] - The - * output part of the element to add. - * - * @throws An error if inputVector or outputVector dimensions mismatch. - */(0,_createClass3.default)(Example,[{key:'addElement',value:function addElement(inputVector){var outputVector=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;this._validateInputAndUpdateDimensions(inputVector,outputVector);if(inputVector instanceof Float32Array||inputVector instanceof Float64Array)inputVector=(0,_from2.default)(inputVector);if(outputVector instanceof Float32Array||outputVector instanceof Float64Array)outputVector=(0,_from2.default)(outputVector);this.input.push(inputVector);if(this.outputDimension>0)this.output.push(outputVector);}/** - * Reinit the internal variables so that we are ready to record a new example. - */},{key:'clear',value:function clear(){this._init();}/** - * Set the example's current label. - * - * @param {String} label - The new label to assign to the class. - */},{key:'setLabel',value:function setLabel(label){this.label=label;}/** - * Get the example in RapidMix format. - * - * @returns {Object} A RapidMix compliant example object. - */},{key:'getExample',value:function getExample(){return{docType:'rapid-mix:example',docVersion:_rapidMixAdapters.constants.rapidMixDocVersion,payload:{label:this.label,// inputDimension: this.inputDimension, -// outputDimension: this.outputDimension, -input:this.input.slice(0),output:this.output.slice(0)}};}/** @private */},{key:'_init',value:function _init(){if(!this.fixedDimensions){this.inputDimension=null;this.outputDimension=null;}this.input=[];this.output=[];}/** @private */},{key:'_validateInputAndUpdateDimensions',value:function _validateInputAndUpdateDimensions(inputVector,outputVector){if(!isArray(inputVector)||outputVector&&!isArray(outputVector)){throw new Error('inputVector and outputVector must be arrays');}if(!this.inputDimension||!this.outputDimension){this.inputDimension=inputVector.length;this.outputDimension=outputVector?outputVector.length:0;// this._empty = false; -}else if(inputVector.length!=this.inputDimension||outputVector.length!=this.outputDimension){throw new Error('dimensions mismatch');}}}]);return Example;}();//============================== TRAINING DATA ===============================// -/** +'use strict';Object.defineProperty(exports,"__esModule",{value:true});var _classCallCheck2=require('babel-runtime/helpers/classCallCheck');var _classCallCheck3=_interopRequireDefault(_classCallCheck2);var _createClass2=require('babel-runtime/helpers/createClass');var _createClass3=_interopRequireDefault(_createClass2);var _rapidMixAdapters=require('rapid-mix-adapters');function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}// source : https://stackoverflow.com/questions/15251879/how-to-check-if-a-variable-is-a-typed-array-in-javascript +var isArray=function isArray(v){return v.constructor===Float32Array||v.constructor===Float64Array||Array.isArray(v);};/** * Manage and format a set of recorded examples, maintain a RapidMix compliant * training set. * @@ -91,7 +56,7 @@ input:this.input.slice(0),output:this.output.slice(0)}};}/** @private */},{key:' * Remove all examples of a certain label. * * @param {String} label - The label of the recordings to be removed. - */},{key:'removeExamplesByLabel',value:function removeExamplesByLabel(label){for(var i=0;i0,dimension:payload.inputDimension+payload.outputDimension,dimensionInput:payload.outputDimension>0?payload.inputDimension:0};var phraseMaker=new Xmm.PhraseMaker(config);var setMaker=new Xmm.SetMaker();for(var i=0;i0)vector=vector.concat(datum.output[j]);phraseMaker.addObservation(vector);}setMaker.addPhrase(phraseMaker.getPhrase());}return setMaker.getTrainingSet();};/* * * * * * * * * * * * * * * * * Model * * * * * * * * * * * * * * * * * * *//** - * Convert an XMM model Object to a RapidMix model Object. - */var xmmToRapidMixModel=function xmmToRapidMixModel(xmmModel){var modelType=xmmModel.configuration.default_parameters.states?'hhmm':'gmm';return{docType:'rapid-mix:ml:model',docVersion:_constants.rapidMixDocVersion,target:{name:'xmm:'+modelType,version:'1.0.0'},payload:xmmModel};};/** @private */var rapidMixToXmmModel=function rapidMixToXmmModel(rmModel){// TODO -return null;};exports.rapidMixToXmmTrainingSet=rapidMixToXmmTrainingSet;exports.xmmToRapidMixModel=xmmToRapidMixModel; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZhbGlkYXRvcnMuanMiXSwibmFtZXMiOlsiWG1tIiwieG1tVG9SYXBpZE1peFRyYWluaW5nU2V0IiwicmFwaWRNaXhUb1htbVRyYWluaW5nU2V0IiwicGF5bG9hZCIsInJtU2V0IiwiY29uZmlnIiwiYmltb2RhbCIsIm91dHB1dERpbWVuc2lvbiIsImRpbWVuc2lvbiIsImlucHV0RGltZW5zaW9uIiwiZGltZW5zaW9uSW5wdXQiLCJwaHJhc2VNYWtlciIsIlBocmFzZU1ha2VyIiwic2V0TWFrZXIiLCJTZXRNYWtlciIsImkiLCJkYXRhIiwibGVuZ3RoIiwiZGF0dW0iLCJyZXNldCIsInNldENvbmZpZyIsImxhYmVsIiwiaiIsImlucHV0IiwidmVjdG9yIiwiY29uY2F0Iiwib3V0cHV0IiwiYWRkT2JzZXJ2YXRpb24iLCJhZGRQaHJhc2UiLCJnZXRQaHJhc2UiLCJnZXRUcmFpbmluZ1NldCIsInhtbVRvUmFwaWRNaXhNb2RlbCIsIm1vZGVsVHlwZSIsInhtbU1vZGVsIiwiY29uZmlndXJhdGlvbiIsImRlZmF1bHRfcGFyYW1ldGVycyIsInN0YXRlcyIsImRvY1R5cGUiLCJkb2NWZXJzaW9uIiwidGFyZ2V0IiwibmFtZSIsInZlcnNpb24iLCJyYXBpZE1peFRvWG1tTW9kZWwiXSwibWFwcGluZ3MiOiI0SUFBQSxxQyxHQUFZQSxJLHFDQUNaLHNDLDBPQUVBLCtFQUVBLGVBQ0EsR0FBTUMsMEJBQTJCLFFBQTNCQSx5QkFBMkIsUUFBVSxDQUN6QztBQUNBLE1BQU8sS0FBUCxDQUNELENBSEQsQ0FLQTs7R0FHQSxHQUFNQywwQkFBMkIsUUFBM0JBLHlCQUEyQixPQUFTLENBQ3hDLEdBQU1DLFNBQVVDLE1BQU1ELE9BQXRCLENBRUEsR0FBTUUsUUFBUyxDQUNiQyxRQUFTSCxRQUFRSSxlQUFSLENBQTBCLENBRHRCLENBRWJDLFVBQVdMLFFBQVFNLGNBQVIsQ0FBeUJOLFFBQVFJLGVBRi9CLENBR2JHLGVBQWlCUCxRQUFRSSxlQUFSLENBQTBCLENBQTNCLENBQWdDSixRQUFRTSxjQUF4QyxDQUF5RCxDQUg1RCxDQUFmLENBTUEsR0FBTUUsYUFBYyxHQUFJWCxLQUFJWSxXQUFSLENBQW9CUCxNQUFwQixDQUFwQixDQUNBLEdBQU1RLFVBQVcsR0FBSWIsS0FBSWMsUUFBUixFQUFqQixDQUVBLElBQUssR0FBSUMsR0FBSSxDQUFiLENBQWdCQSxFQUFJWixRQUFRYSxJQUFSLENBQWFDLE1BQWpDLENBQXlDRixHQUF6QyxDQUE4QyxDQUM1QyxHQUFNRyxPQUFRZixRQUFRYSxJQUFSLENBQWFELENBQWIsQ0FBZCxDQUVBSixZQUFZUSxLQUFaLEdBQ0FSLFlBQVlTLFNBQVosQ0FBc0IsQ0FBRUMsTUFBT0gsTUFBTUcsS0FBZixDQUF0QixFQUVBLElBQUssR0FBSUMsR0FBSSxDQUFiLENBQWdCQSxFQUFJSixNQUFNSyxLQUFOLENBQVlOLE1BQWhDLENBQXdDSyxHQUF4QyxDQUE2QyxDQUMzQyxHQUFJRSxRQUFTTixNQUFNSyxLQUFOLENBQVlELENBQVosQ0FBYixDQUVBLEdBQUluQixRQUFRSSxlQUFSLENBQTBCLENBQTlCLENBQ0VpQixPQUFTQSxPQUFPQyxNQUFQLENBQWNQLE1BQU1RLE1BQU4sQ0FBYUosQ0FBYixDQUFkLENBQVQsQ0FFRlgsWUFBWWdCLGNBQVosQ0FBMkJILE1BQTNCLEVBQ0QsQ0FFRFgsU0FBU2UsU0FBVCxDQUFtQmpCLFlBQVlrQixTQUFaLEVBQW5CLEVBQ0QsQ0FFRCxNQUFPaEIsVUFBU2lCLGNBQVQsRUFBUCxDQUNELENBL0JELENBaUNBLCtFQUVBOztHQUdBLEdBQU1DLG9CQUFxQixRQUFyQkEsbUJBQXFCLFVBQVksQ0FDckMsR0FBTUMsV0FBWUMsU0FBU0MsYUFBVCxDQUF1QkMsa0JBQXZCLENBQTBDQyxNQUExQyxDQUFtRCxNQUFuRCxDQUE0RCxLQUE5RSxDQUVBLE1BQU8sQ0FDTEMsUUFBUyxvQkFESixDQUVMQyx3Q0FGSyxDQUdMQyxPQUFRLENBQ05DLFlBQWFSLFNBRFAsQ0FFTlMsUUFBUyxPQUZILENBSEgsQ0FPTHRDLFFBQVM4QixRQVBKLENBQVAsQ0FTRCxDQVpELENBY0EsZUFDQSxHQUFNUyxvQkFBcUIsUUFBckJBLG1CQUFxQixTQUFXLENBQ3BDO0FBQ0EsTUFBTyxLQUFQLENBQ0QsQ0FIRCxDLFFBT0V4Qyx3QixDQUFBQSx3QixTQUNBNkIsa0IsQ0FBQUEsa0IiLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFhtbSBmcm9tICd4bW0tY2xpZW50JztcbmltcG9ydCB7IHJhcGlkTWl4RG9jVmVyc2lvbiB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuLyogKiAqICogKiAqICogKiAqICogKiAqICogKiAqIFRyYWluaW5nU2V0ICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqL1xuXG4vKiogQHByaXZhdGUgKi9cbmNvbnN0IHhtbVRvUmFwaWRNaXhUcmFpbmluZ1NldCA9IHhtbVNldCA9PiB7XG4gIC8vIFRPRE9cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogQ29udmVydCBhIFJhcGlkTWl4IHRyYWluaW5nIHNldCBPYmplY3QgdG8gYW4gWE1NIHRyYWluaW5nIHNldCBPYmplY3QuXG4gKi9cbmNvbnN0IHJhcGlkTWl4VG9YbW1UcmFpbmluZ1NldCA9IHJtU2V0ID0+IHtcbiAgY29uc3QgcGF5bG9hZCA9IHJtU2V0LnBheWxvYWQ7XG5cbiAgY29uc3QgY29uZmlnID0ge1xuICAgIGJpbW9kYWw6IHBheWxvYWQub3V0cHV0RGltZW5zaW9uID4gMCxcbiAgICBkaW1lbnNpb246IHBheWxvYWQuaW5wdXREaW1lbnNpb24gKyBwYXlsb2FkLm91dHB1dERpbWVuc2lvbixcbiAgICBkaW1lbnNpb25JbnB1dDogKHBheWxvYWQub3V0cHV0RGltZW5zaW9uID4gMCkgPyBwYXlsb2FkLmlucHV0RGltZW5zaW9uIDogMCxcbiAgfTtcblxuICBjb25zdCBwaHJhc2VNYWtlciA9IG5ldyBYbW0uUGhyYXNlTWFrZXIoY29uZmlnKTtcbiAgY29uc3Qgc2V0TWFrZXIgPSBuZXcgWG1tLlNldE1ha2VyKCk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXlsb2FkLmRhdGEubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBkYXR1bSA9IHBheWxvYWQuZGF0YVtpXTtcblxuICAgIHBocmFzZU1ha2VyLnJlc2V0KCk7XG4gICAgcGhyYXNlTWFrZXIuc2V0Q29uZmlnKHsgbGFiZWw6IGRhdHVtLmxhYmVsIH0pO1xuXG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBkYXR1bS5pbnB1dC5sZW5ndGg7IGorKykge1xuICAgICAgbGV0IHZlY3RvciA9IGRhdHVtLmlucHV0W2pdO1xuXG4gICAgICBpZiAocGF5bG9hZC5vdXRwdXREaW1lbnNpb24gPiAwKVxuICAgICAgICB2ZWN0b3IgPSB2ZWN0b3IuY29uY2F0KGRhdHVtLm91dHB1dFtqXSk7XG5cbiAgICAgIHBocmFzZU1ha2VyLmFkZE9ic2VydmF0aW9uKHZlY3Rvcik7XG4gICAgfVxuXG4gICAgc2V0TWFrZXIuYWRkUGhyYXNlKHBocmFzZU1ha2VyLmdldFBocmFzZSgpKTtcbiAgfVxuXG4gIHJldHVybiBzZXRNYWtlci5nZXRUcmFpbmluZ1NldCgpO1xufVxuXG4vKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqIE1vZGVsICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICovXG5cbi8qKlxuICogQ29udmVydCBhbiBYTU0gbW9kZWwgT2JqZWN0IHRvIGEgUmFwaWRNaXggbW9kZWwgT2JqZWN0LlxuICovXG5jb25zdCB4bW1Ub1JhcGlkTWl4TW9kZWwgPSB4bW1Nb2RlbCA9PiB7XG4gIGNvbnN0IG1vZGVsVHlwZSA9IHhtbU1vZGVsLmNvbmZpZ3VyYXRpb24uZGVmYXVsdF9wYXJhbWV0ZXJzLnN0YXRlcyA/ICdoaG1tJyA6ICdnbW0nO1xuXG4gIHJldHVybiB7XG4gICAgZG9jVHlwZTogJ3JhcGlkLW1peDptbDptb2RlbCcsXG4gICAgZG9jVmVyc2lvbjogcmFwaWRNaXhEb2NWZXJzaW9uLFxuICAgIHRhcmdldDoge1xuICAgICAgbmFtZTogYHhtbToke21vZGVsVHlwZX1gLFxuICAgICAgdmVyc2lvbjogJzEuMC4wJ1xuICAgIH0sXG4gICAgcGF5bG9hZDogeG1tTW9kZWwsXG4gIH1cbn07XG5cbi8qKiBAcHJpdmF0ZSAqL1xuY29uc3QgcmFwaWRNaXhUb1htbU1vZGVsID0gcm1Nb2RlbCA9PiB7XG4gIC8vIFRPRE9cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5leHBvcnQge1xuICAvLyB4bW1Ub1JhcGlkTWl4VHJhaW5pbmdTZXQsXG4gIHJhcGlkTWl4VG9YbW1UcmFpbmluZ1NldCxcbiAgeG1tVG9SYXBpZE1peE1vZGVsLFxuICAvLyByYXBpZE1peFRvWG1tTW9kZWwsXG59O1xuIl19 \ No newline at end of file diff --git a/common/validators.js b/common/validators.js deleted file mode 100644 index cff6260..0000000 --- a/common/validators.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict';Object.defineProperty(exports,"__esModule",{value:true});// import tv4 from 'tv4'; -// TODO !!! -/** @private */var knownTargets=exports.knownTargets={xmm:['gmm','gmr','hhmm','hhmr']};/* * * * * * * * * * * * * * * RAPID-MIX * * * * * * * * * * * * * * * * * * *//** @private */var isValidRapidMixTrainingSet=function isValidRapidMixTrainingSet(trainingSet){};/** @private */var isValidRapidMixConfiguration=function isValidRapidMixConfiguration(config){};/** @private */var isValidRapidMixPreProcessing=function isValidRapidMixPreProcessing(preProcessing){};/** @private */var isValidRapidMixModel=function isValidRapidMixModel(model){};/* * * * * * * * * * * * * * * * * XMM * * * * * * * * * * * * * * * * * * * *//** @private */var isValidXmmTrainingSet=function isValidXmmTrainingSet(trainingSet){};/** @private */var isValidXmmConfiguration=function isValidXmmConfiguration(config){}; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZhbGlkYXRvcnMuanMiXSwibmFtZXMiOlsia25vd25UYXJnZXRzIiwieG1tIiwiaXNWYWxpZFJhcGlkTWl4VHJhaW5pbmdTZXQiLCJpc1ZhbGlkUmFwaWRNaXhDb25maWd1cmF0aW9uIiwiaXNWYWxpZFJhcGlkTWl4UHJlUHJvY2Vzc2luZyIsImlzVmFsaWRSYXBpZE1peE1vZGVsIiwiaXNWYWxpZFhtbVRyYWluaW5nU2V0IiwiaXNWYWxpZFhtbUNvbmZpZ3VyYXRpb24iXSwibWFwcGluZ3MiOiJzRUFBQTtBQUNBO0FBRUEsZUFDTyxHQUFNQSxtQ0FBZSxDQUMxQkMsSUFBSyxDQUFFLEtBQUYsQ0FBUyxLQUFULENBQWdCLE1BQWhCLENBQXdCLE1BQXhCLENBRHFCLENBQXJCLENBSVAsK0VBRUEsZUFDQSxHQUFNQyw0QkFBNkIsUUFBN0JBLDJCQUE2QixhQUFlLENBRWpELENBRkQsQ0FJQSxlQUNBLEdBQU1DLDhCQUErQixRQUEvQkEsNkJBQStCLFFBQVUsQ0FFOUMsQ0FGRCxDQUlBLGVBQ0EsR0FBTUMsOEJBQStCLFFBQS9CQSw2QkFBK0IsZUFBaUIsQ0FFckQsQ0FGRCxDQUlBLGVBQ0EsR0FBTUMsc0JBQXVCLFFBQXZCQSxxQkFBdUIsT0FBUyxDQUVyQyxDQUZELENBSUEsK0VBRUEsZUFDQSxHQUFNQyx1QkFBd0IsUUFBeEJBLHNCQUF3QixhQUFlLENBRTVDLENBRkQsQ0FJQSxlQUNBLEdBQU1DLHlCQUEwQixRQUExQkEsd0JBQTBCLFFBQVUsQ0FFekMsQ0FGRCIsImZpbGUiOiJ2YWxpZGF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHR2NCBmcm9tICd0djQnO1xuLy8gVE9ETyAhISFcblxuLyoqIEBwcml2YXRlICovXG5leHBvcnQgY29uc3Qga25vd25UYXJnZXRzID0ge1xuICB4bW06IFsgJ2dtbScsICdnbXInLCAnaGhtbScsICdoaG1yJyBdXG59O1xuXG4vKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogUkFQSUQtTUlYICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICovXG5cbi8qKiBAcHJpdmF0ZSAqL1xuY29uc3QgaXNWYWxpZFJhcGlkTWl4VHJhaW5pbmdTZXQgPSB0cmFpbmluZ1NldCA9PiB7XG5cbn07XG5cbi8qKiBAcHJpdmF0ZSAqL1xuY29uc3QgaXNWYWxpZFJhcGlkTWl4Q29uZmlndXJhdGlvbiA9IGNvbmZpZyA9PiB7XG5cbn07XG5cbi8qKiBAcHJpdmF0ZSAqL1xuY29uc3QgaXNWYWxpZFJhcGlkTWl4UHJlUHJvY2Vzc2luZyA9IHByZVByb2Nlc3NpbmcgPT4ge1xuXG59O1xuXG4vKiogQHByaXZhdGUgKi9cbmNvbnN0IGlzVmFsaWRSYXBpZE1peE1vZGVsID0gbW9kZWwgPT4ge1xuXG59O1xuXG4vKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqIFhNTSAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICovXG5cbi8qKiBAcHJpdmF0ZSAqL1xuY29uc3QgaXNWYWxpZFhtbVRyYWluaW5nU2V0ID0gdHJhaW5pbmdTZXQgPT4ge1xuXG59O1xuXG4vKiogQHByaXZhdGUgKi9cbmNvbnN0IGlzVmFsaWRYbW1Db25maWd1cmF0aW9uID0gY29uZmlnID0+IHtcblxufTtcbiJdfQ== \ No newline at end of file