Subversion Repository Public Repository

Nextrek

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
    "uid": "B3C3E1B9K3F67A4C85SBC37E4BDDDAA1F7BC",
    "isLoaded": true,
    "lastModificationTime": 0,
    "items": {
        "name": "Component_ColorAnimation",
        "type": "game_script",
        "order": 10,
        "content": "# ===================================================================\n#\n#   Script: Component_ColorAnimation\n#\n#   $$COPYRIGHT$$\n#\n# ===================================================================\nclass Component_ColorAnimation extends gs.Component_Animation\n    ###*\n    * Executes a color-animation on a game-object.\n    *\n    * @module gs\n    * @class Component_MoveAnimation\n    * @extends gs.Component_Animation\n    * @memberof gs\n    * @constructor\n    ###\n    constructor: (data) ->\n        super\n        \n        ###*\n        * The easing-object used for the animation.\n        * @property easing\n        * @type gs.Easing\n        ###\n        @easing = new gs.Easing(null, data?.easing)\n        \n        ###*\n        * The start-color.\n        * @property sourceColor\n        * @type gs.Color\n        * @protected\n        ###\n        @sourceColor = data?.sourceColor || new Color()\n        \n        ###*\n        * The end-color.\n        * @property targetColor\n        * @type gs.Color\n        * @protected\n        ###\n        @targetColor = data?.targetColor || new Color()\n     \n    ###*\n    * Serializes the color-animation into a data-bundle.\n    *\n    * @method toDataBundle\n    ###    \n    toDataBundle: ->\n        easing: @easing,\n        sourceColor: @sourceColor,\n        targetColor: @targetColor\n     \n     \n \n    ###*\n    * Updates the color-animation\n    *\n    * @method update\n    ###    \n    update: ->\n        super\n        \n        if not @easing.isRunning then return\n        \n        @easing.updateValue()\n        a = @easing.value\n    \n        @object.color.red = Math.floor((@sourceColor.red * a + @targetColor.red * (255 - a)) / 255)\n        @object.color.green = Math.floor((@sourceColor.green * a + @targetColor.green * (255 - a)) / 255)\n        @object.color.blue = Math.floor((@sourceColor.blue * a + @targetColor.blue * (255 - a)) / 255)\n        @object.color.alpha = Math.floor((@sourceColor.alpha * a + @targetColor.alpha * (255 - a)) / 255)\n\n        if not @easing.isRunning\n            @object.color = @targetColor\n            @callback?(@object, this)\n    \n    ###*\n    * Starts the color-animation.\n    *\n    * @method colorTo\n    * @param {Color} color The target color.\n    * @param {number} duration The duration in frames.\n    * @param {Object} easingType The easing-type.\n    * @param {function} [callback] An optional callback-function called when the animation is finished.\n    ###          \n    start: (color, duration, easingType, callback) ->\n        @callback = callback\n        @easing.type = easingType\n        \n        if @object.color.red == color.red and @object.color.green == color.green and\n            @object.color.blue == color.blue and @object.color.alpha == color.alpha\n           @callback?(@object, this)\n    \n        if duration == 0 or @isInstantSkip()\n            @object.color = color\n            @callback?(@object, this)\n        else\n            @sourceColor = new Color(@object.color)\n            @targetColor = color\n            @easing.startValue(255, -255, duration)\n        \ngs.Component_ColorAnimation = Component_ColorAnimation",
        "parentId": "A8E9945CKEE5CA4855SAC81E480CB8098E0E",
        "folder": false,
        "compiledContent": "var Component_ColorAnimation,\n  extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n  hasProp = {}.hasOwnProperty;\n\nComponent_ColorAnimation = (function(superClass) {\n  extend(Component_ColorAnimation, superClass);\n\n\n  /**\n  * Executes a color-animation on a game-object.\n  *\n  * @module gs\n  * @class Component_MoveAnimation\n  * @extends gs.Component_Animation\n  * @memberof gs\n  * @constructor\n   */\n\n  function Component_ColorAnimation(data) {\n    Component_ColorAnimation.__super__.constructor.apply(this, arguments);\n\n    /**\n    * The easing-object used for the animation.\n    * @property easing\n    * @type gs.Easing\n     */\n    this.easing = new gs.Easing(null, data != null ? data.easing : void 0);\n\n    /**\n    * The start-color.\n    * @property sourceColor\n    * @type gs.Color\n    * @protected\n     */\n    this.sourceColor = (data != null ? data.sourceColor : void 0) || new Color();\n\n    /**\n    * The end-color.\n    * @property targetColor\n    * @type gs.Color\n    * @protected\n     */\n    this.targetColor = (data != null ? data.targetColor : void 0) || new Color();\n  }\n\n\n  /**\n  * Serializes the color-animation into a data-bundle.\n  *\n  * @method toDataBundle\n   */\n\n  Component_ColorAnimation.prototype.toDataBundle = function() {\n    return {\n      easing: this.easing,\n      sourceColor: this.sourceColor,\n      targetColor: this.targetColor\n    };\n  };\n\n\n  /**\n  * Updates the color-animation\n  *\n  * @method update\n   */\n\n  Component_ColorAnimation.prototype.update = function() {\n    var a;\n    Component_ColorAnimation.__super__.update.apply(this, arguments);\n    if (!this.easing.isRunning) {\n      return;\n    }\n    this.easing.updateValue();\n    a = this.easing.value;\n    this.object.color.red = Math.floor((this.sourceColor.red * a + this.targetColor.red * (255 - a)) / 255);\n    this.object.color.green = Math.floor((this.sourceColor.green * a + this.targetColor.green * (255 - a)) / 255);\n    this.object.color.blue = Math.floor((this.sourceColor.blue * a + this.targetColor.blue * (255 - a)) / 255);\n    this.object.color.alpha = Math.floor((this.sourceColor.alpha * a + this.targetColor.alpha * (255 - a)) / 255);\n    if (!this.easing.isRunning) {\n      this.object.color = this.targetColor;\n      return typeof this.callback === \"function\" ? this.callback(this.object, this) : void 0;\n    }\n  };\n\n\n  /**\n  * Starts the color-animation.\n  *\n  * @method colorTo\n  * @param {Color} color The target color.\n  * @param {number} duration The duration in frames.\n  * @param {Object} easingType The easing-type.\n  * @param {function} [callback] An optional callback-function called when the animation is finished.\n   */\n\n  Component_ColorAnimation.prototype.start = function(color, duration, easingType, callback) {\n    this.callback = callback;\n    this.easing.type = easingType;\n    if (this.object.color.red === color.red && this.object.color.green === color.green && this.object.color.blue === color.blue && this.object.color.alpha === color.alpha) {\n      if (typeof this.callback === \"function\") {\n        this.callback(this.object, this);\n      }\n    }\n    if (duration === 0 || this.isInstantSkip()) {\n      this.object.color = color;\n      return typeof this.callback === \"function\" ? this.callback(this.object, this) : void 0;\n    } else {\n      this.sourceColor = new Color(this.object.color);\n      this.targetColor = color;\n      return this.easing.startValue(255, -255, duration);\n    }\n  };\n\n  return Component_ColorAnimation;\n\n})(gs.Component_Animation);\n\ngs.Component_ColorAnimation = Component_ColorAnimation;\n\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLElBQUEsd0JBQUE7RUFBQTs7O0FBQU07Ozs7QUFDRjs7Ozs7Ozs7OztFQVNhLGtDQUFDLElBQUQ7SUFDVCwyREFBQSxTQUFBOztBQUVBOzs7OztJQUtBLElBQUMsQ0FBQSxNQUFELEdBQWMsSUFBQSxFQUFFLENBQUMsTUFBSCxDQUFVLElBQVYsaUJBQWdCLElBQUksQ0FBRSxlQUF0Qjs7QUFFZDs7Ozs7O0lBTUEsSUFBQyxDQUFBLFdBQUQsbUJBQWUsSUFBSSxDQUFFLHFCQUFOLElBQXlCLElBQUEsS0FBQSxDQUFBOztBQUV4Qzs7Ozs7O0lBTUEsSUFBQyxDQUFBLFdBQUQsbUJBQWUsSUFBSSxDQUFFLHFCQUFOLElBQXlCLElBQUEsS0FBQSxDQUFBO0VBeEIvQjs7O0FBMEJiOzs7Ozs7cUNBS0EsWUFBQSxHQUFjLFNBQUE7V0FDVjtNQUFBLE1BQUEsRUFBUSxJQUFDLENBQUEsTUFBVDtNQUNBLFdBQUEsRUFBYSxJQUFDLENBQUEsV0FEZDtNQUVBLFdBQUEsRUFBYSxJQUFDLENBQUEsV0FGZDs7RUFEVTs7O0FBT2Q7Ozs7OztxQ0FLQSxNQUFBLEdBQVEsU0FBQTtBQUNKLFFBQUE7SUFBQSxzREFBQSxTQUFBO0lBRUEsSUFBRyxDQUFJLElBQUMsQ0FBQSxNQUFNLENBQUMsU0FBZjtBQUE4QixhQUE5Qjs7SUFFQSxJQUFDLENBQUEsTUFBTSxDQUFDLFdBQVIsQ0FBQTtJQUNBLENBQUEsR0FBSSxJQUFDLENBQUEsTUFBTSxDQUFDO0lBRVosSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBZCxHQUFvQixJQUFJLENBQUMsS0FBTCxDQUFXLENBQUMsSUFBQyxDQUFBLFdBQVcsQ0FBQyxHQUFiLEdBQW1CLENBQW5CLEdBQXVCLElBQUMsQ0FBQSxXQUFXLENBQUMsR0FBYixHQUFtQixDQUFDLEdBQUEsR0FBTSxDQUFQLENBQTNDLENBQUEsR0FBd0QsR0FBbkU7SUFDcEIsSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBZCxHQUFzQixJQUFJLENBQUMsS0FBTCxDQUFXLENBQUMsSUFBQyxDQUFBLFdBQVcsQ0FBQyxLQUFiLEdBQXFCLENBQXJCLEdBQXlCLElBQUMsQ0FBQSxXQUFXLENBQUMsS0FBYixHQUFxQixDQUFDLEdBQUEsR0FBTSxDQUFQLENBQS9DLENBQUEsR0FBNEQsR0FBdkU7SUFDdEIsSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBZCxHQUFxQixJQUFJLENBQUMsS0FBTCxDQUFXLENBQUMsSUFBQyxDQUFBLFdBQVcsQ0FBQyxJQUFiLEdBQW9CLENBQXBCLEdBQXdCLElBQUMsQ0FBQSxXQUFXLENBQUMsSUFBYixHQUFvQixDQUFDLEdBQUEsR0FBTSxDQUFQLENBQTdDLENBQUEsR0FBMEQsR0FBckU7SUFDckIsSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBZCxHQUFzQixJQUFJLENBQUMsS0FBTCxDQUFXLENBQUMsSUFBQyxDQUFBLFdBQVcsQ0FBQyxLQUFiLEdBQXFCLENBQXJCLEdBQXlCLElBQUMsQ0FBQSxXQUFXLENBQUMsS0FBYixHQUFxQixDQUFDLEdBQUEsR0FBTSxDQUFQLENBQS9DLENBQUEsR0FBNEQsR0FBdkU7SUFFdEIsSUFBRyxDQUFJLElBQUMsQ0FBQSxNQUFNLENBQUMsU0FBZjtNQUNJLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBUixHQUFnQixJQUFDLENBQUE7bURBQ2pCLElBQUMsQ0FBQSxTQUFVLElBQUMsQ0FBQSxRQUFRLGVBRnhCOztFQWJJOzs7QUFpQlI7Ozs7Ozs7Ozs7cUNBU0EsS0FBQSxHQUFPLFNBQUMsS0FBRCxFQUFRLFFBQVIsRUFBa0IsVUFBbEIsRUFBOEIsUUFBOUI7SUFDSCxJQUFDLENBQUEsUUFBRCxHQUFZO0lBQ1osSUFBQyxDQUFBLE1BQU0sQ0FBQyxJQUFSLEdBQWU7SUFFZixJQUFHLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQWQsS0FBcUIsS0FBSyxDQUFDLEdBQTNCLElBQW1DLElBQUMsQ0FBQSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQWQsS0FBdUIsS0FBSyxDQUFDLEtBQWhFLElBQ0MsSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBZCxLQUFzQixLQUFLLENBQUMsSUFEN0IsSUFDc0MsSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBZCxLQUF1QixLQUFLLENBQUMsS0FEdEU7O1FBRUcsSUFBQyxDQUFBLFNBQVUsSUFBQyxDQUFBLFFBQVE7T0FGdkI7O0lBSUEsSUFBRyxRQUFBLEtBQVksQ0FBWixJQUFpQixJQUFDLENBQUEsYUFBRCxDQUFBLENBQXBCO01BQ0ksSUFBQyxDQUFBLE1BQU0sQ0FBQyxLQUFSLEdBQWdCO21EQUNoQixJQUFDLENBQUEsU0FBVSxJQUFDLENBQUEsUUFBUSxlQUZ4QjtLQUFBLE1BQUE7TUFJSSxJQUFDLENBQUEsV0FBRCxHQUFtQixJQUFBLEtBQUEsQ0FBTSxJQUFDLENBQUEsTUFBTSxDQUFDLEtBQWQ7TUFDbkIsSUFBQyxDQUFBLFdBQUQsR0FBZTthQUNmLElBQUMsQ0FBQSxNQUFNLENBQUMsVUFBUixDQUFtQixHQUFuQixFQUF3QixDQUFDLEdBQXpCLEVBQThCLFFBQTlCLEVBTko7O0VBUkc7Ozs7R0EvRTRCLEVBQUUsQ0FBQzs7QUErRjFDLEVBQUUsQ0FBQyx3QkFBSCxHQUE4QiIsInNvdXJjZXNDb250ZW50IjpbIiMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuI1xuIyAgIFNjcmlwdDogQ29tcG9uZW50X0NvbG9yQW5pbWF0aW9uXG4jXG4jICAgJCRDT1BZUklHSFQkJFxuI1xuIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5jbGFzcyBDb21wb25lbnRfQ29sb3JBbmltYXRpb24gZXh0ZW5kcyBncy5Db21wb25lbnRfQW5pbWF0aW9uXG4gICAgIyMjKlxuICAgICogRXhlY3V0ZXMgYSBjb2xvci1hbmltYXRpb24gb24gYSBnYW1lLW9iamVjdC5cbiAgICAqXG4gICAgKiBAbW9kdWxlIGdzXG4gICAgKiBAY2xhc3MgQ29tcG9uZW50X01vdmVBbmltYXRpb25cbiAgICAqIEBleHRlbmRzIGdzLkNvbXBvbmVudF9BbmltYXRpb25cbiAgICAqIEBtZW1iZXJvZiBnc1xuICAgICogQGNvbnN0cnVjdG9yXG4gICAgIyMjXG4gICAgY29uc3RydWN0b3I6IChkYXRhKSAtPlxuICAgICAgICBzdXBlclxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIFRoZSBlYXNpbmctb2JqZWN0IHVzZWQgZm9yIHRoZSBhbmltYXRpb24uXG4gICAgICAgICogQHByb3BlcnR5IGVhc2luZ1xuICAgICAgICAqIEB0eXBlIGdzLkVhc2luZ1xuICAgICAgICAjIyNcbiAgICAgICAgQGVhc2luZyA9IG5ldyBncy5FYXNpbmcobnVsbCwgZGF0YT8uZWFzaW5nKVxuICAgICAgICBcbiAgICAgICAgIyMjKlxuICAgICAgICAqIFRoZSBzdGFydC1jb2xvci5cbiAgICAgICAgKiBAcHJvcGVydHkgc291cmNlQ29sb3JcbiAgICAgICAgKiBAdHlwZSBncy5Db2xvclxuICAgICAgICAqIEBwcm90ZWN0ZWRcbiAgICAgICAgIyMjXG4gICAgICAgIEBzb3VyY2VDb2xvciA9IGRhdGE/LnNvdXJjZUNvbG9yIHx8IG5ldyBDb2xvcigpXG4gICAgICAgIFxuICAgICAgICAjIyMqXG4gICAgICAgICogVGhlIGVuZC1jb2xvci5cbiAgICAgICAgKiBAcHJvcGVydHkgdGFyZ2V0Q29sb3JcbiAgICAgICAgKiBAdHlwZSBncy5Db2xvclxuICAgICAgICAqIEBwcm90ZWN0ZWRcbiAgICAgICAgIyMjXG4gICAgICAgIEB0YXJnZXRDb2xvciA9IGRhdGE/LnRhcmdldENvbG9yIHx8IG5ldyBDb2xvcigpXG4gICAgIFxuICAgICMjIypcbiAgICAqIFNlcmlhbGl6ZXMgdGhlIGNvbG9yLWFuaW1hdGlvbiBpbnRvIGEgZGF0YS1idW5kbGUuXG4gICAgKlxuICAgICogQG1ldGhvZCB0b0RhdGFCdW5kbGVcbiAgICAjIyMgICAgXG4gICAgdG9EYXRhQnVuZGxlOiAtPlxuICAgICAgICBlYXNpbmc6IEBlYXNpbmcsXG4gICAgICAgIHNvdXJjZUNvbG9yOiBAc291cmNlQ29sb3IsXG4gICAgICAgIHRhcmdldENvbG9yOiBAdGFyZ2V0Q29sb3JcbiAgICAgXG4gICAgIFxuIFxuICAgICMjIypcbiAgICAqIFVwZGF0ZXMgdGhlIGNvbG9yLWFuaW1hdGlvblxuICAgICpcbiAgICAqIEBtZXRob2QgdXBkYXRlXG4gICAgIyMjICAgIFxuICAgIHVwZGF0ZTogLT5cbiAgICAgICAgc3VwZXJcbiAgICAgICAgXG4gICAgICAgIGlmIG5vdCBAZWFzaW5nLmlzUnVubmluZyB0aGVuIHJldHVyblxuICAgICAgICBcbiAgICAgICAgQGVhc2luZy51cGRhdGVWYWx1ZSgpXG4gICAgICAgIGEgPSBAZWFzaW5nLnZhbHVlXG4gICAgXG4gICAgICAgIEBvYmplY3QuY29sb3IucmVkID0gTWF0aC5mbG9vcigoQHNvdXJjZUNvbG9yLnJlZCAqIGEgKyBAdGFyZ2V0Q29sb3IucmVkICogKDI1NSAtIGEpKSAvIDI1NSlcbiAgICAgICAgQG9iamVjdC5jb2xvci5ncmVlbiA9IE1hdGguZmxvb3IoKEBzb3VyY2VDb2xvci5ncmVlbiAqIGEgKyBAdGFyZ2V0Q29sb3IuZ3JlZW4gKiAoMjU1IC0gYSkpIC8gMjU1KVxuICAgICAgICBAb2JqZWN0LmNvbG9yLmJsdWUgPSBNYXRoLmZsb29yKChAc291cmNlQ29sb3IuYmx1ZSAqIGEgKyBAdGFyZ2V0Q29sb3IuYmx1ZSAqICgyNTUgLSBhKSkgLyAyNTUpXG4gICAgICAgIEBvYmplY3QuY29sb3IuYWxwaGEgPSBNYXRoLmZsb29yKChAc291cmNlQ29sb3IuYWxwaGEgKiBhICsgQHRhcmdldENvbG9yLmFscGhhICogKDI1NSAtIGEpKSAvIDI1NSlcblxuICAgICAgICBpZiBub3QgQGVhc2luZy5pc1J1bm5pbmdcbiAgICAgICAgICAgIEBvYmplY3QuY29sb3IgPSBAdGFyZ2V0Q29sb3JcbiAgICAgICAgICAgIEBjYWxsYmFjaz8oQG9iamVjdCwgdGhpcylcbiAgICBcbiAgICAjIyMqXG4gICAgKiBTdGFydHMgdGhlIGNvbG9yLWFuaW1hdGlvbi5cbiAgICAqXG4gICAgKiBAbWV0aG9kIGNvbG9yVG9cbiAgICAqIEBwYXJhbSB7Q29sb3J9IGNvbG9yIFRoZSB0YXJnZXQgY29sb3IuXG4gICAgKiBAcGFyYW0ge251bWJlcn0gZHVyYXRpb24gVGhlIGR1cmF0aW9uIGluIGZyYW1lcy5cbiAgICAqIEBwYXJhbSB7T2JqZWN0fSBlYXNpbmdUeXBlIFRoZSBlYXNpbmctdHlwZS5cbiAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IFtjYWxsYmFja10gQW4gb3B0aW9uYWwgY2FsbGJhY2stZnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhlIGFuaW1hdGlvbiBpcyBmaW5pc2hlZC5cbiAgICAjIyMgICAgICAgICAgXG4gICAgc3RhcnQ6IChjb2xvciwgZHVyYXRpb24sIGVhc2luZ1R5cGUsIGNhbGxiYWNrKSAtPlxuICAgICAgICBAY2FsbGJhY2sgPSBjYWxsYmFja1xuICAgICAgICBAZWFzaW5nLnR5cGUgPSBlYXNpbmdUeXBlXG4gICAgICAgIFxuICAgICAgICBpZiBAb2JqZWN0LmNvbG9yLnJlZCA9PSBjb2xvci5yZWQgYW5kIEBvYmplY3QuY29sb3IuZ3JlZW4gPT0gY29sb3IuZ3JlZW4gYW5kXG4gICAgICAgICAgICBAb2JqZWN0LmNvbG9yLmJsdWUgPT0gY29sb3IuYmx1ZSBhbmQgQG9iamVjdC5jb2xvci5hbHBoYSA9PSBjb2xvci5hbHBoYVxuICAgICAgICAgICBAY2FsbGJhY2s/KEBvYmplY3QsIHRoaXMpXG4gICAgXG4gICAgICAgIGlmIGR1cmF0aW9uID09IDAgb3IgQGlzSW5zdGFudFNraXAoKVxuICAgICAgICAgICAgQG9iamVjdC5jb2xvciA9IGNvbG9yXG4gICAgICAgICAgICBAY2FsbGJhY2s/KEBvYmplY3QsIHRoaXMpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIEBzb3VyY2VDb2xvciA9IG5ldyBDb2xvcihAb2JqZWN0LmNvbG9yKVxuICAgICAgICAgICAgQHRhcmdldENvbG9yID0gY29sb3JcbiAgICAgICAgICAgIEBlYXNpbmcuc3RhcnRWYWx1ZSgyNTUsIC0yNTUsIGR1cmF0aW9uKVxuICAgICAgICBcbmdzLkNvbXBvbmVudF9Db2xvckFuaW1hdGlvbiA9IENvbXBvbmVudF9Db2xvckFuaW1hdGlvbiJdfQ==\n//# sourceURL=Component_ColorAnimation_118.js"
    },
    "summary": [
        "name",
        "type",
        "order"
    ]
}

Commits for Nextrek/s2s/data/B3C3E1B9K3F67A4C85SBC37E4BDDDAA1F7BC.json

Diff revisions: vs.
Revision Author Commited Message
1086 Diff Diff ASorrentino picture ASorrentino Fri 11 May, 2018 21:50:37 +0000
1084 MOliva picture MOliva Fri 11 May, 2018 12:41:55 +0000