
Generated from Ant script
diff --git a/js/target/downloads/es3.js b/js/target/downloads/es3.js
index 4396804..82032c8 100644
--- a/js/target/downloads/es3.js
+++ b/js/target/downloads/es3.js
@@ -283,12 +283,12 @@ function parseFloat(num) {}
  * leader, then pass {@code undefined} as the base.
  *
  * @param {*} num
- * @param {number|undefined} base
+ * @param {number=} base
  * @return {number}
  * @nosideeffects
  * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt
  */
-function parseInt(num, base) {}
+function parseInt(num, opt_base) {}
 
 /**
  * @param {string} code
@@ -310,10 +310,10 @@ function Object(opt_value) {}
 
 /**
  * The constructor of the current object.
- * @type {Function}
+ * @type {Class}
  * @see http://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor
  */
-Object.prototype.constructor = function() {};
+Object.prototype.constructor;
 
 /**
  * Binds an object's property to a function to be called when that property is
@@ -660,6 +660,7 @@ Array.prototype.slice = function(opt_begin, opt_end) {};
 /**
  * Sorts the elements of an array in place.
  *
+ * @return {!Array<?>}
  * @param {function(T,T):number=} opt_compareFunction Specifies a function that
  *     defines the sort order.
  * @this {IArrayLike<T>}
diff --git a/js/target/downloads/es6.js b/js/target/downloads/es6.js
index 1b8a25a..0d92668 100644
--- a/js/target/downloads/es6.js
+++ b/js/target/downloads/es6.js
@@ -208,8 +208,7 @@ Number.prototype.toLocaleString = function(opt_locales, opt_options) {};
 String.prototype.repeat = function(count) {};
 
 /**
- * @constructor
- * @extends {Array<string>}
+ * @interface
  * @see http://www.ecma-international.org/ecma-262/6.0/#sec-gettemplateobject
  */
 var ITemplateArray = function() {};
diff --git a/js/target/downloads/svg.js b/js/target/downloads/svg.js
index a13180c..48115b3 100644
--- a/js/target/downloads/svg.js
+++ b/js/target/downloads/svg.js
@@ -401,7 +401,7 @@ SVGElementInstance.prototype.onunload;
 
 /**
  * @param {string} type
- * @param {!EventListener|(function(Event): (boolean|undefined))| null} listener
+ * @param {!EventListener|(function(!Event): (boolean|undefined))| null} listener
  * @param {boolean=} opt_useCapture
  */
 SVGElementInstance.prototype.addEventListener = function(type, listener, opt_useCapture){};
@@ -409,7 +409,7 @@ SVGElementInstance.prototype.addEventListener = function(type, listener, opt_use
 
 /**
  * @param {string} type
- * @param {!EventListener|(function(Event): (boolean|undefined))| null} listener
+ * @param {!EventListener|(function(!Event): (boolean|undefined))| null} listener
  * @param {boolean=} opt_useCapture
  */
 SVGElementInstance.prototype.removeEventListener = function(type, listener, opt_useCapture){};
@@ -10369,840 +10369,840 @@ SVGAnimatedInteger.prototype.animVal;
 
 
 /**
- * @type {function(new: SVGZoomEvent)}
+ * 
  */
-Window.prototype.SVGZoomEvent;
+
 
 
 /**
- * @type {function(new: SVGAElement)}
+ * 
  */
-Window.prototype.SVGAElement;
+
 
 
 /**
- * @type {function(new: SVGAngle)}
+ * 
  */
-Window.prototype.SVGAngle;
+
 
 
 /**
- * @type {function(new: SVGAnimatedAngle)}
+ * 
  */
-Window.prototype.SVGAnimatedAngle;
+
 
 
 /**
- * @type {function(new: SVGAnimatedBoolean)}
+ * 
  */
-Window.prototype.SVGAnimatedBoolean;
+
 
 
 /**
- * @type {function(new: SVGAnimatedEnumeration)}
+ * 
  */
-Window.prototype.SVGAnimatedEnumeration;
+
 
 
 /**
- * @type {function(new: SVGAnimatedInteger)}
+ * 
  */
-Window.prototype.SVGAnimatedInteger;
+
 
 
 /**
- * @type {function(new: SVGAnimatedLength)}
+ * 
  */
-Window.prototype.SVGAnimatedLength;
+
 
 
 /**
- * @type {function(new: SVGAnimatedLengthList)}
+ * 
  */
-Window.prototype.SVGAnimatedLengthList;
+
 
 
 /**
- * @type {function(new: SVGAnimatedNumber)}
+ * 
  */
-Window.prototype.SVGAnimatedNumber;
+
 
 
 /**
- * @type {function(new: SVGAnimatedNumberList)}
+ * 
  */
-Window.prototype.SVGAnimatedNumberList;
+
 
 
 /**
- * @type {function(new: SVGAnimatedPreserveAspectRatio)}
+ * 
  */
-Window.prototype.SVGAnimatedPreserveAspectRatio;
+
 
 
 /**
- * @type {function(new: SVGAnimatedRect)}
+ * 
  */
-Window.prototype.SVGAnimatedRect;
+
 
 
 /**
- * @type {function(new: SVGAnimatedString)}
+ * 
  */
-Window.prototype.SVGAnimatedString;
+
 
 
 /**
- * @type {function(new: SVGAnimatedTransformList)}
+ * 
  */
-Window.prototype.SVGAnimatedTransformList;
+
 
 
 /**
- * @type {function(new: SVGCircleElement)}
+ * 
  */
-Window.prototype.SVGCircleElement;
+
 
 
 /**
- * @type {function(new: SVGClipPathElement)}
+ * 
  */
-Window.prototype.SVGClipPathElement;
+
 
 
 /**
- * @type {function(new: SVGColor)}
+ * 
  */
-Window.prototype.SVGColor;
+
 
 
 /**
- * @type {function(new: SVGCursorElement)}
+ * 
  */
-Window.prototype.SVGCursorElement;
+
 
 
 /**
- * @type {function(new: SVGDefsElement)}
+ * 
  */
-Window.prototype.SVGDefsElement;
+
 
 
 /**
- * @type {function(new: SVGDescElement)}
+ * 
  */
-Window.prototype.SVGDescElement;
+
 
 
 /**
- * @type {function(new: SVGDocument)}
+ * 
  */
-Window.prototype.SVGDocument;
+
 
 
 /**
- * @type {function(new: SVGElement)}
+ * 
  */
-Window.prototype.SVGElement;
+
 
 
 /**
- * @type {function(new: SVGElementInstance)}
+ * 
  */
-Window.prototype.SVGElementInstance;
+
 
 
 /**
- * @type {function(new: SVGElementInstanceList)}
+ * 
  */
-Window.prototype.SVGElementInstanceList;
+
 
 
 /**
- * @type {function(new: SVGEllipseElement)}
+ * 
  */
-Window.prototype.SVGEllipseElement;
+
 
 
 /**
- * @type {function(new: SVGForeignObjectElement)}
+ * 
  */
-Window.prototype.SVGForeignObjectElement;
+
 
 
 /**
- * @type {function(new: SVGException)}
+ * 
  */
-Window.prototype.SVGException;
+
 
 
 /**
- * @type {function(new: SVGGElement)}
+ * 
  */
-Window.prototype.SVGGElement;
+
 
 
 /**
- * @type {function(new: SVGGradientElement)}
+ * 
  */
-Window.prototype.SVGGradientElement;
+
 
 
 /**
- * @type {function(new: SVGImageElement)}
+ * 
  */
-Window.prototype.SVGImageElement;
+
 
 
 /**
- * @type {function(new: SVGLength)}
+ * 
  */
-Window.prototype.SVGLength;
+
 
 
 /**
- * @type {function(new: SVGLengthList)}
+ * 
  */
-Window.prototype.SVGLengthList;
+
 
 
 /**
- * @type {function(new: SVGLinearGradientElement)}
+ * 
  */
-Window.prototype.SVGLinearGradientElement;
+
 
 
 /**
- * @type {function(new: SVGLineElement)}
+ * 
  */
-Window.prototype.SVGLineElement;
+
 
 
 /**
- * @type {function(new: SVGMarkerElement)}
+ * 
  */
-Window.prototype.SVGMarkerElement;
+
 
 
 /**
- * @type {function(new: SVGMaskElement)}
+ * 
  */
-Window.prototype.SVGMaskElement;
+
 
 
 /**
- * @type {function(new: SVGMatrix)}
+ * 
  */
-Window.prototype.SVGMatrix;
+
 
 
 /**
- * @type {function(new: SVGMetadataElement)}
+ * 
  */
-Window.prototype.SVGMetadataElement;
+
 
 
 /**
- * @type {function(new: SVGNumber)}
+ * 
  */
-Window.prototype.SVGNumber;
+
 
 
 /**
- * @type {function(new: SVGNumberList)}
+ * 
  */
-Window.prototype.SVGNumberList;
+
 
 
 /**
- * @type {function(new: SVGPaint)}
+ * 
  */
-Window.prototype.SVGPaint;
+
 
 
 /**
- * @type {function(new: SVGPathElement)}
+ * 
  */
-Window.prototype.SVGPathElement;
+
 
 
 /**
- * @type {function(new: SVGPathSeg)}
+ * 
  */
-Window.prototype.SVGPathSeg;
+
 
 
 /**
- * @type {function(new: SVGPathSegArcAbs)}
+ * 
  */
-Window.prototype.SVGPathSegArcAbs;
+
 
 
 /**
- * @type {function(new: SVGPathSegArcRel)}
+ * 
  */
-Window.prototype.SVGPathSegArcRel;
+
 
 
 /**
- * @type {function(new: SVGPathSegClosePath)}
+ * 
  */
-Window.prototype.SVGPathSegClosePath;
+
 
 
 /**
- * @type {function(new: SVGPathSegCurvetoCubicAbs)}
+ * 
  */
-Window.prototype.SVGPathSegCurvetoCubicAbs;
+
 
 
 /**
- * @type {function(new: SVGPathSegCurvetoCubicRel)}
+ * 
  */
-Window.prototype.SVGPathSegCurvetoCubicRel;
+
 
 
 /**
- * @type {function(new: SVGPathSegCurvetoCubicSmoothAbs)}
+ * 
  */
-Window.prototype.SVGPathSegCurvetoCubicSmoothAbs;
+
 
 
 /**
- * @type {function(new: SVGPathSegCurvetoCubicSmoothRel)}
+ * 
  */
-Window.prototype.SVGPathSegCurvetoCubicSmoothRel;
+
 
 
 /**
- * @type {function(new: SVGPathSegCurvetoQuadraticAbs)}
+ * 
  */
-Window.prototype.SVGPathSegCurvetoQuadraticAbs;
+
 
 
 /**
- * @type {function(new: SVGPathSegCurvetoQuadraticRel)}
+ * 
  */
-Window.prototype.SVGPathSegCurvetoQuadraticRel;
+
 
 
 /**
- * @type {function(new: SVGPathSegCurvetoQuadraticSmoothAbs)}
+ * 
  */
-Window.prototype.SVGPathSegCurvetoQuadraticSmoothAbs;
+
 
 
 /**
- * @type {function(new: SVGPathSegCurvetoQuadraticSmoothRel)}
+ * 
  */
-Window.prototype.SVGPathSegCurvetoQuadraticSmoothRel;
+
 
 
 /**
- * @type {function(new: SVGPathSegLinetoAbs)}
+ * 
  */
-Window.prototype.SVGPathSegLinetoAbs;
+
 
 
 /**
- * @type {function(new: SVGPathSegLinetoHorizontalAbs)}
+ * 
  */
-Window.prototype.SVGPathSegLinetoHorizontalAbs;
+
 
 
 /**
- * @type {function(new: SVGPathSegLinetoHorizontalRel)}
+ * 
  */
-Window.prototype.SVGPathSegLinetoHorizontalRel;
+
 
 
 /**
- * @type {function(new: SVGPathSegLinetoRel)}
+ * 
  */
-Window.prototype.SVGPathSegLinetoRel;
+
 
 
 /**
- * @type {function(new: SVGPathSegLinetoVerticalAbs)}
+ * 
  */
-Window.prototype.SVGPathSegLinetoVerticalAbs;
+
 
 
 /**
- * @type {function(new: SVGPathSegLinetoVerticalRel)}
+ * 
  */
-Window.prototype.SVGPathSegLinetoVerticalRel;
+
 
 
 /**
- * @type {function(new: SVGPathSegList)}
+ * 
  */
-Window.prototype.SVGPathSegList;
+
 
 
 /**
- * @type {function(new: SVGPathSegMovetoAbs)}
+ * 
  */
-Window.prototype.SVGPathSegMovetoAbs;
+
 
 
 /**
- * @type {function(new: SVGPathSegMovetoRel)}
+ * 
  */
-Window.prototype.SVGPathSegMovetoRel;
+
 
 
 /**
- * @type {function(new: SVGPatternElement)}
+ * 
  */
-Window.prototype.SVGPatternElement;
+
 
 
 /**
- * @type {function(new: SVGPoint)}
+ * 
  */
-Window.prototype.SVGPoint;
+
 
 
 /**
- * @type {function(new: SVGPointList)}
+ * 
  */
-Window.prototype.SVGPointList;
+
 
 
 /**
- * @type {function(new: SVGPolygonElement)}
+ * 
  */
-Window.prototype.SVGPolygonElement;
+
 
 
 /**
- * @type {function(new: SVGPolylineElement)}
+ * 
  */
-Window.prototype.SVGPolylineElement;
+
 
 
 /**
- * @type {function(new: SVGPreserveAspectRatio)}
+ * 
  */
-Window.prototype.SVGPreserveAspectRatio;
+
 
 
 /**
- * @type {function(new: SVGRadialGradientElement)}
+ * 
  */
-Window.prototype.SVGRadialGradientElement;
+
 
 
 /**
- * @type {function(new: SVGRect)}
+ * 
  */
-Window.prototype.SVGRect;
+
 
 
 /**
- * @type {function(new: SVGRectElement)}
+ * 
  */
-Window.prototype.SVGRectElement;
+
 
 
 /**
- * @type {function(new: SVGRenderingIntent)}
+ * 
  */
-Window.prototype.SVGRenderingIntent;
+
 
 
 /**
- * @type {function(new: SVGScriptElement)}
+ * 
  */
-Window.prototype.SVGScriptElement;
+
 
 
 /**
- * @type {function(new: SVGStopElement)}
+ * 
  */
-Window.prototype.SVGStopElement;
+
 
 
 /**
- * @type {function(new: SVGStringList)}
+ * 
  */
-Window.prototype.SVGStringList;
+
 
 
 /**
- * @type {function(new: SVGStyleElement)}
+ * 
  */
-Window.prototype.SVGStyleElement;
+
 
 
 /**
- * @type {function(new: SVGSVGElement)}
+ * 
  */
-Window.prototype.SVGSVGElement;
+
 
 
 /**
- * @type {function(new: SVGSwitchElement)}
+ * 
  */
-Window.prototype.SVGSwitchElement;
+
 
 
 /**
- * @type {function(new: SVGSymbolElement)}
+ * 
  */
-Window.prototype.SVGSymbolElement;
+
 
 
 /**
- * @type {function(new: SVGTextContentElement)}
+ * 
  */
-Window.prototype.SVGTextContentElement;
+
 
 
 /**
- * @type {function(new: SVGTextElement)}
+ * 
  */
-Window.prototype.SVGTextElement;
+
 
 
 /**
- * @type {function(new: SVGTextPathElement)}
+ * 
  */
-Window.prototype.SVGTextPathElement;
+
 
 
 /**
- * @type {function(new: SVGTextPositioningElement)}
+ * 
  */
-Window.prototype.SVGTextPositioningElement;
+
 
 
 /**
- * @type {function(new: SVGTitleElement)}
+ * 
  */
-Window.prototype.SVGTitleElement;
+
 
 
 /**
- * @type {function(new: SVGTransform)}
+ * 
  */
-Window.prototype.SVGTransform;
+
 
 
 /**
- * @type {function(new: SVGTransformList)}
+ * 
  */
-Window.prototype.SVGTransformList;
+
 
 
 /**
- * @type {function(new: SVGTRefElement)}
+ * 
  */
-Window.prototype.SVGTRefElement;
+
 
 
 /**
- * @type {function(new: SVGTSpanElement)}
+ * 
  */
-Window.prototype.SVGTSpanElement;
+
 
 
 /**
- * @type {function(new: SVGUnitTypes)}
+ * 
  */
-Window.prototype.SVGUnitTypes;
+
 
 
 /**
- * @type {function(new: SVGUseElement)}
+ * 
  */
-Window.prototype.SVGUseElement;
+
 
 
 /**
- * @type {function(new: SVGViewElement)}
+ * 
  */
-Window.prototype.SVGViewElement;
+
 
 
 /**
- * @type {function(new: SVGAnimateColorElement)}
+ * 
  */
-Window.prototype.SVGAnimateColorElement;
+
 
 
 /**
- * @type {function(new: SVGAnimateElement)}
+ * 
  */
-Window.prototype.SVGAnimateElement;
+
 
 
 /**
- * @type {function(new: SVGAnimateMotionElement)}
+ * 
  */
-Window.prototype.SVGAnimateMotionElement;
+
 
 
 /**
- * @type {function(new: SVGAnimateTransformElement)}
+ * 
  */
-Window.prototype.SVGAnimateTransformElement;
+
 
 
 /**
- * @type {function(new: SVGMPathElement)}
+ * 
  */
-Window.prototype.SVGMPathElement;
+
 
 
 /**
- * @type {function(new: SVGSetElement)}
+ * 
  */
-Window.prototype.SVGSetElement;
+
 
 
 /**
- * @type {function(new: SVGAltGlyphDefElement)}
+ * 
  */
-Window.prototype.SVGAltGlyphDefElement;
+
 
 
 /**
- * @type {function(new: SVGAltGlyphElement)}
+ * 
  */
-Window.prototype.SVGAltGlyphElement;
+
 
 
 /**
- * @type {function(new: SVGAltGlyphItemElement)}
+ * 
  */
-Window.prototype.SVGAltGlyphItemElement;
+
 
 
 /**
- * @type {function(new: SVGFontElement)}
+ * 
  */
-Window.prototype.SVGFontElement;
+
 
 
 /**
- * @type {function(new: SVGFontFaceElement)}
+ * 
  */
-Window.prototype.SVGFontFaceElement;
+
 
 
 /**
- * @type {function(new: SVGFontFaceFormatElement)}
+ * 
  */
-Window.prototype.SVGFontFaceFormatElement;
+
 
 
 /**
- * @type {function(new: SVGFontFaceNameElement)}
+ * 
  */
-Window.prototype.SVGFontFaceNameElement;
+
 
 
 /**
- * @type {function(new: SVGFontFaceSrcElement)}
+ * 
  */
-Window.prototype.SVGFontFaceSrcElement;
+
 
 
 /**
- * @type {function(new: SVGFontFaceUriElement)}
+ * 
  */
-Window.prototype.SVGFontFaceUriElement;
+
 
 
 /**
- * @type {function(new: SVGGlyphElement)}
+ * 
  */
-Window.prototype.SVGGlyphElement;
+
 
 
 /**
- * @type {function(new: SVGGlyphRefElement)}
+ * 
  */
-Window.prototype.SVGGlyphRefElement;
+
 
 
 /**
- * @type {function(new: SVGHKernElement)}
+ * 
  */
-Window.prototype.SVGHKernElement;
+
 
 
 /**
- * @type {function(new: SVGMissingGlyphElement)}
+ * 
  */
-Window.prototype.SVGMissingGlyphElement;
+
 
 
 /**
- * @type {function(new: SVGVKernElement)}
+ * 
  */
-Window.prototype.SVGVKernElement;
+
 
 
 /**
- * @type {function(new: SVGComponentTransferFunctionElement)}
+ * 
  */
-Window.prototype.SVGComponentTransferFunctionElement;
+
 
 
 /**
- * @type {function(new: SVGFEBlendElement)}
+ * 
  */
-Window.prototype.SVGFEBlendElement;
+
 
 
 /**
- * @type {function(new: SVGFEColorMatrixElement)}
+ * 
  */
-Window.prototype.SVGFEColorMatrixElement;
+
 
 
 /**
- * @type {function(new: SVGFEComponentTransferElement)}
+ * 
  */
-Window.prototype.SVGFEComponentTransferElement;
+
 
 
 /**
- * @type {function(new: SVGFECompositeElement)}
+ * 
  */
-Window.prototype.SVGFECompositeElement;
+
 
 
 /**
- * @type {function(new: SVGFEConvolveMatrixElement)}
+ * 
  */
-Window.prototype.SVGFEConvolveMatrixElement;
+
 
 
 /**
- * @type {function(new: SVGFEDiffuseLightingElement)}
+ * 
  */
-Window.prototype.SVGFEDiffuseLightingElement;
+
 
 
 /**
- * @type {function(new: SVGFEDisplacementMapElement)}
+ * 
  */
-Window.prototype.SVGFEDisplacementMapElement;
+
 
 
 /**
- * @type {function(new: SVGFEDistantLightElement)}
+ * 
  */
-Window.prototype.SVGFEDistantLightElement;
+
 
 
 /**
- * @type {function(new: SVGFEDropShadowElement)}
+ * 
  */
-Window.prototype.SVGFEDropShadowElement;
+
 
 
 /**
- * @type {function(new: SVGFEFloodElement)}
+ * 
  */
-Window.prototype.SVGFEFloodElement;
+
 
 
 /**
- * @type {function(new: SVGFEFuncAElement)}
+ * 
  */
-Window.prototype.SVGFEFuncAElement;
+
 
 
 /**
- * @type {function(new: SVGFEFuncBElement)}
+ * 
  */
-Window.prototype.SVGFEFuncBElement;
+
 
 
 /**
- * @type {function(new: SVGFEFuncGElement)}
+ * 
  */
-Window.prototype.SVGFEFuncGElement;
+
 
 
 /**
- * @type {function(new: SVGFEFuncRElement)}
+ * 
  */
-Window.prototype.SVGFEFuncRElement;
+
 
 
 /**
- * @type {function(new: SVGFEGaussianBlurElement)}
+ * 
  */
-Window.prototype.SVGFEGaussianBlurElement;
+
 
 
 /**
- * @type {function(new: SVGFEImageElement)}
+ * 
  */
-Window.prototype.SVGFEImageElement;
+
 
 
 /**
- * @type {function(new: SVGFEMergeElement)}
+ * 
  */
-Window.prototype.SVGFEMergeElement;
+
 
 
 /**
- * @type {function(new: SVGFEMergeNodeElement)}
+ * 
  */
-Window.prototype.SVGFEMergeNodeElement;
+
 
 
 /**
- * @type {function(new: SVGFEMorphologyElement)}
+ * 
  */
-Window.prototype.SVGFEMorphologyElement;
+
 
 
 /**
- * @type {function(new: SVGFEOffsetElement)}
+ * 
  */
-Window.prototype.SVGFEOffsetElement;
+
 
 
 /**
- * @type {function(new: SVGFEPointLightElement)}
+ * 
  */
-Window.prototype.SVGFEPointLightElement;
+
 
 
 /**
- * @type {function(new: SVGFESpecularLightingElement)}
+ * 
  */
-Window.prototype.SVGFESpecularLightingElement;
+
 
 
 /**
- * @type {function(new: SVGFESpotLightElement)}
+ * 
  */
-Window.prototype.SVGFESpotLightElement;
+
 
 
 /**
- * @type {function(new: SVGFETileElement)}
+ * 
  */
-Window.prototype.SVGFETileElement;
+
 
 
 /**
- * @type {function(new: SVGFETurbulenceElement)}
+ * 
  */
-Window.prototype.SVGFETurbulenceElement;
+
 
 
 /**
- * @type {function(new: SVGFilterElement)}
+ * 
  */
-Window.prototype.SVGFilterElement;
+
