This is an automated email from the ASF dual-hosted git repository.

wangzx pushed a commit to branch 4.9.1-security-fix
in repository https://gitbox.apache.org/repos/asf/echarts.git


The following commit(s) were added to refs/heads/4.9.1-security-fix by this 
push:
     new 79da24037 release v4.9.1
79da24037 is described below

commit 79da24037110acf6da87f45c95319fa990acbf8c
Author: plainheart <y...@all-my-life.cn>
AuthorDate: Sat May 24 20:25:33 2025 +0800

    release v4.9.1
---
 dist/echarts-en.common.js                | 21 ++++++-----
 dist/echarts-en.common.min.js            |  2 +-
 dist/echarts-en.js                       | 21 ++++++-----
 dist/echarts-en.js.map                   |  2 +-
 dist/echarts-en.min.js                   |  2 +-
 dist/echarts-en.simple.js                | 21 ++++++-----
 dist/echarts-en.simple.min.js            |  2 +-
 dist/echarts.common.js                   | 21 ++++++-----
 dist/echarts.common.min.js               |  2 +-
 dist/echarts.js                          | 21 ++++++-----
 dist/echarts.js.map                      |  2 +-
 dist/echarts.min.js                      |  2 +-
 dist/echarts.simple.js                   | 21 ++++++-----
 dist/echarts.simple.min.js               |  2 +-
 dist/extension/bmap.js                   |  2 +-
 dist/extension/bmap.js.map               |  2 +-
 dist/extension/bmap.min.js               |  2 +-
 dist/extension/dataTool.js               | 20 ----------
 dist/extension/dataTool.js.map           |  2 +-
 extension/bmap/BMapCoordSys.js           | 64 +++++++++-----------------------
 extension/bmap/BMapModel.js              |  4 +-
 extension/bmap/BMapView.js               | 33 ++++------------
 extension/bmap/bmap.js                   |  8 ++--
 extension/dataTool/gexf.js               | 50 ++++++-------------------
 extension/dataTool/index.js              |  8 +---
 extension/dataTool/prepareBoxplotData.js |  6 ---
 index.common.js                          | 21 -----------
 index.js                                 | 52 --------------------------
 index.simple.js                          |  6 ---
 29 files changed, 126 insertions(+), 296 deletions(-)

diff --git a/dist/echarts-en.common.js b/dist/echarts-en.common.js
index 1c491ae38..36d68c8af 100644
--- a/dist/echarts-en.common.js
+++ b/dist/echarts-en.common.js
@@ -277,6 +277,7 @@ var nativeFilter = arrayProto.filter;
 var nativeSlice = arrayProto.slice;
 var nativeMap = arrayProto.map;
 var nativeReduce = arrayProto.reduce;
+var protoKey = '__proto__';
 
 // Avoid assign to an exported variable, for transforming to cjs.
 var methods = {};
@@ -339,7 +340,7 @@ function clone(source) {
     else if (!BUILTIN_OBJECT[typeStr] && !isPrimitive(source) && 
!isDom(source)) {
         result = {};
         for (var key in source) {
-            if (source.hasOwnProperty(key)) {
+            if (source.hasOwnProperty(key) && key !== protoKey) {
                 result[key] = clone(source[key]);
             }
         }
@@ -362,7 +363,7 @@ function merge(target, source, overwrite) {
     }
 
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             var targetProp = target[key];
             var sourceProp = source[key];
 
@@ -411,7 +412,7 @@ function mergeAll(targetAndSources, overwrite) {
  */
 function extend(target, source) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             target[key] = source[key];
         }
     }
@@ -426,7 +427,7 @@ function extend(target, source) {
  */
 function defaults(target, source, overlay) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)
+        if (source.hasOwnProperty(key) && key !== protoKey
             && (overlay ? source[key] != null : target[key] == null)
         ) {
             target[key] = source[key];
@@ -11595,7 +11596,7 @@ var instances$1 = {};    // ZRender实例map索引
 /**
  * @type {string}
  */
-var version$1 = '4.3.2';
+var version$1 = '4.3.3';
 
 /**
  * Initializing a zrender instance
@@ -27729,10 +27730,10 @@ var isFunction = isFunction$1;
 var isObject = isObject$1;
 var parseClassType = ComponentModel.parseClassType;
 
-var version = '4.9.0';
+var version = '4.9.1';
 
 var dependencies = {
-    zrender: '4.3.2'
+    zrender: '4.3.3'
 };
 
 var TEST_FRAME_REMAIN_TIME = 1;
@@ -35567,8 +35568,10 @@ function rotateTextRect(textRect, rotate) {
     var boundingBox = textRect.plain();
     var beforeWidth = boundingBox.width;
     var beforeHeight = boundingBox.height;
-    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + 
Math.abs(beforeHeight * Math.sin(rotateRadians));
-    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + 
Math.abs(beforeHeight * Math.cos(rotateRadians));
+    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians))
+        + Math.abs(beforeHeight * Math.sin(rotateRadians));
+    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians))
+        + Math.abs(beforeHeight * Math.cos(rotateRadians));
     var rotatedRect = new BoundingRect(boundingBox.x, boundingBox.y, 
afterWidth, afterHeight);
 
     return rotatedRect;
diff --git a/dist/echarts-en.common.min.js b/dist/echarts-en.common.min.js
index 62cdf1c3b..aac92c97b 100644
--- a/dist/echarts-en.common.min.js
+++ b/dist/echarts-en.common.min.js
@@ -19,4 +19,4 @@
 */
 
 
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},v="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},v="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
diff --git a/dist/echarts-en.js b/dist/echarts-en.js
index 2e4223f0c..30c67e3a8 100644
--- a/dist/echarts-en.js
+++ b/dist/echarts-en.js
@@ -277,6 +277,7 @@ var nativeFilter = arrayProto.filter;
 var nativeSlice = arrayProto.slice;
 var nativeMap = arrayProto.map;
 var nativeReduce = arrayProto.reduce;
+var protoKey = '__proto__';
 
 // Avoid assign to an exported variable, for transforming to cjs.
 var methods = {};
@@ -339,7 +340,7 @@ function clone(source) {
     else if (!BUILTIN_OBJECT[typeStr] && !isPrimitive(source) && 
!isDom(source)) {
         result = {};
         for (var key in source) {
-            if (source.hasOwnProperty(key)) {
+            if (source.hasOwnProperty(key) && key !== protoKey) {
                 result[key] = clone(source[key]);
             }
         }
@@ -362,7 +363,7 @@ function merge(target, source, overwrite) {
     }
 
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             var targetProp = target[key];
             var sourceProp = source[key];
 
@@ -411,7 +412,7 @@ function mergeAll(targetAndSources, overwrite) {
  */
 function extend(target, source) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             target[key] = source[key];
         }
     }
@@ -426,7 +427,7 @@ function extend(target, source) {
  */
 function defaults(target, source, overlay) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)
+        if (source.hasOwnProperty(key) && key !== protoKey
             && (overlay ? source[key] != null : target[key] == null)
         ) {
             target[key] = source[key];
@@ -11595,7 +11596,7 @@ var instances$1 = {};    // ZRender实例map索引
 /**
  * @type {string}
  */
-var version$1 = '4.3.2';
+var version$1 = '4.3.3';
 
 /**
  * Initializing a zrender instance
@@ -27812,10 +27813,10 @@ var isFunction = isFunction$1;
 var isObject = isObject$1;
 var parseClassType = ComponentModel.parseClassType;
 
-var version = '4.9.0';
+var version = '4.9.1';
 
 var dependencies = {
-    zrender: '4.3.2'
+    zrender: '4.3.3'
 };
 
 var TEST_FRAME_REMAIN_TIME = 1;
@@ -35677,8 +35678,10 @@ function rotateTextRect(textRect, rotate) {
     var boundingBox = textRect.plain();
     var beforeWidth = boundingBox.width;
     var beforeHeight = boundingBox.height;
-    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + 
Math.abs(beforeHeight * Math.sin(rotateRadians));
-    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + 
Math.abs(beforeHeight * Math.cos(rotateRadians));
+    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians))
+        + Math.abs(beforeHeight * Math.sin(rotateRadians));
+    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians))
+        + Math.abs(beforeHeight * Math.cos(rotateRadians));
     var rotatedRect = new BoundingRect(boundingBox.x, boundingBox.y, 
afterWidth, afterHeight);
 
     return rotatedRect;
diff --git a/dist/echarts-en.js.map b/dist/echarts-en.js.map
index 54c9f32ee..6010cf7bc 100644
--- a/dist/echarts-en.js.map
+++ b/dist/echarts-en.js.map
@@ -1 +1 @@
-{"version":3,"file":"echarts-en.js","sources":["../src/config.js","../node_modules/zrender/src/core/guid.js","../node_modules/zrender/src/core/env.js","../node_modules/zrender/src/core/util.js","../node_modules/zrender/src/core/vector.js","../node_modules/zrender/src/mixin/Draggable.js","../node_modules/zrender/src/mixin/Eventful.js","../node_modules/zrender/src/core/fourPointsTransform.js","../node_modules/zrender/src/core/dom.js","../node_modules/zrender/src/core/event.js","../node_mod
 [...]
\ No newline at end of file
+{"version":3,"file":"echarts-en.js","sources":["../src/config.js","../node_modules/zrender/src/core/guid.js","../node_modules/zrender/src/core/env.js","../node_modules/zrender/src/core/util.js","../node_modules/zrender/src/core/vector.js","../node_modules/zrender/src/mixin/Draggable.js","../node_modules/zrender/src/mixin/Eventful.js","../node_modules/zrender/src/core/fourPointsTransform.js","../node_modules/zrender/src/core/dom.js","../node_modules/zrender/src/core/event.js","../node_mod
 [...]
\ No newline at end of file
diff --git a/dist/echarts-en.min.js b/dist/echarts-en.min.js
index c7022fc2f..4bc5782a2 100644
--- a/dist/echarts-en.min.js
+++ b/dist/echarts-en.min.js
@@ -19,4 +19,4 @@
 */
 
 
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},v="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},v="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
diff --git a/dist/echarts-en.simple.js b/dist/echarts-en.simple.js
index 85d515faa..3d9a5ff02 100644
--- a/dist/echarts-en.simple.js
+++ b/dist/echarts-en.simple.js
@@ -277,6 +277,7 @@ var nativeFilter = arrayProto.filter;
 var nativeSlice = arrayProto.slice;
 var nativeMap = arrayProto.map;
 var nativeReduce = arrayProto.reduce;
+var protoKey = '__proto__';
 
 // Avoid assign to an exported variable, for transforming to cjs.
 var methods = {};
@@ -339,7 +340,7 @@ function clone(source) {
     else if (!BUILTIN_OBJECT[typeStr] && !isPrimitive(source) && 
!isDom(source)) {
         result = {};
         for (var key in source) {
-            if (source.hasOwnProperty(key)) {
+            if (source.hasOwnProperty(key) && key !== protoKey) {
                 result[key] = clone(source[key]);
             }
         }
@@ -362,7 +363,7 @@ function merge(target, source, overwrite) {
     }
 
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             var targetProp = target[key];
             var sourceProp = source[key];
 
@@ -411,7 +412,7 @@ function mergeAll(targetAndSources, overwrite) {
  */
 function extend(target, source) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             target[key] = source[key];
         }
     }
@@ -426,7 +427,7 @@ function extend(target, source) {
  */
 function defaults(target, source, overlay) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)
+        if (source.hasOwnProperty(key) && key !== protoKey
             && (overlay ? source[key] != null : target[key] == null)
         ) {
             target[key] = source[key];
@@ -11289,7 +11290,7 @@ var painterCtors = {
 /**
  * @type {string}
  */
-var version$1 = '4.3.2';
+var version$1 = '4.3.3';
 
 /**
  * Initializing a zrender instance
@@ -27155,10 +27156,10 @@ var isFunction = isFunction$1;
 var isObject = isObject$1;
 var parseClassType = ComponentModel.parseClassType;
 
-var version = '4.9.0';
+var version = '4.9.1';
 
 var dependencies = {
-    zrender: '4.3.2'
+    zrender: '4.3.3'
 };
 
 var TEST_FRAME_REMAIN_TIME = 1;
@@ -37945,8 +37946,10 @@ function rotateTextRect(textRect, rotate) {
     var boundingBox = textRect.plain();
     var beforeWidth = boundingBox.width;
     var beforeHeight = boundingBox.height;
-    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + 
Math.abs(beforeHeight * Math.sin(rotateRadians));
-    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + 
Math.abs(beforeHeight * Math.cos(rotateRadians));
+    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians))
+        + Math.abs(beforeHeight * Math.sin(rotateRadians));
+    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians))
+        + Math.abs(beforeHeight * Math.cos(rotateRadians));
     var rotatedRect = new BoundingRect(boundingBox.x, boundingBox.y, 
afterWidth, afterHeight);
 
     return rotatedRect;
diff --git a/dist/echarts-en.simple.min.js b/dist/echarts-en.simple.min.js
index 7a54c7a97..9ff90e535 100644
--- a/dist/echarts-en.simple.min.js
+++ b/dist/echarts-en.simple.min.js
@@ -19,4 +19,4 @@
 */
 
 
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},m="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},m="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
diff --git a/dist/echarts.common.js b/dist/echarts.common.js
index 52127c4ac..f031ca5e8 100644
--- a/dist/echarts.common.js
+++ b/dist/echarts.common.js
@@ -277,6 +277,7 @@ var nativeFilter = arrayProto.filter;
 var nativeSlice = arrayProto.slice;
 var nativeMap = arrayProto.map;
 var nativeReduce = arrayProto.reduce;
+var protoKey = '__proto__';
 
 // Avoid assign to an exported variable, for transforming to cjs.
 var methods = {};
@@ -339,7 +340,7 @@ function clone(source) {
     else if (!BUILTIN_OBJECT[typeStr] && !isPrimitive(source) && 
!isDom(source)) {
         result = {};
         for (var key in source) {
-            if (source.hasOwnProperty(key)) {
+            if (source.hasOwnProperty(key) && key !== protoKey) {
                 result[key] = clone(source[key]);
             }
         }
@@ -362,7 +363,7 @@ function merge(target, source, overwrite) {
     }
 
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             var targetProp = target[key];
             var sourceProp = source[key];
 
@@ -411,7 +412,7 @@ function mergeAll(targetAndSources, overwrite) {
  */
 function extend(target, source) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             target[key] = source[key];
         }
     }
@@ -426,7 +427,7 @@ function extend(target, source) {
  */
 function defaults(target, source, overlay) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)
+        if (source.hasOwnProperty(key) && key !== protoKey
             && (overlay ? source[key] != null : target[key] == null)
         ) {
             target[key] = source[key];
@@ -11595,7 +11596,7 @@ var instances$1 = {};    // ZRender实例map索引
 /**
  * @type {string}
  */
-var version$1 = '4.3.2';
+var version$1 = '4.3.3';
 
 /**
  * Initializing a zrender instance
@@ -27729,10 +27730,10 @@ var isFunction = isFunction$1;
 var isObject = isObject$1;
 var parseClassType = ComponentModel.parseClassType;
 
-var version = '4.9.0';
+var version = '4.9.1';
 
 var dependencies = {
-    zrender: '4.3.2'
+    zrender: '4.3.3'
 };
 
 var TEST_FRAME_REMAIN_TIME = 1;
@@ -35567,8 +35568,10 @@ function rotateTextRect(textRect, rotate) {
     var boundingBox = textRect.plain();
     var beforeWidth = boundingBox.width;
     var beforeHeight = boundingBox.height;
-    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + 
Math.abs(beforeHeight * Math.sin(rotateRadians));
-    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + 
Math.abs(beforeHeight * Math.cos(rotateRadians));
+    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians))
+        + Math.abs(beforeHeight * Math.sin(rotateRadians));
+    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians))
+        + Math.abs(beforeHeight * Math.cos(rotateRadians));
     var rotatedRect = new BoundingRect(boundingBox.x, boundingBox.y, 
afterWidth, afterHeight);
 
     return rotatedRect;
diff --git a/dist/echarts.common.min.js b/dist/echarts.common.min.js
index 137a43c34..f50e87c51 100644
--- a/dist/echarts.common.min.js
+++ b/dist/echarts.common.min.js
@@ -19,4 +19,4 @@
 */
 
 
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},v="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},v="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
diff --git a/dist/echarts.js b/dist/echarts.js
index 5c36a4c34..5c107c863 100644
--- a/dist/echarts.js
+++ b/dist/echarts.js
@@ -277,6 +277,7 @@ var nativeFilter = arrayProto.filter;
 var nativeSlice = arrayProto.slice;
 var nativeMap = arrayProto.map;
 var nativeReduce = arrayProto.reduce;
+var protoKey = '__proto__';
 
 // Avoid assign to an exported variable, for transforming to cjs.
 var methods = {};
@@ -339,7 +340,7 @@ function clone(source) {
     else if (!BUILTIN_OBJECT[typeStr] && !isPrimitive(source) && 
!isDom(source)) {
         result = {};
         for (var key in source) {
-            if (source.hasOwnProperty(key)) {
+            if (source.hasOwnProperty(key) && key !== protoKey) {
                 result[key] = clone(source[key]);
             }
         }
@@ -362,7 +363,7 @@ function merge(target, source, overwrite) {
     }
 
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             var targetProp = target[key];
             var sourceProp = source[key];
 
@@ -411,7 +412,7 @@ function mergeAll(targetAndSources, overwrite) {
  */
 function extend(target, source) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             target[key] = source[key];
         }
     }
@@ -426,7 +427,7 @@ function extend(target, source) {
  */
 function defaults(target, source, overlay) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)
+        if (source.hasOwnProperty(key) && key !== protoKey
             && (overlay ? source[key] != null : target[key] == null)
         ) {
             target[key] = source[key];
@@ -11595,7 +11596,7 @@ var instances$1 = {};    // ZRender实例map索引
 /**
  * @type {string}
  */
-var version$1 = '4.3.2';
+var version$1 = '4.3.3';
 
 /**
  * Initializing a zrender instance
@@ -27812,10 +27813,10 @@ var isFunction = isFunction$1;
 var isObject = isObject$1;
 var parseClassType = ComponentModel.parseClassType;
 
-var version = '4.9.0';
+var version = '4.9.1';
 
 var dependencies = {
-    zrender: '4.3.2'
+    zrender: '4.3.3'
 };
 
 var TEST_FRAME_REMAIN_TIME = 1;
@@ -35677,8 +35678,10 @@ function rotateTextRect(textRect, rotate) {
     var boundingBox = textRect.plain();
     var beforeWidth = boundingBox.width;
     var beforeHeight = boundingBox.height;
-    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + 
Math.abs(beforeHeight * Math.sin(rotateRadians));
-    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + 
Math.abs(beforeHeight * Math.cos(rotateRadians));
+    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians))
+        + Math.abs(beforeHeight * Math.sin(rotateRadians));
+    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians))
+        + Math.abs(beforeHeight * Math.cos(rotateRadians));
     var rotatedRect = new BoundingRect(boundingBox.x, boundingBox.y, 
afterWidth, afterHeight);
 
     return rotatedRect;
diff --git a/dist/echarts.js.map b/dist/echarts.js.map
index e10fee3b6..55f197824 100644
--- a/dist/echarts.js.map
+++ b/dist/echarts.js.map
@@ -1 +1 @@
-{"version":3,"file":"echarts.js","sources":["../src/config.js","../node_modules/zrender/src/core/guid.js","../node_modules/zrender/src/core/env.js","../node_modules/zrender/src/core/util.js","../node_modules/zrender/src/core/vector.js","../node_modules/zrender/src/mixin/Draggable.js","../node_modules/zrender/src/mixin/Eventful.js","../node_modules/zrender/src/core/fourPointsTransform.js","../node_modules/zrender/src/core/dom.js","../node_modules/zrender/src/core/event.js","../node_module
 [...]
\ No newline at end of file
+{"version":3,"file":"echarts.js","sources":["../src/config.js","../node_modules/zrender/src/core/guid.js","../node_modules/zrender/src/core/env.js","../node_modules/zrender/src/core/util.js","../node_modules/zrender/src/core/vector.js","../node_modules/zrender/src/mixin/Draggable.js","../node_modules/zrender/src/mixin/Eventful.js","../node_modules/zrender/src/core/fourPointsTransform.js","../node_modules/zrender/src/core/dom.js","../node_modules/zrender/src/core/event.js","../node_module
 [...]
\ No newline at end of file
diff --git a/dist/echarts.min.js b/dist/echarts.min.js
index 4b25b97b7..a7b23e539 100644
--- a/dist/echarts.min.js
+++ b/dist/echarts.min.js
@@ -19,4 +19,4 @@
 */
 
 
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},v="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},v="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
diff --git a/dist/echarts.simple.js b/dist/echarts.simple.js
index cf88f374f..69c229033 100644
--- a/dist/echarts.simple.js
+++ b/dist/echarts.simple.js
@@ -277,6 +277,7 @@ var nativeFilter = arrayProto.filter;
 var nativeSlice = arrayProto.slice;
 var nativeMap = arrayProto.map;
 var nativeReduce = arrayProto.reduce;
+var protoKey = '__proto__';
 
 // Avoid assign to an exported variable, for transforming to cjs.
 var methods = {};
@@ -339,7 +340,7 @@ function clone(source) {
     else if (!BUILTIN_OBJECT[typeStr] && !isPrimitive(source) && 
!isDom(source)) {
         result = {};
         for (var key in source) {
-            if (source.hasOwnProperty(key)) {
+            if (source.hasOwnProperty(key) && key !== protoKey) {
                 result[key] = clone(source[key]);
             }
         }
@@ -362,7 +363,7 @@ function merge(target, source, overwrite) {
     }
 
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             var targetProp = target[key];
             var sourceProp = source[key];
 
@@ -411,7 +412,7 @@ function mergeAll(targetAndSources, overwrite) {
  */
 function extend(target, source) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)) {
+        if (source.hasOwnProperty(key) && key !== protoKey) {
             target[key] = source[key];
         }
     }
@@ -426,7 +427,7 @@ function extend(target, source) {
  */
 function defaults(target, source, overlay) {
     for (var key in source) {
-        if (source.hasOwnProperty(key)
+        if (source.hasOwnProperty(key) && key !== protoKey
             && (overlay ? source[key] != null : target[key] == null)
         ) {
             target[key] = source[key];
@@ -11289,7 +11290,7 @@ var painterCtors = {
 /**
  * @type {string}
  */
-var version$1 = '4.3.2';
+var version$1 = '4.3.3';
 
 /**
  * Initializing a zrender instance
@@ -27155,10 +27156,10 @@ var isFunction = isFunction$1;
 var isObject = isObject$1;
 var parseClassType = ComponentModel.parseClassType;
 
-var version = '4.9.0';
+var version = '4.9.1';
 
 var dependencies = {
-    zrender: '4.3.2'
+    zrender: '4.3.3'
 };
 
 var TEST_FRAME_REMAIN_TIME = 1;
@@ -37945,8 +37946,10 @@ function rotateTextRect(textRect, rotate) {
     var boundingBox = textRect.plain();
     var beforeWidth = boundingBox.width;
     var beforeHeight = boundingBox.height;
-    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians)) + 
Math.abs(beforeHeight * Math.sin(rotateRadians));
-    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians)) + 
Math.abs(beforeHeight * Math.cos(rotateRadians));
+    var afterWidth = beforeWidth * Math.abs(Math.cos(rotateRadians))
+        + Math.abs(beforeHeight * Math.sin(rotateRadians));
+    var afterHeight = beforeWidth * Math.abs(Math.sin(rotateRadians))
+        + Math.abs(beforeHeight * Math.cos(rotateRadians));
     var rotatedRect = new BoundingRect(boundingBox.x, boundingBox.y, 
afterWidth, afterHeight);
 
     return rotatedRect;
diff --git a/dist/echarts.simple.min.js b/dist/echarts.simple.min.js
index a3fd2d612..1d682096e 100644
--- a/dist/echarts.simple.min.js
+++ b/dist/echarts.simple.min.js
@@ -19,4 +19,4 @@
 */
 
 
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},m="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof 
module?e(exports):"function"==typeof 
define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use 
strict";var e=2311,n=function(){return e++},m="object"==typeof 
wx&&"function"==typeof 
wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof
 document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasS 
[...]
diff --git a/dist/extension/bmap.js b/dist/extension/bmap.js
index 03970fe38..1b0bcf08d 100644
--- a/dist/extension/bmap.js
+++ b/dist/extension/bmap.js
@@ -387,7 +387,7 @@ echarts.extendComponentView({
         var mapStyleStr = JSON.stringify(newMapStyle);
         if (JSON.stringify(originalStyle) !== mapStyleStr) {
             // FIXME May have blank tile when dragging if setMapStyle
-            if (!isEmptyObject(newMapStyle2)) {
+            if (!isEmptyObject(newMapStyle)) {
                 bmap.setMapStyle(echarts.util.clone(newMapStyle));
             }
             bMapModel.__mapStyle = JSON.parse(mapStyleStr);
diff --git a/dist/extension/bmap.js.map b/dist/extension/bmap.js.map
index 07404b158..b8d270a6a 100644
--- a/dist/extension/bmap.js.map
+++ b/dist/extension/bmap.js.map
@@ -1 +1 @@
-{"version":3,"file":"bmap.js","sources":["../../extension-src/bmap/BMapCoordSys.js","../../extension-src/bmap/BMapModel.js","../../extension-src/bmap/BMapView.js","../../extension-src/bmap/bmap.js"],"sourcesContent":["/*\n*
 Licensed to the Apache Software Foundation (ASF) under one\n* or more 
contributor license agreements.  See the NOTICE file\n* distributed with this 
work for additional information\n* regarding copyright ownership.  The ASF 
licenses this file\n* to you under the Apache [...]
\ No newline at end of file
+{"version":3,"file":"bmap.js","sources":["../../extension-src/bmap/BMapCoordSys.js","../../extension-src/bmap/BMapModel.js","../../extension-src/bmap/BMapView.js","../../extension-src/bmap/bmap.js"],"sourcesContent":["/*\n*
 Licensed to the Apache Software Foundation (ASF) under one\n* or more 
contributor license agreements.  See the NOTICE file\n* distributed with this 
work for additional information\n* regarding copyright ownership.  The ASF 
licenses this file\n* to you under the Apache [...]
\ No newline at end of file
diff --git a/dist/extension/bmap.min.js b/dist/extension/bmap.min.js
index 8a7a65c54..6efb98412 100644
--- a/dist/extension/bmap.min.js
+++ b/dist/extension/bmap.min.js
@@ -19,4 +19,4 @@
 */
 
 
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof 
module?t(exports,require("echarts")):"function"==typeof 
define&&define.amd?define(["exports","echarts"],t):t(e.bmap={},e.echarts)}(this,function(e,y){"use
 strict";function 
h(e,t){this._bmap=e,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=t,this._projection=new
 BMap.MercatorProjection}function o(a,r){return 
r=r||[0,0],y.util.map([0,1],function(e){var t=r[e],o=a[e]/2,n=[],i=[];return 
n[e]=t-o,i[e]=t+o,n[1-e]=i[1-e [...]
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof 
module?t(exports,require("echarts")):"function"==typeof 
define&&define.amd?define(["exports","echarts"],t):t(e.bmap={},e.echarts)}(this,function(e,y){"use
 strict";function 
h(e,t){this._bmap=e,this.dimensions=["lng","lat"],this._mapOffset=[0,0],this._api=t,this._projection=new
 BMap.MercatorProjection}function o(a,r){return 
r=r||[0,0],y.util.map([0,1],function(e){var t=r[e],o=a[e]/2,n=[],i=[];return 
n[e]=t-o,i[e]=t+o,n[1-e]=i[1-e [...]
diff --git a/dist/extension/dataTool.js b/dist/extension/dataTool.js
index 2a8db77a6..c515270a2 100644
--- a/dist/extension/dataTool.js
+++ b/dist/extension/dataTool.js
@@ -1,23 +1,3 @@
-
-/*
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-*   http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing,
-* software distributed under the License is distributed on an
-* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-* KIND, either express or implied.  See the License for the
-* specific language governing permissions and limitations
-* under the License.
-*/
-
 (function (global, factory) {
        typeof exports === 'object' && typeof module !== 'undefined' ? 
factory(exports, require('echarts')) :
        typeof define === 'function' && define.amd ? define(['exports', 
'echarts'], factory) :
diff --git a/dist/extension/dataTool.js.map b/dist/extension/dataTool.js.map
index 0b565e997..f063be2a7 100644
--- a/dist/extension/dataTool.js.map
+++ b/dist/extension/dataTool.js.map
@@ -1 +1 @@
-{"version":3,"file":"dataTool.js","sources":["../../node_modules/zrender/src/core/util.js","../../extension-src/dataTool/gexf.js","../../src/util/number.js","../../extension-src/dataTool/prepareBoxplotData.js","../../extension-src/dataTool/index.js"],"sourcesContent":["/**\n
 * @module zrender/core/util\n */\n\n// 用于处理merge时无法遍历Date等对象的问题\nvar 
BUILTIN_OBJECT = {\n    '[object Function]': 1,\n    '[object RegExp]': 1,\n    
'[object Date]': 1,\n    '[object Error]': 1,\n    '[object CanvasG [...]
\ No newline at end of file
+{"version":3,"file":"dataTool.js","sources":["../../node_modules/zrender/src/core/util.js","../../extension-src/dataTool/gexf.js","../../src/util/number.js","../../extension-src/dataTool/prepareBoxplotData.js","../../extension-src/dataTool/index.js"],"sourcesContent":["/**\n
 * @module zrender/core/util\n */\n\n// 用于处理merge时无法遍历Date等对象的问题\nvar 
BUILTIN_OBJECT = {\n    '[object Function]': 1,\n    '[object RegExp]': 1,\n    
'[object Date]': 1,\n    '[object Error]': 1,\n    '[object CanvasG [...]
\ No newline at end of file
diff --git a/extension/bmap/BMapCoordSys.js b/extension/bmap/BMapCoordSys.js
index febac99ad..8e7a12131 100644
--- a/extension/bmap/BMapCoordSys.js
+++ b/extension/bmap/BMapCoordSys.js
@@ -19,11 +19,9 @@
 */
 
 var _echarts = require("echarts");
-
 var zrUtil = _echarts.util;
 var graphic = _echarts.graphic;
 var matrix = _echarts.matrix;
-
 /*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -44,6 +42,7 @@ var matrix = _echarts.matrix;
 */
 
 /* global BMap */
+
 function BMapCoordSys(bmap, api) {
   this._bmap = bmap;
   this.dimensions = ['lng', 'lat'];
@@ -51,28 +50,24 @@ function BMapCoordSys(bmap, api) {
   this._api = api;
   this._projection = new BMap.MercatorProjection();
 }
-
 BMapCoordSys.prototype.dimensions = ['lng', 'lat'];
-
 BMapCoordSys.prototype.setZoom = function (zoom) {
   this._zoom = zoom;
 };
-
 BMapCoordSys.prototype.setCenter = function (center) {
   this._center = this._projection.lngLatToPoint(new BMap.Point(center[0], 
center[1]));
 };
-
 BMapCoordSys.prototype.setMapOffset = function (mapOffset) {
   this._mapOffset = mapOffset;
 };
-
 BMapCoordSys.prototype.getBMap = function () {
   return this._bmap;
 };
-
 BMapCoordSys.prototype.dataToPoint = function (data) {
-  var point = new BMap.Point(data[0], data[1]); // TODO mercator projection is 
toooooooo slow
+  var point = new BMap.Point(data[0], data[1]);
+  // TODO mercator projection is toooooooo slow
   // var mercatorPoint = this._projection.lngLatToPoint(point);
+
   // var width = this._api.getZr().getWidth();
   // var height = this._api.getZr().getHeight();
   // var divider = Math.pow(2, 18 - 10);
@@ -80,33 +75,25 @@ BMapCoordSys.prototype.dataToPoint = function (data) {
   //     Math.round((mercatorPoint.x - this._center.x) / divider + width / 2),
   //     Math.round((this._center.y - mercatorPoint.y) / divider + height / 2)
   // ];
-
   var px = this._bmap.pointToOverlayPixel(point);
-
   var mapOffset = this._mapOffset;
   return [px.x - mapOffset[0], px.y - mapOffset[1]];
 };
-
 BMapCoordSys.prototype.pointToData = function (pt) {
   var mapOffset = this._mapOffset;
-
   var pt = this._bmap.overlayPixelToPoint({
     x: pt[0] + mapOffset[0],
     y: pt[1] + mapOffset[1]
   });
-
   return [pt.lng, pt.lat];
 };
-
 BMapCoordSys.prototype.getViewRect = function () {
   var api = this._api;
   return new graphic.BoundingRect(0, 0, api.getWidth(), api.getHeight());
 };
-
 BMapCoordSys.prototype.getRoamTransform = function () {
   return matrix.create();
 };
-
 BMapCoordSys.prototype.prepareCustoms = function (data) {
   var rect = this.getViewRect();
   return {
@@ -124,7 +111,6 @@ BMapCoordSys.prototype.prepareCustoms = function (data) {
     }
   };
 };
-
 function dataToCoordSize(dataSize, dataItem) {
   dataItem = dataItem || [0, 0];
   return zrUtil.map([0, 1], function (dimIdx) {
@@ -138,16 +124,14 @@ function dataToCoordSize(dataSize, dataItem) {
     return Math.abs(this.dataToPoint(p1)[dimIdx] - 
this.dataToPoint(p2)[dimIdx]);
   }, this);
 }
+var Overlay;
 
-var Overlay; // For deciding which dimensions to use when creating list data
-
+// For deciding which dimensions to use when creating list data
 BMapCoordSys.dimensions = BMapCoordSys.prototype.dimensions;
-
 function createOverlayCtor() {
   function Overlay(root) {
     this._root = root;
   }
-
   Overlay.prototype = new BMap.Overlay();
   /**
    * 初始化
@@ -155,7 +139,6 @@ function createOverlayCtor() {
    * @param {BMap.Map} map
    * @override
    */
-
   Overlay.prototype.initialize = function (map) {
     map.getPanes().labelPane.appendChild(this._root);
     return this._root;
@@ -163,35 +146,27 @@ function createOverlayCtor() {
   /**
    * @override
    */
-
-
   Overlay.prototype.draw = function () {};
-
   return Overlay;
 }
-
 BMapCoordSys.create = function (ecModel, api) {
   var bmapCoordSys;
-  var root = api.getDom(); // TODO Dispose
+  var root = api.getDom();
 
+  // TODO Dispose
   ecModel.eachComponent('bmap', function (bmapModel) {
     var painter = api.getZr().painter;
     var viewportRoot = painter.getViewportRoot();
-
     if (typeof BMap === 'undefined') {
       throw new Error('BMap api is not loaded');
     }
-
     Overlay = Overlay || createOverlayCtor();
-
     if (bmapCoordSys) {
       throw new Error('Only one bmap component can exist');
     }
-
     if (!bmapModel.__bmap) {
       // Not support IE8
       var bmapRoot = root.querySelector('.ec-extension-bmap');
-
       if (bmapRoot) {
         // Reset viewport left and top, which will be changed
         // in moving handler in BMapView
@@ -199,20 +174,21 @@ BMapCoordSys.create = function (ecModel, api) {
         viewportRoot.style.top = '0px';
         root.removeChild(bmapRoot);
       }
-
       bmapRoot = document.createElement('div');
-      bmapRoot.style.cssText = 'width:100%;height:100%'; // Not support IE8
-
+      bmapRoot.style.cssText = 'width:100%;height:100%';
+      // Not support IE8
       bmapRoot.classList.add('ec-extension-bmap');
-      root.appendChild(bmapRoot); // initialize bmap
-
-      var mapOptions = bmapModel.get('mapOptions') || {}; // Not support 
`mapType`, use `bmap.setMapType(MapType)` instead.
+      root.appendChild(bmapRoot);
 
+      // initialize bmap
+      var mapOptions = bmapModel.get('mapOptions') || {};
+      // Not support `mapType`, use `bmap.setMapType(MapType)` instead.
       delete mapOptions.mapType;
       var bmap = bmapModel.__bmap = new BMap.Map(bmapRoot, mapOptions);
       var overlay = new Overlay(viewportRoot);
-      bmap.addOverlay(overlay); // Override
+      bmap.addOverlay(overlay);
 
+      // Override
       painter.getViewportRootOffset = function () {
         return {
           offsetLeft: 0,
@@ -220,24 +196,21 @@ BMapCoordSys.create = function (ecModel, api) {
         };
       };
     }
+    var bmap = bmapModel.__bmap;
 
-    var bmap = bmapModel.__bmap; // Set bmap options
+    // Set bmap options
     // centerAndZoom before layout and render
-
     var center = bmapModel.get('center');
     var zoom = bmapModel.get('zoom');
-
     if (center && zoom) {
       var bmapCenter = bmap.getCenter();
       var bmapZoom = bmap.getZoom();
       var centerOrZoomChanged = bmapModel.centerOrZoomChanged([bmapCenter.lng, 
bmapCenter.lat], bmapZoom);
-
       if (centerOrZoomChanged) {
         var pt = new BMap.Point(center[0], center[1]);
         bmap.centerAndZoom(pt, zoom);
       }
     }
-
     bmapCoordSys = new BMapCoordSys(bmap, api);
     bmapCoordSys.setMapOffset(bmapModel.__mapOffset || [0, 0]);
     bmapCoordSys.setZoom(zoom);
@@ -250,6 +223,5 @@ BMapCoordSys.create = function (ecModel, api) {
     }
   });
 };
-
 var _default = BMapCoordSys;
 module.exports = _default;
\ No newline at end of file
diff --git a/extension/bmap/BMapModel.js b/extension/bmap/BMapModel.js
index 93b0a350e..68a04d146 100644
--- a/extension/bmap/BMapModel.js
+++ b/extension/bmap/BMapModel.js
@@ -19,7 +19,6 @@
 */
 
 var echarts = require("echarts");
-
 /*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -38,10 +37,10 @@ var echarts = require("echarts");
 * specific language governing permissions and limitations
 * under the License.
 */
+
 function v2Equal(a, b) {
   return a && b && a[0] === b[0] && a[1] === b[1];
 }
-
 var _default = echarts.extendComponentModel({
   type: 'bmap',
   getBMap: function () {
@@ -68,5 +67,4 @@ var _default = echarts.extendComponentModel({
     roam: false
   }
 });
-
 module.exports = _default;
\ No newline at end of file
diff --git a/extension/bmap/BMapView.js b/extension/bmap/BMapView.js
index 7ee5aee31..82162810f 100644
--- a/extension/bmap/BMapView.js
+++ b/extension/bmap/BMapView.js
@@ -19,7 +19,6 @@
 */
 
 var echarts = require("echarts");
-
 /*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -38,16 +37,15 @@ var echarts = require("echarts");
 * specific language governing permissions and limitations
 * under the License.
 */
+
 function isEmptyObject(obj) {
   for (var key in obj) {
     if (obj.hasOwnProperty(key)) {
       return false;
     }
   }
-
   return true;
 }
-
 var _default = echarts.extendComponentView({
   type: 'bmap',
   render: function (bMapModel, ecModel, api) {
@@ -55,12 +53,10 @@ var _default = echarts.extendComponentView({
     var bmap = bMapModel.getBMap();
     var viewportRoot = api.getZr().painter.getViewportRoot();
     var coordSys = bMapModel.coordinateSystem;
-
     var moveHandler = function (type, target) {
       if (rendering) {
         return;
       }
-
       var offsetEl = viewportRoot.parentNode.parentNode.parentNode;
       var mapOffset = [-parseInt(offsetEl.style.left, 10) || 0, 
-parseInt(offsetEl.style.top, 10) || 0];
       viewportRoot.style.left = mapOffset[0] + 'px';
@@ -71,17 +67,14 @@ var _default = echarts.extendComponentView({
         type: 'bmapRoam'
       });
     };
-
     function zoomEndHandler() {
       if (rendering) {
         return;
       }
-
       api.dispatchAction({
         type: 'bmapRoam'
       });
     }
-
     bmap.removeEventListener('moving', this._oldMoveHandler);
     bmap.removeEventListener('moveend', this._oldMoveHandler);
     bmap.removeEventListener('zoomend', this._oldZoomEndHandler);
@@ -91,13 +84,11 @@ var _default = echarts.extendComponentView({
     this._oldMoveHandler = moveHandler;
     this._oldZoomEndHandler = zoomEndHandler;
     var roam = bMapModel.get('roam');
-
     if (roam && roam !== 'scale') {
       bmap.enableDragging();
     } else {
       bmap.disableDragging();
     }
-
     if (roam && roam !== 'move') {
       bmap.enableScrollWheelZoom();
       bmap.enableDoubleClickZoom();
@@ -107,41 +98,33 @@ var _default = echarts.extendComponentView({
       bmap.disableDoubleClickZoom();
       bmap.disablePinchToZoom();
     }
-    /* map 2.0 */
-
 
+    /* map 2.0 */
     var originalStyle = bMapModel.__mapStyle;
-    var newMapStyle = bMapModel.get('mapStyle') || {}; // FIXME, Not use JSON 
methods
-
+    var newMapStyle = bMapModel.get('mapStyle') || {};
+    // FIXME, Not use JSON methods
     var mapStyleStr = JSON.stringify(newMapStyle);
-
     if (JSON.stringify(originalStyle) !== mapStyleStr) {
       // FIXME May have blank tile when dragging if setMapStyle
-      if (!isEmptyObject(newMapStyle2)) {
+      if (!isEmptyObject(newMapStyle)) {
         bmap.setMapStyle(echarts.util.clone(newMapStyle));
       }
-
       bMapModel.__mapStyle = JSON.parse(mapStyleStr);
     }
-    /* map 3.0 */
-
 
+    /* map 3.0 */
     var originalStyle2 = bMapModel.__mapStyle2;
-    var newMapStyle2 = bMapModel.get('mapStyleV2') || {}; // FIXME, Not use 
JSON methods
-
+    var newMapStyle2 = bMapModel.get('mapStyleV2') || {};
+    // FIXME, Not use JSON methods
     var mapStyleStr2 = JSON.stringify(newMapStyle2);
-
     if (JSON.stringify(originalStyle2) !== mapStyleStr2) {
       // FIXME May have blank tile when dragging if setMapStyle
       if (!isEmptyObject(newMapStyle2)) {
         bmap.setMapStyleV2(echarts.util.clone(newMapStyle2));
       }
-
       bMapModel.__mapStyle2 = JSON.parse(mapStyleStr2);
     }
-
     rendering = false;
   }
 });
-
 module.exports = _default;
\ No newline at end of file
diff --git a/extension/bmap/bmap.js b/extension/bmap/bmap.js
index e72789315..13ca1a106 100644
--- a/extension/bmap/bmap.js
+++ b/extension/bmap/bmap.js
@@ -19,13 +19,9 @@
 */
 
 var echarts = require("echarts");
-
 var BMapCoordSys = require("./BMapCoordSys");
-
 require("./BMapModel");
-
 require("./BMapView");
-
 /*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -48,8 +44,10 @@ require("./BMapView");
 /**
  * BMap component extension
  */
-echarts.registerCoordinateSystem('bmap', BMapCoordSys); // Action
 
+echarts.registerCoordinateSystem('bmap', BMapCoordSys);
+
+// Action
 echarts.registerAction({
   type: 'bmapRoam',
   event: 'bmapRoam',
diff --git a/extension/dataTool/gexf.js b/extension/dataTool/gexf.js
index 307362efa..03a4b5cbb 100644
--- a/extension/dataTool/gexf.js
+++ b/extension/dataTool/gexf.js
@@ -19,7 +19,6 @@
 */
 
 var zrUtil = require("zrender/lib/core/util");
-
 /*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -45,40 +44,33 @@ var zrUtil = require("zrender/lib/core/util");
  * The spec of GEXF:
  * https://gephi.org/gexf/1.2draft/gexf-12draft-primer.pdf
  */
+
 function parse(xml) {
   var doc;
-
   if (typeof xml === 'string') {
     var parser = new DOMParser();
     doc = parser.parseFromString(xml, 'text/xml');
   } else {
     doc = xml;
   }
-
   if (!doc || doc.getElementsByTagName('parsererror').length) {
     return null;
   }
-
   var gexfRoot = getChildByTagName(doc, 'gexf');
-
   if (!gexfRoot) {
     return null;
   }
-
   var graphRoot = getChildByTagName(gexfRoot, 'graph');
   var attributes = parseAttributes(getChildByTagName(graphRoot, 'attributes'));
   var attributesMap = {};
-
   for (var i = 0; i < attributes.length; i++) {
     attributesMap[attributes[i].id] = attributes[i];
   }
-
   return {
     nodes: parseNodes(getChildByTagName(graphRoot, 'nodes'), attributesMap),
     links: parseEdges(getChildByTagName(graphRoot, 'edges'))
   };
 }
-
 function parseAttributes(parent) {
   return parent ? zrUtil.map(getChildrenByTagName(parent, 'attribute'), 
function (attribDom) {
     return {
@@ -88,7 +80,6 @@ function parseAttributes(parent) {
     };
   }) : [];
 }
-
 function parseNodes(parent, attributesMap) {
   return parent ? zrUtil.map(getChildrenByTagName(parent, 'node'), function 
(nodeDom) {
     var id = getAttr(nodeDom, 'id');
@@ -102,64 +93,54 @@ function parseNodes(parent, attributesMap) {
     };
     var vizSizeDom = getChildByTagName(nodeDom, 'viz:size');
     var vizPosDom = getChildByTagName(nodeDom, 'viz:position');
-    var vizColorDom = getChildByTagName(nodeDom, 'viz:color'); // var 
vizShapeDom = getChildByTagName(nodeDom, 'viz:shape');
+    var vizColorDom = getChildByTagName(nodeDom, 'viz:color');
+    // var vizShapeDom = getChildByTagName(nodeDom, 'viz:shape');
 
     var attvaluesDom = getChildByTagName(nodeDom, 'attvalues');
-
     if (vizSizeDom) {
       node.symbolSize = parseFloat(getAttr(vizSizeDom, 'value'));
     }
-
     if (vizPosDom) {
       node.x = parseFloat(getAttr(vizPosDom, 'x'));
-      node.y = parseFloat(getAttr(vizPosDom, 'y')); // z
+      node.y = parseFloat(getAttr(vizPosDom, 'y'));
+      // z
     }
-
     if (vizColorDom) {
       node.itemStyle.normal.color = 'rgb(' + [getAttr(vizColorDom, 'r') | 0, 
getAttr(vizColorDom, 'g') | 0, getAttr(vizColorDom, 'b') | 0].join(',') + ')';
-    } // if (vizShapeDom) {
+    }
+    // if (vizShapeDom) {
     // node.shape = getAttr(vizShapeDom, 'shape');
     // }
-
-
     if (attvaluesDom) {
       var attvalueDomList = getChildrenByTagName(attvaluesDom, 'attvalue');
       node.attributes = {};
-
       for (var j = 0; j < attvalueDomList.length; j++) {
         var attvalueDom = attvalueDomList[j];
         var attId = getAttr(attvalueDom, 'for');
         var attValue = getAttr(attvalueDom, 'value');
         var attribute = attributesMap[attId];
-
         if (attribute) {
           switch (attribute.type) {
             case 'integer':
             case 'long':
               attValue = parseInt(attValue, 10);
               break;
-
             case 'float':
             case 'double':
               attValue = parseFloat(attValue);
               break;
-
             case 'boolean':
               attValue = attValue.toLowerCase() === 'true';
               break;
-
             default:
           }
-
           node.attributes[attId] = attValue;
         }
       }
     }
-
     return node;
   }) : [];
 }
-
 function parseEdges(parent) {
   return parent ? zrUtil.map(getChildrenByTagName(parent, 'edge'), function 
(edgeDom) {
     var id = getAttr(edgeDom, 'id');
@@ -177,30 +158,27 @@ function parseEdges(parent) {
     };
     var lineStyle = edge.lineStyle.normal;
     var vizThicknessDom = getChildByTagName(edgeDom, 'viz:thickness');
-    var vizColorDom = getChildByTagName(edgeDom, 'viz:color'); // var 
vizShapeDom = getChildByTagName(edgeDom, 'viz:shape');
+    var vizColorDom = getChildByTagName(edgeDom, 'viz:color');
+    // var vizShapeDom = getChildByTagName(edgeDom, 'viz:shape');
 
     if (vizThicknessDom) {
       lineStyle.width = parseFloat(vizThicknessDom.getAttribute('value'));
     }
-
     if (vizColorDom) {
       lineStyle.color = 'rgb(' + [getAttr(vizColorDom, 'r') | 0, 
getAttr(vizColorDom, 'g') | 0, getAttr(vizColorDom, 'b') | 0].join(',') + ')';
-    } // if (vizShapeDom) {
+    }
+    // if (vizShapeDom) {
     //     edge.shape = vizShapeDom.getAttribute('shape');
     // }
 
-
     return edge;
   }) : [];
 }
-
 function getAttr(el, attrName) {
   return el.getAttribute(attrName);
 }
-
 function getChildByTagName(parent, tagName) {
   var node = parent.firstChild;
-
   while (node) {
     if (node.nodeType !== 1 || node.nodeName.toLowerCase() !== 
tagName.toLowerCase()) {
       node = node.nextSibling;
@@ -208,23 +186,17 @@ function getChildByTagName(parent, tagName) {
       return node;
     }
   }
-
   return null;
 }
-
 function getChildrenByTagName(parent, tagName) {
   var node = parent.firstChild;
   var children = [];
-
   while (node) {
     if (node.nodeName.toLowerCase() === tagName.toLowerCase()) {
       children.push(node);
     }
-
     node = node.nextSibling;
   }
-
   return children;
 }
-
 exports.parse = parse;
\ No newline at end of file
diff --git a/extension/dataTool/index.js b/extension/dataTool/index.js
index 61e38e5e8..8499e7aa3 100644
--- a/extension/dataTool/index.js
+++ b/extension/dataTool/index.js
@@ -19,15 +19,10 @@
 */
 
 var echarts = require("echarts");
-
 var gexf = require("./gexf");
-
 exports.gexf = gexf;
-
 var prepareBoxplotData = require("./prepareBoxplotData");
-
 exports.prepareBoxplotData = prepareBoxplotData;
-
 /*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -46,8 +41,8 @@ exports.prepareBoxplotData = prepareBoxplotData;
 * specific language governing permissions and limitations
 * under the License.
 */
-var version = '1.0.0';
 
+var version = '1.0.0';
 // For backward compatibility, where the namespace `dataTool` will
 // be mounted on `echarts` is the extension `dataTool` is imported.
 // But the old version of echarts do not have `dataTool` namespace,
@@ -57,5 +52,4 @@ if (echarts.dataTool) {
   echarts.dataTool.gexf = gexf;
   echarts.dataTool.prepareBoxplotData = prepareBoxplotData;
 }
-
 exports.version = version;
\ No newline at end of file
diff --git a/extension/dataTool/prepareBoxplotData.js 
b/extension/dataTool/prepareBoxplotData.js
index 1dc4f7aca..5e6fe3325 100644
--- a/extension/dataTool/prepareBoxplotData.js
+++ b/extension/dataTool/prepareBoxplotData.js
@@ -19,7 +19,6 @@
 */
 
 var numberUtil = require("../../lib/util/number");
-
 /*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
@@ -72,7 +71,6 @@ function _default(rawData, opt) {
   var axisData = [];
   var boundIQR = opt.boundIQR;
   var useExtreme = boundIQR === 'none' || boundIQR === 0;
-
   for (var i = 0; i < rawData.length; i++) {
     axisData.push(i + '');
     var ascList = numberUtil.asc(rawData[i].slice());
@@ -85,10 +83,8 @@ function _default(rawData, opt) {
     var low = useExtreme ? min : Math.max(min, Q1 - bound);
     var high = useExtreme ? max : Math.min(max, Q3 + bound);
     boxData.push([low, Q1, Q2, Q3, high]);
-
     for (var j = 0; j < ascList.length; j++) {
       var dataItem = ascList[j];
-
       if (dataItem < low || dataItem > high) {
         var outlier = [i, dataItem];
         opt.layout === 'vertical' && outlier.reverse();
@@ -96,12 +92,10 @@ function _default(rawData, opt) {
       }
     }
   }
-
   return {
     boxData: boxData,
     outliers: outliers,
     axisData: axisData
   };
 }
-
 module.exports = _default;
\ No newline at end of file
diff --git a/index.common.js b/index.common.js
index 28b776dfd..13e74960d 100644
--- a/index.common.js
+++ b/index.common.js
@@ -19,55 +19,34 @@
 */
 
 var _echarts = require("./lib/echarts");
-
 (function () {
   for (var key in _echarts) {
     if (_echarts == null || !_echarts.hasOwnProperty(key) || key === 'default' 
|| key === '__esModule') return;
     exports[key] = _echarts[key];
   }
 })();
-
 var _export = require("./lib/export");
-
 (function () {
   for (var key in _export) {
     if (_export == null || !_export.hasOwnProperty(key) || key === 'default' 
|| key === '__esModule') return;
     exports[key] = _export[key];
   }
 })();
-
 require("./lib/component/dataset");
-
 require("./lib/chart/line");
-
 require("./lib/chart/bar");
-
 require("./lib/chart/pie");
-
 require("./lib/chart/scatter");
-
 require("./lib/component/graphic");
-
 require("./lib/component/tooltip");
-
 require("./lib/component/axisPointer");
-
 require("./lib/component/legendScroll");
-
 require("./lib/component/grid");
-
 require("./lib/component/title");
-
 require("./lib/component/markPoint");
-
 require("./lib/component/markLine");
-
 require("./lib/component/markArea");
-
 require("./lib/component/dataZoom");
-
 require("./lib/component/toolbox");
-
 require("zrender/lib/vml/vml");
-
 require("zrender/lib/svg/svg");
\ No newline at end of file
diff --git a/index.js b/index.js
index 842d8cd2a..67313b6f7 100644
--- a/index.js
+++ b/index.js
@@ -19,117 +19,65 @@
 */
 
 var _echarts = require("./lib/echarts");
-
 (function () {
   for (var key in _echarts) {
     if (_echarts == null || !_echarts.hasOwnProperty(key) || key === 'default' 
|| key === '__esModule') return;
     exports[key] = _echarts[key];
   }
 })();
-
 var _export = require("./lib/export");
-
 (function () {
   for (var key in _export) {
     if (_export == null || !_export.hasOwnProperty(key) || key === 'default' 
|| key === '__esModule') return;
     exports[key] = _export[key];
   }
 })();
-
 require("./lib/component/dataset");
-
 require("./lib/chart/line");
-
 require("./lib/chart/bar");
-
 require("./lib/chart/pie");
-
 require("./lib/chart/scatter");
-
 require("./lib/chart/radar");
-
 require("./lib/chart/map");
-
 require("./lib/chart/tree");
-
 require("./lib/chart/treemap");
-
 require("./lib/chart/graph");
-
 require("./lib/chart/gauge");
-
 require("./lib/chart/funnel");
-
 require("./lib/chart/parallel");
-
 require("./lib/chart/sankey");
-
 require("./lib/chart/boxplot");
-
 require("./lib/chart/candlestick");
-
 require("./lib/chart/effectScatter");
-
 require("./lib/chart/lines");
-
 require("./lib/chart/heatmap");
-
 require("./lib/chart/pictorialBar");
-
 require("./lib/chart/themeRiver");
-
 require("./lib/chart/sunburst");
-
 require("./lib/chart/custom");
-
 require("./lib/component/grid");
-
 require("./lib/component/polar");
-
 require("./lib/component/geo");
-
 require("./lib/component/singleAxis");
-
 require("./lib/component/parallel");
-
 require("./lib/component/calendar");
-
 require("./lib/component/graphic");
-
 require("./lib/component/toolbox");
-
 require("./lib/component/tooltip");
-
 require("./lib/component/axisPointer");
-
 require("./lib/component/brush");
-
 require("./lib/component/title");
-
 require("./lib/component/timeline");
-
 require("./lib/component/markPoint");
-
 require("./lib/component/markLine");
-
 require("./lib/component/markArea");
-
 require("./lib/component/legendScroll");
-
 require("./lib/component/legend");
-
 require("./lib/component/dataZoom");
-
 require("./lib/component/dataZoomInside");
-
 require("./lib/component/dataZoomSlider");
-
 require("./lib/component/visualMap");
-
 require("./lib/component/visualMapContinuous");
-
 require("./lib/component/visualMapPiecewise");
-
 require("zrender/lib/vml/vml");
-
 require("zrender/lib/svg/svg");
\ No newline at end of file
diff --git a/index.simple.js b/index.simple.js
index d43dbc32a..9f43c6084 100644
--- a/index.simple.js
+++ b/index.simple.js
@@ -19,20 +19,14 @@
 */
 
 var _echarts = require("./lib/echarts");
-
 (function () {
   for (var key in _echarts) {
     if (_echarts == null || !_echarts.hasOwnProperty(key) || key === 'default' 
|| key === '__esModule') return;
     exports[key] = _echarts[key];
   }
 })();
-
 require("./lib/component/dataset");
-
 require("./lib/chart/line");
-
 require("./lib/chart/bar");
-
 require("./lib/chart/pie");
-
 require("./lib/component/gridSimple");
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@echarts.apache.org
For additional commands, e-mail: commits-h...@echarts.apache.org

Reply via email to